Merge remote-tracking branch 'origin/4.9'

Change-Id: I95c56cc9371959f96afde3677fc82481f36f66c8
This commit is contained in:
Eike Ziller
2019-04-12 14:31:01 +02:00
33 changed files with 165 additions and 125 deletions

12
dist/changes-4.9.0.md vendored
View File

@@ -46,6 +46,7 @@ All Projects
(QTCREATORBUG-20577)
* Fixed that dragging file from `Projects` view to desktop moved the file
(QTCREATORBUG-14494)
* Fixed regression with `QTC_EXTENSION` environment variable
QMake Projects
@@ -96,11 +97,13 @@ C++ Support
* Added option to format code instead of only indenting code
* Added `Open Used .clang-format Configuration File` to editor's
context menu
* Fixed indentation issue after empty line (QTCREATORBUG-22238)
QML Support
* Updated to parser from Qt 5.12, adding support for ECMAScript 7
(QTCREATORBUG-20341, QTCREATORBUG-21301)
* Added Qt 5.13 as option to the wizards
* Improved error handling in Qt Quick Application project template (QTBUG-39469)
* Fixed crash on `Find Usages`
@@ -114,15 +117,19 @@ Nim Support
Debugging
* Added pretty printing of `QSizePolicy`
* Fixed that debugger toolbar could force large minimum window size
(QTCREATORBUG-21885)
* Added pretty printing of `QSizePolicy`
* Fixed restoring of debugger layout (QTCREATORBUG-21083)
* Fixed pretty printing of standard maps and sets from `libc++`
(QTCREATORBUG-18536)
* GDB
* Added support for rvalue references in function arguments
* Fixed `Break on Abort` with GDB > 8.1 (QTBUG-73993)
* LLDB
* Fixed `Source Paths Mappings` functionality (QTCREATORBUG-17468)
* QML
* Fixed loading QML stack (QTCREATORBUG-22209)
Clang Analyzer Tools
@@ -142,6 +149,8 @@ Qt Quick Designer
* Made QML Live Preview integration opensource
* Added support for `Dialog` (QTCREATORBUG-22120)
* Fixed layout icons (QDS-538)
* Fixed crash when creating item inside `TabView` tab (QTCREATORBUG-21542)
Version Control Systems
@@ -192,6 +201,7 @@ Windows
* Fixed issue with UNC paths in `.pro` files (QTCREATORBUG-21881)
* Fixed language version detections with MSVC and precompiled headers
(QTCREATORBUG-21860)
* Fixed submenu arrow styling (QTCREATORBUG-21376)
Linux

View File

@@ -39,7 +39,6 @@ depends += qtwidgets \
qtgui \
qthelp \
qtquickcontrols \
qtquickcontrols2 \
qtquickextras \
qtlinguist \
qtscxml \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -489,7 +489,8 @@
\li M222
\li Error
\li Functions are not supported in a Qt Quick UI form.
\li
\li For a list of supported JavaScript functions, see
\l{Supported Methods}.
\row
\li M223

View File

@@ -52,6 +52,8 @@
\image studio-edit-mode.png
\endif
\section2 Navigating Between Open Files and Symbols
Use the toolbar to navigate between open files and symbols in use. To browse
backward or forward through your location history, click
\inlineimage prev.png
@@ -59,8 +61,12 @@
(\uicontrol {Go Forward}).
To go to any open file, select it from the \uicontrol {Open files} drop-down
menu (1). Right-click the menu title and select \uicontrol {Copy Full Path}
to copy the path and name of the current file to the clipboard.
menu (1). To open a context menu that contains commands for managing open
files, right-click the file name or icon on the toolbar. In addition to the
commands also available in the \uicontrol File menu, you can copy the path
and name of the current file and the number of the line where the cursor is
currently located to the clipboard by selecting \uicontrol {Copy Full Path},
\uicontrol {Copy File Name}, or \uicontrol {Copy Path and Line Number}.
To jump to any symbol used in the current file, select it from the
\uicontrol Symbols drop-down menu (2). By default, the symbols are displayed
@@ -70,10 +76,16 @@
To jump to a line and column in the current file, select the line and column
indicator (3) or press \key {Ctrl+K} (or \key {Cmd+K} on \macos) to open the
locator. Enter the line number and column number in the locator, separated
by a colon (:).
\l{Searching with the Locator}{locator}. Enter the line number and column
number in the locator, separated by a colon (:).
\note Other convenient ways of navigating in \QC are provided
by the \l{Keyboard Shortcuts} {keyboard shortcuts} and the
\l{Browsing Project Contents}{sidebar}.
\if defined(qtcreator)
\section2 Selecting Parse Context
Code might be interpreted differently in different contexts. A file can be
used by different projects or subprojects with different defines, or it can
be included in the context of C, C++, Objective-C, or Objective-C++. To
@@ -86,19 +98,22 @@
incorrect, select \uicontrol {Additional Preprocessor Directives} to
add preprocessor directives.
\section2 Changing Text Encoding
To show the file encoding of the current file on the editor toolbar (5),
select \uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor} >
\uicontrol Display > \uicontrol {Display file encoding}. To change the
encoding, click it on the toolbar and select new encoding in the
\uicontrol {Text Encoding} dialog. To reload the file with the selected
encoding, select \uicontrol {Reload with Encoding}. To save the file with
\uicontrol Display > \uicontrol {Display file encoding}.
To change the text encoding, click it on the toolbar and select new
encoding in the \uicontrol {Text Encoding} dialog:
\image qtcreator-text-encoding.png "Text Encoding dialog"
To reload the file with the selected encoding, select
\uicontrol {Reload with Encoding}. To save the file with
the new encoding, select \uicontrol {Save with Encoding}.
\endif
\note Other convenient ways of navigating in \QC are provided by the
\l{Searching with the Locator}{locator}, \l{Keyboard Shortcuts}
{keyboard shortcuts}, and the \l{Browsing Project Contents}{sidebar}.
\section1 Splitting the Editor View
Split the editor view or open the editor in a new window when you want to

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -55,7 +55,7 @@
\li \l{Creating a Mobile Application}
Learn how to create a Qt Quick application using Qt Quick Controls 2
Learn how to create a Qt Quick application using Qt Quick Controls
for Android and iOS devices.
\endlist

View File

@@ -118,7 +118,7 @@
Create a Qt Quick application that uses
\l{http://doc.qt.io/qt-5/qtquickcontrols2-index.html}
{Qt Quick Controls 2} to implement a scrollable list (requires
{Qt Quick Controls} to implement a scrollable list (requires
Qt 5.9 or later) or a set of pages with a stack-based or
swipe-based navigation model (requires Qt 5.7 or later).

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -792,7 +792,7 @@
"data":
{
"wordWrap": true,
"trText": "Creates a deployable Qt Quick 2 application using Qt Quick Controls 2.",
"trText": "Creates a deployable Qt Quick 2 application using Qt Quick Controls.",
}
},
\endcode

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -38,7 +38,7 @@
\title Creating a Mobile Application
This tutorial describes developing Qt Quick applications for Android and iOS
devices using Qt Quick Controls 2.
devices using Qt Quick Controls.
We use \QC to implement a Qt Quick application
that accelerates an SVG (Scalable Vector Graphics) image based on the
changing accelerometer values.

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -44,7 +44,7 @@
use for building and running the project: \l qmake,
\l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}.
\li In the \uicontrol {Qt Quick Controls 2 Style} field, select one of
\li In the \uicontrol {Qt Quick Controls Style} field, select one of
the predefined \l{Styling Qt Quick Controls 2}{UI styles} to use,
and then select \uicontrol Next.

View File

@@ -59,7 +59,7 @@
\li \l {Creating Components}
You can use basic QML types to create your own components that you
can combine with ready-made Qt Quick Controls 2 and Layouts
can combine with ready-made Qt Quick Controls and Layouts
(available since Qt 5.7).
\li \l {Managing Item Hierarchy}

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -51,8 +51,7 @@
For more information about developing Qt Quick applications in the Design
mode, see \l{Developing Qt Quick Applications}.
For examples of using Qt Quick Controls 2, see
\l{Qt Quick Controls 2 Examples}.
For examples of using Qt Quick Controls, see \l{Qt Quick Controls Examples}.
\include creator-tutorial-create-qq-project.qdocinc qt quick application

View File

@@ -1,6 +1,6 @@
/****************************************************************************
**
** Copyright (C) 2018 The Qt Company Ltd.
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -120,6 +120,12 @@
support for \l{http://doc.qt.io/qt-5/qtvirtualkeyboard-index.html}
{Qt Virtual Keyboard} to the application.
\note If you have not installed the Qt Virtual Keyboard module when
you installed Qt, an error message will appear when you try to open
the \e main.qml in the \uicontrol {Form Editor} in the Design mode.
You can use the \l {Installing Qt}{Qt Maintenance Tool} to install
Qt Virtual Keyboard.
\li Select \uicontrol Next.
\li Select \l{glossary-buildandrun-kit}{kits} for running and building
@@ -136,7 +142,7 @@
\QC generates a QML file, \e main.qml, that you can modify in the Design
mode.
\section1 Creating Qt Quick Controls 2 Applications
\section1 Creating Qt Quick Controls Applications
\list 1
@@ -155,7 +161,7 @@
use for building and running the project: \l qmake,
\l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}.
\li In the \uicontrol {Qt Quick Controls 2 Style} field, select one of
\li In the \uicontrol {Qt Quick Controls Style} field, select one of
the predefined \l{Styling Qt Quick Controls 2}{UI styles} to use,
and then select \uicontrol Next.

View File

@@ -179,6 +179,6 @@
qmlDesignerImportPaths in your product (for Qbs projects).
Modules in the import paths defined in \c{QML_DESIGNER_IMPORT_PATH} will be
used only in the Design mode.
For an example, see \l {Qt Quick Controls 2 - Contact List}.
For an example, see \l {Qt Quick Controls - Contact List}.
*/

View File

@@ -92,6 +92,9 @@
You can use the following QML types to create components:
\list
\li \l [QML]{AnimatedImage}{Animated Image} provides a way to play
animations stored as images containing a series of frames, such
as those stored in GIF files.
\li \l [QML]{BorderImage}{Border Image} uses an image as a border or
background.
\li \l [QML]{Image} adds a bitmap to the scene. You can stretch and
@@ -119,13 +122,13 @@
\li \l{GridView}{Grid View} provides a grid vizualization of a model.
\li \l{ListView}{List View} provides a list vizualization of a model.
\li \l{PathView}{Path View} visualizes the contents of a model along a
path.
\li \l [QtQuickControls2] {ScrollView}{Scroll View} provides scrolling
path. For more information, see \l{Editing PathView Properties}.
\li \l [QtQuickControls] {ScrollView}{Scroll View} provides scrolling
for user-defined content. It can be used instead of a \l Flickable
item.
\li \l [QtQuickControls2] {StackView}{Stack View} provides a stack-based
\li \l [QtQuickControls] {StackView}{Stack View} provides a stack-based
navigation model.
\li \l[QtQuickControls2] {SwipeView}{Swipe View} enables users to
\li \l[QtQuickControls] {SwipeView}{Swipe View} enables users to
navigate pages by swiping sideways.
\endlist
@@ -333,21 +336,21 @@
\section2 Organizing Items
Since Qt 5.7, you can use the following \l{Qt Quick Controls 2} types to
Since Qt 5.7, you can use the following \l{Qt Quick Controls} types to
organize items on screens:
\list
\li \l [QtQuickControls2]{Frame} places a logical group of controls
\li \l [QtQuickControls]{Frame} places a logical group of controls
within a visual frame.
\li \l [QtQuickControls2]{GroupBox}{Group Box} is used to lay out a
\li \l [QtQuickControls]{GroupBox}{Group Box} is used to lay out a
logical group of controls together, within a titled visual frame.
\li \l [QtQuickControls2]{Label} is a text label with inherited styling
\li \l [QtQuickControls]{Label} is a text label with inherited styling
and font.
\li \l [QtQuickControls2]{Page} provides a styled page control with
\li \l [QtQuickControls]{Page} provides a styled page control with
support for a header and footer.
\li \l [QtQuickControls2]{PageIndicator}{Page Indicator} indicates the
\li \l [QtQuickControls]{PageIndicator}{Page Indicator} indicates the
currently active page.
\li \l [QtQuickControls2]{Pane} provides a background matching with the
\li \l [QtQuickControls]{Pane} provides a background matching with the
application style and theme.
\endlist
@@ -365,62 +368,62 @@
\li \l [QML]{MouseArea}{Mouse Area} enables simple mouse handling.
\endlist
Since Qt 5.7, you can also use the following \l{Qt Quick Controls 2} types
Since Qt 5.7, you can also use the following \l{Qt Quick Controls} types
to inform users about the progress of the application or to gather input
from the user:
\list
\li \l [QtQuickControls2]{BusyIndicator}{Busy Indicator} indicates
\li \l [QtQuickControls]{BusyIndicator}{Busy Indicator} indicates
activity while content is being loaded.
\li \l [QtQuickControls2]{Button} provides a push button that you can
\li \l [QtQuickControls]{Button} provides a push button that you can
associate with an action.
\li \l [QtQuickControls2]{CheckBox}{Check Box} provides an option button
\li \l [QtQuickControls]{CheckBox}{Check Box} provides an option button
that can be toggled on (checked) or off (unchecked).
\li \l [QtQuickControls2]{CheckDelegate}{Check Delegate} presents an
\li \l [QtQuickControls]{CheckDelegate}{Check Delegate} presents an
item delegate that can be toggled on (checked) or off (unchecked).
\li \l [QtQuickControls2]{ComboBox}{Combo Box} is a combined button and
\li \l [QtQuickControls]{ComboBox}{Combo Box} is a combined button and
popup list that is populated by using a data model.
\li \l [QtQuickControls2]{DelayButton}{Delay Button} provides an option
\li \l [QtQuickControls]{DelayButton}{Delay Button} provides an option
button that is triggered when held down long enough.
\li \l [QtQuickControls2]{Dial} is a circular dial that is rotated to
\li \l [QtQuickControls]{Dial} is a circular dial that is rotated to
set a value.
\li \l [QtQuickControls2]{ProgressBar}{Progress Bar} indicates the
\li \l [QtQuickControls]{ProgressBar}{Progress Bar} indicates the
progress of an operation.
\li \l [QtQuickControls2]{RadioButton}{Radio Button} provides an option
\li \l [QtQuickControls]{RadioButton}{Radio Button} provides an option
button that can be switched on (checked) or off (unchecked).
\li \l [QtQuickControls2]{RadioDelegate}{Radio Delegate} presents an
\li \l [QtQuickControls]{RadioDelegate}{Radio Delegate} presents an
item delegate that can be toggled on (checked) or off (unchecked).
\li \l [QtQuickControls2]{RangeSlider}{Range Slider} enables users to
\li \l [QtQuickControls]{RangeSlider}{Range Slider} enables users to
select a range of values by sliding two handles along a track.
\li \l [QtQuickControls2]{RoundButton}{Round Button} provides a push
\li \l [QtQuickControls]{RoundButton}{Round Button} provides a push
button with rounded corners that you can associate with an action.
\li \l [QtQuickControls2]{Slider} selects a value by sliding a handle
\li \l [QtQuickControls]{Slider} selects a value by sliding a handle
along a track.
\li \l [QtQuickControls2]{SpinBox}{Spin Box} enables the user to specify
\li \l [QtQuickControls]{SpinBox}{Spin Box} enables the user to specify
a value by clicking the up or down buttons, by pressing up or down
on the keyboard, or by entering a value in the box.
\li \l [QtQuickControls2]{Switch} is an option button that can be
\li \l [QtQuickControls]{Switch} is an option button that can be
toggled on or off.
\li \l [QtQuickControls2]{SwitchDelegate}{SwitchDelegate} presents an
\li \l [QtQuickControls]{SwitchDelegate}{Switch Delegate} presents an
item delegate with a switch indicator that can be toggled on or off.
\li \l [QtQuickControls2] {TabBar}{Tab Bar} enables users to switch
\li \l [QtQuickControls] {TabBar}{Tab Bar} enables users to switch
between different views or subtasks.
\li \l [QtQuickControls2]{TabButton}{Tab Button} is a button
\li \l [QtQuickControls]{TabButton}{Tab Button} is a button
that is functionally similar to \uicontrol Button, but provides a
look that is more suitable for a \uicontrol {Tab Bar}.
\li \l [QtQuickControls2]{TextArea}{Text Area} displays multiple lines
\li \l [QtQuickControls]{TextArea}{Text Area} displays multiple lines
of editable formatted text.
\li \l [QtQuickControls2]{TextField}{Text Field} displays a single line
\li \l [QtQuickControls]{TextField}{Text Field} displays a single line
of editable plain text.
\li \l [QtQuickControls2]{ToolBar}{Tool Bar} is a container of
\li \l [QtQuickControls]{ToolBar}{Tool Bar} is a container of
application-wide and context sensitive actions and controls, such as
navigation buttons and search fields.
\li \l [QtQuickControls2]{ToolButton}{Tool Button} is a button
\li \l [QtQuickControls]{ToolButton}{Tool Button} is a button
that is functionally similar to \uicontrol Button, but provides a
look that is more suitable for a \uicontrol {Tool Bar}.
\li \l [QtQuickControls2]{ToolSeparator}{Tool Separator} separates a
\li \l [QtQuickControls]{ToolSeparator}{Tool Separator} separates a
group of items from adjacent items on a \uicontrol {Tool Bar}.
\li \l [QtQuickControls2]{Tumbler} is a spinnable wheel of items that
\li \l [QtQuickControls]{Tumbler} is a spinnable wheel of items that
can be selected.
\endlist

View File

@@ -73,7 +73,7 @@
\li \uicontrol {Library} (2) displays the building blocks that you
can use to design applications: predefined QML types, your own
QML components, or Qt Quick Controls 2 that you import to the
QML components, or Qt Quick Controls that you import to the
project, and other resources. For more information, see
\l {Creating Components}.

View File

@@ -52,10 +52,9 @@
When you copy an item, all its child items are also copied. When
you remove an item, the child items are also removed.
You can show and hide items on the canvas to focus on specific parts of the
application. Click the \inlineimage icon_color_none.png
(\uicontrol Transparent) button to change the visibility of an item on the
canvas. To change the visibility of an item in the application, select the
To show and hide items on the canvas when focusing on specific parts of the
application, click \inlineimage eye_open.png
. To change the visibility of an item in the application code, select the
\uicontrol Visibility check box in the \uicontrol Properties pane or select
\uicontrol Edit > \uicontrol Visibility in the context menu.
@@ -86,16 +85,14 @@
Items with the same stacking value are drawn in the order they are listed,
from the last item up.
To raise or lower the stack value of an item, select \inlineimage raise.png
(\uicontrol Raise) or \inlineimage lower.png
(\uicontrol Lower) on the toolbar.
To move an item to the front or back of all its siblings, right-click it in
the navigator or the \uicontrol {Form Editor} and select
\uicontrol {Stack (z)}. To remove the \c z property, select
\uicontrol {Stack (z)} > \uicontrol {To Front} or \uicontrol {To Back}.
To raise or lower the stack value of an item, select \uicontrol Raise
or \uicontrol Lower. To remove the \c z property, select
\uicontrol {Reset z Property}.
You can also use a \uicontrol StackLayout item (Qt Quick Controls 2) to
You can also use a \uicontrol StackLayout item (Qt Quick Controls) to
create a stacked view. For more information, see \l {Using Layouts}.
\section1 Switching Parent Items

View File

@@ -122,7 +122,7 @@ def main():
copy_regexp(build_include_regexp, arguments.build, arguments.target_directory, arguments.verbose)
if arguments.sevenzip_target:
subprocess.check_call([arguments.sevenzip, 'a', '-mx9', arguments.sevenzip_target,
subprocess.check_call([arguments.sevenzip, 'a', '-mx9', '-mmt2', arguments.sevenzip_target,
os.path.join(arguments.target_directory, '*')])
if __name__ == "__main__":

View File

@@ -58,7 +58,7 @@ def main():
common.codesign(tempdir)
# package
zip_source = os.path.join(tempdir, '*') if arguments.exclude_toplevel else tempdir
subprocess.check_call([arguments.sevenzip, 'a',
subprocess.check_call([arguments.sevenzip, 'a', '-mmt2',
arguments.target_archive, zip_source])
finally:
shutil.rmtree(tempdir_base)

View File

@@ -1,13 +1,13 @@
{
"version": 1,
"supportedProjectTypes": [ "Qt4ProjectManager.Qt4Project" ],
"supportedProjectTypes": [ "CMakeProjectManager.CMakeProject", "Qbs.QbsProject", "Qt4ProjectManager.Qt4Project" ],
"id": "R.AutoTest",
"category": "H.Project",
"trDescription": "Creates a new unit test project. Unit tests allow you to verify that the code is fit for use and that there are no regressions.",
"trDisplayName": "Auto Test Project",
"trDisplayCategory": "Other Project",
"icon": "autotest.png",
"featuresRequired": [ "QtSupport.Wizards.FeatureQt", "QtSupport.Wizards.FeatureDesktop" ],
"featuresRequired": [ "QtSupport.Wizards.FeatureDesktop" ],
"enabled": "%{JS: [ %{Plugins} ].indexOf('AutoTest') >= 0}",
"options":
@@ -187,7 +187,7 @@
"enabled": "%{IsTopLevelProject}",
"data": {
"projectFilePath": "%{ProjectFilePath}",
"requiredFeatures": [ "%{JS: (('%{BuildSystem}' === 'cmake' && '%{TestFrameWork}' === 'QtTest') || '%{TestFrameWork}' === 'QtQuickTest') ? 'QtSupport.Wizards.FeatureQt.5' : 'QtSupport.Wizards.FeatureQt' }" ]
"requiredFeatures": [ "%{JS: ('%{TestFrameWork}' === 'QtQuickTest' ? 'QtSupport.Wizards.FeatureQt.5' : (('%{BuildSystem}' === 'qmake' || '%{TestFrameWork}' === 'QtTest') ? 'QtSupport.Wizards.FeatureQt' : 'DeviceType.Desktop' )) }" ]
}
},
{

View File

@@ -194,8 +194,6 @@
</array>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>

View File

@@ -55,19 +55,7 @@ Rectangle {
onRangeChanged: {
zoomSliderToolBar.updateZoomLevel();
content.scroll();
// If you select something in the main view and then resize the current range by some
// other means, the selection should stay where it was.
var oldTimePerPixel = selectionRange.viewTimePerPixel;
selectionRange.viewTimePerPixel = zoomControl.rangeDuration / content.width;
if (selectionRange.creationState === selectionRange.creationFinished &&
oldTimePerPixel != selectionRange.viewTimePerPixel) {
var newWidth = selectionRange.rangeWidth * oldTimePerPixel /
selectionRange.viewTimePerPixel;
selectionRange.rangeLeft = selectionRange.rangeLeft * oldTimePerPixel /
selectionRange.viewTimePerPixel;
selectionRange.rangeRight = selectionRange.rangeLeft + newWidth;
}
selectionRange.update();
}
onWindowChanged: {
content.scroll();
@@ -216,6 +204,8 @@ Rectangle {
buttonsBar.updateLockButton(selectionLocked);
}
onWidthChanged: selectionRange.update();
onPropagateSelection: {
if (lockItemSelection || (newModel === selectedModel && newItem === selectedItem))
return;
@@ -314,6 +304,18 @@ Rectangle {
root.selectionRangeMode = false;
}
function update() {
// If you select something in the main view and then resize the current range by some
// other means, the selection should stay where it was.
var oldTimePerPixel = viewTimePerPixel;
viewTimePerPixel = zoomControl.rangeDuration / content.width;
if (creationState === creationFinished && oldTimePerPixel != viewTimePerPixel) {
var newWidth = rangeWidth * oldTimePerPixel / viewTimePerPixel;
rangeLeft = rangeLeft * oldTimePerPixel / viewTimePerPixel;
rangeRight = rangeLeft + newWidth;
}
}
}
}

View File

@@ -5,6 +5,7 @@ QtcPlugin {
Depends { name: "Core" }
Depends { name: "TextEditor" }
Depends { name: "CppEditor" }
Depends { name: "CppTools" }
Depends { name: "ProjectExplorer" }
Depends { name: "Utils" }

View File

@@ -2031,14 +2031,18 @@ void BreakHandler::setWatchpointAtExpression(const QString &exp)
void BreakHandler::releaseAllBreakpoints()
{
GlobalBreakpoints gbps;
for (Breakpoint bp : breakpoints()) {
bp->removeChildren();
bp->destroyMarker();
if (GlobalBreakpoint gbp = bp->globalBreakpoint())
gbp->updateMarker();
gbps.append(bp->globalBreakpoint());
}
clear();
// The now-unclaimed breakpoints are globally visible again.
// Make now-unclaimed breakpoints globally visible again.
for (GlobalBreakpoint gbp: qAsConst(gbps)) {
if (gbp)
gbp->updateMarker();
}
}
QString BreakpointItem::msgWatchpointByExpressionTriggered(const QString &expr) const

View File

@@ -444,7 +444,10 @@ void DebuggerMainWindow::restorePersistentSettings()
qCDebug(perspectivesLog) << "LOADED DOCKS:" << theMainWindow->d->m_persistentChangedDocks;
QTC_ASSERT(theMainWindow, return);
QTC_ASSERT(theMainWindow->d, return);
for (Perspective *perspective : theMainWindow->d->m_perspectives) {
QTC_ASSERT(perspective, continue);
qCDebug(perspectivesLog) << "RESTORING PERSPECTIVE" << perspective->d->m_id;
for (DockOperation &op : perspective->d->m_dockOperations) {
if (op.operationType != Perspective::Raise) {
@@ -477,6 +480,7 @@ void DebuggerMainWindow::savePersistentSettings()
QSet<QString> changedDocks = theMainWindow->d->m_persistentChangedDocks;
for (Perspective *perspective : theMainWindow->d->m_perspectives) {
QTC_ASSERT(perspective, continue);
qCDebug(perspectivesLog) << "SAVE PERSPECTIVE" << perspective->d->m_id;
for (const DockOperation &op : perspective->d->m_dockOperations) {
if (op.operationType != Perspective::Raise) {

View File

@@ -168,6 +168,7 @@ PerfProfilerTool::PerfProfilerTool()
m_delayLabel->setProperty("panelwidget", true);
m_perspective.setAboutToActivateCallback([this]() { createViews(); });
updateRunActions();
}
void PerfProfilerTool::createViews()

View File

@@ -382,6 +382,11 @@ void TargetSetupPage::handleKitUpdate(Kit *k)
m_importer->makePersistent(k);
bool acceptable = !m_requiredPredicate || m_requiredPredicate(k);
const bool wasAcceptable = Utils::contains(m_widgets, [k](const TargetSetupWidget *w) {
return w->kit() == k;
});
if (acceptable == wasAcceptable)
return;
if (!acceptable)
removeWidget(k);

View File

@@ -441,8 +441,8 @@ void ToolChainOptionsWidget::toolChainSelectionChanged()
ToolChainTreeItem *item = currentTreeItem();
QWidget *currentTcWidget = item ? item->widget : nullptr;
m_widgetStack->setCurrentWidget(currentTcWidget);
if (currentTcWidget)
m_widgetStack->setCurrentWidget(currentTcWidget);
m_container->setVisible(currentTcWidget);
updateState();
}

View File

@@ -298,13 +298,15 @@ void QmlProfilerStatisticsMainView::displayTypeIndex(int typeIndex)
QAbstractItemModel *sourceModel = sortModel->sourceModel();
QTC_ASSERT(sourceModel, return);
QModelIndex sourceIndex = sourceModel->index(qMin(typeIndex, sourceModel->rowCount() - 1),
MainCallCount);
QTC_ASSERT(sourceIndex.data(TypeIdRole).toInt() == typeIndex, return);
setCurrentIndex(sourceIndex.data(SortRole).toInt() > 0
? sortModel->mapFromSource(sourceIndex)
: QModelIndex());
if (typeIndex < sourceModel->rowCount()) {
QModelIndex sourceIndex = sourceModel->index(typeIndex, MainCallCount);
QTC_ASSERT(sourceIndex.data(TypeIdRole).toInt() == typeIndex, return);
setCurrentIndex(sourceIndex.data(SortRole).toInt() > 0
? sortModel->mapFromSource(sourceIndex)
: QModelIndex());
} else {
setCurrentIndex(QModelIndex());
}
}
// show in callers/callees subwindow

View File

@@ -45,7 +45,7 @@
:CppTools__Internal__CompletionSettingsPage.Behavior_QGroupBox {container=':qt_tabwidget_stackedwidget_QScrollArea' name='groupBox' title='Behavior' type='QGroupBox' visible='1'}
:DebugModeWidget.Debugger Log_QDockWidget {container=':Qt Creator.DebugModeWidget_QSplitter' name='GlobalLogDockWidget' type='QDockWidget' visible='1'}
:DebugModeWidget.Debugger.Docks.BreakDockWidget_QDockWidget {container=':Qt Creator.DebugModeWidget_QSplitter' name='Debugger.Docks.BreakpointManagerDockWidget' type='QDockWidget' visible='1'}
:DebugModeWidget.Debugger.Docks.LocalsAndInspectorDockWidget_QDockWidget {container=':Qt Creator.DebugModeWidget_QSplitter' name='Debugger.Docks.LocalsAndInspectorDockWidget' type='QDockWidget' visible='1'}
:DebugModeWidget.Debugger.Docks.LocalsAndInspectorDockWidget_QDockWidget {container=':Qt Creator.DebugModeWidget_QSplitter' name~='Debugger\\\\.Dock\\\\.LocalsAndInspector\\\\.\\\\d+DockWidget' type='QDockWidget' visible='1'}
:DebugModeWidget.OK_QPushButton {container=':Qt Creator.DebugModeWidget_QSplitter' text='OK' type='QPushButton' unnamed='1' visible='1'}
:DebugModeWidget.Toolbar_QDockWidget {container=':Qt Creator.DebugModeWidget_QSplitter' name='Toolbar' type='QDockWidget' visible='1'}
:DebugModeWidget_Debugger::Internal::ConsoleView {container=':Qt Creator.DebugModeWidget_QSplitter' type='Debugger::Internal::ConsoleView' unnamed='1' visible='1'}
@@ -54,7 +54,7 @@
:Debugger Toolbar.Exit Debugger_QToolButton {container=':DebugModeWidget.Toolbar_QDockWidget' text='Stop Debugger' type='QToolButton' unnamed='1' visible='1'}
:Debugger Toolbar.StatusText_Utils::StatusLabel {container=':DebugModeWidget.Toolbar_QDockWidget' type='Utils::StatusLabel' unnamed='1'}
:Debugger.Docks.BreakDockWidget.Debugger.Docks.Break_QFrame {container=':DebugModeWidget.Debugger.Docks.BreakDockWidget_QDockWidget' name='Debugger.Docks.BreakpointManager' type='QFrame' visible='1'}
:Debugger.Docks.LocalsAndWatchersDockWidget.Inspector_QFrame {container=':DebugModeWidget.Debugger.Docks.LocalsAndInspectorDockWidget_QDockWidget' name='Inspector' type='QFrame' visible='1'}
:Debugger.Docks.LocalsAndWatchersDockWidget.Inspector_QFrame {container=':DebugModeWidget.Debugger.Docks.LocalsAndInspectorDockWidget_QDockWidget' name~='Debugger\\\\.Dock\\\\.Inspector\\\\.\\\\d+' type='QFrame' visible='1'}
:Debugger::Internal::ConsoleEdit {columnIndex='0' container=':DebugModeWidget_Debugger::Internal::ConsoleView' rowIndex='0' type='Debugger::Internal::ConsoleEdit' unnamed='1' visible='1'}
:Description.description_Utils::CompletingTextEdit {container=':splitter.Description_QGroupBox' name='description' type='Utils::CompletingTextEdit' visible='1'}
:Dialog.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':Dialog_QmlJSEditor::Internal::ComponentNameDialog'}

View File

@@ -34,17 +34,13 @@ def __platformToBeRunToday__():
# for all machines using the same IP-address like you.
skipPastingToPastebinCom = platform.system() not in __platformToBeRunToday__()
NAME_KDE = "Paste.KDE.Org"
NAME_PBCOM = "Pastebin.Com"
NAME_PCXYZ = "Pastecode.Xyz"
serverProblems = "Server side problems."
def invalidPasteId(protocol):
if protocol == NAME_KDE:
return None
else:
return -1
return -1
def closeHTTPStatusAndPasterDialog(protocol, pasterDialog):
try:
@@ -170,7 +166,7 @@ def main():
startQC()
if not startedWithoutPluginError():
return
protocolsToTest = [NAME_KDE, NAME_PBCOM, NAME_PCXYZ]
protocolsToTest = [NAME_PBCOM, NAME_PCXYZ]
sourceFile = os.path.join(os.getcwd(), "testdata", "main.cpp")
# make sure General Messages is open
openGeneralMessages()
@@ -179,10 +175,7 @@ def main():
with TestSection(protocol):
skippedPasting = True
description = "Paste from 2017-05-11"
if protocol == NAME_KDE:
pasteId = "pysjk6n2i"
pastedText = readFile(os.path.join(os.getcwd(), "testdata", "main-prepasted.cpp"))
elif skipPastingToPastebinCom and protocol == NAME_PBCOM:
if skipPastingToPastebinCom and protocol == NAME_PBCOM:
pasteId = "8XHP0ZgH"
pastedText = readFile(os.path.join(os.getcwd(), "testdata", "main-prepasted.cpp"))
else:
@@ -219,7 +212,7 @@ def main():
clickButton(waitForObject(":*Qt Creator.Clear_QToolButton"))
continue
test.compare(filenameCombo.currentText, "%s: %s" % (protocol, pasteId), "Verify title of editor")
if protocol in (NAME_KDE, NAME_PBCOM) and pastedText.endswith("\n"):
if protocol == NAME_PBCOM and pastedText.endswith("\n"):
pastedText = pastedText[:-1]
test.compare(editor.plainText, pastedText, "Verify that pasted and fetched texts are the same")
invokeMenuItem("File", "Close All")