Enable/Disable some actions correctely.

svn path=/trunk/kdenetwork/kmail/; revision=124461
wilder-work
Michael Haeckel 25 years ago
parent 89a4ec0a15
commit 5bd8e14f61
  1. 1
      kmfolderimap.cpp
  2. 28
      kmfoldertree.cpp
  3. 9
      kmmainwin.cpp
  4. 3
      kmmainwin.h

@ -429,6 +429,7 @@ kdDebug(5006) << "KMFolderImap::slotCheckValidityResult" << endl;
//-----------------------------------------------------------------------------
void KMFolderImap::getFolder()
{
if (mNoContent) return;
mImapState = imapInProgress;
checkValidity();
}

@ -712,7 +712,7 @@ void KMFolderTree::doFolderSelected( QListViewItem* qlvi )
clearSelection();
setCurrentItem( qlvi );
setSelected( qlvi, TRUE );
if (!folder || folder->noContent()) {
if (!folder) {
emit folderSelected(0); // Root has been selected
}
else {
@ -781,7 +781,8 @@ void KMFolderTree::rightButtonPressed(QListViewItem *lvi, const QPoint &p, int)
QPopupMenu *folderMenu = new QPopupMenu;
if ((!fti->folder || fti->folder->noContent()))
if ((!fti->folder || (fti->folder->noContent()
&& fti->parent() == firstChild())))
{
folderMenu->insertItem(i18n("&Create Child Folder..."), this,
SLOT(addChildFolder()));
@ -807,23 +808,26 @@ void KMFolderTree::rightButtonPressed(QListViewItem *lvi, const QPoint &p, int)
// Want to be able to display properties for ALL folders,
// so we can edit expiry properties.
// -- smp.
folderMenu->insertItem(i18n("&Properties..."), topLevelWidget(),
if (!fti->folder->noContent())
{
folderMenu->insertItem(i18n("&Properties..."), topLevelWidget(),
SLOT(slotModifyFolder()));
if (fti->folder->protocol() != "imap" && fti->folder->isAutoExpire())
folderMenu->insertItem(i18n("E&xpire"), topLevelWidget(),
SLOT(slotExpireFolder()));
if (fti->folder->protocol() != "imap" && fti->folder->isAutoExpire())
folderMenu->insertItem(i18n("E&xpire"), topLevelWidget(),
SLOT(slotExpireFolder()));
folderMenu->insertItem(i18n("C&ompact"), topLevelWidget(),
SLOT(slotCompactFolder()));
folderMenu->insertSeparator();
folderMenu->insertItem(i18n("&Empty"), topLevelWidget(),
SLOT(slotEmptyFolder()));
folderMenu->insertItem(i18n("C&ompact"), topLevelWidget(),
SLOT(slotCompactFolder()));
folderMenu->insertSeparator();
folderMenu->insertItem(i18n("&Empty"), topLevelWidget(),
SLOT(slotEmptyFolder()));
}
if ( !fti->folder->isSystemFolder() )
folderMenu->insertItem(i18n("&Remove"), topLevelWidget(),
SLOT(slotRemoveFolder()));
if (fti->folder->isMailingList())
if (!fti->folder->noContent() && fti->folder->isMailingList())
{
folderMenu->insertSeparator();
folderMenu->insertItem(i18n("&Post to mailing-list"),

@ -1839,10 +1839,10 @@ void KMMainWin::setupMenuBar()
expireFolderAction = new KAction(i18n("E&xpire"), 0, this, SLOT(slotExpireFolder()),
actionCollection(), "expire");
(void) new KAction( i18n("C&ompact"), 0, this,
compactFolderAction = new KAction( i18n("C&ompact"), 0, this,
SLOT(slotCompactFolder()), actionCollection(), "compact" );
(void) new KAction( i18n("&Empty"), 0, this,
emptyFolderAction = new KAction( i18n("&Empty"), 0, this,
SLOT(slotEmptyFolder()), actionCollection(), "empty" );
removeFolderAction = new KAction( i18n("&Remove"), 0, this,
@ -2306,12 +2306,13 @@ void KMMainWin::updateMessageActions()
//-----------------------------------------------------------------------------
void KMMainWin::updateFolderMenu()
{
// modifyFolderAction->setEnabled( mFolder ? !mFolder->isSystemFolder(): false );
modifyFolderAction->setEnabled( mFolder ? !mFolder->noContent() : false );
compactFolderAction->setEnabled( mFolder ? !mFolder->noContent() : false );
emptyFolderAction->setEnabled( mFolder ? !mFolder->noContent() : false );
removeFolderAction->setEnabled( (mFolder && !mFolder->isSystemFolder()) );
expireFolderAction->setEnabled( mFolder && mFolder->protocol() != "imap"
&& mFolder->isAutoExpire() );
preferHtmlAction->setEnabled( mFolder ? true : false );
threadMessagesAction->setEnabled( true );
threadMessagesAction->setEnabled( mFolder ? true : false );
preferHtmlAction->setChecked( mHtmlPref ? !mFolderHtmlPref : mFolderHtmlPref );

@ -266,7 +266,8 @@ protected:
ConfigureDialog *mConfigureDialog;
bool mbNewMBVisible;
KAction *modifyFolderAction, *removeFolderAction, *expireFolderAction;
KAction *modifyFolderAction, *removeFolderAction, *expireFolderAction,
*compactFolderAction, *emptyFolderAction;
KToggleAction *preferHtmlAction, *threadMessagesAction;
KToggleAction *toolbarAction, *statusbarAction;

Loading…
Cancel
Save