rem: virtual QString key( int , bool  ) const { if (folder->label() == i18n("inbox")) return "\t0"; else if (folder->label() == i18n("outbox")) return "\t1"; else if (folder->label() == i18n("sent-mail")) return "\t2"; else if (folder->label() == i18n("trash")) return "\t3"; else if (folder->label() == i18n("drafts")) return "\t4"; return text(0).lower(); }
add: QString KMFolderTreeItem::key( int, bool ) const { if (folder->label() == i18n("inbox")) return "\t0"; else if (folder->label() == i18n("outbox")) return "\t1"; else if (folder->label() == i18n("sent-mail")) return "\t2"; else if (folder->label() == i18n("trash")) return "\t3"; else if (folder->label() == i18n("drafts")) return "\t4"; else if (folder->protocol() == "imap") return "\t5" + folder->label(); return text(0).lower(); }
context: virtual QString key( int /*column*/, bool /*ascending*/ ) const {    if (folder->label() == i18n("inbox"))      return "\t0";    else if (folder->label() == i18n("outbox"))      return "\t1";    else if (folder->label() == i18n("sent-mail"))      return "\t2";    else if (folder->label() == i18n("trash"))      return "\t3";    else if (folder->label() == i18n("drafts"))      return "\t4";    return text(0).lower();  }