|
|
|
|
@ -23,10 +23,10 @@ KActionMenuTransport::KActionMenuTransport(QObject *parent) |
|
|
|
|
: KActionMenu(parent), |
|
|
|
|
mInitialized(false) |
|
|
|
|
{ |
|
|
|
|
setDelayed(true); |
|
|
|
|
connect(MailTransport::TransportManager::self(), SIGNAL(transportsChanged()), this, SLOT(updateTransportMenu())); |
|
|
|
|
connect(menu(), SIGNAL(aboutToShow()), SLOT(slotCheckTransportMenu())); |
|
|
|
|
connect(menu(), SIGNAL(triggered(QAction*)), this, SLOT(slotSelectTransport(QAction*))); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
KActionMenuTransport::~KActionMenuTransport() |
|
|
|
|
@ -37,20 +37,22 @@ KActionMenuTransport::~KActionMenuTransport() |
|
|
|
|
void KActionMenuTransport::slotCheckTransportMenu() |
|
|
|
|
{ |
|
|
|
|
if (!mInitialized) { |
|
|
|
|
updateTransportMenu(); |
|
|
|
|
mInitialized = true; |
|
|
|
|
updateTransportMenu(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void KActionMenuTransport::updateTransportMenu() |
|
|
|
|
{ |
|
|
|
|
menu()->clear(); |
|
|
|
|
const QList<MailTransport::Transport *> transports = MailTransport::TransportManager::self()->transports(); |
|
|
|
|
Q_FOREACH (MailTransport::Transport *transport, transports) { |
|
|
|
|
const QString name = transport->name().replace(QLatin1Char('&'), QLatin1String("&&")); |
|
|
|
|
QAction *action = new QAction(name, this); |
|
|
|
|
action->setData(transport->id()); |
|
|
|
|
menu()->addAction(action); |
|
|
|
|
if (mInitialized) { |
|
|
|
|
menu()->clear(); |
|
|
|
|
const QList<MailTransport::Transport*> transports = MailTransport::TransportManager::self()->transports(); |
|
|
|
|
Q_FOREACH (MailTransport::Transport *transport, transports ) { |
|
|
|
|
const QString name = transport->name().replace( QLatin1Char('&'), QLatin1String("&&") ); |
|
|
|
|
QAction *action = new QAction( name, this ); |
|
|
|
|
action->setData( transport->id() ); |
|
|
|
|
menu()->addAction( action ); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|