diff --git a/editor/kmcomposewin.cpp b/editor/kmcomposewin.cpp index cbe37278e..c0c992267 100644 --- a/editor/kmcomposewin.cpp +++ b/editor/kmcomposewin.cpp @@ -1156,10 +1156,6 @@ void KMComposeWin::setupActions( void ) } - // needed for sending "default transport" - actActionNowMenu->setDelayed( true ); - actActionLaterMenu->setDelayed( true ); - connect( actActionNowMenu, SIGNAL(triggered(bool)), this, SLOT(slotSendNow()) ); connect( actActionLaterMenu, SIGNAL(triggered(bool)), this, diff --git a/kmmainwidget.cpp b/kmmainwidget.cpp index 6a1f0ef51..0118b3aed 100644 --- a/kmmainwidget.cpp +++ b/kmmainwidget.cpp @@ -2865,7 +2865,6 @@ void KMMainWidget::setupActions() mSendActionMenu->setIcon(KIcon(QLatin1String("mail-send-via"))); mSendActionMenu->setText(i18n("Send Queued Messages Via")); actionCollection()->addAction(QLatin1String("send_queued_via"), mSendActionMenu ); - mSendActionMenu->setDelayed(true); connect(mSendActionMenu, SIGNAL(transportSelected(MailTransport::Transport*)), SLOT(slotSendQueuedVia(MailTransport::Transport*))); diff --git a/widgets/kactionmenutransport.cpp b/widgets/kactionmenutransport.cpp index 3a23c5a12..30a27da40 100644 --- a/widgets/kactionmenutransport.cpp +++ b/widgets/kactionmenutransport.cpp @@ -24,10 +24,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() @@ -45,13 +45,15 @@ void KActionMenuTransport::slotCheckTransportMenu() void KActionMenuTransport::updateTransportMenu() { - menu()->clear(); - const QList 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 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 ); + } } }