Commit Graph

160 Commits

Author SHA1 Message Date
Eike Ziller
6a99368979 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/libs/utils/processreaper.cpp
	src/plugins/android/androidbuildapkstep.cpp
	src/plugins/cmakeprojectmanager/cmakeprocess.cpp

Change-Id: I353a445b5862f63362ea954749b5565360951283
2021-09-20 13:43:20 +02:00
Alessandro Portale
1638c337c1 Welcome: Remove spacing between the link buttons on Welcome screen
The 5-pixel spacing causes the sensation of flickering while hovering
over the buttons. Other elements on the welcome screen (recent projectsm
sessions, etc.) don't have spacing, and therefore, the hovering feels
"smoother".

This change removes the spacing and compensates that by increasing the
link height accordingly.

Fixes: QTCREATORBUG-26275
Change-Id: I0159d65d941971c169faf2f156cd4f8c0ddd365c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-09-17 08:45:13 +00:00
hjk
7c28c4f744 Utils: Introduce a FilePath constructor from char arrays
Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for
decorations in user code.

At the same time, drop some convenience constructors and functions
in CommandLine and Icon essentially serving the same purpose.

Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-17 05:34:10 +00:00
Eike Ziller
ba5f2e27f0 Merge remote-tracking branch 'origin/5.0'
Change-Id: I86049934ae744e22e4a728ab79c0cf6880ff3c7d
2021-08-12 11:05:11 +02:00
Eike Ziller
ced3a32f99 Welcome: Point Get Started button to Qt Creator's Geting Started page
Fixes: QTCREATORBUG-26054
Change-Id: I4fd9cc5d18bddc812a97cdbc4b757ba617fe7098
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-08-11 11:17:10 +00:00
hjk
906cfb060b Core: Use FilePath in some functions related to opening files
Change-Id: I9610855a914d315d7934996c755fb69ad399320f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-07-29 11:14:46 +00:00
Alessandro Portale
72d91dc94a Use qAsConst with non-const Qt containers in range-loops
... in various places

Change-Id: Ic6c0c1b9437a1ed402105c7a14a1f5f9454a68d4
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-02-17 14:43:29 +00:00
Eike Ziller
502508d87d Welcome: Do not save default value to settings
Task-number: QTCREATORBUG-24762
Change-Id: I9a587c76dfabee1cd707e6861de5bbc0e3e7583e
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-02-16 16:09:40 +00:00
Kai Koehne
4d8cd5fa03 Welcome screen: Add "Get Qt" link
Change-Id: Ic3a6210a0b1600ae308bbdb43f0c50fc72d910e8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-10-25 08:47:07 +00:00
Eike Ziller
929e3819a8 Qt6: enterEvent now gets passed a QEnterEvent
Add a Utils::EnterEvent for porting.

Task-number: QTCREATORBUG-24098
Change-Id: I2782fe33e41a813b5562676f6dc87d6d53babdd3
Reviewed-by: hjk <hjk@qt.io>
2020-09-29 10:34:22 +00:00
hjk
430a33dcd9 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-06 06:07:13 +00:00
Igor Sidorov
a9e40ad14c Add final specifies to classes
Warning -Wfinal-dtor-non-final-class in clang trunk

Change-Id: I2bf17064bf8898eab10b82b69583a283157766d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-05 09:33:55 +00:00
Christian Stenger
99ef26579a Welcome: Fix regression of displaying Projects by default
Latest refactorings made the Welcome page display by default
the list of projects instead of the examples page.
This patch amends 938068d1e8.

Change-Id: Ie91f16e4fc7e891a34476d23c3e1b370fd7a7d68
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-01-29 06:12:44 +00:00
Christian Stenger
938068d1e8 Welcome: Fix logic for page order
If we want to rely on the priority for ordering
the buttons of the welcome page we should also
keep the order of the pages in sync with the
buttons.

Change-Id: Idcb06f18c6e7ea7c8fd19eac46c53abbed2b9dbd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-01-16 14:54:10 +00:00
Eike Ziller
a546e3a9cc Merge remote-tracking branch 'origin/4.10' into 4.11
Conflicts:
	src/libs/utils/fancymainwindow.cpp
	src/plugins/projectexplorer/msvctoolchain.cpp

Change-Id: I7aaeeb4f96c95fefd4944c083c1ddf9a19cd81d6
2019-10-28 11:43:06 +01:00
Eike Ziller
189ab38641 macOS: Remove workaround for bug that was fixed in Qt 5.9.2
Removing the dummy OpenGL widget gets rid of flicker and scaling issues
when moving between monitors with different DPI.

Fixes: QTCREATORBUG-23064
Change-Id: I2373862244353b545e8756afe294f9beeefda422
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-10-21 07:32:34 +00:00
Christian Kandeler
e90a48e639 ProjectExplorer: Fix some problems with plugin unloading
It was not possible to return false from
ProjectExplorerPlugin::initialize() without triggering crashes.

Change-Id: I96b2f80c835e69769f64f9b9c61f473e9ff88623
Reviewed-by: hjk <hjk@qt.io>
2019-10-16 08:16:23 +00:00
Sona Kurazyan
82bcf4e9f5 Remove usages of deprecated APIs
Replaced:
  QPalette::ColorRole::Background -> QPalette::ColorRole::Window
  QPalette::ColorRole::Foreground -> QPalette::ColorRole::WindowText
  Qt::ItemDataRole::TextColorRole -> Qt::ItemDataRole::ForegroundRole
  QFontMetrics::width() -> QFontMetrics::horizontalAdvance()

Task-number: QTBUG-76491
Change-Id: I1302e6b569e725daa6f7be1428ffe055657fc644
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-03 09:15:30 +00:00
Sona Kurazyan
8e31932c29 Remove usages of deprecated APIs of QLayout
Replaced:
  QLayout::setMargin() -> QLayout::setContentsMargins()
  QLayout::margin() -> QLayout::getContentsMargins()

Task-number: QTBUG-76491
Change-Id: If28ef6910b3afe5d04e4746b74f9362a3e3b3c8e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-09-02 13:01:07 +00:00
hjk
a19be8b091 Welcome: Add a -notour argument
Helpful for a quick startup, e.g. in cases of forced clean settings.

Change-Id: I5b247d77e1157448187453c71b6c2a07b77f3889
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-03-18 13:33:20 +00:00
Eike Ziller
418dcfbcbb Help: Avoid multiple lookups of help id for context help
Context help would first query the database with potential IDs, and
afterwards the help plugin would look up the links for the resulting ID
again.
Pass the HelpItem (which potentially contains the cached links) directly
to context help.

Change-Id: I73bddcd3cd4eacaea412b98d53c5e5354a31f3d5
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-01-29 07:57:19 +00:00
Eike Ziller
8770d83fc8 Add general UI introduction
Adds a Help > UI Introduction, which highlights basic aspects of the Qt
Creator UI.

The pages to show are defined in a format that can later move into a
text based configuration file like JSON. It specifies an optional object
name of a widget to highlight, a title, a brief description and a longer
description (potentially with tables, lists and other simple HTML).

Fixes: QTCREATORBUG-21585
Change-Id: Idb64c87e1d752bc24437588278093a96be0eeddb
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-12-18 09:53:36 +00:00
Eike Ziller
7442790934 Show examples page in welcome mode on first start
This change might help first-time users getting started.

Task-number: QTCREATORBUG-20674
Change-Id: If55402160bf6b1515142bb64f281654fe4c68134
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-07-09 10:26:02 +00:00
hjk
5e55c1e947 Welcome: Detach Welcome page registration for global object pool
We require individual pages to be provided in Plugin::initialize()

Change-Id: I431112b523ed4cc803c07e5c6df8aa8d4ed1663b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-02-07 11:10:56 +00:00
hjk
e20152017c Welcome: Remove one unneeded usage of global object pool
Change-Id: Iaf94a26eb49c49648ac89f7e463b8849e86cba9e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-02-06 13:01:58 +00:00
Alessandro Portale
b3dd52b30f Welcome: Relax the SideBar spacings a bit
I got a new Laptop with 720px screen height (actually 1440px with 200%
scaling). That causes an unpleasant scrollbar in the SideBar, even with
fullscreen maximized Qt Creator.

This makes the spaces between the three content blocks shrinkable.

Change-Id: I188a38580cc59b410ecf25fa2422a8d94a44b9f0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-01-03 12:20:20 +00:00
hjk
cc88302309 De-emphasize PluginManager::getObjects<Type>()
... by additionally keeping local (currently non-owning) pools per
"interesting" type.

Current situation:
  - The global object pool does not scale well for looking up
    objects, as iteration plus qobject_cast typically iterates
    over all pooled objects.
  - User code that can use typed results from the object
    pool need to have access to the full type definition anyway,
    i.e.  depend on the plugin of the target class anyway.

The patch here solves the scaling problem is to have local
type-specific pools to which objects register in their
constructors and deregister in their destructors.

This patch here does *not* change the ownership model of the
pooled objects, however, it opens the possibility to change
the ownership model per type (e.g. by not putting things into
the global pool at all anymore and make the local pool 'owning')
and the intent is to handle that in later patchs.

Even without the follow-up patches this here is a performance
improvement for the cases that access the local pools instead
the global one, i.e. "practically all".

Change-Id: Ib11a42df2c4ecf5e1155534730083a520dd1995b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2017-12-15 07:08:05 +00:00
Robert Loehning
1f6d2e067e Welcome: Use https-links
Change-Id: I6eec438e5c881da8e6946b3d167e1e71f49ba574
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-12-06 10:02:00 +00:00
Alessandro Portale
e50b75b5d8 Welcome: Show the url of link buttons as tool tip
Less secretiveness about what these buttons do.

Change-Id: I145e5a3e62ccaffd2d1cb97614154a0ef43e1369
Reviewed-by: hjk <hjk@qt.io>
2017-10-16 13:39:50 +00:00
Ulf Hermann
47886969cc Drop unused variables and lambda captures
Also, add context to connect() expressions where we are or were
capturing "this".

Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2017-09-08 09:06:53 +00:00
Eike Ziller
c2ef4b52d3 Merge remote-tracking branch 'origin/4.4'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri

Change-Id: I9620928b431cefa995a06db85ecfcb92f225f732
2017-09-06 12:19:18 +02:00
Christian Stenger
b381418476 Welcome: Squish: Assign object name to fix Squish tests
Latest change of adding QScrollArea around Welcome's sidebar made
the objects lookup fragile. Using the QScrollArea inside Squish
tests helped for some but not all lookups.
Simplify the lookup by assigning an object name.

Change-Id: I5f37ee69bf20eaf02c9717cbaa5ba541d8ffbc17
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-09-06 07:09:35 +00:00
Alessandro Portale
d010dbd190 Welcome: Remove the big minimal height requirement
The SideBar in the QtWidgets based Welcome mode had a high minimal
height which cause whole Qt Creator not to fit on my HD(720) screen.

This change wraps the SideBar into a vertical scroll area.

Change-Id: I1d70ced1bbe803fb866159dd557a401c3ab6a9b2
Reviewed-by: hjk <hjk@qt.io>
2017-09-05 10:21:29 +00:00
Tobias Hunger
4ef01c961e app_version.h: Make IDE name configurable
Change-Id: I993f452c8d09cf89e9a2958fc8e36b7d2c17ee6f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-09-05 10:19:48 +00:00
Eike Ziller
937bb39ff2 Work around slow painting on macOS
This got prominent by removing the OpenGL based QQuickWidget from the
Welcome mode.
Basically painting is very slow to the point of unusable when there is
no OpenGL widget in a window. The moment an OpenGL widget is in the
widget hierarchy of a window, painting is much faster. This is
especially notable on HiDPI screens, e.g. using 1.5x or 1x scaling on 4k
monitors.
This is also reproducible with older versions of Qt Creator when using
additional editor windows or diabling Welcome mode.

Restore the status quo by adding a dummy OpenGL widget to welcome mode
on macOS.

Task-number: QTBUG-61384
Change-Id: Ia1a4738dd2070d70d8be42d4d717099d3933248b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2017-06-14 08:40:47 +00:00
Alessandro Portale
3729500740 WelcomeMode: Remove screenDependHeightDistance()
That function always returns 16.

Change-Id: I65cb0c62c5e553791f25e964de9eaf23a0f65687
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-24 15:11:07 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Alessandro Portale
2d9dc5a27f Welcome: Readjust link buttons to Diana's metrics
The hover area is 30px high and the spacing 5px

Change-Id: I252f87b1961768d54a65ddf69c8106e87790b2a3
Reviewed-by: hjk <hjk@qt.io>
2017-02-17 17:34:38 +00:00
hjk
16944277d2 Welcome: Start some performance improvements
This is essentially a widgets based re-implementation
of the current design. It is still using the QAIM based
interface layer between to the real data and display even
though this is not needed with this approach.
Removal of this layer would further reduce code size
and cycle counts.

For now:
               old          new
Load time    215ms        182ms
delete        22ms          2ms

Change-Id: I90d779a60a47a78399eaad0f1bc032d39f3ae3c0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2017-01-13 15:38:14 +00:00
Tim Jenssen
05c589b866 Welcome: beautify code
Change-Id: I1dff086e7fb7839aa44383f80214a4543de916d1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-25 10:48:02 +00:00
Tim Jenssen
c7cb98eeb2 Welcome: set import pathes only one time
Change-Id: Ie398a8fdbea44498d03870f42a89e2b185bf51be
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-11-24 10:45:56 +00:00
Eike Ziller
3508a09010 Fix that files could not be dropped onto welcome screen
Needs to be implemented in Qt Quick itself nowadays.

Task-number: QTCREATORBUG-14194
Change-Id: I0456dc5d86c03672d8b6b8f9c45799851db1b059
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-16 06:50:53 +00:00
Ulf Hermann
08b780205a Theme: Use QVariantMap for theme properties
QML can directly mirror this into a JavaScript object, so there is no
need to manually copy the values into a different container. Also,
QQmlPropertyMap is very expensive as it will listen to changes to any
value in the map. We never use this. It would be entirely enough to
update the whole map at once if we ever want to update the theme at
runtime.

Change-Id: Ie2b549e9af51d620801808c87d6f659cc7a06c04
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-11-08 17:58:49 +00:00
Orgad Shaneh
a6c17fc537 Remove all QT_VERSION_CHECK
We only support Qt 5.6 now.

Change-Id: If94864400545b057623e3af0743c55ea1e84e33b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-08-12 13:29:58 +00:00
Eike Ziller
bcbda07b7f Welcome: Fix shortcuts in tool tips
They need to show the native shortcuts, not portable

Change-Id: I5fbc1704c4908596aaf9cdbecf056a50e33f8fe6
Reviewed-by: Serhii Moroz <frost.asm@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-08-10 13:20:11 +00:00
Orgad Shaneh
b17b2461dd Simplify Utils::sort calls that sort by member
Change-Id: I0937e98014f223f42fbf1c6b2bd94fb109bc8870
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-08-09 13:52:47 +00:00
Serhii Moroz
cda7a3188f Welcome: Added keyboard hotkeys to open sessions and recent projects
Change-Id: Ia7c1ec11b2fa3e4b61b842fd1e9e4df7aa6f7be3
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-07-28 15:04:55 +00:00
Alessandro Portale
748c4ac57f Welcome: Implement part of Diana's design
Removing font variations, colors, roundings and gaps.
And it is now better themable.

The examlpes and tutorial selection still needs to be done.

Change-Id: I520814ba9e8ce4fa1d1ca7ec14329955e8a0609a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-03-17 16:38:40 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Alessandro Portale
cacd014dc2 Theme: Force new start of Creator when changing the theme
Let's face it. "Live" theme change doesn't work reliably and
there is currently no effort to make this work. This change
removes the theme change during a Qt Creator run and shows "Restart
required" message dialog which we know from the language settings.

Change-Id: Ic9d300c5378841905260ff725aa3011717191de7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-01-14 08:40:40 +00:00