summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/imapwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp4
-rw-r--r--noncore/net/mail/libmailwrapper/mailwrapper.cpp12
-rw-r--r--noncore/net/mail/libmailwrapper/mailwrapper.h4
-rw-r--r--noncore/net/mail/mailwrapper.cpp12
-rw-r--r--noncore/net/mail/mailwrapper.h4
6 files changed, 32 insertions, 8 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp
index b253b49..0ce2c6c 100644
--- a/noncore/net/mail/imapwrapper.cpp
+++ b/noncore/net/mail/imapwrapper.cpp
@@ -197,17 +197,19 @@ QList<Folder>* IMAPwrapper::listFolders()
list = (mailimap_mailbox_list *) current->data;
// it is better use the deep copy mechanism of qt itself
// instead of using strdup!
temp = list->mb_name;
if (temp.lower()=="inbox")
continue;
+ if (temp.lower()==account->getPrefix().lower())
+ continue;
if ( (bflags = list->mb_flag) ) {
selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&&
bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT);
}
- folders->append(new IMAPFolder(temp,selectable));
+ folders->append(new IMAPFolder(temp,selectable,account->getPrefix()));
}
} else {
qDebug("error fetching folders %s",m_imap->imap_response);
}
mailimap_list_result_free( result );
return folders;
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index b253b49..0ce2c6c 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -197,17 +197,19 @@ QList<Folder>* IMAPwrapper::listFolders()
list = (mailimap_mailbox_list *) current->data;
// it is better use the deep copy mechanism of qt itself
// instead of using strdup!
temp = list->mb_name;
if (temp.lower()=="inbox")
continue;
+ if (temp.lower()==account->getPrefix().lower())
+ continue;
if ( (bflags = list->mb_flag) ) {
selectable = !(bflags->mbf_type==MAILIMAP_MBX_LIST_FLAGS_SFLAG&&
bflags->mbf_sflag==MAILIMAP_MBX_LIST_SFLAG_NOSELECT);
}
- folders->append(new IMAPFolder(temp,selectable));
+ folders->append(new IMAPFolder(temp,selectable,account->getPrefix()));
}
} else {
qDebug("error fetching folders %s",m_imap->imap_response);
}
mailimap_list_result_free( result );
return folders;
diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.cpp b/noncore/net/mail/libmailwrapper/mailwrapper.cpp
index 3ffc274..96602c2 100644
--- a/noncore/net/mail/libmailwrapper/mailwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mailwrapper.cpp
@@ -31,16 +31,26 @@ Folder::Folder(const QString&tmp_name )
if ( str64.compare( "APw" ) == 0 ) {
nameDisplay = nameDisplay.replace( pos, end - pos + 1, "ue" );
} else if ( str64.compare( "APY" ) == 0 ) {
nameDisplay = nameDisplay.replace( pos, end - pos + 1, "oe" );
}
}
-
qDebug( "folder " + name + " - displayed as " + nameDisplay );
}
+
+IMAPFolder::IMAPFolder(const QString&name,bool select,const QString&prefix )
+ : Folder( name ),m_MaySelect(select)
+{
+ if (prefix.length()>0) {
+ if (nameDisplay.startsWith(prefix) && nameDisplay.length()>prefix.length()) {
+ nameDisplay=nameDisplay.right(nameDisplay.length()-prefix.length());
+ }
+ }
+}
+
MailWrapper::MailWrapper( Settings *s )
: QObject()
{
settings = s;
}
diff --git a/noncore/net/mail/libmailwrapper/mailwrapper.h b/noncore/net/mail/libmailwrapper/mailwrapper.h
index 34fd5c5..6994dd8 100644
--- a/noncore/net/mail/libmailwrapper/mailwrapper.h
+++ b/noncore/net/mail/libmailwrapper/mailwrapper.h
@@ -73,21 +73,21 @@ class Folder : public QObject
public:
Folder( const QString&init_name );
const QString&getDisplayName()const { return nameDisplay; }
const QString&getName()const { return name; }
virtual bool may_select()const{return true;};
-private:
+protected:
QString nameDisplay, name;
};
class IMAPFolder : public Folder
{
public:
- IMAPFolder( QString name,bool select=true ) : Folder( name ),m_MaySelect(select) {}
+ IMAPFolder(const QString&name,bool select=true,const QString&prefix="" );
virtual bool may_select()const{return m_MaySelect;}
private:
bool m_MaySelect;
};
class MailWrapper : public QObject
diff --git a/noncore/net/mail/mailwrapper.cpp b/noncore/net/mail/mailwrapper.cpp
index 3ffc274..96602c2 100644
--- a/noncore/net/mail/mailwrapper.cpp
+++ b/noncore/net/mail/mailwrapper.cpp
@@ -31,16 +31,26 @@ Folder::Folder(const QString&tmp_name )
if ( str64.compare( "APw" ) == 0 ) {
nameDisplay = nameDisplay.replace( pos, end - pos + 1, "ue" );
} else if ( str64.compare( "APY" ) == 0 ) {
nameDisplay = nameDisplay.replace( pos, end - pos + 1, "oe" );
}
}
-
qDebug( "folder " + name + " - displayed as " + nameDisplay );
}
+
+IMAPFolder::IMAPFolder(const QString&name,bool select,const QString&prefix )
+ : Folder( name ),m_MaySelect(select)
+{
+ if (prefix.length()>0) {
+ if (nameDisplay.startsWith(prefix) && nameDisplay.length()>prefix.length()) {
+ nameDisplay=nameDisplay.right(nameDisplay.length()-prefix.length());
+ }
+ }
+}
+
MailWrapper::MailWrapper( Settings *s )
: QObject()
{
settings = s;
}
diff --git a/noncore/net/mail/mailwrapper.h b/noncore/net/mail/mailwrapper.h
index 34fd5c5..6994dd8 100644
--- a/noncore/net/mail/mailwrapper.h
+++ b/noncore/net/mail/mailwrapper.h
@@ -73,21 +73,21 @@ class Folder : public QObject
public:
Folder( const QString&init_name );
const QString&getDisplayName()const { return nameDisplay; }
const QString&getName()const { return name; }
virtual bool may_select()const{return true;};
-private:
+protected:
QString nameDisplay, name;
};
class IMAPFolder : public Folder
{
public:
- IMAPFolder( QString name,bool select=true ) : Folder( name ),m_MaySelect(select) {}
+ IMAPFolder(const QString&name,bool select=true,const QString&prefix="" );
virtual bool may_select()const{return m_MaySelect;}
private:
bool m_MaySelect;
};
class MailWrapper : public QObject