summaryrefslogtreecommitdiffabout
path: root/kmicromail/accountview.cpp
Side-by-side diff
Diffstat (limited to 'kmicromail/accountview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/accountview.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/kmicromail/accountview.cpp b/kmicromail/accountview.cpp
index cef55ab..4879d57 100644
--- a/kmicromail/accountview.cpp
+++ b/kmicromail/accountview.cpp
@@ -68,69 +68,80 @@ void AccountView::populate( QList<Account> list )
imapAccounts.clear();
mhAccounts.clear();
mhAccounts.append(new MHviewItem(AbstractMail::defaultLocalfolder(),this));
Account *it;
for ( it = list.first(); it; it = list.next() )
{
if ( it->getType() == MAILLIB::A_IMAP )
{
IMAPaccount *imap = static_cast<IMAPaccount *>(it);
imapAccounts.append(new IMAPviewItem( imap, this ));
}
else if ( it->getType() == MAILLIB::A_POP3 )
{
POP3account *pop3 = static_cast<POP3account *>(it);
/* must not be hold 'cause it isn't required */
(void) new POP3viewItem( pop3, this );
}
else if ( it->getType() == MAILLIB::A_NNTP )
{
NNTPaccount *nntp = static_cast<NNTPaccount *>(it);
/* must not be hold 'cause it isn't required */
(void) new NNTPviewItem( nntp, this );
}
}
}
void AccountView::refresh(QListViewItem *item)
{
if ( item )
{
- int result = KMessageBox::warningContinueCancel(this,
+ bool ask = true;
+ qDebug("text -%s- ",item->text( 0 ).latin1() );
+ if ( item->text( 0 ) == i18n (" Local Mailfolders") )
+ ask = false;
+ else {
+ if ( item->parent() )
+ if ( item->parent()->text( 0 ) == i18n (" Local Mailfolders") )
+ ask = false;
+ }
+ if ( ask ) {
+ int result = KMessageBox::warningContinueCancel(this,
i18n("Refresh\n%1\n?").arg( item->text(0) ),
i18n("Refresh"),i18n("Refresh"),i18n("Cancel"),
true);
- if (result != KMessageBox::Continue) return;
+ if (result != KMessageBox::Continue) return;
+ }
m_currentItem = item;
topLevelWidget()->setCaption( i18n ( "Refreshing %1 ... please wait" ). arg ( m_currentItem->text( 0 ) ) ) ;
QTimer::singleShot( 500, this, SLOT ( refreshCurrentSelected() ) );
}
}
void AccountView::refreshOutgoing()
{
m_currentItem = currentItem();
if ( !m_currentItem ) return;
AccountViewItem *view = static_cast<AccountViewItem *>(m_currentItem);
if ( !view->getFolder() )
return;
QString bName = view->getFolder()->getDisplayName();
if (bName.startsWith("/")&&bName.length()>1)
{
bName.replace(0,1,"");
}
int pos = bName.findRev("/");
if (pos > 0)
{
bName.replace(0,pos+1,"");
}
//qDebug("name *%s* ",bName.lower().latin1() );
if ( bName.lower() == "outgoing" || bName.lower() == "sent" || bName.lower() == "sendfailed" ) {
refreshCurrent();
// qDebug("refresh ");
}
}
void AccountView::refreshCurrentSelected()
{
if ( !m_currentItem ) return;