aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/designer
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Fix static build of Qt CreatorCristian Adam7 days1-1/+1
| | | | | | | | The plugin class names were different, and this is important for static plugins because the symbols wouldn't be found at linking time. Change-Id: Ia2254e5ce811fe23daf12e445593980211b7cd47 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CppEditor: Make header guard naming user-configurableChristian Kandeler7 days1-1/+3
| | | | | | Fixes: QTCREATORBUG-25117 Change-Id: I732e9a8f146b4d6a346492141ec364a99f167b94 Reviewed-by: David Schulz <david.schulz@qt.io>
* Wizards: Remove remaining uses of classToHeaderGuard()Christian Kandeler9 days1-1/+1
| | | | | | | Amends 335c552bdafb0966492a675011a696843303af80. Change-Id: I4f43e74f74cd42c4139e91b80abe89bf371411ef Reviewed-by: David Schulz <david.schulz@qt.io>
* Fix some random deprecation warninghjk13 days1-1/+1
| | | | | | | | | | if QT_DEPRECATED_SINCE(6, 0) QT_DEPRECATED_VERSION_X_6_0("Use position().toPoint()") inline QPoint pos() const { return position().toPoint(); } ... Change-Id: If885b26c8e5f4d68ca1c5c7e4ffc495b0701b210 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Fix json templatesChristian Stenger2024-05-311-1/+1
| | | | | | | Amends 6cd7aed8ebe6b1e18d875f1559c70ff46bc09881. Change-Id: Ia8369c69530854488007ef28c191fdfbca4c082c Reviewed-by: hjk <hjk@qt.io>
* Add long descriptions to some pluginsLeena Miettinen2024-05-311-1/+4
| | | | | | | | | | | | Edited the short descriptions to answer the question "What can I do with this extension" to help users decide whether they need it. In long descriptions, tell users what else they need to be able to use the plugin. Change-Id: Iefce7505b61fc77cf38cc915f1f7dbd25c9cb570 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* PluginSpecs: Change URLs from http:// to https://Alessandro Portale2024-05-281-1/+1
| | | | | | | | | | Avoid the redirect that is inevitable nowerdays. Also, change necessitas.kde.org to www.qt.io, since the orgininal page is offline. Change-Id: Ib1823f0df97d2df87822fd2bb7552e2f2c7e971e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Utils: Add factory functions for ChangeSetChristian Kandeler2024-05-271-3/+1
| | | | | | | | This greatly simplifies code that produces change sets with a single EditOp. Change-Id: If042bb91e5132b7141d88404cfbd3ba12632b52d Reviewed-by: David Schulz <david.schulz@qt.io>
* TextEditor: Add a convenience overload for RefactoringFile::apply()Christian Kandeler2024-05-241-2/+1
| | | | | | | | | ... and make use of it. In most contexts, apply() immediately follows setChangeSet(), so combining the two can save a lot of code on the call site. Change-Id: I421001bd47000cb64678a57b19760becf59a4863 Reviewed-by: David Schulz <david.schulz@qt.io>
* Fix QMetaType::type() related deprecation warningshjk2024-05-231-1/+1
| | | | | | | Not in sdktool, which still builds with Qt 5.15 Change-Id: I6e6f4331127b821e471e2840e7959cd65e6419e9 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Rename Qt Designer -> Qt Widgets DesignerEike Ziller2024-05-2310-19/+29
| | | | | | Fixes: QTCREATORBUG-30756 Change-Id: Icb4a2513e230b71b5bb5033ead6a09ad3a8963ab Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Merge remote-tracking branch 'origin/13.0'Eike Ziller2024-05-171-1/+1
|\ | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc qbs/modules/qtc/qtc.qbs Change-Id: I67a2540677a8b5c309c0c81e2a509a61d0a65aa8
| * Designer: Do not default to Qt4 module names in include statementsChristian Kandeler2024-05-071-1/+1
| | | | | | | | | | | | | | Fixes: QTCREATORBUG-30751 Change-Id: Ieca6779aa40b55536f0ce07b1803ff7a1a31004c Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* | CppEditor: Make check for clangd more fine-grainedChristian Kandeler2024-02-211-1/+2
|/ | | | | | | | | | | ... in the quickfix factories. We want to be able to offer or not offer certain quickfixes based on the current clangd version. Change-Id: I7dca69ff990ab9f1a691785cd72e633f7882ae3d Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Various plugins: Replace QMap with QHashJarek Kobus2024-01-291-1/+1
| | | | | | | The key is a pointer, so use QHash. Change-Id: Iad633b9e599d653606d386371b71b002baac6371 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CppEditor: Move CppHeaderSource implementation and test to same fileshjk2024-01-261-1/+0
| | | | | | | ... and remove the now-empty cppeditorplugin.h Change-Id: Ia28b180c280ba7b10ce0f2826f2ac69d128a453c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Designer: Compile fixJarek Kobus2024-01-151-0/+1
| | | | | | | Amends d5938cf2bc281de87fc2318d4a7fece6437a2478 Change-Id: I2c48c0807362fb6963cb6f11402af6e6dea1d53b Reviewed-by: hjk <hjk@qt.io>
* Designer: Rename formeditorplugin.cpp to designerplugin.cpphjk2024-01-153-6/+6
| | | | | Change-Id: Ic8df98e64b56448ae70cab617693d68062f685d2 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Designer: Hide plugin class definition in .cpphjk2024-01-156-154/+132
| | | | | | Change-Id: I722fa069e5bd00b3f5f2cbfbe38c0a2e0247dcb5 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Merge remote-tracking branch 'origin/12.0'Eike Ziller2023-12-111-45/+103
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/designer/formeditor.cpp src/plugins/git/gitplugin.cpp Change-Id: I554a844fab4c55249a00f394f9ba174c7548dbbe
| * Designer: Fix the mapping between buttons and edit modeEike Ziller2023-12-081-45/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tool buttons for switching the edit mode e.g. between "edit", "signals/slots", and "buddy" hardcoded the index of the corresponding tool in designer. The index in designer depends on the load order of (static) plugins, that has changed in qtbase 2f226336a2aeb477b7ba339b6c3a63abb69746c3 (Qt 6.5.1 and later). Instead of relying on the index/plugin load order, try to find the right tool by class name (still falling back to the index otherwise). It would be nicer if the tools had actual IDs though, but that change would need to go into Designer first. Fixes: QTCREATORBUG-30017 Change-Id: I17caea6289574db2b1c8934e80d865a142b74725 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* | IMode: Make main window an (optional) propertyEike Ziller2023-11-291-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Un-virtualize IMode::mainWindow. If the mode widget is a main window directly, that is handled automatically, otherwise provide a setter. It is better to have a central point for setting it, in case that it isn't the mode widget in the first place. Also, using Aggregation::query for this is actually a misuse of Aggregate, which is supposed to combine _independent_ objects, not objects that are in the same hierarchy (which can crash if the child object is deleted first). Change-Id: I35381e0a05645022aac72501492ea6347953cd55 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* | Use sidebar buttons for hiding/showing dock areasEike Ziller2023-11-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, if a mode includes navigation widget placeholders, these are used for the sidebar toggle buttons, otherwise the buttons are disabled. Now, if a mode does not include navigation widget placeholders, but the mode has a FancyMainWindow attached, use the buttons to hide or show the corresponding dock widget area (left or right). Since QMainWindow does not really support "hiding a dock widget area", the FancyMainWindow needs to track that state manually, by tracking the dock widgets that were visible before "hiding the dock widget area". Also, if a dock widget is dragged into a "hidden" area, or a widget is made visible or "unfloated" into that area, show the other widgets in the area again as well, "unhiding" the area. Since the mode widgets that have a mainwindow somewhere usually wrap that into a splitter for the output panes, and the Design mode is actually a stack widget, IMode needs another method that returns the appropriate FancyMainWindow if available. The patch implements this for Widget Designer. Change-Id: I03531f4d5130c846ff5d65831b1c9be210e1c561 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Widget Designer: Hide the toggle action for the central widgetEike Ziller2023-11-271-0/+1
| | | | | | | | | | | | | | | | | | It doesn't really make sense to toggle the central widget (= form editor) for widget designer Change-Id: I6ebcc9e1c2a57f1377c16a791b27b44f081042c3 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* | Widget Designer: Adapt after dock widget redesignEike Ziller2023-11-273-18/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the redesign, the dock widgets didn't have a "tool bar" at the top, so we had the designer tool bar with the document dropdown and form related tool buttons spanning the whole design mode width (to have a continuous styled bar at the top of the window). Now the dock widgets' title widget is a styled bar, so we would have the designer tool bar, and below that the styled bar from the dock widgets, which unnecessarily creates a big blog of styled bars. Instead, move the designer tool bar inside the central form widget. The title bars from the dock widgets complete the top styled bar now. This is also more consistent with Edit mode. Change-Id: I7d322a75a8a34120763b4dd85c44ddf674930e36 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* | Fix compiler warningsEike Ziller2023-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | "braces around scalar initializer" and "lambda capture 'this' is not used" Amends b60fd77fc128133f408d67beda814c55e8364d3e Amends 181b362fcf16bd420d51d80df4189e1e6f5dbefe Change-Id: Ie7c21db13644e98c0eec06a22f977ed4b923fae3 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Fix clearing the list of wizard factoriesEike Ziller2023-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Clearing the list of wizard factories did not result in updating the available JSON wizards. The JSON wizard paths were scanned only once at startup. Instead partially revert back to before 1cf6b031cfdf7344eb2ce6a403aa1029b7b8f75e and let the JSON "factory creator" parse the directories and return a list of wizard factories. Change-Id: Ifc253479973be801c5323588800bb264610187b6 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* | Utils/all: Move mime constants into a central placehjk2023-11-086-10/+24
| | | | | | | | | | | | | | | | They are reasonably standardized, and generally usable cross-plugin, so this can help to avoid a few cross-plugin compiletime dependencies. Change-Id: Icb2b010c3e12dee69df54ab16f6f8e90d9cffba6 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | FancyMainWindow: Remove auto-hide title bars functionalityEike Ziller2023-11-071-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This added complexity with the hovering to get the title bars shown, and discoverability issues with the action in the views menu to show all title bars, and the issue that some docks then had double titles, because we wanted some title to be shown even if the title bar is hidden. Instead only show the dock control buttons only on hover, which already removes a lot visual clutter that was the main reason for the whole exercise. One issue is that the title is now uselessly repeated for tabbed docks. Another is that the title bar style is ugly and not very compatible to what we otherwise have. Change-Id: Ib093e0a3f2f07ece74b9055015c5523994032c5a Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* | Merge remote-tracking branch 'origin/12.0'Eike Ziller2023-11-061-0/+1
|\| | | | | | | Change-Id: I517dc84e975a570edd363253ad444a01799dbc4b
| * Designer: Remove extra contents margins in the settings dialogAlessandro Portale2023-11-031-0/+1
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-29108 Change-Id: If3c6b0bcf9e1f05705c7e85fd814740235dbc7a6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* | Merge remote-tracking branch 'origin/12.0'Eike Ziller2023-10-261-1/+2
|\| | | | | | | Change-Id: I6309a8ffb18e40a581301bd275390395e250543c
| * Designer: Ignore layout name changes from property editorChristian Kandeler2023-10-251-1/+2
| | | | | | | | | | | | | | | | | | | | As it turns out, changes to "objectName" and "layoutName" both result in the objectNameChanged() signal getting emitted. We must handle these the same way. Fixes: QTCREATORBUG-29644 Change-Id: I41ecc4867f3df8eedf325eda750b947a57c90c10 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Designer: Use proper formatting and indentationChristian Kandeler2023-10-172-7/+32
|/ | | | | | | | ... when inserting member functions via "go to slot". Fixes: QTCREATORBUG-11730 Change-Id: I5de6947069e2c376758d0a79f6d1d710882aee66 Reviewed-by: David Schulz <david.schulz@qt.io>
* Designer: Remove unused codeChristian Kandeler2023-10-112-11/+0
| | | | | | | | | Amends bbbc90ee1d1ff1ff265d0cbb1de1fe668103d9ad. Change-Id: I963859c6f38621f0b2d6a21b45078c23c89d99e6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Utils, all: Standardize on QtcSettingshjk2023-09-271-12/+11
| | | | | Change-Id: Id222016f15b1c3bfe6710fe5d0297666d4565ef1 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Utils: Use a proper class as Keyhjk2023-09-271-3/+3
| | | | | | | | | | | | | | | | The Key encapsulates now a QByteArray. Plan is to use QByteArray::fromRawData on literals, but that's not active yet due to an unclear ASAN report, see the gerrit discussion. For now we also paddle back when interfacing QSettings, instead of mimicing writing a QVariantMap (and fail in some corners), always convert the Store. This is meant to go away in the future when code paths are better controled. Change-Id: Id1206a434d511f8003903d5322c7c9bd5f5fb859 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* qbs build: Move pluginjson replacements property to the moduleChristian Kandeler2023-09-141-1/+1
| | | | | | | | ... where it clearly belongs. Change-Id: I22d098b701e4921cde53ab34d11ab0078326ab94 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Replace QFile::exists by QFileInfo::existshjk2023-09-011-1/+1
| | | | | | | | QFile::exists only calls QFileInfo::exists, so this saves one function call per invocation. Change-Id: I41cb407345654eeead14455a4955b8b9b015aedc Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: Use Key more widely in QtcSettingshjk2023-08-302-13/+12
| | | | | | | And adapt user code. Change-Id: I6efe4ebe6823de4cc862f304a57e041b02c40eac Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
* Editor: remove duplicated path is empty checks when savingDavid Schulz2023-08-281-9/+4
| | | | | Change-Id: I1fdaacd44918a63e55bce9f15f3f80782ddcbe55 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QtSupport: Make CodeGenSettingsPage use the standard settings patternhjk2023-08-251-17/+15
| | | | | | Change-Id: Idf4cf50f186e79981d64d9e9567b7fcbcb9eb1cd Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Designer plugin: Simplify connectionsFriedemann Kleint2023-08-231-2/+3
| | | | | | | | | Connect to members instead of using lambdas. Amends 93de403391b59acf90fbe7319a059382dfe458a6. Change-Id: I401f550ee3f2e3a12086b064f698ec2fc8b5aca6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* ProjectExplorer: Self-register JsonWizardPage related factorieshjk2023-08-181-2/+1
| | | | | | | Moves the using code closer to the common factory setup pattern. Change-Id: I2ee85b911d43b63730ff994a4b07568b23b14f00 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* VariousPlugins: Fix forward declarationsJarek Kobus2023-08-171-1/+3
| | | | | | | | The pattern is to use QT_[BEGIN/END]_NAMESPACE, instead of QT_FORWARD_DECLARE_CLASS. Change-Id: I9da39ee003e1d477a5f56980c218e275706bb3f4 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Designer: Fix qbs buildChristian Stenger2023-07-311-0/+14
| | | | | | | Amends 8d5897b8eb7a753b38734fc6c1bde2cef873b768. Change-Id: Ia297433fbcff88f352c23bae89625ee42ccd78be Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Designer: Add -designer-qt-pluginpath argument also for Qt < 6.7Eike Ziller2023-07-283-6/+41
| | | | | | | | | | | It doesn't have the public API yet, but hack it by temporarily changing the application's library path, which is used by designer for the default plugin paths. Change-Id: I658e41d1228cb89cb6e72d51f3e70b17de32127c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Core: Move settings category icon creation closer to its first usehjk2023-07-272-2/+3
| | | | | | | No real difference in performance, just stuff closer to its use. Change-Id: Ib41209fc90872743a3baa692c9bc32c87e951ad5 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Designer: Add command line arguments for plugin pathsEike Ziller2023-07-266-4/+80
| | | | | | | | | | | | | | | | Add a command line argument for overriding the default plugin path (useful if you have installed custom designer plugins in a different, compatible Qt version), and one for adding plugin paths (for example to separate builds of custom designer plugins that haven't been installed anywhere). This feature is only enabled when building with Qt >= 6.7, which added the option to change the plugin paths for designer. Change-Id: I990b26056477e3e41c6afe82479383d8bc7c45d0 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Build: Change plugin json.in files to CMake styleEike Ziller2023-07-251-16/+16
| | | | | | | | | | | | | They were still using variables in qmake style. Directly use CMake variables in the json.in files and remove the no longer needed escaping of quotes. Adds a fatal message if it detects the old style in a .json.in file for easier porting. Change-Id: I8de88d8db2da55781f0e9d72eda03f943723188e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>