diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2021-11-30 17:45:08 +0100 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2021-12-01 03:34:00 +0000 |
commit | 37215287ba4c04174d6006a89e34966e2b5634cb (patch) | |
tree | 6782bd988e9380b0ec1f2e6b63635b3d491cd626 | |
parent | fe433a5b36b4a249711d7b64314f26dcd178eef6 (diff) | |
parent | 1e537f7ab0f0ff97d9cb57a88d18a468654b8c27 (diff) | |
download | qt-creator-37215287ba4c04174d6006a89e34966e2b5634cb.tar.gz |
Merge remote-tracking branch 'origin/6.0' into qds-2.3
Change-Id: I92481f36fb28a801ae3bbbf68733e8410d212ee5
41 files changed, 257 insertions, 109 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 92ce88f52c..d09b385b87 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -1,6 +1,10 @@ name: CMake Build Matrix -on: [push, pull_request] +on: + push: + paths-ignore: + - 'dist/**' + - 'doc/**' env: QT_VERSION: 6.2.1 @@ -350,34 +354,58 @@ jobs: message("::set-output name=elfutils_dir::${elfutils_dir}") - name: Download ccache - id: ccache shell: cmake -P {0} run: | set(ccache_url "https://github.com/cristianadam/ccache/releases/download/v$ENV{CCACHE_VERSION}/${{ runner.os }}.tar.xz") file(DOWNLOAD "${ccache_url}" ./ccache.tar.xz SHOW_PROGRESS) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./ccache.tar.xz) - - name: Prepare ccache timestamp - id: ccache_cache_timestamp + - name: Prepare ccache archive name + id: ccache shell: cmake -P {0} run: | - string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) - message("::set-output name=timestamp::${current_date}") - file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}" github_workspace) include(${github_workspace}/cmake/QtCreatorIDEBranding.cmake) string(REPLACE "." ";" IDE_VERSION_LIST ${IDE_VERSION_DISPLAY}) list(GET IDE_VERSION_LIST 0 IDE_VERSION_MAJOR) - message("::set-output name=ide_major_version::${IDE_VERSION_MAJOR}") - + message("::set-output name=archive_name::ccache-${{ matrix.config.os }}-${{ matrix.config.cc }}-qtc${IDE_VERSION_MAJOR}") - - name: ccache cache files - uses: actions/cache@v1 - with: - path: .ccache - key: ${{ matrix.config.name }}-ccache-${{ steps.ccache_cache_timestamp.outputs.ide_major_version }}-${{ steps.ccache_cache_timestamp.outputs.timestamp }} - restore-keys: | - ${{ matrix.config.name }}-ccache-${{ steps.ccache_cache_timestamp.outputs.ide_major_version }} + - name: Download ccache archive + shell: cmake -P {0} + run: | + file(WRITE $ENV{GITHUB_WORKSPACE}/netrc.txt + "default login runneradmin password ${{ secrets.GITHUB_TOKEN }}") + + foreach(page_id RANGE 1 10) + file( + DOWNLOAD "https://api.github.com/repos/${{ github.repository }}/actions/artifacts?per_page=100&page=${page_id}" + HTTPHEADER "Accept: application/vnd.github.v3+json" + NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt" + NETRC REQUIRED + SHOW_PROGRESS + artifacts.json) + file(READ artifacts.json artifacts_json) + + string(JSON artifacts_length LENGTH "${artifacts_json}" "artifacts") + math(EXPR artifacts_length "${artifacts_length} - 1") + foreach(idx RANGE 0 ${artifacts_length}) + string(JSON artifact_js GET "${artifacts_json}" "artifacts" ${idx}) + string(JSON name GET "${artifact_js}" "name") + if ("${name}" STREQUAL "${{ steps.ccache.outputs.archive_name }}") + string(JSON download_url GET "${artifact_js}" "archive_download_url") + file(DOWNLOAD "${download_url}" + "${{ steps.ccache.outputs.archive_name }}.zip" + NETRC_FILE "$ENV{GITHUB_WORKSPACE}/netrc.txt" + NETRC REQUIRED + SHOW_PROGRESS) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf "${{ steps.ccache.outputs.archive_name }}.zip") + file(MAKE_DIRECTORY .ccache) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf "../${{ steps.ccache.outputs.archive_name }}.tar" WORKING_DIRECTORY .ccache) + + return() + endif() + endforeach() + endforeach() - name: Install system libs shell: cmake -P {0} @@ -455,8 +483,10 @@ jobs: string(REPLACE "x86" "x64" Python3_EXECUTABLE "${Python3_EXECUTABLE}") set(WITH_TESTS "--with-tests") + set(NO_DMG "--no-dmg") if (${{github.ref}} MATCHES "tags/v") unset(WITH_TESTS) + unset(NO_DMG) endif() execute_process( @@ -472,6 +502,7 @@ jobs: ${WITH_TESTS} ${CDB_OPTION} ${ELFUTILS_OPTION} + ${NO_DMG} --add-config=-DCMAKE_C_COMPILER_LAUNCHER=ccache --add-config=-DCMAKE_CXX_COMPILER_LAUNCHER=ccache --add-config=-DIDE_REVISION_URL=https://github.com/$ENV{GITHUB_REPOSITORY}/commits/$ENV{GITHUB_SHA} @@ -534,38 +565,48 @@ jobs: endif() - name: Upload - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: path: build/qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z - name: Upload Devel - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: path: build/qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z - name: Upload wininterrupt if: runner.os == 'Windows' - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: path: build/wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z name: wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z - name: Upload qtcreatorcdbext if: runner.os == 'Windows' && matrix.config.is_msvc - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: path: build/qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z - name: Upload disk image - if: runner.os == 'macOS' - uses: actions/upload-artifact@v1 + if: runner.os == 'macOS' && contains(github.ref, 'tags/v') + uses: actions/upload-artifact@v2 with: path: build/qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg name: qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg + - name: Create ccache archive + working-directory: .ccache + run: cmake -E tar cf ../${{ steps.ccache.outputs.archive_name }}.tar . + + - name: Upload ccache archive + uses: actions/upload-artifact@v2 + with: + path: ./${{ steps.ccache.outputs.archive_name }}.tar + name: ${{ steps.ccache.outputs.archive_name }} + release: if: contains(github.ref, 'tags/v') runs-on: ubuntu-latest @@ -587,7 +628,7 @@ jobs: run: | echo "${{ steps.create_release.outputs.upload_url }}" > ./upload_url - - uses: actions/upload-artifact@v1 + - uses: actions/upload-artifact@v2 with: path: ./upload_url name: upload_url @@ -620,40 +661,40 @@ jobs: steps: - name: Download artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}.7z path: ./ - name: Download Devel artifact - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: qtcreator-${{ matrix.config.artifact }}-${{ github.run_id }}_dev.7z path: ./ - name: Download wininterrupt artifact if: contains(matrix.config.artifact, 'Windows') - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: wininterrupt-${{ matrix.config.artifact }}-${{ github.run_id }}.7z path: ./ - name: Download qtcreatorcdbext artifact if: matrix.config.artifact == 'Windows-MSVC' - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: name: qtcreatorcdbext-${{ matrix.config.artifact }}-${{ github.run_id }}.7z path: ./ - name: Download disk image artifact if: matrix.config.artifact == 'macOS' - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: name: qt-creator-${{ matrix.config.artifact }}-${{ github.run_id }}.dmg path: ./ - name: Download URL - uses: actions/download-artifact@v1 + uses: actions/download-artifact@v2 with: name: upload_url path: ./ diff --git a/dist/changes-6.0.0.md b/dist/changes-6.0.0.md index 475250748c..89b91547e2 100644 --- a/dist/changes-6.0.0.md +++ b/dist/changes-6.0.0.md @@ -47,6 +47,16 @@ Editing * Added option for `Insert header files on completion` * Improved location of generated `compile_commands.json` (QTCREATORBUG-26431) * Fixed missing reparsing after refactorings (QTCREATORBUG-26523) + * Fixed that parameters were incorrectly highlighted as output parameters + * Fixed highlighting of string literals in macros (QTCREATORBUG-26553) + * Fixed icon of signals and slots in completion list (QTCREATORBUG-26555) + * Fixed header completion for Qt headers (QTCREATORBUG-26482) + * Fixed code model update after UI header change + * Fixed that `Find References` could show results for deleted files + (QTCREATORBUG-26574) + * Fixed that highlighting of current symbol could vanish (QTCREATORBUG-26339) + * Fixed that nested items were not synchronized with cursor position in + outline (QTCREATORBUG-26509) ### QML @@ -75,6 +85,7 @@ Projects * Fixed that re-detecting compilers removed compilers from kits (QTCREATORBUG-25697) * Fixed GitHub action created by Qt Creator plugin wizard for Qt 6 +* Fixed crash when canceling device test dialog (QTCREATORBUG-26285) ### CMake @@ -155,10 +166,16 @@ Platforms * Added details to device settings (QTCREATORBUG-23991) * Added filter field for Android SDK manager * Fixed that NDK 22 and later could not be added +* Fixed creation of Android template files (QTCREATORBUG-26580) + +### iOS + +* Fixed that no tasks were created for build issues (QTCREATORBUG-26541) ### WebAssembly -* Fixed running applications (QTCREATORBUG-25905, QTCREATORBUG-26189) +* Fixed running applications (QTCREATORBUG-25905, QTCREATORBUG-26189, + QTCREATORBUG-26562) ### MCU diff --git a/doc/qtcreator/images/icons/create-tracepoint.png b/doc/qtcreator/images/icons/create-tracepoint.png Binary files differnew file mode 100644 index 0000000000..cf410b6099 --- /dev/null +++ b/doc/qtcreator/images/icons/create-tracepoint.png diff --git a/doc/qtcreator/images/icons/output-pane-menu.png b/doc/qtcreator/images/icons/output-pane-menu.png Binary files differnew file mode 100644 index 0000000000..66162eed13 --- /dev/null +++ b/doc/qtcreator/images/icons/output-pane-menu.png diff --git a/doc/qtcreator/images/qtcreator-cpu-usage-analyzer-load-perf-trace.png b/doc/qtcreator/images/qtcreator-cpu-usage-analyzer-load-perf-trace.png Binary files differindex ea14710066..8bfb90a27d 100644 --- a/doc/qtcreator/images/qtcreator-cpu-usage-analyzer-load-perf-trace.png +++ b/doc/qtcreator/images/qtcreator-cpu-usage-analyzer-load-perf-trace.png diff --git a/doc/qtcreator/images/qtcreator-output-panes-taskbar.png b/doc/qtcreator/images/qtcreator-output-panes-taskbar.png Binary files differnew file mode 100644 index 0000000000..e6430e4569 --- /dev/null +++ b/doc/qtcreator/images/qtcreator-output-panes-taskbar.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-create-memory-trace-points.png b/doc/qtcreator/images/qtcreator-performance-analyzer-create-memory-trace-points.png Binary files differnew file mode 100644 index 0000000000..f924b208a0 --- /dev/null +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-create-memory-trace-points.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-flamegraph.png b/doc/qtcreator/images/qtcreator-performance-analyzer-flamegraph.png Binary files differindex ca5affa482..586fd99024 100644 --- a/doc/qtcreator/images/qtcreator-performance-analyzer-flamegraph.png +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-flamegraph.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-settings.png b/doc/qtcreator/images/qtcreator-performance-analyzer-settings.png Binary files differindex 7b3afa1395..73f5c60107 100644 --- a/doc/qtcreator/images/qtcreator-performance-analyzer-settings.png +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-settings.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-statistics.png b/doc/qtcreator/images/qtcreator-performance-analyzer-statistics.png Binary files differindex 747bc32414..13a0fd9fa7 100644 --- a/doc/qtcreator/images/qtcreator-performance-analyzer-statistics.png +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-statistics.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-timeline.png b/doc/qtcreator/images/qtcreator-performance-analyzer-timeline.png Binary files differindex 2a00dea238..f47d79787b 100644 --- a/doc/qtcreator/images/qtcreator-performance-analyzer-timeline.png +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-timeline.png diff --git a/doc/qtcreator/images/qtcreator-performance-analyzer-toolbar.png b/doc/qtcreator/images/qtcreator-performance-analyzer-toolbar.png Binary files differnew file mode 100644 index 0000000000..84dc02f78c --- /dev/null +++ b/doc/qtcreator/images/qtcreator-performance-analyzer-toolbar.png diff --git a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc index 5c668c1163..eb9e8ce449 100644 --- a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc +++ b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -72,7 +72,9 @@ \li Select the \inlineimage qtcreator-analyze-start-button.png (\uicontrol Start) button to start the application from the - Performance Analyzer. + \uicontrol {Performance Analyzer}. + + \inlineimage qtcreator-performance-analyzer-toolbar.png "Performance Analyzer toolbar" \endlist @@ -101,9 +103,21 @@ To create trace points for profiling memory usage on a target device, select \uicontrol Analyze > \uicontrol {Performance Analyzer Options} > - \uicontrol {Create Memory Trace Points}. + \uicontrol {Create Memory Trace Points} or select + \inlineimage icons/create-tracepoint.png + on the \uicontrol {Performance Analyzer} toolbar. + + In the \uicontrol {Create Memory Trace Points} dialog, you can modify the + script to run. + + \image qtcreator-performance-analyzer-create-memory-trace-points.png "Create Memory Trace Points dialog" + + If you need root privileges to run scripts as root, select the privileges to + use in the \uicontrol {Elevate privileges using} field. + + Select \uicontrol OK to run the script. - To add events for the trace points, see \l{Choosing Event Types} + To add events for the trace points, see \l{Choosing Event Types}. You can record a memory trace to view usage graphs in the samples rows of the timeline and to view memory allocations, peaks, and releases in the @@ -418,8 +432,8 @@ You can load any \c perf.data files generated by recent versions of the Linux Perf tool and view them in \QC. Select \uicontrol Analyze > - \uicontrol {Performance Analyzer Options} > \uicontrol {Load perf.data} to - load a file. + \uicontrol {Performance Analyzer Options} > \uicontrol {Load perf.data File} + to load a file. \image qtcreator-cpu-usage-analyzer-load-perf-trace.png diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc index 6ba4f49a6d..229abbddb5 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -111,35 +111,30 @@ \section1 Find a specific setting - To find specific settings you require in \uicontrol{Tools} > \uicontrol{Options} + To find specific settings in \uicontrol Tools > \uicontrol Options, use the filter located at the top left of the \uicontrol Options dialog box. \section1 Open output panes - The output panes provide a list of errors and warnings encountered during - a build, detailed output from the compiler, status of a program when it is - executed and debug output, as well as search results. + The \l{Viewing Output}{output panes} provide a list of errors and warnings + encountered during a build, detailed output from the compiler, status of a + program when it is executed, debug output, and search results. To open output panes, use the following shortcuts: \list - \li \uicontrol{Issues} pane Alt+1 (Cmd+1 on \macos) + \li \uicontrol{Issues} - \key Alt+1 (\key Cmd+1 on \macos) - \li \uicontrol{Search Results} pane Alt+2 (Cmd+2 on \macos) + \li \uicontrol{Search Results} - \key Alt+2 (\key Cmd+2 on \macos) - \li \uicontrol{Application Output} pane Alt+3 (Cmd+3 on \macos) + \li \uicontrol{Application Output} - \key Alt+3 (\key Cmd+3 on \macos) - \li \uicontrol{Compile Output} pane Alt+4 (Cmd+4 on \macos) + \li \uicontrol{Compile Output} - \key Alt+4 (\key Cmd+4 on \macos) \endlist - To open the other output panes, such as \uicontrol{General Messages} and - \uicontrol{Version Control}, select \uicontrol View > - \uicontrol {Output Panes}. The menu items also display - the keyboard shortcuts that you can use. - - For more information about output panes, see \l{Viewing Output}. + For additional ways to open all output panes, see \l{Viewing Output}. \section1 Find keyboard shortcuts @@ -147,17 +142,17 @@ You can see the keyboard shortcut for a menu command in the menu or the tooltip for a button. - To customize, import or export keyboard shortcuts, select \uicontrol Tools > + To customize, import, or export keyboard shortcuts, select \uicontrol Tools > \uicontrol Options > \uicontrol Environment > \uicontrol Keyboard. \section1 Run \QC from the command line - You can launch \QC from command line using the name of an - existing session or \c .pro file by giving the name as the command - argument. + You can launch \QC from the command line using the name of an + existing \l{Managing Sessions}{session} or project file by entering + the name as the command argument. - For example, running \tt{qtcreator somesession}, launches \QC and - loads session somesession. + For example, running \c {qtcreator somesession}, launches \QC and + loads the session called \e somesession. For more information, see \l{Using Command Line Options}. @@ -210,7 +205,7 @@ If special debugging of Qt objects fails due to data corruption within the debugged objects, you can switch off the debugging helpers. When debugging - helpers are switched off low-level structures become visible. + helpers are switched off, low-level structures become visible. To switch off the debugging helpers: \list 1 @@ -250,7 +245,7 @@ \section1 Quickly locate files using the keyboard The \uicontrol Locator provides one of the easiest ways in \QC to browse - through projects, files, classes, functions, documentation and file systems. + through projects, files, classes, functions, documentation, and file systems. To quickly access files not directly mentioned in your project, you can create your own locator filters. That way you can locate files in a directory structure you have defined. @@ -307,12 +302,14 @@ \section1 Enclose selected code in curly braces, parentheses, or double quotes - Press \key {Shift} and then the opening character. + When you have selected code and enter one of the following opening + characters, the appropriate closing character is added automatically + at the end of the selection: \list - \li Curly braces: \key {Shift+\{} - \li Parentheses: \key {Shift+(} - \li Double quotes: \key {Shift+"} + \li { + \li ( + \li " \endlist \section1 Select the enclosing block in C++ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-autotools.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-autotools.qdoc index 5df4bbead7..7a29130ea3 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-autotools.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-autotools.qdoc @@ -35,7 +35,7 @@ The AutotoolsProjectManager is a plugin for autotools support. It is disabled by default. To enable the plugin, select \uicontrol Help > \uicontrol {About Plugins} > \uicontrol {Build Systems} > - \uicontrol AutotoolsProjectManager.Then select \uicontrol {Restart Now} + \uicontrol AutotoolsProjectManager. Then select \uicontrol {Restart Now} to restart \QC and load the plugin. To work with your Autotools project in \QC: diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc index bd23b7e1d0..2af504a69d 100644 --- a/doc/qtcreator/src/user-interface/creator-ui.qdoc +++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc @@ -384,9 +384,24 @@ \endlist - Output panes are available in all \l{Selecting Modes}{modes}. Click the name - of an output pane to open the pane. To maximize an open output pane, click - the \uicontrol {Maximize Output Pane} button or press \key {Alt+9}. + Output panes are available on the taskbar in all \l{Selecting Modes}{modes}. + + \image qtcreator-output-panes-taskbar.png "Output panes on the taskbar" + + You can open output panes in the following ways: + + \list + \li Select the output pane on the taskbar. + \li Select \key Alt (\key Cmd on \macos) and the number of the pane on + the taskbar. + \li Select \inlineimage icons/output-pane-menu.png + , and then select the pane to open. + \li Select \uicontrol View > \uicontrol {Output Panes}. + The menu items also display the keyboard shortcuts that you can use. + \endlist + + To maximize an open output pane, select the \inlineimage arrowup.png + (\uicontrol {Maximize Output Pane}) button or press \key {Alt+Shift+9}. To increase or decrease the output text size, select \inlineimage plus.png diff --git a/doc/qtdesignstudio/examples/doc/loginui1.qdoc b/doc/qtdesignstudio/examples/doc/loginui1.qdoc index e38a6c0aae..0165817ad6 100644 --- a/doc/qtdesignstudio/examples/doc/loginui1.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui1.qdoc @@ -55,7 +55,7 @@ To create a project: \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > + \li Select \uicontrol File > \uicontrol {New Project} > \uicontrol General > \uicontrol {Qt Quick Application - Empty} > \uicontrol Choose. \li In the \uicontrol Name field, enter the project name: \e {loginui1}. @@ -308,8 +308,8 @@ To create a push button by using the wizard template: \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} > + \li Select \uicontrol File > \uicontrol {New File} > + \uicontrol {Qt Quick Controls} > \uicontrol {Custom Button} > \uicontrol Choose. \li In the \uicontrol {Component name} field, enter a name for your button component: \e {EntryField}. diff --git a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc index 940a6d7057..28695ad5d4 100644 --- a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc +++ b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc @@ -46,8 +46,8 @@ \section1 Creating Reusable Buttons - We select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} > + We select \uicontrol File > \uicontrol {New File} > + \uicontrol {Qt Quick Controls} > \uicontrol {Custom Button} to create a reusable menu bar button that we call \e CustomButton. diff --git a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc index c0afed54fc..7d6177c35e 100644 --- a/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc +++ b/doc/qtdesignstudio/examples/doc/washingMachineUI.qdoc @@ -63,7 +63,7 @@ We use the \uicontrol {Qt for MCUs Application} project template to create an application for MCUs, which support only a subset of the preset \l{glossary-component}{components}. We select \uicontrol File > - \uicontrol {New File or Project} > \uicontrol {Qt for MCUs Application} > + \uicontrol {New Project} > \uicontrol {Qt for MCUs Application} > \uicontrol Choose, and follow the instructions of the wizard to create our project. @@ -100,7 +100,7 @@ that we use to indicate that a button is pressed. Alternatively, you could create the screens from scratch in \QDS - by selecting \uicontrol File > \uicontrol {New File or Project} > + by selecting \uicontrol File > \uicontrol {New File} > \uicontrol {Qt Quick Files}. While designing the screens, you can move reusable components into separate files. For more information, see \l{Components}. diff --git a/doc/qtdesignstudio/src/components/qtquick-buttons.qdoc b/doc/qtdesignstudio/src/components/qtquick-buttons.qdoc index a92328e038..d6ef4744b3 100644 --- a/doc/qtdesignstudio/src/components/qtquick-buttons.qdoc +++ b/doc/qtdesignstudio/src/components/qtquick-buttons.qdoc @@ -40,7 +40,7 @@ \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > + \li Select \uicontrol File > \uicontrol {New File} > \if defined(qtcreator) \uicontrol Qt > \uicontrol {Qt Quick UI File} > \else @@ -124,7 +124,6 @@ information, see \l{Creating Scalable Buttons and Borders}. */ - /*! \previouspage quick-buttons.html \page quick-scalable-image.html @@ -158,7 +157,7 @@ \section1 Creating the Button Component To create a button component, select \uicontrol File > - \uicontrol {New File or Project} > + \uicontrol {New File} > \if defined(qtcreator) \uicontrol Qt > \uicontrol {Qt Quick UI File} > \else diff --git a/doc/qtdesignstudio/src/components/qtquick-components-custom.qdoc b/doc/qtdesignstudio/src/components/qtquick-components-custom.qdoc index dc7ba75268..dc202be630 100644 --- a/doc/qtdesignstudio/src/components/qtquick-components-custom.qdoc +++ b/doc/qtdesignstudio/src/components/qtquick-components-custom.qdoc @@ -47,7 +47,7 @@ To use wizard templates to create custom components: \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > + \li Select \uicontrol File > \uicontrol {New File} > \if defined(qtcreator) \uicontrol Qt > \uicontrol {Qt Quick UI File} > \else diff --git a/doc/qtdesignstudio/src/qtdesignstudio-app-flows.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-app-flows.qdoc index 5c3ed81b77..1240adaab0 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-app-flows.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-app-flows.qdoc @@ -92,7 +92,7 @@ for it, as described in \l {Creating Projects}. To create the flow view, select \uicontrol File > - \uicontrol {New File or Project} > \uicontrol {Files and Classes} > + \uicontrol {New File} > \uicontrol {Qt Quick Files} > \uicontrol {Flow View} and follow the instructions of the wizard. @@ -197,8 +197,8 @@ To add flow items: \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {Qt Quick Files} > + \li Select \uicontrol File > \uicontrol {New File} > + \uicontrol {Qt Quick Files} > \uicontrol {Flow Item} and follow the instructions of the wizard to create flow items for each screen in the UI. \li Add content to the flow item in one of the following ways: @@ -649,8 +649,8 @@ \uicontrol Components > \uicontrol {Flow View}. \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {Qt Quick Files} > + \li Select \uicontrol File > \uicontrol {New File} > + \uicontrol {Qt Quick Files} > \uicontrol {Flow Item} to create a flow item. \li In \l States, add states to the flow item. \li Open the .ui.qml file that contains the \l{Adding Flow Views} diff --git a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc index 6214adf509..4107275d08 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-importing-2d.qdoc @@ -70,7 +70,7 @@ To import assets exported in \QB to \QDS projects: \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project} > + \li Select \uicontrol File > \uicontrol {New Project} > \uicontrol General > \uicontrol {Qt Quick Application - Empty} > \uicontrol Choose, and follow the instructions of the wizard to create an empty project. diff --git a/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc index 5c28b2efe4..e171806340 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-javascript.qdoc @@ -66,8 +66,8 @@ \code importPaths: [ "imports", "backend" ] \endcode - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {Qt Quick Files} > + \li Select \uicontrol File > \uicontrol {New File} > + \uicontrol {Qt Quick Files} > \uicontrol {Qt Quick File} > \uicontrol Choose to add a Qt Quick file that will specify the API of the UI. \li Follow the instructions of the wizard to create the Qt Quick file @@ -75,8 +75,8 @@ \e Values.qml. \note Make sure to capitalize the filename, because it will become a custom component. - \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol {Files and Classes} > \uicontrol {JavaScript} > + \li Select \uicontrol File > \uicontrol {New File} > + \uicontrol {JavaScript} > \uicontrol {JavaScript File} > \uicontrol Choose to create a JavaScript file that generates mock data for the UI. \li Follow the instructions of the wizard to create the JavaScript file diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc index 83ae79c533..f46b302cb3 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc @@ -111,7 +111,7 @@ \section1 Using Project Wizards \list 1 - \li Select \uicontrol File > \uicontrol {New File or Project}. + \li Select \uicontrol File > \uicontrol {New Project}. \li Select a wizard template, and then select \uicontrol Choose. \li In the \uicontrol Name field, enter a name for the project. Keep in mind that projects cannot be easily renamed later. diff --git a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc index d31bbc0cf4..a1b163bc21 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc @@ -193,7 +193,7 @@ example, if you create a 3D project, preset 3D components are added to it. You can add more preset components in \uicontrol Library. - \image studio-project-wizards.png "New File or Project dialog" + \image studio-project-wizards.png "New Project dialog" Read more about projects: diff --git a/scripts/build_plugin.py b/scripts/build_plugin.py index 7ba55ef38d..73d715331a 100755 --- a/scripts/build_plugin.py +++ b/scripts/build_plugin.py @@ -148,7 +148,8 @@ def package(args, paths): common.check_print_call(['7z', 'a', '-mmt2', os.path.join(paths.result, args.name + '_dev.7z'), '*'], paths.dev_install) - if args.with_debug_info: + # check for existence - the DebugInfo install target doesn't work for telemetry plugin + if args.with_debug_info and os.path.exists(paths.debug_install): common.check_print_call(['7z', 'a', '-mmt2', os.path.join(paths.result, args.name + '-debug.7z'), '*'], paths.debug_install) diff --git a/share/qtcreator/themes/dark.creatortheme b/share/qtcreator/themes/dark.creatortheme index 2d31ec4618..5d62a28a00 100644 --- a/share/qtcreator/themes/dark.creatortheme +++ b/share/qtcreator/themes/dark.creatortheme @@ -115,7 +115,7 @@ DStitleBarIcon=ffffffff DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ff1f1f1f DStabSplitter=ff595959 DStabInactiveBackground=ff1f1f1f diff --git a/share/qtcreator/themes/default.creatortheme b/share/qtcreator/themes/default.creatortheme index 5db987a02c..1fe39754d3 100644 --- a/share/qtcreator/themes/default.creatortheme +++ b/share/qtcreator/themes/default.creatortheme @@ -105,7 +105,7 @@ DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ff999999 DStabSplitter=ff595959 DStabInactiveBackground=ff999999 diff --git a/share/qtcreator/themes/design-light.creatortheme b/share/qtcreator/themes/design-light.creatortheme index abf1c2c657..25b83f151d 100644 --- a/share/qtcreator/themes/design-light.creatortheme +++ b/share/qtcreator/themes/design-light.creatortheme @@ -120,7 +120,7 @@ DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ffdadada DStabSplitter=ff595959 DStabInactiveBackground=ff999999 diff --git a/share/qtcreator/themes/design.creatortheme b/share/qtcreator/themes/design.creatortheme index ded6ffd4ae..882b69fd36 100644 --- a/share/qtcreator/themes/design.creatortheme +++ b/share/qtcreator/themes/design.creatortheme @@ -117,7 +117,7 @@ DStitleBarIcon=ffffffff DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ff1f1f1f DStabSplitter=ff595959 DStabInactiveBackground=ff1f1f1f diff --git a/share/qtcreator/themes/flat-dark.creatortheme b/share/qtcreator/themes/flat-dark.creatortheme index ee4d8e85ec..555c049a7b 100644 --- a/share/qtcreator/themes/flat-dark.creatortheme +++ b/share/qtcreator/themes/flat-dark.creatortheme @@ -114,7 +114,7 @@ DStitleBarIcon=ffffffff DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ff1f1f1f DStabSplitter=ff595959 DStabInactiveBackground=ff1f1f1f diff --git a/share/qtcreator/themes/flat-light.creatortheme b/share/qtcreator/themes/flat-light.creatortheme index dc894638f3..e3fd653722 100644 --- a/share/qtcreator/themes/flat-light.creatortheme +++ b/share/qtcreator/themes/flat-light.creatortheme @@ -110,7 +110,7 @@ DStitleBarIcon=ff4f5052 DStitleBarButtonHover=40ffffff DStitleBarButtonPress=60ffffff -DStabContainerBackground=ff0000ff +DStabContainerBackground=ffdadada DStabSplitter=ff595959 DStabInactiveBackground=ff999999 diff --git a/src/libs/CMakeLists.txt b/src/libs/CMakeLists.txt index 9abc90d155..1fd49e178e 100644 --- a/src/libs/CMakeLists.txt +++ b/src/libs/CMakeLists.txt @@ -31,6 +31,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qlitehtml/src/CMakeLists.txt) set(QLITEHTML_DEVEL_EXCLUDE_FROM_ALL ON) set(QLITEHTML_HEADER_PATH "${IDE_HEADER_INSTALL_PATH}/src/lib/qlitehtml") set(QT_VERSION_MAJOR ${Qt5_VERSION_MAJOR}) + set(BUILD_TESTING OFF) # otherwise litehtml downloads googletest add_subdirectory(qlitehtml/src) endif() if(TARGET qlitehtml) diff --git a/src/libs/utils/processreaper.cpp b/src/libs/utils/processreaper.cpp index c6d2a071f5..cbdf29abe7 100644 --- a/src/libs/utils/processreaper.cpp +++ b/src/libs/utils/processreaper.cpp @@ -31,6 +31,13 @@ #include <QThread> #include <QTimer> +#ifdef Q_OS_WIN +#ifdef QTCREATOR_PCH_H +#define CALLBACK WINAPI +#endif +#include <qt_windows.h> +#endif + using namespace Utils; namespace Utils { @@ -83,6 +90,26 @@ bool Reaper::isFinished() const return !m_process; } +#ifdef Q_OS_WIN +static BOOL sendMessage(UINT message, HWND hwnd, LPARAM lParam) +{ + DWORD dwProcessID; + GetWindowThreadProcessId(hwnd, &dwProcessID); + if ((DWORD)lParam == dwProcessID) { + SendNotifyMessage(hwnd, message, 0, 0); + return FALSE; + } + return TRUE; +} + +BOOL CALLBACK sendShutDownMessageToAllWindowsOfProcess_enumWnd(HWND hwnd, LPARAM lParam) +{ + static UINT uiShutDownMessage = RegisterWindowMessage(L"qtcctrlcstub_shutdown"); + return sendMessage(uiShutDownMessage, hwnd, lParam); +} + +#endif + void Reaper::nextIteration() { QProcess::ProcessState state = m_process ? m_process->state() : QProcess::NotRunning; @@ -96,10 +123,15 @@ void Reaper::nextIteration() if (m_lastState == QProcess::Starting) m_process->kill(); } else if (state == QProcess::Running) { - if (m_lastState == QProcess::Running) + if (m_lastState == QProcess::Running) { m_process->kill(); - else + } else if (m_process->program().endsWith(QLatin1String("qtcreator_ctrlc_stub.exe"))) { +#ifdef Q_OS_WIN + EnumWindows(sendShutDownMessageToAllWindowsOfProcess_enumWnd, m_process->processId()); +#endif + } else { m_process->terminate(); + } } m_lastState = state; @@ -149,10 +181,7 @@ void ProcessReaper::reap(QProcess *process, int timeoutMs) if (process->state() == QProcess::NotRunning) { process->deleteLater(); return; - } else { - process->kill(); } - // Neither can move object with a parent into a different thread // nor reaping the process with a parent makes any sense. process->setParent(nullptr); diff --git a/src/plugins/languageclient/semantichighlightsupport.cpp b/src/plugins/languageclient/semantichighlightsupport.cpp index 260cabd7e4..444cb23439 100644 --- a/src/plugins/languageclient/semantichighlightsupport.cpp +++ b/src/plugins/languageclient/semantichighlightsupport.cpp @@ -191,6 +191,7 @@ SemanticTokenSupport::SemanticTokenSupport(Client *client) void SemanticTokenSupport::refresh() { + qCDebug(LOGLSPHIGHLIGHT) << "refresh all semantic highlights for" << m_client->name(); m_tokens.clear(); for (Core::IEditor *editor : Core::EditorManager::visibleEditors()) onCurrentEditorChanged(editor); @@ -226,6 +227,8 @@ void SemanticTokenSupport::reloadSemanticTokens(TextDocument *textDocument) params.setTextDocument(docId); SemanticTokensFullRequest request(params); request.setResponseCallback(responseCallback); + qCDebug(LOGLSPHIGHLIGHT) << "Requesting all tokens for" << filePath << "with version" + << m_client->documentVersion(filePath); m_client->sendContent(request); } } @@ -238,19 +241,22 @@ void SemanticTokenSupport::updateSemanticTokens(TextDocument *textDocument) const VersionedTokens versionedToken = m_tokens.value(filePath); const QString &previousResultId = versionedToken.tokens.resultId().value_or(QString()); if (!previousResultId.isEmpty()) { - if (m_client->documentVersion(filePath) == versionedToken.version) + const int documentVersion = m_client->documentVersion(filePath); + if (documentVersion == versionedToken.version) return; SemanticTokensDeltaParams params; params.setTextDocument(TextDocumentIdentifier(DocumentUri::fromFilePath(filePath))); params.setPreviousResultId(previousResultId); SemanticTokensFullDeltaRequest request(params); request.setResponseCallback( - [this, filePath, documentVersion = m_client->documentVersion(filePath)]( + [this, filePath, documentVersion]( const SemanticTokensFullDeltaRequest::Response &response) { handleSemanticTokensDelta(filePath, response.result().value_or(nullptr), documentVersion); }); + qCDebug(LOGLSPHIGHLIGHT) + << "Requesting delta for" << filePath << "with version" << documentVersion; m_client->sendContent(request); return; } @@ -411,8 +417,10 @@ void SemanticTokenSupport::handleSemanticTokensDelta( const LanguageServerProtocol::SemanticTokensDeltaResult &result, int documentVersion) { + qCDebug(LOGLSPHIGHLIGHT) << "Handle Tokens for " << filePath; if (auto tokens = Utils::get_if<SemanticTokens>(&result)) { m_tokens[filePath] = {*tokens, documentVersion}; + qCDebug(LOGLSPHIGHLIGHT) << "New Data " << tokens->data(); } else if (auto tokensDelta = Utils::get_if<SemanticTokensDelta>(&result)) { m_tokens[filePath].version = documentVersion; QList<SemanticTokensEdit> edits = tokensDelta->edits(); @@ -434,7 +442,7 @@ void SemanticTokenSupport::handleSemanticTokensDelta( auto it = data.begin(); const auto end = data.end(); - qCDebug(LOGLSPHIGHLIGHT) << "Edit Tokens for " << filePath; + qCDebug(LOGLSPHIGHLIGHT) << "Edit Tokens"; qCDebug(LOGLSPHIGHLIGHT) << "Data before edit " << data; for (const SemanticTokensEdit &edit : qAsConst(edits)) { if (edit.start() > data.size()) // prevent edits after the previously reported data @@ -469,6 +477,7 @@ void SemanticTokenSupport::handleSemanticTokensDelta( tokens.setResultId(tokensDelta->resultId()); } else { m_tokens.remove(filePath); + qCDebug(LOGLSPHIGHLIGHT) << "Data cleared"; return; } highlight(filePath); @@ -476,6 +485,7 @@ void SemanticTokenSupport::handleSemanticTokensDelta( void SemanticTokenSupport::highlight(const Utils::FilePath &filePath, bool force) { + qCDebug(LOGLSPHIGHLIGHT) << "highlight" << filePath; TextDocument *doc = TextDocument::textDocumentForFilePath(filePath); if (!doc || LanguageClientManager::clientForDocument(doc) != m_client) return; @@ -486,6 +496,7 @@ void SemanticTokenSupport::highlight(const Utils::FilePath &filePath, bool force const QList<SemanticToken> tokens = versionedTokens.tokens .toTokens(m_tokenTypes, m_tokenModifiers); if (m_tokensHandler) { + qCDebug(LOGLSPHIGHLIGHT) << "use tokens handler" << filePath; int line = 1; int column = 1; QList<ExpandedSemanticToken> expandedTokens; diff --git a/src/plugins/mcusupport/mcusupportcmakemapper.cpp b/src/plugins/mcusupport/mcusupportcmakemapper.cpp index 326489e365..8b0e05db63 100644 --- a/src/plugins/mcusupport/mcusupportcmakemapper.cpp +++ b/src/plugins/mcusupport/mcusupportcmakemapper.cpp @@ -50,8 +50,8 @@ static const QHash<QString, QString> &envVarToCMakeVarMapping() {"IMXRT595_FREERTOS_DIR","FREERTOS_DIR"}, {"STM32F7_FREERTOS_DIR", "FREERTOS_DIR"}, {"eFlashLoad_PATH","eFlashLoad_PATH"}, - {"RenesasFlashProgrammer_PATH", "RenesasFlashProgrammer_PATH"}, - {"MCUXpressoIDE_PATH", "MCUXpressoIDE_PATH"}, + {"RenesasFlashProgrammer_PATH", "RENESAS_FLASH_PROGRAMMER_PATH"}, + {"MCUXpressoIDE_PATH", "MCUXPRESSO_IDE_PATH"}, {"JLINK_PATH", "JLINK_PATH"}, {"TVII_GRAPHICS_DRIVER_DIR", "TVII_GRAPHICS_DRIVER_DIR"}, {"CYPRESS_AUTO_FLASH_UTILITY_DIR", "CYPRESS_AUTO_FLASH_UTILITY_DIR"}, diff --git a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp index 12c9e4e53c..13892ceb3b 100644 --- a/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicesettingswidget.cpp @@ -255,8 +255,10 @@ void DeviceSettingsWidget::testDevice() { const IDevice::ConstPtr &device = currentDevice(); QTC_ASSERT(device && device->hasDeviceTester(), return); - DeviceTestDialog dlg(m_deviceManager->mutableDevice(device->id()), this); - dlg.exec(); + auto dlg = new DeviceTestDialog(m_deviceManager->mutableDevice(device->id()), this); + dlg->setAttribute(Qt::WA_DeleteOnClose); + dlg->setModal(true); + dlg->show(); } void DeviceSettingsWidget::handleDeviceUpdated(Id id) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp index 425cfcd552..5439d98d2b 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp @@ -521,6 +521,19 @@ void JsonWizardFactory::registerGeneratorFactory(JsonWizardGeneratorFactory *fac s_generatorFactories.append(factory); } +static QString qmlProjectName(const FilePath &folder) +{ + FilePath currentFolder = folder; + while (!currentFolder.isEmpty()) { + const QList<FilePath> fileList = currentFolder.dirEntries({"*.qmlproject"}); + if (!fileList.isEmpty()) + return fileList.first().baseName(); + currentFolder = currentFolder.parentDir(); + } + + return {}; +} + Wizard *JsonWizardFactory::runWizardImpl(const FilePath &path, QWidget *parent, Id platform, const QVariantMap &variables, bool showWizard) @@ -545,6 +558,7 @@ Wizard *JsonWizardFactory::runWizardImpl(const FilePath &path, QWidget *parent, wizard->setValue(i.key(), i.value()); wizard->setValue(QStringLiteral("InitialPath"), path.toString()); + wizard->setValue(QStringLiteral("QmlProjectName"), qmlProjectName(path)); wizard->setValue(QStringLiteral("Platform"), platform.toString()); QString kindStr = QLatin1String(Core::Constants::WIZARD_KIND_UNKNOWN); diff --git a/src/tools/processlauncher/processlauncher.pro b/src/tools/processlauncher/processlauncher.pro index 737cb366cf..52d29db9b8 100644 --- a/src/tools/processlauncher/processlauncher.pro +++ b/src/tools/processlauncher/processlauncher.pro @@ -9,6 +9,8 @@ UTILS_DIR = $$PWD/../../libs/utils DEFINES *= QTCREATOR_UTILS_STATIC_LIB +win32: LIBS*= -luser32 + INCLUDEPATH += $$UTILS_DIR HEADERS += \ diff --git a/src/tools/processlauncher/processlauncher.qbs b/src/tools/processlauncher/processlauncher.qbs index b2fd708169..bdcde4ac34 100644 --- a/src/tools/processlauncher/processlauncher.qbs +++ b/src/tools/processlauncher/processlauncher.qbs @@ -9,6 +9,11 @@ QtcTool { cpp.defines: base.concat("QTCREATOR_UTILS_STATIC_LIB") cpp.includePaths: base.concat(pathToUtils) + Properties { + condition: qbs.targetOS.contains("windows") + cpp.dynamicLibraries: "user32" + } + files: [ "launcherlogging.cpp", "launcherlogging.h", |