95
96
setBoolAttribute(a, "showAway", tog_away);
96
97
setBoolAttribute(a, "showHidden", tog_hidden);
97
98
setBoolAttribute(a, "showAgents", tog_agents);
99
setBoolAttribute(a, "showSelf", tog_self);
98
100
setBoolAttribute(a, "keepAlive", opt_keepAlive);
99
101
setBoolAttribute(a, "plain", opt_plain);
100
102
setBoolAttribute(a, "log", opt_log);
204
206
readBoolAttribute(a, "showAway", &tog_away);
205
207
readBoolAttribute(a, "showHidden", &tog_hidden);
206
208
readBoolAttribute(a, "showAgents", &tog_agents);
209
readBoolAttribute(a, "showSelf", &tog_self);
207
210
readBoolAttribute(a, "keepAlive", &opt_keepAlive);
208
211
readBoolAttribute(a, "plain", &opt_plain);
209
212
readBoolAttribute(a, "log", &opt_log);
404
410
prefs.sp.set(QObject::tr("Greece"), QObject::tr("I have gone to a far away place. I will be back someday!"));
405
411
prefs.recentStatus.clear();
414
prefs.color[cOnline] = QColor("#31549F");
415
prefs.color[cListBack] = QColor("#F0F0F0");
416
prefs.color[cAway] = QColor("#3A8268");
417
prefs.color[cDND] = QColor("#800000");
418
prefs.color[cOffline] = QColor("#000000");
419
prefs.color[cGroupFore] = QColor("#000000");
420
prefs.color[cGroupBack] = QColor("#9CBCFE");
421
prefs.color[cAnimFront] = QColor("#FF0000");
422
prefs.color[cAnimBack] = QColor("#000000");
407
424
prefs.color[cOnline] = QColor("#0060C0");
408
425
prefs.color[cListBack] = QColor("#C0C0C0");
409
426
prefs.color[cAway] = QColor("#008080");
458
476
prefs.noGCSound = true;
461
prefs.alwaysShowSelf = false;
464
481
prefs.toolbars.clear();
465
Options::ToolbarPrefs tb[3];
467
for (i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++)
483
Options::ToolbarPrefs tbDef;
484
tbDef.name = QString::null;
486
tbDef.locked = false;
487
tbDef.stretchable = false;
490
tbDef.dock = Qt::DockTop;
492
tbDef.extraOffset = 0;
469
tb[i].name = QString::null;
471
tb[i].locked = false;
472
tb[i].stretchable = false;
475
tb[i].dock = Qt::DockTop;
478
tb[i].extraOffset = 0;
497
Options::ToolbarPrefs tb[3];
499
for (i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++) {
504
bool defaultEnableToolbars;
506
defaultEnableToolbars = false;
508
defaultEnableToolbars = true;
511
// Imitate old Psi button layout by default
512
tb[0].name = QObject::tr("Buttons");
513
tb[0].on = defaultEnableToolbars;
515
tb[0].stretchable = true;
516
tb[0].keys << "button_options" << "button_status";
517
tb[0].dock = Qt::DockBottom;
519
tb[1].name = QObject::tr("Show contacts");
520
tb[1].on = defaultEnableToolbars;
522
tb[1].keys << "show_offline" << "show_away" << "show_agents" << "show_self";
524
tb[2].name = QObject::tr("Event notifier");
527
tb[2].stretchable = true;
528
tb[2].keys << "event_notifier";
529
tb[2].dock = Qt::DockBottom;
532
for ( i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++ )
533
prefs.toolbars["mainWin"].append( tb[i] );
483
// Imitate old Psi button layout by default
484
tb[0].name = QObject::tr("Buttons");
487
tb[0].stretchable = true;
488
tb[0].keys << "button_options" << "button_status";
489
tb[0].dock = Qt::DockBottom;
490
prefs.toolbars.append(tb[0]);
492
tb[1].name = QObject::tr("Show contacts");
495
tb[1].keys << "show_offline" << "show_away" << "show_agents";
496
prefs.toolbars.append(tb[1]);
498
tb[2].name = QObject::tr("Event notifier");
501
tb[2].stretchable = true;
502
tb[2].keys << "event_notifier";
503
tb[2].dock = Qt::DockBottom;
505
prefs.toolbars.append(tb[2]);
508
537
prefs.gcHighlighting = true;
509
538
prefs.gcHighlights.clear();
583
616
prefs.dtPort = 8010;
584
617
prefs.dtExternal = "";
620
//prefs.avatarsEnabled = true;
621
//prefs.avatarsChatdlgEnabled = true;
622
//prefs.avatarsSize = 48;
625
static Options::ToolbarPrefs loadToolbarData( const QDomElement &e )
627
QDomElement tb_prefs = e;
628
Options::ToolbarPrefs tb;
630
readEntry(tb_prefs, "name", &tb.name);
631
readBoolEntry(tb_prefs, "on", &tb.on);
632
readBoolEntry(tb_prefs, "locked", &tb.locked);
633
readBoolEntry(tb_prefs, "stretchable", &tb.stretchable);
634
xmlToStringList(tb_prefs, "keys", &tb.keys);
637
QDomElement tb_position = findSubTag(tb_prefs, "position", &found3);
641
Qt::Dock dock = Qt::DockTop;
642
readEntry(tb_position, "dock", &dockStr);
643
if (dockStr == "DockTop")
645
else if (dockStr == "DockBottom")
646
dock = Qt::DockBottom;
647
else if (dockStr == "DockLeft")
649
else if (dockStr == "DockRight")
650
dock = Qt::DockRight;
651
else if (dockStr == "DockMinimized")
652
dock = Qt::DockMinimized;
653
else if (dockStr == "DockTornOff")
654
dock = Qt::DockTornOff;
655
else if (dockStr == "DockUnmanaged")
656
dock = Qt::DockUnmanaged;
660
readNumEntry(tb_position, "index", &tb.index);
661
readBoolEntry(tb_position, "nl", &tb.nl);
662
readNumEntry(tb_position, "extraOffset", &tb.extraOffset);
587
668
bool UserProfile::toFile(const QString &fname)
652
732
sorting.appendChild(textTag(doc, "account", name));
738
//QDomElement p_avatars = doc.createElement("avatars");
739
//p_general.appendChild(p_avatars);
740
//p_avatars.appendChild(textTag(doc, "use", prefs.avatarsEnabled));
741
//p_avatars.appendChild(textTag(doc, "use_chatdlg", prefs.avatarsChatdlgEnabled));
742
//p_avatars.appendChild(textTag(doc, "size", prefs.avatarsSize));
656
745
QDomElement p_misc = doc.createElement("misc");
657
746
p_general.appendChild(p_misc);
666
755
p_misc.appendChild(textTag(doc, "keepSizes", prefs.keepSizes));
667
756
p_misc.appendChild(textTag(doc, "ignoreHeadline", prefs.ignoreHeadline));
668
757
p_misc.appendChild(textTag(doc, "ignoreNonRoster", prefs.ignoreNonRoster));
758
p_misc.appendChild(textTag(doc, "excludeGroupChatIgnore", prefs.excludeGroupChatsFromIgnore));
669
759
p_misc.appendChild(textTag(doc, "scrollTo", prefs.scrollTo));
670
760
p_misc.appendChild(textTag(doc, "useEmoticons", prefs.useEmoticons));
671
761
p_misc.appendChild(textTag(doc, "alertOpenChats", prefs.alertOpenChats));
718
810
p_receive.appendChild(textTag(doc, "popupMsgs", prefs.popupMsgs));
719
811
p_receive.appendChild(textTag(doc, "popupChats", prefs.popupChats));
720
812
p_receive.appendChild(textTag(doc, "popupHeadlines", prefs.popupHeadlines));
813
p_receive.appendChild(textTag(doc, "popupFiles", prefs.popupFiles));
721
814
p_receive.appendChild(textTag(doc, "noAwayPopup", prefs.noAwayPopup));
722
815
p_receive.appendChild(textTag(doc, "noUnlistedPopup", prefs.noUnlistedPopup));
723
816
p_receive.appendChild(textTag(doc, "raise", prefs.raise));
847
941
QDomElement p_toolbars = doc.createElement("toolbars");
848
942
p.appendChild(p_toolbars);
850
QValueList<Options::ToolbarPrefs>::Iterator it = prefs.toolbars.begin();
851
for ( ; it != prefs.toolbars.end(); ++it) {
852
Options::ToolbarPrefs tb = *it;
853
if ( tb.keys.size() ||
855
// tb.name != QObject::tr("<unnamed>") ) // don't save empty toolbars
857
QDomElement tb_prefs = doc.createElement("toolbar");
858
p_toolbars.appendChild(tb_prefs);
860
tb_prefs.appendChild(textTag(doc, "name", tb.name));
861
tb_prefs.appendChild(textTag(doc, "on", tb.on));
862
tb_prefs.appendChild(textTag(doc, "locked", tb.locked));
863
tb_prefs.appendChild(textTag(doc, "stretchable", tb.stretchable));
864
tb_prefs.appendChild(stringListToXml(doc, "keys", tb.keys));
866
QDomElement tb_position = doc.createElement("position");
867
tb_prefs.appendChild(tb_position);
870
Qt::Dock dock = tb.dock;
871
if (dock == Qt::DockTop)
873
else if (dock == Qt::DockBottom)
874
dockStr = "DockBottom";
875
else if (dock == Qt::DockLeft)
876
dockStr = "DockLeft";
877
else if (dock == Qt::DockRight)
878
dockStr = "DockRight";
879
else if (dock == Qt::DockMinimized)
880
dockStr = "DockMinimized";
881
else if (dock == Qt::DockTornOff)
882
dockStr = "DockTornOff";
883
else if (dock == Qt::DockUnmanaged)
884
dockStr = "DockUnmanaged";
886
tb_position.appendChild(textTag(doc, "dock", dockStr));
887
tb_position.appendChild(textTag(doc, "index", tb.index));
888
tb_position.appendChild(textTag(doc, "nl", tb.nl));
889
tb_position.appendChild(textTag(doc, "extraOffset", tb.extraOffset));
944
QMap< QString, QValueList<Options::ToolbarPrefs> >::Iterator itBars = prefs.toolbars.begin();
945
for ( ; itBars != prefs.toolbars.end(); ++itBars ) {
946
QValueList<Options::ToolbarPrefs> toolbars = itBars.data();
947
QDomElement p_bars = doc.createElement( itBars.key() );
948
p_toolbars.appendChild( p_bars );
950
QValueList<Options::ToolbarPrefs>::Iterator it = toolbars.begin();
951
for ( ; it != toolbars.end(); ++it) {
952
Options::ToolbarPrefs tb = *it;
953
if ( tb.keys.size() ||
956
QDomElement tb_prefs = doc.createElement("toolbar");
957
p_bars.appendChild(tb_prefs);
959
tb_prefs.appendChild(textTag(doc, "name", tb.name));
960
tb_prefs.appendChild(textTag(doc, "on", tb.on));
961
tb_prefs.appendChild(textTag(doc, "locked", tb.locked));
962
tb_prefs.appendChild(textTag(doc, "stretchable", tb.stretchable));
963
tb_prefs.appendChild(stringListToXml(doc, "keys", tb.keys));
965
QDomElement tb_position = doc.createElement("position");
966
tb_prefs.appendChild(tb_position);
969
Qt::Dock dock = tb.dock;
970
if (dock == Qt::DockTop)
972
else if (dock == Qt::DockBottom)
973
dockStr = "DockBottom";
974
else if (dock == Qt::DockLeft)
975
dockStr = "DockLeft";
976
else if (dock == Qt::DockRight)
977
dockStr = "DockRight";
978
else if (dock == Qt::DockMinimized)
979
dockStr = "DockMinimized";
980
else if (dock == Qt::DockTornOff)
981
dockStr = "DockTornOff";
982
else if (dock == Qt::DockUnmanaged)
983
dockStr = "DockUnmanaged";
985
tb_position.appendChild(textTag(doc, "dock", dockStr));
986
tb_position.appendChild(textTag(doc, "index", tb.index));
987
tb_position.appendChild(textTag(doc, "nl", tb.nl));
988
tb_position.appendChild(textTag(doc, "extraOffset", tb.extraOffset));
901
1001
pp.appendChild(textTag(doc, "message", prefs.ppMessage));
902
1002
pp.appendChild(textTag(doc, "chat", prefs.ppChat));
903
1003
pp.appendChild(textTag(doc, "headline", prefs.ppHeadline));
1004
pp.appendChild(textTag(doc, "file", prefs.ppFile));
904
1005
pp.appendChild(textTag(doc, "jidClip", prefs.ppJidClip));
905
1006
pp.appendChild(textTag(doc, "statusClip", prefs.ppStatusClip));
906
1007
pp.appendChild(textTag(doc, "textClip", prefs.ppTextClip));
1113
1214
readBoolEntry(p_roster, "useleft", &prefs.useleft);
1114
1215
readBoolEntry(p_roster, "singleclick", &prefs.singleclick);
1115
1216
readNumEntry(p_roster, "defaultAction", &prefs.defaultAction);
1116
readBoolEntry(p_roster, "showself", &prefs.alwaysShowSelf);
1117
1217
readBoolEntry(p_roster, "useTransportIconsForContacts", &prefs.useTransportIconsForContacts);
1119
1219
QDomElement sorting = findSubTag(p_roster, "sortStyle", &found);
1244
//QDomElement avTag = findSubTag(p_general, "avatars", &found);
1246
// readBoolEntry(avTag, "use", &prefs.avatarsEnabled);
1247
// readBoolEntry(avTag, "use_chatdlg", &prefs.avatarsChatdlgEnabled);
1248
// readNumEntry(avTag, "size", &prefs.avatarsSize);
1143
1251
QDomElement tag = findSubTag(p_general, "misc", &found);
1145
1253
readNumEntry(tag, "delChats", &prefs.delChats);
1151
1259
readBoolEntry(tag, "keepSizes", &prefs.keepSizes);
1152
1260
readBoolEntry(tag, "ignoreHeadline", &prefs.ignoreHeadline);
1153
1261
readBoolEntry(tag, "ignoreNonRoster", &prefs.ignoreNonRoster);
1262
readBoolEntry(tag, "excludeGroupChatIgnore", &prefs.excludeGroupChatsFromIgnore);
1154
1263
readBoolEntry(tag, "scrollTo", &prefs.scrollTo);
1155
1264
readBoolEntry(tag, "useEmoticons", &prefs.useEmoticons);
1156
1265
readBoolEntry(tag, "alertOpenChats", &prefs.alertOpenChats);
1198
1308
readBoolEntry(tag, "popupMsgs", &prefs.popupMsgs);
1199
1309
readBoolEntry(tag, "popupChats", &prefs.popupChats);
1200
1310
readBoolEntry(tag, "popupHeadlines", &prefs.popupHeadlines);
1311
readBoolEntry(tag, "popupFiles", &prefs.popupFiles);
1201
1312
readBoolEntry(tag, "noAwayPopup", &prefs.noAwayPopup);
1202
1313
readBoolEntry(tag, "noUnlistedPopup", &prefs.noUnlistedPopup);
1203
1314
readBoolEntry(tag, "raise", &prefs.raise);
1221
1332
QDomElement tag = findSubTag(p_pres, "misc", &found);
1223
1334
readBoolEntry(tag, "askOnline", &prefs.askOnline);
1335
readBoolEntry(tag, "askOffline", &prefs.askOffline);
1224
1336
readBoolEntry(tag, "rosterAnim", &prefs.rosterAnim);
1225
1337
readBoolEntry(tag, "autoVersion", &prefs.autoVersion);
1226
1338
readBoolEntry(tag, "autoVCardOnLogin", &prefs.autoVCardOnLogin);
1327
1439
QDomElement p_toolbars = findSubTag(p, "toolbars", &found);
1329
prefs.toolbars.clear();
1441
QStringList goodTags;
1442
goodTags << "toolbar";
1443
goodTags << "mainWin";
1445
bool mainWinCleared = false;
1446
bool oldStyle = true;
1331
1448
for(QDomNode n = p_toolbars.firstChild(); !n.isNull(); n = n.nextSibling()) {
1332
1449
QDomElement e = n.toElement();
1333
1450
if( e.isNull() )
1336
if ( e.tagName().left(7) == "toolbar" ) {
1337
QDomElement tb_prefs = e;
1338
Options::ToolbarPrefs tb;
1340
readEntry(tb_prefs, "name", &tb.name);
1341
readBoolEntry(tb_prefs, "on", &tb.on);
1342
readBoolEntry(tb_prefs, "locked", &tb.locked);
1343
readBoolEntry(tb_prefs, "stretchable", &tb.stretchable);
1344
xmlToStringList(tb_prefs, "keys", &tb.keys);
1346
bool found3 = false;
1347
QDomElement tb_position = findSubTag(tb_prefs, "position", &found3);
1351
Qt::Dock dock = Qt::DockTop;
1352
readEntry(tb_position, "dock", &dockStr);
1353
if (dockStr == "DockTop")
1355
else if (dockStr == "DockBottom")
1356
dock = Qt::DockBottom;
1357
else if (dockStr == "DockLeft")
1358
dock = Qt::DockLeft;
1359
else if (dockStr == "DockRight")
1360
dock = Qt::DockRight;
1361
else if (dockStr == "DockMinimized")
1362
dock = Qt::DockMinimized;
1363
else if (dockStr == "DockTornOff")
1364
dock = Qt::DockTornOff;
1365
else if (dockStr == "DockUnmanaged")
1366
dock = Qt::DockUnmanaged;
1370
readNumEntry(tb_position, "index", &tb.index);
1371
readBoolEntry(tb_position, "nl", &tb.nl);
1372
readNumEntry(tb_position, "extraOffset", &tb.extraOffset);
1375
prefs.toolbars.append(tb);
1454
bool isGood = false;
1455
QStringList::Iterator it = goodTags.begin();
1456
for ( ; it != goodTags.end(); ++it ) {
1457
if ( e.tagName().left( (*it).length() ) == *it ) {
1460
if ( e.tagName().left(7) == "toolbar" )
1461
tbGroup = "mainWin";
1472
if ( tbGroup != "mainWin" || !mainWinCleared ) {
1473
prefs.toolbars[tbGroup].clear();
1474
if ( tbGroup == "mainWin" )
1475
mainWinCleared = true;
1479
Options::ToolbarPrefs tb = loadToolbarData( e );
1480
prefs.toolbars[tbGroup].append(tb);
1483
for(QDomNode nn = e.firstChild(); !nn.isNull(); nn = nn.nextSibling()) {
1484
QDomElement ee = nn.toElement();
1488
if ( ee.tagName() == "toolbar" ) {
1489
Options::ToolbarPrefs tb = loadToolbarData( ee );
1490
prefs.toolbars[tbGroup].append(tb);
1423
1541
readBoolEntry(p_popup, "message", &prefs.ppMessage);
1424
1542
readBoolEntry(p_popup, "chat", &prefs.ppChat);
1425
1543
readBoolEntry(p_popup, "headline", &prefs.ppHeadline);
1544
readBoolEntry(p_popup, "file", &prefs.ppFile);
1426
1545
readNumEntry(p_popup, "jidClip", &prefs.ppJidClip);
1427
1546
readNumEntry(p_popup, "statusClip", &prefs.ppStatusClip);
1428
1547
readNumEntry(p_popup, "textClip", &prefs.ppTextClip);