Commit Graph

28 Commits

Author SHA1 Message Date
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Alessandro Portale
86708dbdde Improve various HTML-based tooltips
A couple of tooltips in Qt Creator, contain rich text (HTML). These
tooltips tend to have line breaks in unfavorable places, making the
content sometimes hard to read.
This is fixed in this change by using: style="white-space:pre"

Another issue with some tooltips is that they show key/value definitions
in a <table>, which, especially with longer keys makes looking up the
value quite hard. Also the length of the key column is dependent on the
(translated) content.
This change implements an alternative: using "description lists" <dl>,
which indent the values nicely independent from the key length.

Fixes: QTCREATORBUG-27553
Change-Id: If047627193413f23d868c52f005f22aa9a0752a9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-05-16 08:17:45 +00:00
Eike Ziller
6893721471 ActionManager: Update proxy action more directly
The proxy action was updating from the actual action delayed by a
QueuedConnection. This was introduced in
c3772bfd4c to avoid disconnecting and
reconnecting to QAction::changed while handling that same
QAction::changed.

This introduces a delay between the actual action's change and when it
is reflected in the proxy action.

ProxyAction::update only needs to disconnect signals that would trigger
because of the changes done to the ProxyAction. So it doesn't need to
disconnect/connect from the actual Action's changed signal. Only
disconnect/connect the signals that we really need, and get rid of the
QueuedConnection again.

Fixes: QTCREATORBUG-26363
Change-Id: I2b851af35fcb4a3931b645896dd77477cee79812
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-01-10 12:58:31 +00:00
Eike Ziller
63c9c5124e Use common functions for handling ampersands/accelerators
Change-Id: I4c74a041a656ed547db0a7406f4306008a513879
Reviewed-by: hjk <hjk@qt.io>
2019-08-09 12:45:38 +00:00
Eike Ziller
3c5650e514 Add macOS touch bar support
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>
2019-01-15 14:33:56 +00:00
Alessandro Portale
f6943a712a Utils: Modernize further
Many issues, mostly in headers, were not addressed in
e38410b76c

modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default

Change-Id: I320a51726db881e582b898948d53735ebb06887a
Reviewed-by: hjk <hjk@qt.io>
2018-07-24 12:21:42 +00:00
Alessandro Portale
e38410b76c Utils: Modernize
modernize-use-auto
modernize-use-nullptr
modernize-use-override
modernize-use-using
modernize-use-default-member-init
modernize-use-equals-default

Change-Id: I8d44d9405011a1878353baf9325f7af90b89db02
Reviewed-by: hjk <hjk@qt.io>
2018-07-20 13:36:22 +00:00
Alessandro Portale
eea27bc82d Utils: Add a ProxyAction factory which overrides an action icon
There are several places where we want to override an icon when adding
an action to a toolbar and to a menu, because we need to different
icon variations.

Change-Id: I0bed4d002b8f83c9ce3278137aa463c20d1dc7be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-04-25 12:02:09 +00:00
hjk
c3772bfd4c ProxyAction: Break endless loop
Updating the ProxyAction first disconnects from the action and then
connects again. Looks like reconnecting while being in
QMetaObject::activate can lead to never ending handling of the
activation, so use a QueuedConnection instead.

Change-Id: Ia06f926413fd4492d847dfea4461f2ccfdd37ffc
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2016-03-14 13:15:39 +00:00
Tobias Hunger
f72370f20a Update License according to agreement with Free Qt Foundation
* Update remaining files in src

Change-Id: I1896f17fcf34f71c3310c87899fb5171b8e4afb1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:59:41 +00:00
Orgad Shaneh
329c493764 Utils: Modernize connections
Change-Id: I4650abc84e7c82a4054197319f6c849af9e5b8ce
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-03-06 13:47:27 +00:00
Eike Ziller
3c85058694 Update License
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2015-01-16 12:37:56 +01:00
Orgad Shaneh
e742fd26bf Utils: Replace && with & for button tooltips
&& is used to prevent the following space from becoming a shortcut.

Change-Id: I8143b8ee193a2f2ffc391375e75d8a0fb26e8e09
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-12 09:43:58 +01:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Gabriel de Dietrich
fae2052549 Set "About Qt Designer plugins..." menu entry role to NoRole
This fixes a problem on Mac, where the default menu role is TextHeuristic,
and menu item syncing would reassing this entry as "About Qt Creator". Also
ProxyAction would not forward the menu role.

Task-number: QTBUG-30679
Change-Id: If5ad5fb3a34131c080543bf8160e9ab5140c8585
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-18 17:05:15 +02:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Friedemann Kleint
ac54974b32 Utils: Compile with QT_NO_CAST_FROM_ASCII.
Change-Id: I5cd5607fcd3311915217a1615b948587ef808cfa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-01-06 09:31:14 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
dt_
f88f4918a4 Fix ProxyAction if layered 2 times
Change-Id: Icf17f93deb259bfed85e138311d39300d72ee4b5
Reviewed-on: http://codereview.qt.nokia.com/193
Reviewed-by: hjk <qthjk@ovi.com>
2011-05-27 15:56:18 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
con
11acf05509 Fix another action manager related wrong use of QFlags. 2011-01-31 15:18:34 +01:00
con
1bf2d0ab66 Fix shortcut handling.
Introduced by recent ProxyAction refactoring, we may not copy the actual
enabled/visible/checked state during initialization.
2011-01-13 11:40:21 +01:00
con
e7ad89ffd8 Refactor the "proxy action" behavior of Command to Utils::ProxyAction
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.
2011-01-12 15:54:15 +01:00