This command opens the edit dialog for the bookmark that is at the
current editors text cursor. If there is no bookmark at that position a
new bookmark will be added before the edit dialog is opened.
Fixes: QTCREATORBUG-25696
Change-Id: I6a63a87cbbfb9d9075fac25b7ed9dd59d135b2c8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
So far it was only possible to combine TextEditorFactory, BaseTextEditor
and TextEditorWidget directly.
That TextEditorWidget is also directly a QPlainTextEdit made it
impossible to "decorate" the text editor widget with something else
without a lot of effort.
Make it possible to create a text editor factory that returns an
arbitrary widget, as long as it can be "cast" to a TextEditorWidget with
either qobject_cast or Aggregation::query. That way the TextEditorWidget
instance can be attached to the editor widget via Aggregation.
Adapt other code that accesses TextEditorWidget from editors
accordingly. Introduce a common method how to do that.
Change-Id: I72b8721f3a8a8d8281c39af75253e9c80cbe1250
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: David Schulz <david.schulz@qt.io>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Get closer to a uniform pattern of code layout (public/private,
pimpl naming...)
Change-Id: If2bc6dcee3df9127274f479b4ebc270d283dcb65
Reviewed-by: Xing Xiong
Reviewed-by: Christian Stenger <christian.stenger@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>
Change-Id: I9107356d52bbf6d1e77b30d7057b56efd670c724
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
compare file names case insensitive on windows
Task-number: QTCREATORBUG-19418
Change-Id: I4925a7b33f35ce18e906990ffc104b22ea6d73dc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
For external windows we need to separate the contexts in which help
mode's "add bookmark" and editor's "toggle bookmark" are present.
Task-number: QTCREATORBUG-16286
Change-Id: I2a7a28c75dc53e1dd0b21c0a8833bd4594d5afad
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This was introduced when the plugin was refactored.
Change-Id: Ieffce92a6eac55aa7932f202220d3817c59e6a1f
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Those can never get triggered anyway as they point to a file without
any filename.
Change-Id: Id04aa2e63a7e6918269851df0cd41c7334bfc94c
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
... and default to C_GLOBAL. A rather common case.
Similar for ActionContainer::addSeparator().
Change-Id: I7f9ba573af201c0a472132d5a494ad17cc4175b7
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This really needs the dynamic type for the update.
Also using the IEditor interface is sufficient for most parts.
Change-Id: Ic9806f39077065c43b6325b2345ef5d8bab4ff34
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Removes some widget->editor->signal->slot->widget indirection.
Change-Id: I7951d62ad3b7477e4693798d85c53c932b86c95e
Reviewed-by: David Schulz <david.schulz@digia.com>
Remove usage of the Q_EXPORT_PLUGIN macros, which do not exist in Qt 5.
Change-Id: I678c3cf10b9c5d5c1b9f252b0ecd1c97dc810a47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
In the majority of cases we were doing that anyways, having two
ways is just needlessly confusing.
Change-Id: Ied362a702c23beee528368d74df1f2aabe5807f8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
And adapt the other API respectively.
Change-Id: I1e04e555409be09242db6890f9e013396f83aeed
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.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>