From 84f237fb3b83400a031bf7c2d3025f78c02f28a8 Mon Sep 17 00:00:00 2001 From: alwin Date: Wed, 09 Mar 2005 14:40:43 +0000 Subject: cleanups/fixed potential crashers context menus are displayed in mainmenu, too. --- (limited to 'noncore/net/mail/mainwindow.cpp') diff --git a/noncore/net/mail/mainwindow.cpp b/noncore/net/mail/mainwindow.cpp index 0a45445..81c8fee 100644 --- a/noncore/net/mail/mainwindow.cpp +++ b/noncore/net/mail/mainwindow.cpp @@ -21,12 +21,36 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) setToolBarsMovable( false ); toolBar = new QToolBar( this ); + menuBar = new QMenuBar( toolBar ); + mailMenu = new QPopupMenu( menuBar ); menuBar->insertItem( tr( "Mail" ), mailMenu ); + settingsMenu = new QPopupMenu( menuBar ); menuBar->insertItem( tr( "Settings" ), settingsMenu ); + serverMenu = new QPopupMenu( menuBar ); + m_ServerMenuId = menuBar->insertItem( tr( "Server" ), serverMenu ); + serverMenu->insertItem(tr("Disconnect"),SERVER_MENU_DISCONNECT); + serverMenu->insertItem(tr("Set on/offline"),SERVER_MENU_OFFLINE); + serverMenu->insertSeparator(); + serverMenu->insertItem(tr("Refresh folder list"),SERVER_MENU_REFRESH_FOLDER); + serverMenu->insertItem(tr("Create new folder"),SERVER_MENU_CREATE_FOLDER); + serverMenu->insertSeparator(); + serverMenu->insertItem(tr("(Un-)Subscribe groups"),SERVER_MENU_SUBSCRIBE); + + folderMenu = new QPopupMenu( menuBar ); + m_FolderMenuId = menuBar->insertItem( tr( "Folder" ), folderMenu ); + folderMenu->insertItem(tr("Refresh headerlist"),FOLDER_MENU_REFRESH_HEADER); + folderMenu->insertItem(tr("Delete all mails"),FOLDER_MENU_DELETE_ALL_MAILS); + folderMenu->insertItem(tr("New subfolder"),FOLDER_MENU_NEW_SUBFOLDER); + folderMenu->insertItem(tr("Delete folder"),FOLDER_MENU_DELETE_FOLDER); + folderMenu->insertItem(tr("Move/Copie all mails"),FOLDER_MENU_MOVE_MAILS); + + menuBar->setItemEnabled(m_ServerMenuId,false); + menuBar->setItemEnabled(m_FolderMenuId,false); + addToolBar( toolBar ); toolBar->setHorizontalStretchable( true ); @@ -90,6 +114,10 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) folderView->header()->hide(); folderView->setRootIsDecorated( true ); folderView->addColumn( tr( "Mailbox" ) ); + connect(folderView,SIGNAL(serverSelected(int)),this,SLOT(serverSelected(int))); + connect(serverMenu,SIGNAL(activated(int)),folderView,SLOT(slotContextMenu(int))); + connect(folderMenu,SIGNAL(activated(int)),folderView,SLOT(slotContextMenu(int))); + layout->addWidget( folderView ); @@ -145,6 +173,13 @@ MainWindow::~MainWindow() { } +void MainWindow::serverSelected(int m_isFolder) +{ + mailView->clear(); + menuBar->setItemEnabled(m_ServerMenuId,m_isFolder&1); + menuBar->setItemEnabled(m_FolderMenuId,m_isFolder&2); +} + void MainWindow::systemMessage( const QCString& msg, const QByteArray& data ) { int _newrotation; -- cgit v0.9.0.2