117
116
a.appendChild(textTag(doc, "OLR", olr_string));
118
117
a.appendChild(textTag(doc, "pgpSecretKeyID", pgpSecretKeyID));
121
a.appendChild(textTag(doc, "pgpPassphrase", encodePassword(pgpPassphrase, jid) ));
123
119
QDomElement r = doc.createElement("roster");
124
120
a.appendChild(r);
125
121
Roster::ConstIterator rit = roster.begin();
246
242
// read password (we must do this after reading the jid, to decode properly)
247
243
readEntry(a, "password", &pass);
244
if(!pass.isEmpty()) {
251
246
pass = decodePassword(pass, jid);
255
249
readEntry(a, "resource", &resource);
257
251
readEntry(a, "OLR", &olr_string);
258
252
readEntry(a, "pgpSecretKeyID", &pgpSecretKeyID);
260
QDomElement pp = findSubTag(a, "pgpPassphrase", &found);
262
opt_passphrase = true;
263
pgpPassphrase = decodePassword(tagContent(pp), jid);
266
opt_passphrase = false;
268
254
QDomElement r = findSubTag(a, "roster", &found);
270
256
for(QDomNode n = r.firstChild(); !n.isNull(); n = n.nextSibling()) {
349
335
prefs.useleft = FALSE;
350
336
prefs.singleclick = FALSE;
337
prefs.hideMenubar = TRUE;
351
338
prefs.defaultAction = 1;
352
339
prefs.delChats = dcHour;
353
340
prefs.showJoins = TRUE;
354
341
prefs.browser = 0;
355
342
prefs.customBrowser = "";
356
343
prefs.customMailer = "";
357
prefs.alwaysOnTop = win ? TRUE : FALSE;
344
prefs.alwaysOnTop = FALSE;
358
345
prefs.keepSizes = TRUE;
359
346
prefs.ignoreHeadline = FALSE;
360
347
prefs.ignoreNonRoster = FALSE;
396
383
prefs.chatSoftReturn = true;
397
384
prefs.showGroupCounts = true;
398
385
prefs.smallChats = false;
386
prefs.chatLineEdit = true;
387
prefs.useTabs = false;
388
prefs.usePerTabCloseButton = true;
389
prefs.putTabsAtBottom = false;
390
prefs.autoRosterSize = false;
391
prefs.autoRosterSizeGrowTop = false;
392
prefs.autoResolveNicksOnAdd = false;
393
prefs.chatBgImage = "";
394
prefs.rosterBgImage = "";
395
prefs.autoCopy = false;
400
397
prefs.sp.clear();
401
398
prefs.sp.set(QObject::tr("Away from desk"), QObject::tr("I am away from my desk. Leave a message."));
410
407
prefs.sp.set(QObject::tr("Greece"), QObject::tr("I have gone to a far away place. I will be back someday!"));
411
408
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");
424
prefs.color[cOnline] = QColor("#0060C0");
425
prefs.color[cListBack] = QColor("#C0C0C0");
426
prefs.color[cAway] = QColor("#008080");
427
prefs.color[cDND] = QColor("#800000");
428
prefs.color[cOffline] = QColor("#000000");
429
prefs.color[cGroupFore] = QColor("#000000");
430
prefs.color[cGroupBack] = QColor("#FFFFFF");
431
prefs.color[cAnimFront] = QColor("#FF0000");
432
prefs.color[cAnimBack] = QColor("#000000");
410
prefs.color[cOnline] = QColor("#000000");
411
prefs.color[cListBack] = QColor("#FFFFFF");
412
prefs.color[cAway] = QColor("#004BB4");
413
prefs.color[cDND] = QColor("#7E0000");
414
prefs.color[cOffline] = QColor("#646464");
415
prefs.color[cProfileFore] = QColor("#FFFFFF");
416
prefs.color[cProfileBack] = QColor("#969696");
417
prefs.color[cGroupFore] = QColor("#5A5A5A");
418
prefs.color[cGroupBack] = QColor("#F0F0F0");
419
prefs.color[cAnimFront] = QColor("#000000");
420
prefs.color[cAnimBack] = QColor("#969696");
435
422
prefs.font[fRoster] = QApplication::font().toString();
436
423
prefs.font[fMessage] = QApplication::font().toString();
449
436
prefs.smallFontSize = minimumFontSize;
450
437
FancyLabel::setSmallFontSize( prefs.smallFontSize );
452
prefs.clNewHeadings = true;
439
prefs.clNewHeadings = false;
440
prefs.chatOpacity = 100;
441
prefs.rosterOpacity = 95;
442
prefs.outlineHeadings = false;
454
444
prefs.player = "play";
455
445
prefs.noAwaySound = FALSE;
561
552
prefs.ppHideTime = 10000; // 10 sec
562
553
prefs.ppBorderColor = QColor (0x52, 0x97, 0xF9);
555
// Bouncing of the dock (Mac OS X)
556
prefs.bounceDock = Options::BounceForever;
565
559
prefs.lockdown.roster = false;
566
560
prefs.lockdown.options = false;
576
570
prefs.defaultRosterIconset = "default";
578
572
prefs.serviceRosterIconset.clear();
579
prefs.serviceRosterIconset["transport"] = "transport";
580
prefs.serviceRosterIconset["aim"] = "aim";
581
prefs.serviceRosterIconset["gadugadu"] = "gadugadu";
582
prefs.serviceRosterIconset["icq"] = "icq";
583
prefs.serviceRosterIconset["msn"] = "msn";
584
prefs.serviceRosterIconset["yahoo"] = "yahoo";
585
prefs.serviceRosterIconset["sms"] = "sms";
573
prefs.serviceRosterIconset["transport"] = "crystal-service.jisp";
574
prefs.serviceRosterIconset["aim"] = "crystal-aim.jisp";
575
prefs.serviceRosterIconset["gadugadu"] = "crystal-gadugadu.jisp";
576
prefs.serviceRosterIconset["icq"] = "crystal-icq.jisp";
577
prefs.serviceRosterIconset["msn"] = "crystal-msn.jisp";
578
prefs.serviceRosterIconset["yahoo"] = "crystal-yahoo.jisp";
579
prefs.serviceRosterIconset["sms"] = "crystal-sms.jisp";
587
581
prefs.customRosterIconset.clear();
612
609
prefs.eventPriorityAuth = 2;
613
610
prefs.eventPriorityFile = 3;
612
// Last used path remembering
613
prefs.lastPath = QDir::homeDirPath();
614
prefs.lastSavePath = QDir::homeDirPath();
616
617
prefs.dtPort = 8010;
617
618
prefs.dtExternal = "";
620
//prefs.avatarsEnabled = true;
621
//prefs.avatarsChatdlgEnabled = true;
622
//prefs.avatarsSize = 48;
621
prefs.avatarsEnabled = true;
622
prefs.avatarsChatdlgEnabled = true;
623
prefs.avatarsSize = 48;
625
// global accelerators
626
prefs.globalAccels.clear();
627
prefs.globalAccels.append(QKeySequence()); // process next event
628
prefs.globalAccels.append(QKeySequence()); // show/hide roster
631
GAdvancedWidget::setStickEnabled( false ); //until this is bugless
632
GAdvancedWidget::setStickToWindows( false ); //again
633
GAdvancedWidget::setStickAt( 5 );
625
636
static Options::ToolbarPrefs loadToolbarData( const QDomElement &e )
708
719
p_general.appendChild(p_roster);
710
721
p_roster.appendChild(textTag(doc, "useleft", prefs.useleft));
722
p_roster.appendChild(textTag(doc, "rosterBgImage", prefs.rosterBgImage));
711
723
p_roster.appendChild(textTag(doc, "singleclick", prefs.singleclick));
724
p_roster.appendChild(textTag(doc, "hideMenubar", prefs.hideMenubar));
712
725
p_roster.appendChild(textTag(doc, "defaultAction", prefs.defaultAction));
713
726
p_roster.appendChild(textTag(doc, "useTransportIconsForContacts", prefs.useTransportIconsForContacts));
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));
751
QDomElement p_avatars = doc.createElement("avatars");
752
p_general.appendChild(p_avatars);
753
p_avatars.appendChild(textTag(doc, "use", prefs.avatarsEnabled));
754
p_avatars.appendChild(textTag(doc, "use_chatdlg", prefs.avatarsChatdlgEnabled));
755
p_avatars.appendChild(textTag(doc, "size", prefs.avatarsSize));
745
758
QDomElement p_misc = doc.createElement("misc");
746
759
p_general.appendChild(p_misc);
761
p_misc.appendChild(textTag(doc, "chatBgImage", prefs.chatBgImage));
748
762
p_misc.appendChild(textTag(doc, "smallChats", prefs.smallChats));
763
p_misc.appendChild(textTag(doc, "chatLineEdit", prefs.chatLineEdit));
764
p_misc.appendChild(textTag(doc, "useTabs", prefs.useTabs));
765
p_misc.appendChild(textTag(doc, "usePerTabCloseButton", prefs.usePerTabCloseButton));
766
p_misc.appendChild(textTag(doc, "putTabsAtBottom", prefs.putTabsAtBottom));
767
p_misc.appendChild(textTag(doc, "autoRosterSize", prefs.autoRosterSize));
768
p_misc.appendChild(textTag(doc, "autoRosterSizeGrowTop", prefs.autoRosterSizeGrowTop));
769
p_misc.appendChild(textTag(doc, "autoResolveNicksOnAdd", prefs.autoResolveNicksOnAdd));
749
770
p_misc.appendChild(textTag(doc, "delChats", prefs.delChats));
750
771
p_misc.appendChild(textTag(doc, "showJoins", prefs.showJoins));
751
772
p_misc.appendChild(textTag(doc, "browser", prefs.browser));
768
789
p_misc.appendChild(textTag(doc, "jidComplete", prefs.jidComplete));
769
790
p_misc.appendChild(textTag(doc, "grabUrls", prefs.grabUrls));
770
791
p_misc.appendChild(textTag(doc, "messageEvents", prefs.messageEvents));
792
p_misc.appendChild(textTag(doc, "lastPath", prefs.lastPath));
793
p_misc.appendChild(textTag(doc, "lastSavePath", prefs.lastSavePath));
794
p_misc.appendChild(textTag(doc, "autoCopy", prefs.autoCopy));
773
797
QDomElement p_dock = doc.createElement("dock");
802
826
p_events.appendChild(textTag(doc, "alertstyle", prefs.alertStyle));
803
827
p_events.appendChild(textTag(doc, "autoAuth", prefs.autoAuth));
828
p_events.appendChild(textTag(doc, "notifyAuth", prefs.notifyAuth));
807
832
QDomElement p_receive = doc.createElement("receive");
877
902
p.appendChild(p_lnf);
879
904
p_lnf.appendChild(textTag(doc, "newHeadings", prefs.clNewHeadings));
905
p_lnf.appendChild(textTag(doc, "chat-opacity", prefs.chatOpacity));
906
p_lnf.appendChild(textTag(doc, "roster-opacity", prefs.rosterOpacity));
907
p_lnf.appendChild(textTag(doc, "outline-headings", prefs.outlineHeadings));
882
910
QDomElement tag = doc.createElement("colors");
887
915
tag.appendChild(textTag(doc, "away", prefs.color[cAway].name() ));
888
916
tag.appendChild(textTag(doc, "dnd", prefs.color[cDND].name() ));
889
917
tag.appendChild(textTag(doc, "offline", prefs.color[cOffline].name() ));
918
tag.appendChild(textTag(doc, "profilefore", prefs.color[cProfileFore].name() ));
919
tag.appendChild(textTag(doc, "profileback", prefs.color[cProfileBack].name() ));
890
920
tag.appendChild(textTag(doc, "groupfore", prefs.color[cGroupFore].name() ));
891
921
tag.appendChild(textTag(doc, "groupback", prefs.color[cGroupBack].name() ));
892
922
tag.appendChild(textTag(doc, "animfront", prefs.color[cAnimFront].name() ));
936
966
p_sizes.appendChild(textTag(doc, "eventdlg", prefs.sizeEventDlg));
937
967
p_sizes.appendChild(textTag(doc, "chatdlg", prefs.sizeChatDlg));
968
p_sizes.appendChild(textTag(doc, "tabdlg", prefs.sizeTabDlg));
1008
1039
pp.appendChild(textTag(doc, "hideTime", prefs.ppHideTime));
1009
1040
pp.appendChild(textTag(doc, "borderColor", prefs.ppBorderColor.name()));
1044
// Bouncing dock (on Mac OS X)
1045
QDomElement dock = doc.createElement("dock");
1046
p.appendChild(dock);
1047
switch (prefs.bounceDock) {
1048
case Options::NoBounce :
1049
dock.setAttribute("bounce", "never");
1051
case Options::BounceOnce :
1052
dock.setAttribute("bounce", "once");
1054
case Options::BounceForever :
1055
dock.setAttribute("bounce", "forever");
1108
1158
p_dt.appendChild( textTag(doc, "external", prefs.dtExternal ) );
1162
// global accelerators
1163
QDomElement p_globalAccel = doc.createElement("globalAccel");
1164
p.appendChild(p_globalAccel);
1166
QStringList accelNames;
1167
accelNames << "processNextEvent";
1168
accelNames << "showHideRoster";
1170
QStringList::Iterator it1 = accelNames.begin();
1171
QValueList<QKeySequence>::iterator it2 = prefs.globalAccels.begin();
1173
for ( ; it2 != prefs.globalAccels.end(); ++it1, ++it2 ) {
1174
QDomElement item = doc.createElement("command");
1175
p_globalAccel.appendChild(item);
1176
item.setAttribute("type", *it1);
1177
item.appendChild( doc.createTextNode(*it2) );
1183
QDomElement p_advWidget = doc.createElement("advancedWidget");
1184
p.appendChild(p_advWidget);
1186
QDomElement stick = doc.createElement("sticky");
1187
p_advWidget.appendChild(stick);
1189
setBoolAttribute(stick, "enabled", GAdvancedWidget::stickEnabled());
1190
stick.appendChild( textTag(doc, "offset", GAdvancedWidget::stickAt()) );
1191
stick.appendChild( textTag(doc, "stickToWindows", GAdvancedWidget::stickToWindows()) );
1111
1194
QFile f(fname);
1112
1195
if(!f.open(IO_WriteOnly))
1212
1295
QDomElement p_roster = findSubTag(p_general, "roster", &found);
1297
readEntry(p_roster, "rosterBgImage", &prefs.rosterBgImage);
1214
1298
readBoolEntry(p_roster, "useleft", &prefs.useleft);
1215
1299
readBoolEntry(p_roster, "singleclick", &prefs.singleclick);
1300
readBoolEntry(p_roster, "hideMenubar", &prefs.hideMenubar);
1216
1301
readNumEntry(p_roster, "defaultAction", &prefs.defaultAction);
1217
1302
readBoolEntry(p_roster, "useTransportIconsForContacts", &prefs.useTransportIconsForContacts);
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);
1329
QDomElement avTag = findSubTag(p_general, "avatars", &found);
1331
readBoolEntry(avTag, "use", &prefs.avatarsEnabled);
1332
readBoolEntry(avTag, "use_chatdlg", &prefs.avatarsChatdlgEnabled);
1333
readNumEntry(avTag, "size", &prefs.avatarsSize);
1251
1336
QDomElement tag = findSubTag(p_general, "misc", &found);
1338
readEntry(tag, "chatBgImage", &prefs.chatBgImage);
1253
1339
readNumEntry(tag, "delChats", &prefs.delChats);
1254
1340
readBoolEntry(tag, "showJoins", &prefs.showJoins);
1255
1341
readNumEntry(tag, "browser", &prefs.browser);
1272
1358
readBoolEntry(tag, "jidComplete", &prefs.jidComplete);
1273
1359
readBoolEntry(tag, "grabUrls", &prefs.grabUrls);
1274
1360
readBoolEntry(tag, "smallChats", &prefs.smallChats);
1361
readBoolEntry(tag, "chatLineEdit", &prefs.chatLineEdit);
1362
readBoolEntry(tag, "useTabs", &prefs.useTabs);
1363
readBoolEntry(tag, "usePerTabCloseButton", &prefs.usePerTabCloseButton);
1364
readBoolEntry(tag, "putTabsAtBottom", &prefs.putTabsAtBottom);
1365
readBoolEntry(tag, "autoRosterSize", &prefs.autoRosterSize);
1366
readBoolEntry(tag, "autoRosterSizeGrowTop", &prefs.autoRosterSizeGrowTop);
1367
readBoolEntry(tag, "autoResolveNicksOnAdd", &prefs.autoResolveNicksOnAdd);
1275
1368
readBoolEntry(tag, "messageEvents", &prefs.messageEvents);
1369
readEntry(tag, "lastPath", &prefs.lastPath);
1370
readEntry(tag, "lastSavePath", &prefs.lastSavePath);
1371
readBoolEntry(tag, "autoCopy", &prefs.autoCopy);
1278
1374
tag = findSubTag(p_general, "dock", &found);
1303
1399
readNumEntry(p_events, "alertstyle", &prefs.alertStyle);
1304
1400
readBoolEntry(p_events, "autoAuth", &prefs.autoAuth);
1401
readBoolEntry(p_events, "notifyAuth", &prefs.notifyAuth);
1306
1403
QDomElement tag = findSubTag(p_events, "receive", &found);
1385
1482
readBoolEntry(p_lnf, "newHeadings", &prefs.clNewHeadings);
1483
readBoolEntry(p_lnf, "outline-headings", &prefs.outlineHeadings);
1484
readNumEntry(p_lnf, "chat-opacity", &prefs.chatOpacity);
1485
readNumEntry(p_lnf, "roster-opacity", &prefs.rosterOpacity);
1387
1487
QDomElement tag = findSubTag(p_lnf, "colors", &found);
1393
1493
readColorEntry(tag, "offline", &prefs.color[cOffline]);
1394
1494
readColorEntry(tag, "groupfore", &prefs.color[cGroupFore]);
1395
1495
readColorEntry(tag, "groupback", &prefs.color[cGroupBack]);
1496
readColorEntry(tag, "profilefore", &prefs.color[cProfileFore]);
1497
readColorEntry(tag, "profileback", &prefs.color[cProfileBack]);
1396
1498
readColorEntry(tag, "animfront", &prefs.color[cAnimFront]);
1397
1499
readColorEntry(tag, "animback", &prefs.color[cAnimBack]);
1434
1536
readSizeEntry(p_sizes, "eventdlg", &prefs.sizeEventDlg);
1435
1537
readSizeEntry(p_sizes, "chatdlg", &prefs.sizeChatDlg);
1538
readSizeEntry(p_sizes, "tabdlg", &prefs.sizeTabDlg);
1532
1635
xmlToStringList(p_groupchat, "nickcolors", &prefs.gcNickColors);
1638
// Bouncing dock icon (Mac OS X)
1639
QDomElement p_dock = findSubTag(p, "dock", &found);
1641
if (p_dock.attribute("bounce") == "once") {
1642
prefs.bounceDock = Options::BounceOnce;
1644
else if (p_dock.attribute("bounce") == "forever") {
1645
prefs.bounceDock = Options::BounceForever;
1647
else if (p_dock.attribute("bounce") == "never") {
1648
prefs.bounceDock = Options::NoBounce;
1535
1652
QDomElement p_popup = findSubTag(p, "popups", &found);
1537
1654
readBoolEntry(p_popup, "on", &prefs.ppIsOn);
1624
1741
readNumEntry(p_dt, "port", &prefs.dtPort);
1625
1742
readEntry(p_dt, "external", &prefs.dtExternal);
1745
QDomElement p_globalAccel = findSubTag(p, "globalAccel", &found);
1747
QMap<QString, int> accelNames;
1748
accelNames["processNextEvent"] = 0;
1749
accelNames["showHideRoster"] = 1;
1751
for (QDomNode n = p_globalAccel.firstChild(); !n.isNull(); n = n.nextSibling()) {
1752
QDomElement i = n.toElement();
1756
if ( i.tagName() == "command" && i.hasAttribute("type") ) {
1757
int n = accelNames[i.attribute("type")];
1758
prefs.globalAccels[n] = QKeySequence(i.text());
1763
QDomElement p_advWidget = findSubTag(p, "advancedWidget", &found);
1765
QDomElement stick = findSubTag(p_advWidget, "sticky", &found);
1767
bool enabled, toWindows;
1770
readBoolAttribute(stick, "enabled", &enabled);
1771
readNumEntry(stick, "offset", &offs);
1772
readBoolEntry(stick, "stickToWindows", &toWindows);
1774
GAdvancedWidget::setStickEnabled( enabled );
1775
GAdvancedWidget::setStickAt( offs );
1776
GAdvancedWidget::setStickToWindows( toWindows );