~ubuntu-branches/ubuntu/maverick/psi/maverick

« back to all changes in this revision

Viewing changes to src/mainwin.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jan Niehusmann
  • Date: 2006-01-20 00:20:36 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060120002036-7nw6yo6totip0ee5
Tags: 0.10-2
* Added upstream changelog (Closes: Bug#327748)
* Mention --no-gpg and --no-gpg-agent in manpage (Closes: Bug#204416)

Show diffs side-by-side

added added

removed removed

Lines of Context:
94
94
        QMap<QAction *, int> statusActions;
95
95
 
96
96
        int lastStatus;
97
 
#ifdef Q_WS_MAC
98
97
        QMenuBar *gm;
99
 
#endif
100
98
 
101
99
        QString infoString;
102
100
 
186
184
//#endif
187
185
 
188
186
MainWin::MainWin(bool _onTop, bool _asTool, PsiCon *psi, const char *name)
189
 
:QMainWindow(0, name, 0 | (_onTop ? WStyle_StaysOnTop: 0) | (_asTool ? WStyle_Tool | TOOLW_FLAGS : 0))
 
187
:AdvancedWidget<QMainWindow>(0, name, 0 | (_onTop ? WStyle_StaysOnTop: 0) | (_asTool ? WStyle_Tool | TOOLW_FLAGS : 0))
190
188
{
191
189
        d = new Private(psi, this);
192
190
 
247
245
        if ( option.showTips )
248
246
                actTipActivated();
249
247
 
250
 
        // create a menubar on Mac
251
248
#ifdef Q_WS_MAC
 
249
        // Create a global menubar
252
250
        d->gm = new QMenuBar(0);
 
251
#else
 
252
        // Create a menu for the current window
 
253
        d->gm = new QMenuBar(this);
 
254
#endif
 
255
 
 
256
        // Mac-only menus
 
257
#ifdef Q_WS_MAC
253
258
        QPopupMenu *mainMenu = new QPopupMenu(this);
254
259
        d->gm->insertItem(tr("Menu"), mainMenu);
255
260
        mainMenu->insertItem(tr("Preferences"), this, SIGNAL(doOptions()));
260
265
        d->mainMenu = new QPopupMenu(this);
261
266
        d->gm->insertItem(tr("General"), d->mainMenu);
262
267
        connect(d->mainMenu, SIGNAL(aboutToShow()), SLOT(buildMainMenu()));
 
268
#else
 
269
        d->gm->insertItem(tr("General"), d->optionsMenu);
 
270
#endif
263
271
 
264
272
        d->gm->insertItem(tr("Status"), d->statusMenu);
265
273
 
271
279
        d->getAction("show_agents")->addTo(viewMenu);
272
280
        d->getAction("show_self")->addTo(viewMenu);
273
281
 
 
282
        // Mac-only menus
 
283
#ifdef Q_WS_MAC
274
284
        d->toolsMenu = new QPopupMenu(this);
275
285
        d->gm->insertItem(tr("Tools"), d->toolsMenu);
276
286
        connect(d->toolsMenu, SIGNAL(aboutToShow()), SLOT(buildToolsMenu()));
281
291
        d->getAction("help_tip")->addTo (helpMenu);
282
292
        helpMenu->insertSeparator();
283
293
        d->getAction("help_online_help")->addTo (helpMenu);
 
294
        d->getAction("help_online_wiki")->addTo (helpMenu);
 
295
        d->getAction("help_online_home")->addTo (helpMenu);
284
296
        d->getAction("help_report_bug")->addTo (helpMenu);
285
297
 
286
298
        d->gm->show();
 
299
#else
 
300
        if (option.hideMenubar) 
 
301
                d->gm->hide();
 
302
        else 
 
303
                d->gm->show();
 
304
#endif
 
305
        
 
306
#if QT_VERSION >= 0x030300
 
307
        setWindowOpacity(double(option.rosterOpacity)/100);
287
308
#endif
288
309
 
289
310
        connect(qApp, SIGNAL(dockActivated()), SLOT(dockActivated()));
290
311
}
 
312
        
291
313
 
292
314
MainWin::~MainWin()
293
315
{
294
316
        PsiPopup::deleteAll();
295
317
 
296
 
#ifdef Q_WS_MAC
297
 
        delete d->gm;
298
 
#endif
 
318
        if (d->gm)
 
319
                delete d->gm;
 
320
 
299
321
        if(d->tray) {
300
322
                delete d->tray;
301
323
                d->tray = 0;
351
373
                { "help_readme",      activated, this, SLOT( actReadmeActivated() ) },
352
374
                { "help_tip",         activated, this, SLOT( actTipActivated() ) },
353
375
                { "help_online_help", activated, this, SLOT( actOnlineHelpActivated() ) },
 
376
                { "help_online_wiki", activated, this, SLOT( actOnlineWikiActivated() ) },
 
377
                { "help_online_home", activated, this, SLOT( actOnlineHomeActivated() ) },
354
378
                { "help_report_bug",  activated, this, SLOT( actBugReportActivated() ) },
355
379
                { "help_about",       activated, this, SLOT( actAboutActivated() ) },
356
380
                { "help_about_qt",    activated, this, SLOT( actAboutQtActivated() ) },
561
585
        actionNames << "help_tip";
562
586
        actionNames << "separator";
563
587
        actionNames << "help_online_help";
 
588
        actionNames << "help_online_wiki";
 
589
        actionNames << "help_online_home";
564
590
        actionNames << "help_report_bug";
565
591
        actionNames << "separator";
566
592
        actionNames << "help_about";
622
648
        if ( (action = d->getAction("menu_xml_console")) )
623
649
                action->addTo(d->toolsMenu);
624
650
}
625
 
 
 
651
        
626
652
void MainWin::buildGeneralMenu(QPopupMenu *menu)
627
653
{
628
654
        menu->clear();
643
669
        actionNames << "menu_file_transfer"; // TODO: probably we want to lock down filetransfer, right?
644
670
        if(!option.lockdown.profiles)
645
671
                actionNames << "menu_change_profile";
 
672
        actionNames << "menu_toolbars";
646
673
        actionNames << "menu_play_sounds";
647
674
 
648
675
        QStringList::Iterator it;
671
698
 
672
699
void MainWin::actOnlineHelpActivated ()
673
700
{
674
 
        openURL("http://psi.affinix.com/psi_docs/");
 
701
        openURL("http://psi-im.org/wiki/User_Guide");
 
702
}
 
703
 
 
704
void MainWin::actOnlineWikiActivated ()
 
705
{
 
706
        openURL("http://psi-im.org/wiki");
 
707
}
 
708
 
 
709
void MainWin::actOnlineHomeActivated ()
 
710
{
 
711
        openURL("http://psi-im.org");
675
712
}
676
713
 
677
714
void MainWin::actBugReportActivated ()
678
715
{
679
 
        openURL("http://psi.affinix.com/forums/index.php?act=SF&f=2");
 
716
        openURL("http://psi-im.org/forum/forum/2");
680
717
}
681
718
 
682
719
void MainWin::actAboutActivated ()
863
900
        d->lastStatus = -2;
864
901
        decorateButton(status);
865
902
 
 
903
        if (option.hideMenubar) 
 
904
                d->gm->hide();
 
905
        else 
 
906
                d->gm->show();
 
907
        
 
908
#if QT_VERSION >= 0x030300
 
909
        setWindowOpacity(double(option.rosterOpacity)/100);
 
910
#endif
 
911
        
866
912
        updateTray();
867
913
}
868
914
 
 
915
void MainWin::toggleVisible()
 
916
{
 
917
        if(!isHidden())
 
918
                trayHide();
 
919
        else
 
920
                trayShow();
 
921
}
 
922
 
869
923
void MainWin::setTrayToolTip(const Status &status)
870
924
{
871
925
        if (!d->tray)
931
985
 
932
986
void MainWin::updateReadNext(Icon *anim, int amount)
933
987
{
934
 
#ifdef Q_WS_MAC
935
 
        if(amount > 0)
936
 
                bounceDockTile();
937
 
        else
938
 
                stopDockTileBounce();
939
 
#endif
940
 
 
941
988
        d->nextAnim = anim;
942
989
        if(anim == 0)
943
990
                d->nextAmount = 0;