diff options
-rw-r--r-- | scribus/actionmanager.cpp | 7 | ||||
-rw-r--r-- | scribus/actionmanager.h | 1 | ||||
-rw-r--r-- | scribus/scraction.cpp | 9 | ||||
-rw-r--r-- | scribus/scraction.h | 2 | ||||
-rw-r--r-- | scribus/storyeditor.cpp | 1 |
5 files changed, 20 insertions, 0 deletions
diff --git a/scribus/actionmanager.cpp b/scribus/actionmanager.cpp index 438c2c2..2704394 100644 --- a/scribus/actionmanager.cpp +++ b/scribus/actionmanager.cpp @@ -75,6 +75,7 @@ void ActionManager::init(ScribusMainWindow *mw) createDefaultMenus(); createDefaultNonMenuActions(); languageChange(); + setActionTooltips(scrActions); } void ActionManager::createActions() @@ -1021,6 +1022,12 @@ void ActionManager::initSpecialActions() connect( (*scrActions)["specialToggleAllGuides"], SIGNAL(triggered()), mainWindow, SLOT(ToggleAllGuides()) ); } +void ActionManager::setActionTooltips(QMap<QString, QPointer<ScrAction> > *actionMap) +{ + for( QMap<QString, QPointer<ScrAction> >::Iterator it = actionMap->begin(); it!=actionMap->end(); ++it ) + it.value()->setToolTipFromTextAndShortcut(); +} + void ActionManager::disconnectModeActions() { for ( QStringList::Iterator it = modeActionNames->begin(); it != modeActionNames->end(); ++it ) diff --git a/scribus/actionmanager.h b/scribus/actionmanager.h index d2e161d..28539f1 100644 --- a/scribus/actionmanager.h +++ b/scribus/actionmanager.h @@ -103,6 +103,7 @@ class SCRIBUS_API ActionManager : public QObject void initHelpMenuActions(); static void initUnicodeActions(QMap<QString, QPointer<ScrAction> > *actionMap, QWidget *actionParent, QStringList *actionNamesList); void initSpecialActions(); + static void setActionTooltips(QMap<QString, QPointer<ScrAction> > *actionMap); static void languageChangeUnicodeActions(QMap<QString, QPointer<ScrAction> > *actionMap); void languageChangeActions(); static QKeySequence defaultKey(const QString &actionName); diff --git a/scribus/scraction.cpp b/scribus/scraction.cpp index d57cba7..3579eaa 100644 --- a/scribus/scraction.cpp +++ b/scribus/scraction.cpp @@ -231,6 +231,15 @@ QString ScrAction::cleanMenuText() return text().remove('&').remove("..."); } +void ScrAction::setToolTipFromTextAndShortcut() +{ + QString sct(shortcut()); + if (sct.isEmpty()) + QAction::setToolTip("<qt>" + cleanMenuText() + "</qt>"); + else + QAction::setToolTip("<qt>" + cleanMenuText() + " (<b>" + sct + "</b>)" + "</qt>"); +} + int ScrAction::getMenuIndex() const { return menuIndex; diff --git a/scribus/scraction.h b/scribus/scraction.h index 6c8a236..614668b 100644 --- a/scribus/scraction.h +++ b/scribus/scraction.h @@ -113,6 +113,8 @@ public: */ QString cleanMenuText(); + void setToolTipFromTextAndShortcut(); + /*! \author Craig Bradney \date Jan 2005 diff --git a/scribus/storyeditor.cpp b/scribus/storyeditor.cpp index 76cb972..1efd690 100644 --- a/scribus/storyeditor.cpp +++ b/scribus/storyeditor.cpp @@ -1961,6 +1961,7 @@ void StoryEditor::buildGUI() EditorBar->editor = Editor; Editor->installEventFilter(this); languageChange(); + ActionManager::setActionTooltips(&seActions); } void StoryEditor::changeEvent(QEvent *e) |