23 #include "transportmanagementwidget.h"
24 #include "ui_transportmanagementwidget.h"
25 #include "transportmanager.h"
26 #include "transport.h"
28 #include <KMessageBox>
30 using namespace MailTransport;
32 class TransportManagementWidget::Private
38 Ui::TransportManagementWidget ui;
42 void defaultClicked();
47 void updateButtonState();
56 : QWidget( parent ), d( new Private( this ) )
58 KGlobal::locale()->insertCatalog( QString::fromLatin1(
"libmailtransport" ) );
59 d->ui.setupUi(
this );
60 d->updateButtonState();
62 connect( d->ui.transportList, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
63 SLOT(updateButtonState()) );
64 connect( d->ui.transportList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,
int)),
65 SLOT(editClicked()) );
66 connect( d->ui.addButton, SIGNAL(clicked()), SLOT(addClicked()) );
67 connect( d->ui.editButton, SIGNAL(clicked()), SLOT(editClicked()) );
68 connect( d->ui.renameButton, SIGNAL(clicked()), SLOT(renameClicked()) );
69 connect( d->ui.removeButton, SIGNAL(clicked()), SLOT(removeClicked()) );
70 connect( d->ui.defaultButton, SIGNAL(clicked()), SLOT(defaultClicked()) );
78 void TransportManagementWidget::Private::updateButtonState()
81 if ( !ui.transportList->currentItem() ) {
82 ui.editButton->setEnabled(
false );
83 ui.renameButton->setEnabled(
false );
84 ui.removeButton->setEnabled(
false );
85 ui.defaultButton->setEnabled(
false );
87 ui.editButton->setEnabled(
true );
88 ui.renameButton->setEnabled(
true );
89 ui.removeButton->setEnabled(
true );
90 if ( ui.transportList->currentItem()->data( 0, Qt::UserRole ) ==
92 ui.defaultButton->setEnabled(
false );
94 ui.defaultButton->setEnabled(
true );
99 void TransportManagementWidget::Private::addClicked()
104 void TransportManagementWidget::Private::editClicked()
106 if( !ui.transportList->currentItem() ) {
110 int currentId = ui.transportList->currentItem()->data( 0, Qt::UserRole ).toInt();
115 void TransportManagementWidget::Private::renameClicked()
117 if( !ui.transportList->currentItem() ) {
121 ui.transportList->editItem( ui.transportList->currentItem(), 0 );
124 void TransportManagementWidget::Private::removeClicked()
126 if( !ui.transportList->currentItem() ) {
130 KMessageBox::questionYesNo(
132 i18n(
"Do you want to remove outgoing account '%1'?",
133 ui.transportList->currentItem()->text( 0 ) ),
134 i18n(
"Remove outgoing account?" ) );
135 if ( rc == KMessageBox::No ) {
140 ui.transportList->currentItem()->data( 0, Qt::UserRole ).toInt() );
143 void TransportManagementWidget::Private::defaultClicked()
145 if( !ui.transportList->currentItem() ) {
150 ui.transportList->currentItem()->data( 0, Qt::UserRole ).toInt() );
153 #include "transportmanagementwidget.moc"