From: Chris Cannam <cannam@al...> - 2008-10-02 14:29:38
On Thu, Oct 2, 2008 at 3:22 PM, Emanuel Rumpf <xbran23@...> wrote:
> If it's a non-fix, where is addAction implemented then ??
EditViewCommandRegistry (the subclass).
But, please hold off on any more action-related fixes until we've
decided how to go ahead with actions generally (please do see, and
reply to, my messages on the devel list this morning).
I'm concerned that making ad-hoc changes from the old KAction
constructor call (which at least had all the necessary information in
a single place) to multi-line QAction construction and property setups
may only be making it harder to carry out a nice uniform transfer to a
new mechanism, once we've decided what that should actually be. Don't
forget that all the work of putting actions into menus and making sure
they appear was carried out by KXMLGUI, not by our code explicitly, so
simply translating KAction to QAction won't actually make any working
menus. I'd rather do all this once (it is my current to-do item on
the wiki) and get it right.
2008/10/2 Chris Cannam <cannam@...>:
> On Thu, Oct 2, 2008 at 3:22 PM, Emanuel Rumpf <xbran23@...> wrote:
>> If it's a non-fix, where is addAction implemented then ??
> EditViewCommandRegistry (the subclass).
The problem here:
Without my fix, I get these errors when compiling NotationView in the
cmake build process:
( line 408 )
... so maybe I should add the definition to NotationCommandRegistry.cpp too ?
src/gui/editors/notation/NotationView.cpp:408: error: cannot allocate
an object of abstract type 'Rosegarden::NotationCommandRegistry'
src/gui/editors/notation/NotationCommandRegistry.h:33: note: because
the following virtual functions are pure within
src/document/CommandRegistry.h:148: note: virtual void
Rosegarden::CommandRegistry::addAction(QString, QString, QString,
QString, QString, QString)
From: Chris Cannam <cannam@al...> - 2008-10-03 09:13:54
On Fri, Oct 3, 2008 at 12:10 AM, Emanuel Rumpf <xbran23@...> wrote:
> Without my fix, I get these errors when compiling NotationView in the
> cmake build process: [...]
> src/gui/editors/notation/NotationView.cpp:408: error: cannot allocate
> an object of abstract type 'Rosegarden::NotationCommandRegistry'
That's my fault -- I fixed the prototype in the base class to use
QString instead of QShortcut, but I forgot to fix the subclass
However, please leave it until we've decided definitively what to do
about actions, because this method will almost certainly change