Commit Graph

39 Commits

Author SHA1 Message Date
hjk
f97fd83fc9 Plugins: Add skeleton for new ExtensionManager plugin
This initial commit is merely a mockup of a ExtensionManager concept.

Change-Id: I19b2285667678a86097c043cc27a554545559eff
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2023-12-11 12:10:36 +00:00
Alessandro Portale
608bb8cf3d Utils: Add StyleHelper::fontToCssProperties
This function takes a QFont and returns the relevant CSS properties as a
string. Using that CSS string in Qt's HTML supporting widgets ensures
the true to detail HTML rendering of text elements with those CSS
properties.

This change also adds an HTML sample to tst_manual_widgets_uifonts.

Change-Id: I7caf3214854f6ee62ae1211015572c640fc08dc8
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-12-08 09:10:50 +00:00
Alessandro Portale
723ba0fc48 Utils: Add a manual test for StyleHelper::uiFont
Visualizes the predefined ui fonts.

Change-Id: Ic0af15ab149b213a59bf8e22cf7e17ab9042c54e
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-12-07 15:22:54 +00:00
Marcus Tillmanns
413fda678f Utils: Add "layouting" widgets to layoutbuilder
This allows us to handle widgets that have an "addWidget" function.

Change-Id: Id1b63bae7032403fdd3c5e6ba60283cf56cc1cfe
Reviewed-by: hjk <hjk@qt.io>
2023-10-12 10:32:56 +00:00
Marcus Tillmanns
644e88ae2e Utils: Emerge widgets from LayoutItem
This allows us to call e.g. PushButton{}.emerge(); without having to
add another unnecessary layout.

Change-Id: Ica26f4776dee1843e1f40c238e1f3c1a54d14ea5
Reviewed-by: hjk <hjk@qt.io>
2023-10-12 10:32:44 +00:00
hjk
0eacd0190d All: Remove some unneeded #includes
Change-Id: If9a8fb5e0b32424e3b37ecf3adefc060f86b3630
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-09-27 13:50:38 +00:00
Christian Kandeler
fca94a8366 qbs build: Fix manual tests
- Remove dependency on project.withAutotests by adding local
{Qt,Cpp}Application overrides that alias QtcManualTest. This way, the
respective products are a QtcManualTest when inside Qt Creator, while
also working outside the source tree.
- Rename QtcManualtest to QtcManualTest. (The reason QtcAutotest is not
camel-cased is because "autotest" is a single word.)
- Plus some minor clean-ups.

Change-Id: Idd77191f0b433d6d7443c639eebda383ab110082
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-09-20 10:22:21 +00:00
Christian Kandeler
a217fa0c22 qbs build: Clean up testing infrastructure
- Rename ambiguously named "testsEnabled" property to "withPluginTests"
  and fix the wrong uses.
- Move AutotestRunner out of main project file and into tests.qbs.
- Move "withAutotests" property into qtc module. We cannot remove it
  from the main project file just yet, because some manual tests do not
  make use of QtcManualTest at the moment.
- Do not remove the autotests from the project tree if autotests are
  disabled. Instead, just disable the products.

Change-Id: I74a4cc717d9adbe53d37536b2565111e1617115b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-09-19 13:16:28 +00:00
Jarek Kobus
47fce17aa3 Tests: Add context object into connections
Change-Id: I4bb05e5890b9b415085f17d6358d9066e3112d6d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2023-08-02 08:40:08 +00:00
hjk
8cf500c5bc Utils: Make Layouting a top level namespace
The whole machinery is now almost only layoutbuilder.{h,cpp},
mostly independent of the rest of Utils. Idea is to finish the
separation to make it stand-alone usable also outside creator.

Change-Id: I958aa667d17ae26b21209f22412309c5307a579c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-04-25 13:31:25 +00:00
Alessandro Portale
e78f0b5911 LayoutBuilder: Turn Splitter into a LayoutItem
Change-Id: I05bdadf7f79966e215b4999db9c2f96cd8f67f9f
Reviewed-by: hjk <hjk@qt.io>
2023-01-11 14:05:46 +00:00
Kai Köhne
56baf8c058 Remove GPL-3.0+ from license identifiers
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...

While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only

Change was done by running

  find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;

Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-06 11:15:13 +00:00
Eike Ziller
55fa109b59 CMake build: Use version-less Qt targets
Since we do not support Qt < 5.15 anymore, and as a first step
for getting rid of our special FindQt5.cmake.

Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-01-05 10:13:16 +00:00
Jarek Kobus
1f59f42287 Remove unused includes of QLayout
Change-Id: I12777e07f3d6fcc639b48f02080e73b1a0a3ea30
Reviewed-by: hjk <hjk@qt.io>
2022-11-18 15:29:35 +00:00
Jarek Kobus
1a70403f94 Remove unused includes of QFormLayout
Change-Id: Ia877cb57037342f2a7b332b29d9cb45e9b01c4bc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2022-11-18 07:33:29 +00:00
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
hjk
4c16c221a1 Tests: Add a manual test for layoutbuilder demonstration
Change-Id: If59265c429a67e5627d41d242fb8fc828f469e93
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-08-11 07:32:21 +00:00
Jarek Kobus
ebd0dd6ebc Drop Qt5: Manual tests: Remove code below Qt 6.0.0
Change-Id: I87e267415ec84001ff594b3900ce8be4f0cadd73
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-07-26 16:52:02 +00:00
Alessandro Portale
8cb1775ba8 Tracing/Qml|PerfProfiler/CtfVisualizer: Move QML modules to :/qt/qml
We don't want to dedicate the whole resource file system to QML.

Change-Id: I4c7e4af7aeeab00f44c5244e99949a90abb032cf
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-07-20 06:53:14 +00:00
Alessandro Portale
34213f5717 Tracing/QmlProfiler/PerfProfiler/CtfVisualizer: Remove pre Qt 6.2 code
- Remove code for Qt below 6.2 from c++ sources and CMakeLists.txt
- Remove Qml code from .qrc files
- Qbs: Add qt.core.resource_data Groups for Qml code
- Remove OpenGL shader .frag and .vert files
- Remove Qml import version numbers

Change-Id: I3bd1cd95381e66c98ee3af4259e89b0b1eff0709
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2022-07-18 07:11:06 +00:00
Christian Kandeler
d4b8739653 qbs build: Fix building with MSVC and Qt >= 6.3
Change-Id: I59439217575bdcc170f38382129fa5f13edb23e2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-06-17 15:24:00 +00:00
Marcus Tillmanns
bcfe2bc25a utils: Add additional tooltip to ElidingLabel
In case you want to set a real Tooltip for an eliding label

Added tests in tst_manual_widgets_infolabel

Change-Id: I72bcbf672415ce439c14e260e364fcd2f85fc733
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-04-07 07:28:22 +00:00
Christian Stenger
1652be1310 Tests: Provide some cmake files for manual tests
Add another option to mark a test as manual and use this for some
existing.
Manual tests will not be added as a ctest, but they can still get
executed explicitly.
Beside this allow to use a condition when using add_qtc_test().

Change-Id: I03d5397db36c0a2c9ee506a4214ed68fae6ad6e7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-15 08:21:40 +00:00
Eike Ziller
9d8a419d10 Remove qmake build files
Removes qmake as a build system for building Qt Creator itself.
Keep them for some tests that are not completely moved to CMake yet.

Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-20 12:18:15 +00:00
Alessandro Portale
595a4a621d Tests: Avoid Qt6-related deprecation warnings
Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps are deprecated

Change-Id: I36a289f00feeaa472ee911a567c2a6160e259317
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 14:00:14 +00:00
Alessandro Portale
a56ce4e450 Tracing: Add qml, register types via qt_add_qml_module
Use the CMake-based qml API to create the "QtCreator.Tracing" module.
This uses qt_add_qml_module, which was introduced with Qt 6.2.

For Qt 6.1 and below, everything compiles and runs like before this
change.

Change-Id: I4d63f9f724d0628cfaab9d1164c0d575f15d15aa
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-06-22 11:58:05 +00:00
Alessandro Portale
9915418f90 Tests: Turn manual widget tests into tests
...they do not need to be "executables" anymore

Change-Id: Ided0fa85ae891df66add47e59a9d7245f880213c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-06-11 14:39:52 +00:00
Alessandro Portale
b730aa6405 Tracing/QmlProfiler/Perfprofiler: Merge modules
Move Tracing Qml Types into the "QtCreator.Tracing" module.
Move QmlProfiler Qml Types into the "QtCreator.QmlProfiler" module.
Move PerfProfiler Qml Types into the "QtCreator.PerfProfiler" module.
And tst_flamegraphview ones into QtCreator.TstTracingFlameGraphView.

... in preparation to register the types declaratively.

Change-Id: Ic0e3863d09b3426fa5b7419116625ad49b817dcf
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-06-08 06:46:28 +00:00
Alessandro Portale
aabb6d3539 Tracing: Add a manual test
A minimal application that displays the tracing view with some dummy
data.

Change-Id: Ie564a3be017731313659aef7958138613b0bb94d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-21 07:00:49 +00:00
Alessandro Portale
356eaf1d3f Manual widget tests: Expose setTheme function
...so that it can directly be called if showing the combobox is not wanted.

Change-Id: Id80658336421788749f1a1ec68680fef53ae1695
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-05-20 09:10:06 +00:00
Christian Stenger
ced96a480d CMake: merge binary directories of sub projects
...into top level. Exceptions are applied explicitly.

Change-Id: I59c54967dffc0bef2e8cc05c73763fcf18c12517
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-05 14:09:12 +00:00
Alessandro Portale
dce06016ef Include some existing manual tests in the Qbs build system
Change-Id: Iceb346c42ff798430fb4ee6887b34f89768f014b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-12-11 13:35:11 +00:00
Alessandro Portale
b031a7c5cd ManhattanStyle: Add a manual test program for style development
Just a small tool for a fast overview. Actual fixes to the Manhattan
style follow later.

Task-number: QTCREATORBUG-23505
Change-Id: Iffd0db42d379c81c4e07e71919723cd6d684b514
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-08-03 17:24:57 +00:00
Alessandro Portale
4c6e5c2ba0 Tests: Introduce theme selection combobox in manual widget tests
Instead of duplicating a couple of code lines and hardcoding the
used theme, create a commonly used QComboBox as theme selector.

The selected theme remains stored in the settings.

Change-Id: I78f0d59a5594e7cc4f899656caaae1bb7caab385
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2020-08-03 17:24:48 +00:00
Alessandro Portale
25323be13d Utils: Fix setting of minimal height of InfoLabels in QFormLayout
Calling setMinimumHeight is not compatible with QFormLayout if the label
has multiple lines. Overriding minimumSizeHint on the other hand is.

Change-Id: Id2167b295620322cec75035d7cc7125cc3221c4d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-01-09 12:26:57 +00:00
Alessandro Portale
cd86aa05d6 Utils: Introduce InfoLabel
Utils::InfoLabel is meant to replace around 30 custom implementations of
a QHBoxLayout with an pixmap QLabel and a text QLabel.

Instead of fiddling with pixmaps, the user of InfoLabel can set an enum
for info/warning/etc... type. Internally, a globally shared QIcon is
used. The usage of QIcon ensures that @1x, @2x and hybrid cases are
handled.

Task-number: QTCREATORBUG-23346
Change-Id: I0f91a21e64f095db14837512263c4becbb2c13d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-12-19 14:02:10 +00:00
Christian Stenger
019e384495 Rename pro file back to its old name
Partially revert for 3edfced05f.

Change-Id: I7eba8d709cf148bcba9c70162cdfc8bfd09375fc
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2019-12-18 06:23:57 +00:00
Alessandro Portale
3edfced05f CMake build system: Add manual tests
With tst_manual_widgets_crumblepath as first candidate.

Change-Id: If66b53a459865903b2028966ac2d6d9357356aed
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2019-12-17 14:59:20 +00:00
Alessandro Portale
8895ef1ddb Utils: Add a manual test for Utils::CrumblePath
Using a small test app for testing the CrumblePath is less clumsy than
doing that in Qt Quick Designer.

Change-Id: I4a1d739aa303adfd799df33eb00fb8cd513304c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-11-27 14:07:40 +00:00