Rename typeName() to displayNameForType() and make it static.

Then use it in the account wizard and the account selection dialog.
Additionally, fix layout and general cleanup of the account selection dialog.

svn path=/trunk/KDE/kdepim/; revision=689472
wilder-work
Thomas McGuire 19 years ago
parent f562f3f8ac
commit b6d5f2f75a
  1. 11
      accountwizard.cpp
  2. 20
      configuredialog.cpp
  3. 50
      kmacctseldlg.cpp
  4. 21
      kmacctseldlg.h
  5. 2
      kmfilterdlg.cpp

@ -55,6 +55,7 @@ using namespace MailTransport;
#include <kstandarddirs.h>
#include <kconfiggroup.h>
#include <kvbox.h>
#include <kmaccount.h>
#include <QCheckBox>
#include <QDir>
@ -95,11 +96,11 @@ class AccountTypeBox : public QListWidget
AccountTypeBox( QWidget *parent )
: QListWidget( parent )
{
mTypeList << i18n( "Local mailbox" );
mTypeList << i18n( "POP3" );
mTypeList << i18n( "IMAP" );
mTypeList << i18n( "Disconnected IMAP" );
mTypeList << i18n( "Maildir mailbox" );
mTypeList << KAccount::displayNameForType( KAccount::Local );
mTypeList << KAccount::displayNameForType( KAccount::Pop );
mTypeList << KAccount::displayNameForType( KAccount::Imap );
mTypeList << KAccount::displayNameForType( KAccount::DImap );
mTypeList << KAccount::displayNameForType( KAccount::Maildir );
setSelectionBehavior( QAbstractItemView::SelectRows );
addItems( mTypeList );

@ -983,19 +983,7 @@ void AccountsPage::ReceivingTab::slotAddAccount() {
KMAcctSelDlg accountSelectorDialog( this );
if( accountSelectorDialog.exec() != QDialog::Accepted ) return;
KAccount::Type accountType;
switch ( accountSelectorDialog.selected() ) {
case 0: accountType = KAccount::Local; break;
case 1: accountType = KAccount::Pop; break;
case 2: accountType = KAccount::Imap; break;
case 3: accountType = KAccount::DImap; break;
case 4: accountType = KAccount::Maildir; break;
default:
assert( 0 );
return;
}
KAccount::Type accountType = accountSelectorDialog.selected();
KMAccount *account = kmkernel->acctMgr()->create( accountType );
if ( !account ) {
// ### FIXME: Give the user more information. Is this error
@ -1024,7 +1012,7 @@ void AccountsPage::ReceivingTab::slotAddAccount() {
QTreeWidgetItem *listItem = new QTreeWidgetItem( mAccountList, after );
listItem->setText( 0, account->name() );
listItem->setText( 1, account->typeName() );
listItem->setText( 1, KAccount::displayNameForType( account->type() ) );
if( account->folder() )
listItem->setText( 2, account->folder()->label() );
@ -1094,7 +1082,7 @@ void AccountsPage::ReceivingTab::slotModifySelectedAccount()
account->setName( uniqueName( accountNames, account->name() ) );
listItem->setText( 0, account->name() );
listItem->setText( 1, account->typeName() );
listItem->setText( 1, KAccount::displayNameForType( account->type() ) );
if( account->folder() )
listItem->setText( 2, account->folder()->label() );
@ -1170,7 +1158,7 @@ void AccountsPage::ReceivingTab::doLoadOther() {
a = kmkernel->acctMgr()->next() ) {
QTreeWidgetItem *listItem = new QTreeWidgetItem( mAccountList, top );
listItem->setText( 0, a->name() );
listItem->setText( 1, a->typeName() );
listItem->setText( 1, KAccount::displayNameForType( a->type() ) );
if( a->folder() )
listItem->setText( 2, a->folder()->label() );
top = listItem;

@ -20,6 +20,7 @@
*
*/
#include "kmacctseldlg.h"
#include <QGroupBox>
#include <QButtonGroup>
@ -29,8 +30,6 @@
#include <klocale.h>
#include "kmacctseldlg.moc"
KMAcctSelDlg::KMAcctSelDlg( QWidget *parent )
: KDialog( parent )
{
@ -43,48 +42,37 @@ KMAcctSelDlg::KMAcctSelDlg( QWidget *parent )
topLayout->setMargin( 0 );
QGroupBox *group = new QGroupBox(i18n("Account Type"));
QButtonGroup *button = new QButtonGroup;
connect(button, SIGNAL(buttonClicked(int)), SLOT(buttonClicked(int)) );
topLayout->addWidget( group, 10 );
QVBoxLayout *vlay = new QVBoxLayout( group );
vlay->setSpacing( spacingHint() );
vlay->setMargin( spacingHint()*2 );
vlay->addSpacing( fontMetrics().lineSpacing() );
QRadioButton *radioButton1 = new QRadioButton( i18n("&Local mailbox") );
button->addButton(radioButton1,0);
vlay->addWidget( radioButton1 );
QRadioButton *radioButton2 = new QRadioButton( i18n("&POP3"));
button->addButton(radioButton2,1);
vlay->addWidget( radioButton2 );
QRadioButton *radioButton3 = new QRadioButton( i18n("&IMAP"));
button->addButton(radioButton3,2);
vlay->addWidget( radioButton3 );
QRadioButton *radioButton4 = new QRadioButton( i18n("&Disconnected IMAP") );
button->addButton(radioButton4,3);
vlay->addWidget( radioButton4 );
QRadioButton *radioButton5 = new QRadioButton( i18n("&Maildir mailbox") );
button->addButton(radioButton5,4);
vlay->addWidget( radioButton5 );
vlay->addStretch( 10 );
mAccountTypeGroup = new QButtonGroup;
QRadioButton *radioButton1 = addButton( KAccount::Local, vlay );
QRadioButton *radioButton2 = addButton( KAccount::Pop, vlay );
QRadioButton *radioButton3 = addButton( KAccount::Imap, vlay );
QRadioButton *radioButton4 = addButton( KAccount::DImap, vlay );
QRadioButton *radioButton5 = addButton( KAccount::Maildir, vlay );
radioButton2->setChecked(true); // Pop is most common ?
buttonClicked(1);
}
void KMAcctSelDlg::buttonClicked( int id )
QRadioButton* KMAcctSelDlg::addButton( const KAccount::Type type,
QLayout *layout )
{
mSelectedButton = id;
QRadioButton *radioButton =
new QRadioButton( KAccount::displayNameForType (type ) );
mAccountTypeGroup->addButton( radioButton, type );
layout->addWidget( radioButton );
return radioButton;
}
int KMAcctSelDlg::selected( void ) const
KAccount::Type KMAcctSelDlg::selected( void ) const
{
return mSelectedButton;
return static_cast<KAccount::Type>( mAccountTypeGroup->checkedId() );
}
#include "kmacctseldlg.moc"

@ -25,6 +25,11 @@
#define kmacctseldlg_h
#include <kdialog.h>
#include <kaccount.h>
class QButtonGroup;
class QRadioButton;
class QLayout;
/** Select account from given list of account types */
class KMAcctSelDlg: public KDialog
@ -35,16 +40,18 @@ class KMAcctSelDlg: public KDialog
KMAcctSelDlg( QWidget *parent=0 );
/**
* Returns selected button from the account selection group:
* 0=local mail, 1=pop3.
* Returns selected button from the account selection group.
* By default, KAccount::Pop is selected.
*/
int selected(void) const;
private slots:
void buttonClicked(int);
KAccount::Type selected(void) const;
private:
int mSelectedButton;
// Small Helper function which creates a new button and adds it to the
// layout and the button group.
QRadioButton *addButton( const KAccount::Type type, QLayout *layout );
QButtonGroup *mAccountTypeGroup;
};

@ -560,7 +560,7 @@ void KMFilterDlg::slotUpdateAccountList()
a = kmkernel->acctMgr()->next() ) {
Q3CheckListItem *listItem =
new Q3CheckListItem( mAccountList, top, a->name(), Q3CheckListItem::CheckBox );
listItem->setText( 1, a->typeName() );
listItem->setText( 1, KAccount::displayNameForType( a->type() ) );
listItem->setText( 2, QString( "%1" ).arg( a->id() ) );
if ( mFilter )
listItem->setOn( mFilter->applyOnAccount( a->id() ) );

Loading…
Cancel
Save