Please enter calligra-devel in the cc, it shall auto complete to the list. On Wednesday, 19 August 2015, C. Boemann <c...@boemann.dk> wrote: > Yeah well it is used as a label in words, stage, sheets and flow, so adding > extra text makes it spill over and possibly even becoming unreadable (depends > on the tool obviously). Also > > and by asap I mean before the next release - sorry if that came out a bit > harsh. > > But just because krita has a feature request doesn't mean we should > short circuit the review process. If phabricator can't send to all of calligra > then we must use reviewboard instead. > > On Wednesday 19 August 2015 12:37:16 you wrote: >> Hi Camilla, >> >> Before we "ASAP" revert or make it conditional, I'd like to know _what_ the >> problem is you see with this patch. And it's a bit difficult right now who >> to add individually to review request on Phabricator, but Friedrich was >> also cc'ed on the change. >> >> Anyway, since this patch delivers a feature users have been asking for since >> 2006 or so, asking for an immediate revert without explaining what the >> problem is goes way too far. >> >> On Wed, 19 Aug 2015, C. Boemann wrote: >> > please revert or make it conditional for krita only ASAP >> > >> > And in the future please add the rest of calligra as reviewers on commits >> > to shared areas >> > >> > Camilla Boemann >> > >> > On Tuesday 18 August 2015 17:45:58 Michael Abrahams wrote: >> >> Git commit 8a450ef60839cf77486d1bb9eb25b63ffcb1e468 by Michael > Abrahams. >> >> Committed on 18/08/2015 at 17:45. >> >> Pushed by abrahams into branch 'calligra/2.9'. >> >> >> >> Update tooltips to include keyboard shortcut. >> >> >> >> Summary: >> >> Tooltips will automatically change with changes to shorcuts. >> >> >> >> Ref T199 >> >> BUG: 348626 >> >> >> >> Reviewers: dkazakov, rempt >> >> >> >> Maniphest Tasks: T199 >> >> >> >> Differential Revision: https://phabricator.kde.org/D245 >> >> >> >> M +9 -4 libs/flake/KoToolManager.cpp >> >> M +1 -1 libs/flake/KoToolManager.h >> >> M +41 -9 libs/flake/KoToolManager_p.cpp >> >> M +9 -2 libs/flake/KoToolManager_p.h >> >> >> >> http://commits.kde.org/calligra/8a450ef60839cf77486d1bb9eb25b63ffcb1e468 >> >> >> >> diff --git a/libs/flake/KoToolManager.cpp b/libs/flake/KoToolManager.cpp >> >> index 61e194c..16f817f 100644 >> >> --- a/libs/flake/KoToolManager.cpp >> >> +++ b/libs/flake/KoToolManager.cpp >> >> @@ -788,19 +788,24 @@ void KoToolManager::registerTools(KActionCollection >> >> *ac, KoCanvasController *con return; >> >> >> >> } >> >> >> >> + // Actions available during the use of individual tools >> >> >> >> CanvasData *cd = d->canvasses.value(controller).first(); >> >> foreach(KoToolBase *tool, cd->allTools) { >> >> >> >> QHash<QString, KAction*> actions = tool->actions(); >> >> >> >> - QHash<QString, KAction*>::const_iterator >> >> it(actions.constBegin()); >> >> - for (; it != actions.constEnd(); ++it) { >> >> - if (!ac->action(it.key())) >> >> - ac->addAction(it.key(), it.value()); >> >> + QHash<QString, KAction*>::const_iterator >> >> action(actions.constBegin()); + for (; action != >> >> actions.constEnd(); >> >> ++action) { >> >> + if (!ac->action(action.key())) >> >> + ac->addAction(action.key(), action.value()); >> >> >> >> } >> >> >> >> } >> >> >> >> + >> >> + // Actions used to switch tools; connect slot to keep button >> >> tooltips >> >> updated foreach(ToolHelper * th, d->tools) { >> >> >> >> ToolAction* action = new ToolAction(this, th->id(), >> >> th->toolTip(), >> >> >> >> ac); action->setShortcut(th->shortcut()); >> >> >> >> ac->addAction(th->id(), action); >> >> >> >> + th->setAction(action); >> >> + connect(action, SIGNAL(changed()), th, SLOT(actionUpdated())); >> >> >> >> } >> >> >> >> } >> >> >> >> diff --git a/libs/flake/KoToolManager.h b/libs/flake/KoToolManager.h >> >> index 6567346..fa12272 100644 >> >> --- a/libs/flake/KoToolManager.h >> >> +++ b/libs/flake/KoToolManager.h >> >> @@ -44,7 +44,7 @@ class QCursor; >> >> >> >> /// Struct for the createToolList return type. >> >> struct KoToolButton { >> >> >> >> - QToolButton *button;///< a newly created button. >> >> + QToolButton *button; ///< a newly created button. >> >> >> >> QString section; ///< The section the button wants to be in. >> >> int priority; ///< Lower number (higher priority) means >> >> >> >> coming first in the section. int buttonGroupId; ///< An unique ID >> >> for >> >> this button as passed by changedTool() diff --git >> >> a/libs/flake/KoToolManager_p.cpp b/libs/flake/KoToolManager_p.cpp index >> >> bb0ab1a..c4d7d08 100644 >> >> --- a/libs/flake/KoToolManager_p.cpp >> >> +++ b/libs/flake/KoToolManager_p.cpp >> >> @@ -25,24 +25,33 @@ >> >> >> >> #include <KoToolFactoryBase.h> >> >> #include <QToolButton> >> >> #include <kicon.h> >> >> >> >> +#include <klocale.h> >> >> >> >> #include <QtGlobal> // for qrand() >> >> >> >> -// ************ ToolHelper ********** >> >> +/* ************ ToolHelper ********** >> >> + * This class wrangles the tool factory, toolbox button and switch-tool >> >> action + * for a single tool. It assumes the will continue to live once >> >> it >> >> is created. + * (Hiding the toolbox is OK.) >> >> + */ >> >> + >> >> >> >> ToolHelper::ToolHelper(KoToolFactoryBase *tool) >> >> >> >> + : m_toolFactory(tool), >> >> + m_uniqueId((int)qrand()), >> >> + button(0), >> >> + action(0) >> >> >> >> { >> >> >> >> - m_toolFactory = tool; >> >> - m_uniqueId = (int) qrand(); >> >> >> >> } >> >> >> >> QToolButton* ToolHelper::createButton() >> >> { >> >> >> >> - QToolButton *but = new QToolButton(); >> >> - but->setObjectName(m_toolFactory->id()); >> >> - but->setIcon(KIcon(m_toolFactory->iconName())); >> >> - but->setToolTip(m_toolFactory->toolTip()); >> >> - connect(but, SIGNAL(clicked()), this, SLOT(buttonPressed())); >> >> - return but; >> >> + button = new QToolButton(); >> >> + button->setObjectName(m_toolFactory->id()); >> >> + button->setIcon(KIcon(m_toolFactory->iconName())); >> >> + button->setToolTip(buttonToolTip()); >> >> + >> >> + connect(button, SIGNAL(clicked()), this, SLOT(buttonPressed())); >> >> + return button; >> >> >> >> } >> >> >> >> void ToolHelper::buttonPressed() >> >> >> >> @@ -65,6 +74,20 @@ QString ToolHelper::toolTip() const >> >> >> >> return m_toolFactory->toolTip(); >> >> >> >> } >> >> >> >> +QString ToolHelper::buttonToolTip() const >> >> +{ >> >> + return shortcut().isEmpty() ? >> >> + i18nc("@info:tooltip", "%1", toolTip()) : >> >> + i18nc("@info:tooltip %2 is shortcut", "%1 (%2)", toolTip(), >> >> + shortcut().toString()); >> >> +} >> >> + >> >> +void ToolHelper::actionUpdated() >> >> +{ >> >> + if (button) >> >> + button->setToolTip(buttonToolTip()); >> >> +} >> >> + >> >> >> >> KoToolBase *ToolHelper::createTool(KoCanvasBase *canvas) const >> >> { >> >> >> >> KoToolBase *tool = m_toolFactory->createTool(canvas); >> >> >> >> @@ -86,9 +109,18 @@ int ToolHelper::priority() const >> >> >> >> KShortcut ToolHelper::shortcut() const >> >> { >> >> >> >> + if (action) { >> >> + return action->shortcut(); >> >> + } >> >> + >> >> >> >> return m_toolFactory->shortcut(); >> >> >> >> } >> >> >> >> +void ToolHelper::setAction(KAction *a) >> >> +{ >> >> + action = a; >> >> +} >> >> + >> >> >> >> // ************ Connector ********** >> >> Connector::Connector(KoShapeManager *parent) >> >> >> >> : QObject(parent), >> >> >> >> diff --git a/libs/flake/KoToolManager_p.h b/libs/flake/KoToolManager_p.h >> >> index b8ce539..e7e1b0f 100644 >> >> --- a/libs/flake/KoToolManager_p.h >> >> +++ b/libs/flake/KoToolManager_p.h >> >> >> >> @@ -127,19 +127,26 @@ public: >> >> int uniqueId() const { >> >> >> >> return m_uniqueId; >> >> >> >> } >> >> >> >> - /// wrapper around KoToolFactoryBase::shortcut() >> >> + /// KAction->shortcut() if it exists, otherwise >> >> KoToolFactoryBase::shortcut() KShortcut shortcut() const; >> >> + /// Writes a tooltip for a button, appending the keyboard shortcut >> >> if >> >> we have one + QString buttonToolTip() const; >> >> + /// Associate an action with this tool >> >> + void setAction(KAction *a); >> >> >> >> Q_SIGNALS: >> >> - /// emitted when one of the generated buttons was pressed. >> >> + /// Emitted when the generated toolbox button is pressed. >> >> >> >> void toolActivated(ToolHelper *tool); >> >> >> >> private Q_SLOTS: >> >> void buttonPressed(); >> >> >> >> + void actionUpdated(); >> >> >> >> private: >> >> KoToolFactoryBase *m_toolFactory; >> >> int m_uniqueId; >> >> >> >> + QToolButton *button; >> >> + KAction *action; >> >> >> >> }; >> >> >> >> /// \internal > _______________________________________________ > calligra-devel mailing list > calligra-devel@kde.org > https://mail.kde.org/mailman/listinfo/calligra-devel >
-- regards, Jaroslaw Staniek KDE: : A world-wide network of software engineers, artists, writers, translators : and facilitators committed to Free Software development - http://kde.org Calligra Suite: : A graphic art and office suite - http://calligra.org Kexi: : A visual database apps builder - http://calligra.org/kexi Qt Certified Specialist: : http://www.linkedin.com/in/jstaniek
_______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel