The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Multiple shortcuts per action make it possible to configure friendlier
behavior.
E.g. on macOS decreasing/increasing font sizes, and deleting elements
usually have two shortcuts each. But also custom configurations that
assign a different key to a common function without removing the default
can be useful.
In this patch the functionality is still pretty much hidden from the
user, even though there is a "secret" way to enter such multiple
shortcuts in the settings dialog, by separating shortcuts with
" | ".
Task-number: QTCREATORBUG-72
Change-Id: I16bec0a71aaf4abf50335b0fd7da620c73b31777
Reviewed-by: David Schulz <david.schulz@qt.io>
Introduce a generic Utils::TouchBar that implements a touch bar for
macOS based on QAction. Touch bars can be nested, and one is set to be
the application's top level touch bar.
Also add an ActionContainer for the touch bar. That allows us to manage
the layout of the touch bar the same way we do with menus.
Since the touch bar is an input device with very limited space, a
command in the touch bar needs to be specifically styled for the touch
bar by setting either touchBarText or touchBarIcon (or both).
Touch bars can be nested by nesting the ActionContainers. A nested touch
bar ActionContainer needs to specify an icon and/or text to show in the
touch bar button that opens that sub-bar.
Commands are only shown in the touch bar if they are valid within the
current context.
Implementation-wise we cannot use the standard NSPopoverTouchBarItem for
nesting touch bar levels. We cannot hide items in the touch bar, because
hidden items still take up space in the touch bar. So we need to rebuild
the touch bar regularly. Since the items we show are very dynamic, every
time the items in the toplevel bar change because of a context change,
any opened sub-level touch bar closes. That is why we maintain a stack of
touch bar levels ourselves, replacing the main touch bar with the current
level, and managing opening and closing the levels manually.
This patch adds buttons for Help, Bookmarks, Header/Source, Follow
(Symbol), Decl/Def, and a sub-bar for the debugger actions.
Fixes: QTCREATORBUG-21263
Change-Id: Ib63e610f21a993f1d324fe23c83a7f2224f434ac
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
They were always triggered on the find support that had the find tool bar,
even if the focus moved to a different one and even if the find tool bar was
not visible.
Task-number: QTCREATORBUG-11587
Change-Id: Ica7ef6275dc8a7e0e8b974c2796651c9ca7809a6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Registering QShortcuts doesn't solve any problem that is not already
solved by registering QActions, and shortcuts are in fact much more
limited (not being able to register multiple shortcuts for different
contexts).
Change-Id: I9478e601b2cbc3c5e12fb5baee43cacc20d0fb9c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Instead of doing it duplicated in the general and the fakevim shortcut
settings.
Change-Id: Id4b0e5b0630f1e94c825528f1c038776dc205aa3
Reviewed-by: hjk <qthjk@ovi.com>
A generic action that acts as a proxy for another (changeable) action,
like it is used for mostly all of the visible actions in Qt Creator
through the action manager.
This plugin let the user record and replay some macros:
* 3 handlers: action, find and texteditor
* almost all texteditor and cpp actions recorded
* options page to set the directories where the macros are stored
* optional dialog to give a name and comment at the end of a macro
* locator integration to play a macro
* shortcuts assignment to macro
The most important change outside the plugin macros is the isScriptable method
for command: All scriptable commands can be stored in a macro.
Merge-request: 2176
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
The menus were only updated during context changes
(not if action states where updated directly),
and didn't take into account that the active action for a context
might still be disabled.
Also, enabled separators should not automatically lead to enabled menus.