diff --git a/kdeui/widgets/khelpmenu.cpp b/kdeui/widgets/khelpmenu.cpp index a0c2eb1c..0f81b768 100644 --- a/kdeui/widgets/khelpmenu.cpp +++ b/kdeui/widgets/khelpmenu.cpp @@ -60,8 +60,8 @@ class KHelpMenuPrivate { public: KHelpMenuPrivate() - : mSwitchApplicationLanguage(0), - mActionsCreated(false), + : mSwitchApplicationLanguage(0), + mActionsCreated(false), mSwitchApplicationLanguageAction(0) { mMenu = 0; @@ -87,7 +87,7 @@ public: KAboutKdeDialog *mAboutKDE; KSwitchLanguageDialog *mSwitchApplicationLanguage; -// TODO evaluate if we use static_cast(parent()) instead of mParent to win that bit of memory + // TODO evaluate if we use static_cast(parent()) instead of mParent to win that bit of memory QWidget *mParent; QString mAboutAppText; @@ -100,48 +100,56 @@ public: const KAboutData *mAboutData; }; -KHelpMenu::KHelpMenu( QWidget *parent, const QString &aboutAppText, - bool showWhatsThis ) - : QObject(parent), d(new KHelpMenuPrivate) +KHelpMenu::KHelpMenu(QWidget *parent, const QString &aboutAppText, + bool showWhatsThis) + : QObject(parent), + d(new KHelpMenuPrivate) { - d->mAboutAppText = aboutAppText; - d->mShowWhatsThis = showWhatsThis; - d->mParent = parent; - d->mAboutData = 0; + d->mAboutAppText = aboutAppText; + d->mShowWhatsThis = showWhatsThis; + d->mParent = parent; + d->mAboutData = 0; } -KHelpMenu::KHelpMenu( QWidget *parent, const KAboutData *aboutData, - bool showWhatsThis, KActionCollection *actions ) - : QObject(parent), d(new KHelpMenuPrivate) +KHelpMenu::KHelpMenu(QWidget *parent, const KAboutData *aboutData, + bool showWhatsThis, KActionCollection *actions) + : QObject(parent), + d(new KHelpMenuPrivate) { - d->mShowWhatsThis = showWhatsThis; - d->mParent = parent; - d->mAboutData = aboutData; + d->mShowWhatsThis = showWhatsThis; + d->mParent = parent; + d->mAboutData = aboutData; if (actions) { d->createActions(this); - if (d->mWhatsThisAction) + if (d->mWhatsThisAction) { actions->addAction(d->mWhatsThisAction->objectName(), d->mWhatsThisAction); - if (d->mReportBugAction) + } + if (d->mReportBugAction) { actions->addAction(d->mReportBugAction->objectName(), d->mReportBugAction); - if (d->mSwitchApplicationLanguageAction) + } + if (d->mSwitchApplicationLanguageAction) { actions->addAction(d->mSwitchApplicationLanguageAction->objectName(), d->mSwitchApplicationLanguageAction); - if (d->mAboutAppAction) + } + if (d->mAboutAppAction) { actions->addAction(d->mAboutAppAction->objectName(), d->mAboutAppAction); - if (d->mAboutKDEAction) + } + if (d->mAboutKDEAction) { actions->addAction(d->mAboutKDEAction->objectName(), d->mAboutKDEAction); + } } } KHelpMenu::~KHelpMenu() { - delete d; + delete d; } void KHelpMenuPrivate::createActions(KHelpMenu* q) { - if (mActionsCreated) + if (mActionsCreated) { return; + } mActionsCreated = true; if (mShowWhatsThis) { @@ -153,7 +161,7 @@ void KHelpMenuPrivate::createActions(KHelpMenu* q) mReportBugAction = KStandardAction::reportBug(q, SLOT(reportBug()), q); } - if((KGlobal::dirs()->findAllResources("locale", QString::fromLatin1("l10n/*/entry.desktop"))).count() > 0) { + if ((KGlobal::dirs()->findAllResources("locale", QString::fromLatin1("l10n/*/entry.desktop"))).count() > 0) { mSwitchApplicationLanguageAction = KStandardAction::create(KStandardAction::SwitchApplicationLanguage, q, SLOT(switchApplicationLanguage()), q); } @@ -164,200 +172,183 @@ void KHelpMenuPrivate::createActions(KHelpMenu* q) // Used in the non-xml-gui case, like kfind or ksnapshot's help button. KMenu* KHelpMenu::menu() { - if( !d->mMenu ) - { - d->mMenu = new KMenu(); - connect( d->mMenu, SIGNAL(destroyed()), this, SLOT(menuDestroyed())); + if (!d->mMenu) { + d->mMenu = new KMenu(); + connect(d->mMenu, SIGNAL(destroyed()), this, SLOT(menuDestroyed())); - d->mMenu->setTitle(i18n("&Help")); + d->mMenu->setTitle(i18n("&Help")); - d->createActions(this); + d->createActions(this); - bool need_separator = false; - if (d->mWhatsThisAction) { - d->mMenu->addAction(d->mWhatsThisAction); - need_separator = true; - } + bool need_separator = false; + if (d->mWhatsThisAction) { + d->mMenu->addAction(d->mWhatsThisAction); + need_separator = true; + } - if (d->mReportBugAction) { - if (need_separator) - d->mMenu->addSeparator(); - d->mMenu->addAction(d->mReportBugAction); - need_separator = true; - } - - if (d->mSwitchApplicationLanguageAction) { - if (need_separator) - d->mMenu->addSeparator(); - d->mMenu->addAction(d->mSwitchApplicationLanguageAction); + if (d->mReportBugAction) { + if (need_separator) { + d->mMenu->addSeparator(); + } + d->mMenu->addAction(d->mReportBugAction); need_separator = true; + } + + if (d->mSwitchApplicationLanguageAction) { + if (need_separator) { + d->mMenu->addSeparator(); + } + d->mMenu->addAction(d->mSwitchApplicationLanguageAction); + need_separator = true; + } + + if (need_separator) { + d->mMenu->addSeparator(); + } + + if (d->mAboutAppAction) { + d->mMenu->addAction(d->mAboutAppAction); + } + + if (d->mAboutKDEAction) { + d->mMenu->addAction(d->mAboutKDEAction); + } } - if (need_separator) - d->mMenu->addSeparator(); - - if (d->mAboutAppAction) { - d->mMenu->addAction(d->mAboutAppAction); - } - - if (d->mAboutKDEAction) { - d->mMenu->addAction(d->mAboutKDEAction); - } - } - - return d->mMenu; + return d->mMenu; } -QAction *KHelpMenu::action( MenuId id ) const +QAction *KHelpMenu::action(MenuId id) const { - switch (id) - { - case menuWhatsThis: - return d->mWhatsThisAction; - break; - - case menuReportBug: - return d->mReportBugAction; - break; - - case menuSwitchLanguage: - return d->mSwitchApplicationLanguageAction; - break; - - case menuAboutApp: - return d->mAboutAppAction; - break; - - case menuAboutKDE: - return d->mAboutKDEAction; - break; - } - - return 0; + switch (id) { + case menuWhatsThis: { + return d->mWhatsThisAction; + } + case menuReportBug: { + return d->mReportBugAction; + } + case menuSwitchLanguage: { + return d->mSwitchApplicationLanguageAction; + } + case menuAboutApp: { + return d->mAboutAppAction; + } + case menuAboutKDE: { + return d->mAboutKDEAction; + } + } + return 0; } void KHelpMenu::appHelpActivated() { - KToolInvocation::invokeHelp(); + KToolInvocation::invokeHelp(); } - void KHelpMenu::aboutApplication() { - if (receivers(SIGNAL(showAboutApplication())) > 0) - { - emit showAboutApplication(); - } - else if (d->mAboutData) - { - if( !d->mAboutApp ) - { - d->mAboutApp = new KAboutApplicationDialog( d->mAboutData, d->mParent ); - connect( d->mAboutApp, SIGNAL(finished()), this, SLOT(dialogFinished()) ); + if (receivers(SIGNAL(showAboutApplication())) > 0) { + emit showAboutApplication(); + } else if (d->mAboutData) { + if (!d->mAboutApp) { + d->mAboutApp = new KAboutApplicationDialog(d->mAboutData, d->mParent); + connect(d->mAboutApp, SIGNAL(finished()), this, SLOT(dialogFinished())); + } + d->mAboutApp->show(); + } else { + if (!d->mAboutApp) { + d->mAboutApp = new KDialog(d->mParent, Qt::Dialog); + d->mAboutApp->setCaption(i18n("About %1", KGlobal::caption())); + d->mAboutApp->setButtons(KDialog::Yes); + d->mAboutApp->setObjectName("about"); + d->mAboutApp->setButtonText( KDialog::Yes, KStandardGuiItem::ok().text()); + d->mAboutApp->setDefaultButton( KDialog::Yes ); + d->mAboutApp->setEscapeButton( KDialog::Yes ); + connect(d->mAboutApp, SIGNAL(finished()), this, SLOT(dialogFinished())); + + KHBox *hbox = new KHBox(d->mAboutApp); + d->mAboutApp->setMainWidget(hbox); + hbox->setSpacing(KDialog::spacingHint() * 3); + hbox->setMargin(KDialog::marginHint() * 1); + + QLabel *label1 = new QLabel(hbox); + + int size = IconSize(KIconLoader::Dialog); + label1->setPixmap(qApp->windowIcon().pixmap(size,size)); + QLabel *label2 = new QLabel(hbox); + label2->setText(d->mAboutAppText); + } + d->mAboutApp->show(); } - d->mAboutApp->show(); - } - else - { - if( !d->mAboutApp ) - { - d->mAboutApp = new KDialog( d->mParent, Qt::Dialog ); - d->mAboutApp->setCaption( i18n("About %1", KGlobal::caption() ) ); - d->mAboutApp->setButtons( KDialog::Yes ); - d->mAboutApp->setObjectName( "about" ); - d->mAboutApp->setButtonText( KDialog::Yes, KStandardGuiItem::ok().text() ); - d->mAboutApp->setDefaultButton( KDialog::Yes ); - d->mAboutApp->setEscapeButton( KDialog::Yes ); - connect( d->mAboutApp, SIGNAL(finished()), this, SLOT(dialogFinished()) ); - - KHBox *hbox = new KHBox( d->mAboutApp ); - d->mAboutApp->setMainWidget( hbox ); - hbox->setSpacing(KDialog::spacingHint()*3); - hbox->setMargin(KDialog::marginHint()*1); - - QLabel *label1 = new QLabel(hbox); - - int size = IconSize(KIconLoader::Dialog); - label1->setPixmap( qApp->windowIcon().pixmap(size,size) ); - QLabel *label2 = new QLabel(hbox); - label2->setText( d->mAboutAppText ); - } - d->mAboutApp->show(); - } } - void KHelpMenu::aboutKDE() { - if( !d->mAboutKDE ) - { - d->mAboutKDE = new KAboutKdeDialog( d->mParent ); - connect( d->mAboutKDE, SIGNAL(finished()), this, SLOT(dialogFinished()) ); - } - d->mAboutKDE->show(); + if (!d->mAboutKDE) { + d->mAboutKDE = new KAboutKdeDialog(d->mParent); + connect(d->mAboutKDE, SIGNAL(finished()), this, SLOT(dialogFinished())); + } + d->mAboutKDE->show(); } void KHelpMenu::reportBug() { - KToolInvocation::invokeBrowser( KDE_BUG_REPORT_URL ); + KToolInvocation::invokeBrowser(KDE_BUG_REPORT_URL); } void KHelpMenu::switchApplicationLanguage() { - if ( !d->mSwitchApplicationLanguage ) - { - d->mSwitchApplicationLanguage = new KSwitchLanguageDialog( d->mParent ); - connect( d->mSwitchApplicationLanguage, SIGNAL(finished()), this, SLOT(dialogFinished()) ); - } - d->mSwitchApplicationLanguage->show(); + if (!d->mSwitchApplicationLanguage) { + d->mSwitchApplicationLanguage = new KSwitchLanguageDialog(d->mParent); + connect(d->mSwitchApplicationLanguage, SIGNAL(finished()), this, SLOT(dialogFinished())); + } + d->mSwitchApplicationLanguage->show(); } void KHelpMenu::dialogFinished() { - QTimer::singleShot( 0, this, SLOT(timerExpired()) ); + QTimer::singleShot(0, this, SLOT(timerExpired())); } - void KHelpMenu::timerExpired() { - if( d->mAboutKDE && !d->mAboutKDE->isVisible() ) - { - delete d->mAboutKDE; d->mAboutKDE = 0; - } + if (d->mAboutKDE && !d->mAboutKDE->isVisible()) { + delete d->mAboutKDE; + d->mAboutKDE = 0; + } - if ( d->mSwitchApplicationLanguage && !d->mSwitchApplicationLanguage->isVisible() ) - { - delete d->mSwitchApplicationLanguage; d->mSwitchApplicationLanguage = 0; - } + if (d->mSwitchApplicationLanguage && !d->mSwitchApplicationLanguage->isVisible()) { + delete d->mSwitchApplicationLanguage; + d->mSwitchApplicationLanguage = 0; + } - if( d->mAboutApp && !d->mAboutApp->isVisible() ) - { - delete d->mAboutApp; d->mAboutApp = 0; - } + if (d->mAboutApp && !d->mAboutApp->isVisible()) { + delete d->mAboutApp; + d->mAboutApp = 0; + } } void KHelpMenu::menuDestroyed() { - d->mMenu = 0; + d->mMenu = 0; } void KHelpMenu::contextHelpActivated() { - QWhatsThis::enterWhatsThisMode(); - QWidget* w = QApplication::widgetAt( QCursor::pos() ); + QWhatsThis::enterWhatsThisMode(); + QWidget* w = QApplication::widgetAt( QCursor::pos() ); #ifdef Q_WS_X11 - while ( w && !w->isTopLevel() && !qobject_cast(w) ) - w = w->parentWidget(); + while ( w && !w->isTopLevel() && !qobject_cast(w) ) + w = w->parentWidget(); #warning how to enter whats this mode for a QX11EmbedWidget? -// if ( w && qobject_cast(w) ) -// (( QX11EmbedWidget*) w )->enterWhatsThisMode(); +// if ( w && qobject_cast(w) ) +// (( QX11EmbedWidget*) w )->enterWhatsThisMode(); #endif } - #include "moc_khelpmenu.cpp"