~ubuntu-branches/ubuntu/edgy/psi/edgy

« back to all changes in this revision

Viewing changes to src/psi_profiles.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Stephan Hermann
  • Date: 2005-09-14 16:33:49 UTC
  • mfrom: (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050914163349-3zacov4afysz5cw5
Tags: 0.9.3-2ubuntu1
* Sync with debian
* Applied patch to psi.desktop to start psi without gpg-agent use (known
  issue)
* Updated README.Debian

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
        tog_away = TRUE;
50
50
        tog_hidden = TRUE;
51
51
        tog_agents = TRUE;
 
52
        tog_self = FALSE;
52
53
        jid = "";
53
54
        pass = "";
54
55
        opt_pass = FALSE;
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);
345
348
        // prefs
346
349
        prefs.useleft = FALSE;
347
350
        prefs.singleclick = FALSE;
348
 
        prefs.defaultAction = 0;
 
351
        prefs.defaultAction = 1;
349
352
        prefs.delChats = dcHour;
350
353
        prefs.showJoins = TRUE;
351
354
        prefs.browser = 0;
352
355
        prefs.customBrowser = "";
353
356
        prefs.customMailer = "";
354
357
        prefs.alwaysOnTop = win ? TRUE : FALSE;
355
 
        prefs.keepSizes = FALSE;
 
358
        prefs.keepSizes = TRUE;
356
359
        prefs.ignoreHeadline = FALSE;
357
360
        prefs.ignoreNonRoster = FALSE;
 
361
        prefs.excludeGroupChatsFromIgnore = TRUE;
358
362
        prefs.useDock = win ? TRUE: FALSE;
359
363
        prefs.dockDCstyle = win ? TRUE: FALSE;
360
364
        prefs.dockHideMW = FALSE;
364
368
        prefs.popupMsgs = FALSE;
365
369
        prefs.popupChats = FALSE;
366
370
        prefs.popupHeadlines = FALSE;
 
371
        prefs.popupFiles = FALSE;
367
372
        prefs.noAwayPopup = FALSE;
368
373
        prefs.noUnlistedPopup = false;
369
374
        prefs.raise = FALSE;
370
375
        prefs.incomingAs = 0;
371
376
        prefs.askOnline = FALSE;
 
377
        prefs.askOffline = FALSE;
372
378
        prefs.rosterAnim = TRUE;
373
379
        prefs.autoVersion = false;
374
380
        prefs.autoVCardOnLogin = true;
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();
406
412
 
 
413
#ifdef Q_WS_MAC
 
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");
 
423
#else
407
424
        prefs.color[cOnline]    = QColor("#0060C0");
408
425
        prefs.color[cListBack]  = QColor("#C0C0C0");
409
426
        prefs.color[cAway]      = QColor("#008080");
413
430
        prefs.color[cGroupBack] = QColor("#FFFFFF");
414
431
        prefs.color[cAnimFront] = QColor("#FF0000");
415
432
        prefs.color[cAnimBack]  = QColor("#000000");
 
433
#endif
416
434
 
417
435
        prefs.font[fRoster] = QApplication::font().toString();
418
436
        prefs.font[fMessage] = QApplication::font().toString();
431
449
                prefs.smallFontSize = minimumFontSize;
432
450
        FancyLabel::setSmallFontSize( prefs.smallFontSize );
433
451
 
434
 
        prefs.clNewHeadings = false;
 
452
        prefs.clNewHeadings = true;
435
453
 
436
454
        prefs.player = "play";
437
455
        prefs.noAwaySound = FALSE;
458
476
        prefs.noGCSound = true;
459
477
 
460
478
        prefs.pgp = "";
461
 
        prefs.alwaysShowSelf = false;
462
479
 
463
480
        // toolbars
464
481
        prefs.toolbars.clear();
465
 
        Options::ToolbarPrefs tb[3];
466
 
        uint i;
467
 
        for (i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++)
 
482
 
 
483
        Options::ToolbarPrefs tbDef;
 
484
        tbDef.name = QString::null;
 
485
        tbDef.on = false;
 
486
        tbDef.locked = false;
 
487
        tbDef.stretchable = false;
 
488
        tbDef.keys.clear();
 
489
 
 
490
        tbDef.dock = Qt::DockTop;
 
491
        tbDef.nl = true;
 
492
        tbDef.extraOffset = 0;
 
493
 
 
494
        tbDef.dirty = true;
 
495
 
468
496
        {
469
 
                tb[i].name = QString::null;
470
 
                tb[i].on = false;
471
 
                tb[i].locked = false;
472
 
                tb[i].stretchable = false;
473
 
                tb[i].keys.clear();
474
 
 
475
 
                tb[i].dock = Qt::DockTop;
476
 
                tb[i].index = i + 1;
477
 
                tb[i].nl = true;
478
 
                tb[i].extraOffset = 0;
479
 
 
480
 
                tb[i].dirty = true;
 
497
                Options::ToolbarPrefs tb[3];
 
498
                uint i;
 
499
                for (i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++) {
 
500
                        tb[i] = tbDef;
 
501
                        tb[i].index = i + 1;
 
502
                }
 
503
                
 
504
                bool defaultEnableToolbars;
 
505
#ifdef Q_WS_MAC
 
506
                defaultEnableToolbars = false;
 
507
#else
 
508
                defaultEnableToolbars = true;
 
509
#endif
 
510
 
 
511
                // Imitate old Psi button layout by default
 
512
                tb[0].name = QObject::tr("Buttons");
 
513
                tb[0].on = defaultEnableToolbars;
 
514
                tb[0].locked = true;
 
515
                tb[0].stretchable = true;
 
516
                tb[0].keys << "button_options" << "button_status";
 
517
                tb[0].dock = Qt::DockBottom;
 
518
 
 
519
                tb[1].name = QObject::tr("Show contacts");
 
520
                tb[1].on = defaultEnableToolbars;
 
521
                tb[1].locked = true;
 
522
                tb[1].keys << "show_offline" << "show_away" << "show_agents" << "show_self";
 
523
 
 
524
                tb[2].name = QObject::tr("Event notifier");
 
525
                tb[2].on = false;
 
526
                tb[2].locked = true;
 
527
                tb[2].stretchable = true;
 
528
                tb[2].keys << "event_notifier";
 
529
                tb[2].dock = Qt::DockBottom;
 
530
                tb[2].index = 0;
 
531
 
 
532
                for ( i = 0; i < sizeof(tb)/sizeof(Options::ToolbarPrefs); i++ )
 
533
                        prefs.toolbars["mainWin"].append( tb[i] );
481
534
        }
482
535
 
483
 
        // Imitate old Psi button layout by default
484
 
        tb[0].name = QObject::tr("Buttons");
485
 
        tb[0].on = true;
486
 
        tb[0].locked = true;
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]);
491
 
 
492
 
        tb[1].name = QObject::tr("Show contacts");
493
 
        tb[1].on = true;
494
 
        tb[1].locked = true;
495
 
        tb[1].keys << "show_offline" << "show_away" << "show_agents";
496
 
        prefs.toolbars.append(tb[1]);
497
 
 
498
 
        tb[2].name = QObject::tr("Event notifier");
499
 
        tb[2].on = false;
500
 
        tb[2].locked = true;
501
 
        tb[2].stretchable = true;
502
 
        tb[2].keys << "event_notifier";
503
 
        tb[2].dock = Qt::DockBottom;
504
 
        tb[2].index = 0;
505
 
        prefs.toolbars.append(tb[2]);
506
 
 
507
536
        // groupchat
508
537
        prefs.gcHighlighting = true;
509
538
        prefs.gcHighlights.clear();
525
554
        prefs.ppMessage     = true;
526
555
        prefs.ppChat        = true;
527
556
        prefs.ppHeadline    = true;
 
557
        prefs.ppFile        = true;
528
558
        prefs.ppJidClip     = 25;
529
559
        prefs.ppStatusClip  = -1;
530
560
        prefs.ppTextClip    = 300;
571
601
 
572
602
        // auto-auth
573
603
        prefs.autoAuth = false;
 
604
        
 
605
        // message events
 
606
        prefs.messageEvents = true;
574
607
 
575
608
        // event priority
576
609
        prefs.eventPriorityHeadline = 0;
582
615
        // data transfer
583
616
        prefs.dtPort = 8010;
584
617
        prefs.dtExternal = "";
 
618
 
 
619
        // Avatars
 
620
        //prefs.avatarsEnabled = true;
 
621
        //prefs.avatarsChatdlgEnabled = true;
 
622
        //prefs.avatarsSize = 48;
 
623
}
 
624
 
 
625
static Options::ToolbarPrefs loadToolbarData( const QDomElement &e )
 
626
{
 
627
        QDomElement tb_prefs = e;
 
628
        Options::ToolbarPrefs tb;
 
629
 
 
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);
 
635
 
 
636
        bool found3 = false;
 
637
        QDomElement tb_position = findSubTag(tb_prefs, "position", &found3);
 
638
        if (found3)
 
639
        {
 
640
                QString dockStr;
 
641
                Qt::Dock dock = Qt::DockTop;
 
642
                readEntry(tb_position, "dock", &dockStr);
 
643
                if (dockStr == "DockTop")
 
644
                        dock = Qt::DockTop;
 
645
                else if (dockStr == "DockBottom")
 
646
                        dock = Qt::DockBottom;
 
647
                else if (dockStr == "DockLeft")
 
648
                        dock = Qt::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;
 
657
 
 
658
                tb.dock = dock;
 
659
 
 
660
                readNumEntry(tb_position, "index",              &tb.index);
 
661
                readBoolEntry(tb_position, "nl",                &tb.nl);
 
662
                readNumEntry(tb_position, "extraOffset",        &tb.extraOffset);
 
663
        }
 
664
 
 
665
        return tb;
585
666
}
586
667
 
587
668
bool UserProfile::toFile(const QString &fname)
629
710
                        p_roster.appendChild(textTag(doc, "useleft", prefs.useleft));
630
711
                        p_roster.appendChild(textTag(doc, "singleclick", prefs.singleclick));
631
712
                        p_roster.appendChild(textTag(doc, "defaultAction", prefs.defaultAction));
632
 
                        p_roster.appendChild(textTag(doc, "showself", prefs.alwaysShowSelf));
633
713
                        p_roster.appendChild(textTag(doc, "useTransportIconsForContacts", prefs.useTransportIconsForContacts));
634
714
 
635
715
                        {
652
732
                                sorting.appendChild(textTag(doc, "account", name));
653
733
                        }
654
734
                }
 
735
 
 
736
                // Avatars
 
737
                //{
 
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));
 
743
                //}
655
744
                {
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));
677
767
                        p_misc.appendChild(textTag(doc, "showGroupCounts", prefs.showGroupCounts));
678
768
                        p_misc.appendChild(textTag(doc, "jidComplete", prefs.jidComplete));
679
769
                        p_misc.appendChild(textTag(doc, "grabUrls", prefs.grabUrls));
 
770
                        p_misc.appendChild(textTag(doc, "messageEvents", prefs.messageEvents));
680
771
                }
681
772
                {
682
773
                        QDomElement p_dock = doc.createElement("dock");
710
801
 
711
802
                p_events.appendChild(textTag(doc, "alertstyle", prefs.alertStyle));
712
803
                p_events.appendChild(textTag(doc, "autoAuth", prefs.autoAuth));
 
804
                
713
805
 
714
806
                {
715
807
                        QDomElement p_receive = doc.createElement("receive");
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));
745
838
                        p_pres.appendChild(tag);
746
839
 
747
840
                        tag.appendChild(textTag(doc, "askOnline", prefs.askOnline));
 
841
                        tag.appendChild(textTag(doc, "askOffline", prefs.askOffline));
748
842
                        tag.appendChild(textTag(doc, "rosterAnim", prefs.rosterAnim));
749
843
                        tag.appendChild(textTag(doc, "autoVersion", prefs.autoVersion));
750
844
                        tag.appendChild(textTag(doc, "autoVCardOnLogin", prefs.autoVCardOnLogin));
847
941
                QDomElement p_toolbars = doc.createElement("toolbars");
848
942
                p.appendChild(p_toolbars);
849
943
 
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() ||
854
 
                             !tb.name.isEmpty() )
855
 
                        //     tb.name != QObject::tr("<unnamed>") ) // don't save empty toolbars
856
 
                        {
857
 
                                QDomElement tb_prefs = doc.createElement("toolbar");
858
 
                                p_toolbars.appendChild(tb_prefs);
859
 
 
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));
865
 
 
866
 
                                QDomElement tb_position = doc.createElement("position");
867
 
                                tb_prefs.appendChild(tb_position);
868
 
 
869
 
                                QString dockStr;
870
 
                                Qt::Dock dock = tb.dock;
871
 
                                if (dock == Qt::DockTop)
872
 
                                        dockStr = "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";
885
 
 
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 );
 
949
 
 
950
                        QValueList<Options::ToolbarPrefs>::Iterator it = toolbars.begin();
 
951
                        for ( ; it != toolbars.end(); ++it) {
 
952
                                Options::ToolbarPrefs tb = *it;
 
953
                                if ( tb.keys.size() ||
 
954
                                     !tb.name.isEmpty() )
 
955
                                {
 
956
                                        QDomElement tb_prefs = doc.createElement("toolbar");
 
957
                                        p_bars.appendChild(tb_prefs);
 
958
 
 
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));
 
964
 
 
965
                                        QDomElement tb_position = doc.createElement("position");
 
966
                                        tb_prefs.appendChild(tb_position);
 
967
 
 
968
                                        QString dockStr;
 
969
                                        Qt::Dock dock = tb.dock;
 
970
                                        if (dock == Qt::DockTop)
 
971
                                                dockStr = "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";
 
984
 
 
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));
 
989
                                }
890
990
                        }
891
991
                }
892
992
        }
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);
1118
1218
 
1119
1219
                                QDomElement sorting = findSubTag(p_roster, "sortStyle", &found);
1140
1240
                                }
1141
1241
                        }
1142
1242
 
 
1243
                        // Avatars
 
1244
                        //QDomElement avTag = findSubTag(p_general, "avatars", &found);
 
1245
                        //if(found) {
 
1246
                        //      readBoolEntry(avTag, "use", &prefs.avatarsEnabled);
 
1247
                        //      readBoolEntry(avTag, "use_chatdlg", &prefs.avatarsChatdlgEnabled);
 
1248
                        //      readNumEntry(avTag, "size", &prefs.avatarsSize);
 
1249
                        //}
 
1250
 
1143
1251
                        QDomElement tag = findSubTag(p_general, "misc", &found);
1144
1252
                        if(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);
1163
1272
                                readBoolEntry(tag, "jidComplete", &prefs.jidComplete);
1164
1273
                                readBoolEntry(tag, "grabUrls", &prefs.grabUrls);
1165
1274
                                readBoolEntry(tag, "smallChats", &prefs.smallChats);
 
1275
                                readBoolEntry(tag, "messageEvents", &prefs.messageEvents);
1166
1276
                        }
1167
1277
 
1168
1278
                        tag = findSubTag(p_general, "dock", &found);
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);
1222
1333
                        if(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);
1326
1438
 
1327
1439
                QDomElement p_toolbars = findSubTag(p, "toolbars", &found);
1328
1440
                if (found) {
1329
 
                        prefs.toolbars.clear();
 
1441
                        QStringList goodTags;
 
1442
                        goodTags << "toolbar";
 
1443
                        goodTags << "mainWin";
 
1444
 
 
1445
                        bool mainWinCleared = false;
 
1446
                        bool oldStyle = true;
1330
1447
 
1331
1448
                        for(QDomNode n = p_toolbars.firstChild(); !n.isNull(); n = n.nextSibling()) {
1332
1449
                                QDomElement e = n.toElement();
1333
1450
                                if( e.isNull() )
1334
1451
                                        continue;
1335
1452
 
1336
 
                                if ( e.tagName().left(7) == "toolbar" ) {
1337
 
                                        QDomElement tb_prefs = e;
1338
 
                                        Options::ToolbarPrefs tb;
1339
 
 
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);
1345
 
 
1346
 
                                        bool found3 = false;
1347
 
                                        QDomElement tb_position = findSubTag(tb_prefs, "position", &found3);
1348
 
                                        if (found3)
1349
 
                                        {
1350
 
                                                QString dockStr;
1351
 
                                                Qt::Dock dock = Qt::DockTop;
1352
 
                                                readEntry(tb_position, "dock", &dockStr);
1353
 
                                                if (dockStr == "DockTop")
1354
 
                                                        dock = Qt::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;
1367
 
 
1368
 
                                                tb.dock = dock;
1369
 
 
1370
 
                                                readNumEntry(tb_position, "index",              &tb.index);
1371
 
                                                readBoolEntry(tb_position, "nl",                &tb.nl);
1372
 
                                                readNumEntry(tb_position, "extraOffset",        &tb.extraOffset);
1373
 
                                        }
1374
 
 
1375
 
                                        prefs.toolbars.append(tb);
 
1453
                                QString tbGroup;
 
1454
                                bool isGood = false;
 
1455
                                QStringList::Iterator it = goodTags.begin();
 
1456
                                for ( ; it != goodTags.end(); ++it ) {
 
1457
                                        if ( e.tagName().left( (*it).length() ) == *it ) {
 
1458
                                                isGood = true;
 
1459
 
 
1460
                                                if ( e.tagName().left(7) == "toolbar" )
 
1461
                                                        tbGroup = "mainWin";
 
1462
                                                else {
 
1463
                                                        tbGroup = *it;
 
1464
                                                        oldStyle = false;
 
1465
                                                }
 
1466
 
 
1467
                                                break;
 
1468
                                        }
 
1469
                                }
 
1470
 
 
1471
                                if ( isGood ) {
 
1472
                                        if ( tbGroup != "mainWin" || !mainWinCleared ) {
 
1473
                                                prefs.toolbars[tbGroup].clear();
 
1474
                                                if ( tbGroup == "mainWin" )
 
1475
                                                        mainWinCleared = true;
 
1476
                                        }
 
1477
 
 
1478
                                        if ( oldStyle ) {
 
1479
                                                Options::ToolbarPrefs tb = loadToolbarData( e );
 
1480
                                                prefs.toolbars[tbGroup].append(tb);
 
1481
                                        }
 
1482
                                        else {
 
1483
                                                for(QDomNode nn = e.firstChild(); !nn.isNull(); nn = nn.nextSibling()) {
 
1484
                                                        QDomElement ee = nn.toElement();
 
1485
                                                        if( ee.isNull() )
 
1486
                                                                continue;
 
1487
 
 
1488
                                                        if ( ee.tagName() == "toolbar" ) {
 
1489
                                                                Options::ToolbarPrefs tb = loadToolbarData( ee );
 
1490
                                                                prefs.toolbars[tbGroup].append(tb);
 
1491
                                                        }
 
1492
                                                }
 
1493
                                        }
1376
1494
                                }
1377
1495
                        }
1378
1496
 
1380
1498
                        if ( progver == "0.9" || progver == "0.9-CVS" ) {
1381
1499
                                // at first, we need to scan the options, to determine, whether event_notifier already available
1382
1500
                                bool found = false;
1383
 
                                QValueList<Options::ToolbarPrefs>::Iterator it = prefs.toolbars.begin();
1384
 
                                for ( ; it != prefs.toolbars.end(); ++it) {
 
1501
                                QValueList<Options::ToolbarPrefs>::Iterator it = prefs.toolbars["mainWin"].begin();
 
1502
                                for ( ; it != prefs.toolbars["mainWin"].end(); ++it) {
1385
1503
                                        QStringList::Iterator it2 = (*it).keys.begin();
1386
1504
                                        for ( ; it2 != (*it).keys.end(); ++it2) {
1387
1505
                                                if ( *it2 == "event_notifier" ) {
1400
1518
                                        tb.keys << "event_notifier";
1401
1519
                                        tb.dock  = Qt::DockBottom;
1402
1520
                                        tb.index = 0;
1403
 
                                        prefs.toolbars.append(tb);
 
1521
                                        prefs.toolbars["mainWin"].append(tb);
1404
1522
                                }
1405
1523
                        }
1406
1524
                }
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);
1580
1699
        }
1581
1700
 
1582
1701
        p.mkdir("history");
1583
 
        p.mkdir("info");
1584
1702
        p.mkdir("vcard");
1585
1703
 
1586
1704
        return TRUE;