forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/3.0'
Conflicts: src/plugins/qmldesigner/components/formeditor/anchorindicatorgraphicsitem.cpp src/plugins/qmldesigner/components/propertyeditor/propertyeditorview.cpp src/plugins/qmlprofiler/qmlprofilertraceview.cpp Change-Id: I778a0c2d0f1b4f799caaa2c2cc5daf94ec7ca352
This commit is contained in:
27
dist/changes-3.0.0
vendored
27
dist/changes-3.0.0
vendored
@@ -18,6 +18,10 @@ Editing
|
||||
are detected
|
||||
* Fixed issues with splitting when editor is not splittable (QTCREATORBUG-6827)
|
||||
* Added action for closing all editors except the visible ones (QTCREATORBUG-9893)
|
||||
* Added support for changing case of entered values in snippets
|
||||
(:u :c :l modifiers like for custom wizards)
|
||||
* Fixed that proposal list would pop up again after it was dismissed with Esc key
|
||||
right after it opened
|
||||
|
||||
Managing and Building Projects
|
||||
* Fixed exit code that is shown for applications that are run in terminal
|
||||
@@ -35,6 +39,7 @@ QMake Projects
|
||||
* Fixed issues when using qtchooser (QTCREATORBUG-9841)
|
||||
* Fixed issues with autosave files triggering reparses (QTCREATORBUG-9957)
|
||||
* Fixed that run configurations were created for targets that are not built (QTCREATORBUG-9549)
|
||||
* Fixed issue when renaming a file changes its MIME type (QTCREATORBUG-9824)
|
||||
|
||||
CMake Projects
|
||||
* Added parser for CMake build errors
|
||||
@@ -42,16 +47,18 @@ CMake Projects
|
||||
* Added support for a CMakeDeployment.txt file that defines deployment rules
|
||||
|
||||
Qbs Projects
|
||||
* Added code completion support for code generated from .ui files
|
||||
|
||||
Generic Projects
|
||||
|
||||
Debugging
|
||||
* Added Debuggers tab to Build & Run options
|
||||
* Pretty printers (Python based, GDB and LLDB)
|
||||
* Added QIPv6Address and support for IPv6 in QHostAddress
|
||||
* GDB
|
||||
* Fixed various pretty printers
|
||||
* CDB
|
||||
* Fixed interrupting 32 bit processes from 64 bit Qt Creator builds
|
||||
* LLDB
|
||||
* Fixed various pretty printers
|
||||
* QML
|
||||
|
||||
Analyzer
|
||||
@@ -78,6 +85,15 @@ C++ Support
|
||||
* Added list of potential destinations when doing "Follow Symbol" on
|
||||
virtual function calls (QTCREATORBUG-9611)
|
||||
* Fixed "Follow Symbol" for operators (QTCREATORBUG-7485)
|
||||
* Added logic to avoid complete project reparses (QTCREATORBUG-9730)
|
||||
* Added matching against fully qualified name in C++ related locator filters
|
||||
|
||||
Qt Quick Designer
|
||||
* Added imports editor
|
||||
* Fixed bread crumb bar for infile components
|
||||
|
||||
Qt Designer
|
||||
* Fixed "Go to slot" for form classes that are not part of a project (QTCREATORBUG-9653)
|
||||
|
||||
Python Support
|
||||
|
||||
@@ -85,11 +101,12 @@ GLSL Support
|
||||
* Fixed crash (QTCREATORBUG-10166)
|
||||
|
||||
Diff Viewer
|
||||
* Added button that switches between inline and side-by-side view
|
||||
* Added button that switches between inline and side-by-side view (QTCREATORBUG-10035)
|
||||
* Added syntax highlighting (QTCREATORBUG-9580)
|
||||
|
||||
Version Control Systems
|
||||
* Fixed crash when reverting changes while commit editor is open (QTCREATORBUG-10190)
|
||||
* Fixed colors in description in submit editor
|
||||
* Added VCS topic to window title
|
||||
* Fixed that user was asked about adding file to VCS even if it already
|
||||
was in VCS (QTCREATORBUG-2455)
|
||||
@@ -113,6 +130,8 @@ Version Control Systems
|
||||
* ClearCase
|
||||
|
||||
FakeVim
|
||||
* Added <C-W><C-V> shortcut for splitting editors
|
||||
* Fixed scrolling when using single character or single line movement
|
||||
|
||||
Platform Specific
|
||||
|
||||
@@ -122,6 +141,8 @@ Qt Support
|
||||
|
||||
QNX
|
||||
* Added check for existence of debug token and show error message in that case (QTCREATORBUG-9103)
|
||||
* Added device auto-detection in "Add BlackBerry Device" wizard
|
||||
* Added support for NDKs with multiple target configurations
|
||||
|
||||
Android
|
||||
* Added error messages for incompatible devices to compile output (QTCREATORBUG-9690)
|
||||
|
||||
BIN
doc/images/qtcreator-snippet-modifiers.png
Normal file
BIN
doc/images/qtcreator-snippet-modifiers.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -833,6 +833,29 @@
|
||||
Use unique variable names within a snippet, because all instances of a
|
||||
variable are renamed when you specify a value for it.
|
||||
|
||||
To determine the case of values you enter in snippets, use the following
|
||||
modifiers:
|
||||
|
||||
\list
|
||||
|
||||
\li \c {:c} converts the initial letter of the string to upper case
|
||||
|
||||
\li \c {:l} converts the string to lower case
|
||||
|
||||
\li \c {:u} converts the string to upper case
|
||||
|
||||
\endlist
|
||||
|
||||
For example, add the following line to the \c class snippet to specify that
|
||||
the function name is converted to all lower case characters regardless of
|
||||
how you specify the value of the \c{$name$} variable:
|
||||
|
||||
\code
|
||||
void $name:l$() {}
|
||||
\endcode
|
||||
|
||||
\image qtcreator-snippet-modifiers.png
|
||||
|
||||
The snippet editor does not check the syntax of the snippets that you edit
|
||||
or add. However, when you use the snippets, the code editor marks any
|
||||
errors by underlining them in red.
|
||||
|
||||
@@ -63,7 +63,7 @@ while (1) {
|
||||
last if ($linecount > 50);
|
||||
|
||||
$hasCopyright = 1 if $_ =~ /Copyright/i;
|
||||
$hasCurrent = 1 if $_ =~ /\(c\).*\s2013/i;
|
||||
$hasCurrent = 1 if $_ =~ /\(c\).*\s2014/i;
|
||||
|
||||
$hasContact = 1 if $_ =~ /Contact: http:\/\/www.qt-project.org\/legal/;
|
||||
$hasCommercial = 1 if $_ =~ /Commercial (License )?Usage/;
|
||||
|
||||
@@ -185,6 +185,13 @@ def impl_SBValue__getitem__(value, index):
|
||||
return value.GetChildAtIndex(index)
|
||||
return value.GetChildMemberWithName(index)
|
||||
|
||||
def impl_SBValue__deref(value):
|
||||
result = value.Dereference()
|
||||
if result.IsValid():
|
||||
return result
|
||||
result = value.CreateValueFromExpression(None, '*' + value.get_expr_path())
|
||||
return result
|
||||
|
||||
lldb.SBValue.__add__ = impl_SBValue__add__
|
||||
lldb.SBValue.__sub__ = impl_SBValue__sub__
|
||||
lldb.SBValue.__le__ = impl_SBValue__le__
|
||||
@@ -196,7 +203,7 @@ lldb.SBValue.__long__ = lambda self: long(self.GetValue(), 0)
|
||||
|
||||
lldb.SBValue.code = lambda self: self.GetTypeClass()
|
||||
lldb.SBValue.cast = lambda self, typeObj: self.Cast(typeObj)
|
||||
lldb.SBValue.dereference = lambda self: self.Dereference()
|
||||
lldb.SBValue.dereference = impl_SBValue__deref
|
||||
lldb.SBValue.address = property(lambda self: self.GetAddress())
|
||||
|
||||
lldb.SBType.pointer = lambda self: self.GetPointerType()
|
||||
@@ -625,10 +632,11 @@ class Dumper(DumperBase):
|
||||
self.remoteChannel_ = args.get('remoteChannel', '')
|
||||
self.platform_ = args.get('platform', '')
|
||||
|
||||
if self.sysRoot_:
|
||||
self.debugger.SetCurrentPlatformSDKRoot(self.sysRoot_)
|
||||
if self.platform_:
|
||||
self.debugger.SetCurrentPlatform(self.platform_)
|
||||
# sysroot has to be set *after* the platform
|
||||
if self.sysRoot_:
|
||||
self.debugger.SetCurrentPlatformSDKRoot(self.sysRoot_)
|
||||
self.target = self.debugger.CreateTarget(self.executable_, None, None, True, error)
|
||||
self.importDumpers()
|
||||
|
||||
|
||||
@@ -990,10 +990,12 @@ def qdumpHelper__Qt5_QMap(d, value, forceLong):
|
||||
innerType = nodeType
|
||||
|
||||
|
||||
def helper(d, node, nodeType, isCompact, forceLong, i):
|
||||
def helper(d, node, nodeType, isCompact, forceLong, i, n):
|
||||
left = node["left"]
|
||||
if not d.isNull(left):
|
||||
i = helper(d, left.dereference(), nodeType, isCompact, forceLong, i)
|
||||
i = helper(d, left.dereference(), nodeType, isCompact, forceLong, i, n)
|
||||
if i >= n:
|
||||
return i
|
||||
|
||||
nodex = node.cast(nodeType)
|
||||
with SubItem(d, i):
|
||||
@@ -1008,16 +1010,18 @@ def qdumpHelper__Qt5_QMap(d, value, forceLong):
|
||||
qdump__QMapNode(d, nodex)
|
||||
|
||||
i += 1
|
||||
if i >= n:
|
||||
return i
|
||||
|
||||
right = node["right"]
|
||||
if not d.isNull(right):
|
||||
i = helper(d, right.dereference(), nodeType, isCompact, forceLong, i)
|
||||
i = helper(d, right.dereference(), nodeType, isCompact, forceLong, i, n)
|
||||
|
||||
return i
|
||||
|
||||
with Children(d, n, childType=innerType):
|
||||
node = d_ptr["header"]
|
||||
helper(d, node, nodeType, isCompact, forceLong, 0)
|
||||
helper(d, node, nodeType, isCompact, forceLong, 0, n)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -92,5 +92,48 @@ Section {
|
||||
ExpandingSpacer {
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
visible: majorQtQuickVersion > 1
|
||||
text: qsTr("Enabled")
|
||||
}
|
||||
SecondColumnLayout {
|
||||
visible: majorQtQuickVersion > 1
|
||||
CheckBox {
|
||||
backendValue: backendValues.enabled
|
||||
text: qsTr("Accept mouse and keyboard events")
|
||||
}
|
||||
ExpandingSpacer {
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
visible: majorQtQuickVersion > 1
|
||||
text: qsTr("Smooth")
|
||||
}
|
||||
SecondColumnLayout {
|
||||
visible: majorQtQuickVersion > 1
|
||||
CheckBox {
|
||||
backendValue: backendValues.smooth
|
||||
text: qsTr("Smooth sampling active")
|
||||
}
|
||||
ExpandingSpacer {
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
visible: majorQtQuickVersion > 1
|
||||
text: qsTr("Antialiasing")
|
||||
}
|
||||
SecondColumnLayout {
|
||||
visible: majorQtQuickVersion > 1
|
||||
CheckBox {
|
||||
backendValue: backendValues.antialiasing
|
||||
text: qsTr("Anti-aliasing active")
|
||||
}
|
||||
ExpandingSpacer {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,11 @@ class QtQuick2ApplicationViewerPrivate
|
||||
|
||||
QString QtQuick2ApplicationViewerPrivate::adjustPath(const QString &path)
|
||||
{
|
||||
#if defined(Q_OS_MAC)
|
||||
#if defined(Q_OS_IOS)
|
||||
if (!QDir::isAbsolutePath(path))
|
||||
return QString::fromLatin1("%1/%2")
|
||||
.arg(QCoreApplication::applicationDirPath(), path);
|
||||
#elif defined(Q_OS_MAC)
|
||||
if (!QDir::isAbsolutePath(path))
|
||||
return QStringLiteral("%1/../Resources/%2")
|
||||
.arg(QCoreApplication::applicationDirPath(), path);
|
||||
|
||||
@@ -146,41 +146,6 @@
|
||||
<translation><html><head/><body><p>Попытка выполнить утилиту «%1» для приложения в режиме %2. Утилита разработана для использования в режиме %3.</p><p>Работа в режимах отладки и выпуска значительно отличается, поэтому проблемы, найденные для одного из них, могут отсутствовать у другого.</p><p>Выполнить запуск утилиты в режиме %2?</p></body></html></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AnchorButtons</name>
|
||||
<message>
|
||||
<source>Set top anchor</source>
|
||||
<translation>Установить верхнюю привязку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Setting anchors in states is not supported.</source>
|
||||
<translation>Установка привязок на состояния не поддерживается.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set bottom anchor</source>
|
||||
<translation>Установить нижнюю привязку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set left anchor</source>
|
||||
<translation>Установить левую привязку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set right anchor</source>
|
||||
<translation>Установить правую привязку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fill to parent</source>
|
||||
<translation>Заполнить предка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set vertical anchor</source>
|
||||
<translation>Установить вертикальную привязку</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set horizontal anchor</source>
|
||||
<translation>Установить горизонтальную привязку</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Android</name>
|
||||
<message>
|
||||
@@ -2955,30 +2920,10 @@ Local pulls are not applied to the master branch.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>BorderImageSpecifics</name>
|
||||
<message>
|
||||
<source>BorderImage</source>
|
||||
<translation>Изображение рамки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source</source>
|
||||
<translation>Источник</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Слева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Справа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top</source>
|
||||
<translation>Сверху</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom</source>
|
||||
<translation>Снизу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border Image</source>
|
||||
<translation>Изображение рамки</translation>
|
||||
@@ -4309,63 +4254,6 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Стиль кода</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ColorGroupBox</name>
|
||||
<message>
|
||||
<source>Color editor</source>
|
||||
<translation>Редактор цвета</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hue</source>
|
||||
<translation>Тон</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Saturation</source>
|
||||
<translation>Насыщенность</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Brightness</source>
|
||||
<translation>Яркость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alpha</source>
|
||||
<translation>Альфа</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ColorLineEdit</name>
|
||||
<message>
|
||||
<source>Translate this string</source>
|
||||
<translation>Перевести эту строку</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ColorTypeButtons</name>
|
||||
<message>
|
||||
<source>Solid color</source>
|
||||
<translation>Сплошной цвет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Solid color (only editable in base state)</source>
|
||||
<translation>Сплошной цвет (меняется только в исходном состоянии)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gradient</source>
|
||||
<translation>Градиент</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gradient (only editable in base state)</source>
|
||||
<translation>Градиент (меняется только в исходном состоянии)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transparent</source>
|
||||
<translation>Прозрачность</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Transparent (only editable in base state)</source>
|
||||
<translation>Прозрачность (меняется только в исходном состоянии)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ColumnSpecifics</name>
|
||||
<message>
|
||||
@@ -12907,14 +12795,6 @@ Rebuilding the project might help.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>EditorManager</name>
|
||||
<message>
|
||||
<source>Next Open Document in History</source>
|
||||
<translation>Следующий открытый документ в истории</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Previous Open Document in History</source>
|
||||
<translation>Предыдущий открытый документ в истории</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Go Back</source>
|
||||
<translation>Перейти назад</translation>
|
||||
@@ -12954,47 +12834,6 @@ Rebuilding the project might help.</source>
|
||||
<translation>Редактор</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ExpressionEditor</name>
|
||||
<message>
|
||||
<source>Expression</source>
|
||||
<translation>Выражение</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Extended</name>
|
||||
<message>
|
||||
<source>Effect</source>
|
||||
<translation>Эффект</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Blur Radius:</source>
|
||||
<translation>Радиус размытия:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pixel Size:</source>
|
||||
<translation>Размер пикселя:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>x Offset: </source>
|
||||
<translation>Смещение по x: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>y Offset: </source>
|
||||
<translation>Смещение по y: </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ExtendedFunctionButton</name>
|
||||
<message>
|
||||
<source>Reset</source>
|
||||
<translation>Сбросить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set Expression</source>
|
||||
<translation>Присвоить выражение</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ExtensionSystem::Internal::PluginDetailsView</name>
|
||||
<message>
|
||||
@@ -13941,53 +13780,6 @@ Reason: %3</source>
|
||||
<translation>Свернуть всё</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FlickableGroupBox</name>
|
||||
<message>
|
||||
<source>Flickable</source>
|
||||
<translation>Толкаемо</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content size</source>
|
||||
<translation>Размер содержимого</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flick direction</source>
|
||||
<translation>Направление толкания</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flickable direction</source>
|
||||
<translation>Направление толкания</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bounds behavior</source>
|
||||
<translation>Поведение границ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Max. velocity</source>
|
||||
<translation>Макс. скорость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum flick velocity</source>
|
||||
<translation>Максимальная скорость толкания</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flick deceleration</source>
|
||||
<translation>Замедление толкания</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Behavior</source>
|
||||
<translation>Поведение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Interactive</source>
|
||||
<translation>Интерактивность</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deceleration</source>
|
||||
<translation>Замедление</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FlickableSection</name>
|
||||
<message>
|
||||
@@ -14044,10 +13836,6 @@ Reason: %3</source>
|
||||
<source>Flow</source>
|
||||
<translation>Перетекание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Layout direction</source>
|
||||
<translation>Направление компоновки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spacing</source>
|
||||
<translation>Отступ</translation>
|
||||
@@ -14057,25 +13845,6 @@ Reason: %3</source>
|
||||
<translation>Направление компоновки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FontGroupBox</name>
|
||||
<message>
|
||||
<source>Font</source>
|
||||
<translation>Шрифт</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size</source>
|
||||
<translation>Размер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Font style</source>
|
||||
<translation>Начертание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation>Стиль</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FontSection</name>
|
||||
<message>
|
||||
@@ -14337,33 +14106,6 @@ These files are preserved.</source>
|
||||
</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Geometry</name>
|
||||
<message>
|
||||
<source>Geometry</source>
|
||||
<translation>Геометрия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Position</source>
|
||||
<translation>Положение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size</source>
|
||||
<translation>Размер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Width</source>
|
||||
<translation>Ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Height</source>
|
||||
<translation>Высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lock aspect ratio</source>
|
||||
<translation>Зафиксировать соотношение сторон</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GeometrySection</name>
|
||||
<message>
|
||||
@@ -16650,10 +16392,6 @@ You can choose between stashing the changes or discarding them.</source>
|
||||
<source>Flow</source>
|
||||
<translation>Перетекание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Layout direction</source>
|
||||
<translation>Направление компоновки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spacing</source>
|
||||
<translation>Отступ</translation>
|
||||
@@ -16677,14 +16415,6 @@ You can choose between stashing the changes or discarding them.</source>
|
||||
<source>Cache buffer</source>
|
||||
<translation>Буфер кэша</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cell height</source>
|
||||
<translation>Высота ячейки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cell width</source>
|
||||
<translation>Ширина ячейки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Determines whether the grid wraps key navigation.</source>
|
||||
<translation>Определяет, меняет ли сетка навигацию клавишами.</translation>
|
||||
@@ -17612,6 +17342,10 @@ Ids must begin with a lowercase letter.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>Ios::Internal::IosDebugSupport</name>
|
||||
<message>
|
||||
<source>Could not find device specific debug symbols at %1. Debugging initialization will be slow until you open the Organizer window of Xcode with the device connected to have the symbols generated.</source>
|
||||
<translation>Не удалось найти отладочные символы для устройства в %1. Инициализация отладки займёт много времени. Для её ускорения необходимо подключить устройство и открыть окно органайзера Xcode для генерации символов.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not get debug server file descriptor.</source>
|
||||
<translation>Не удалось получить дескриптор файла сервера отладки.</translation>
|
||||
@@ -17718,6 +17452,10 @@ Ids must begin with a lowercase letter.</source>
|
||||
<source>unknown</source>
|
||||
<translation>неизвестно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OS version</source>
|
||||
<translation>Версия ОС</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An iOS device in user mode has been detected.</source>
|
||||
<translation>Обнаружено устройство iOS работающее в пользовательском режиме.</translation>
|
||||
@@ -17895,33 +17633,6 @@ QML component instance objects and properties directly.</source>
|
||||
QML.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Layout</name>
|
||||
<message>
|
||||
<source>Layout</source>
|
||||
<translation>Компоновка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Anchors</source>
|
||||
<translation>Привязки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set anchors</source>
|
||||
<translation>Установить привязки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Setting anchors in states is not supported.</source>
|
||||
<translation>Установка привязок на состояния не поддерживается.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Target</source>
|
||||
<translation>Цель</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Margin</source>
|
||||
<translation>Отступ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LayoutSection</name>
|
||||
<message>
|
||||
@@ -17941,13 +17652,6 @@ QML.</translation>
|
||||
<translation>Отступ</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LineEdit</name>
|
||||
<message>
|
||||
<source>Translate this string</source>
|
||||
<translation>Перевести эту строку</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LinksBar</name>
|
||||
<message>
|
||||
@@ -18021,14 +17725,6 @@ QML.</translation>
|
||||
<source>Resize animation duration of the highlight delegate.</source>
|
||||
<translation>Продолжительность анимации изменения размера делегата подсветки.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Resize speed</source>
|
||||
<translation>Скорость изменения размера</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Resize animation speed of the highlight delegate.</source>
|
||||
<translation>Скорость анимации изменения размера делегата подсветки.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Preferred begin</source>
|
||||
<translation>Предпочтительное начало</translation>
|
||||
@@ -19171,27 +18867,8 @@ Do you want to kill it?</source>
|
||||
<translation>Встроенный в Qt Creator</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Modifiers</name>
|
||||
<message>
|
||||
<source>Manipulation</source>
|
||||
<translation>Управление</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rotation</source>
|
||||
<translation>Вращение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>z</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MouseAreaSpecifics</name>
|
||||
<message>
|
||||
<source>MouseArea</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled</source>
|
||||
<translation>Включено</translation>
|
||||
@@ -25159,11 +24836,23 @@ Neither the path to the library nor the path to its includes is added to the .pr
|
||||
<extracomment>The name of the release build configuration created by default for a qmake project.</extracomment>
|
||||
<translation>Выпуск</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Release</source>
|
||||
<comment>Shadow build directory suffix</comment>
|
||||
<extracomment>Non-ASCII characters in directory suffix may cause build issues.</extracomment>
|
||||
<translation>Release</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug</source>
|
||||
<extracomment>The name of the debug build configuration created by default for a qmake project.</extracomment>
|
||||
<translation>Отладка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug</source>
|
||||
<comment>Shadow build directory suffix</comment>
|
||||
<extracomment>Non-ASCII characters in directory suffix may cause build issues.</extracomment>
|
||||
<translation>Debug</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Build</source>
|
||||
<translation>Сборка</translation>
|
||||
@@ -29160,12 +28849,12 @@ Do you want Qt Creator to generate it for your project?</source>
|
||||
%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Target is being added.</source>
|
||||
<translation>Цель была добавлена.</translation>
|
||||
<source>Target %1 is being added.</source>
|
||||
<translation>Добавляется цель %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Target is already added.</source>
|
||||
<translation>Цель уже добавлена.</translation>
|
||||
<source>Target %1 is already added.</source>
|
||||
<translation>Цель %1 уже добавлена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Finished uninstalling target:
|
||||
@@ -30769,43 +30458,8 @@ cannot be found in the path.</source>
|
||||
<translation>Фокус при нажатии</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RectangleColorGroupBox</name>
|
||||
<message>
|
||||
<source>Colors</source>
|
||||
<translation>Цвета</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stops</source>
|
||||
<translation>Опорные точки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gradient stops</source>
|
||||
<translation>Опорные точки градиента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rectangle</source>
|
||||
<translation>Прямоугольник</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border</source>
|
||||
<translation>Рамка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RectangleSpecifics</name>
|
||||
<message>
|
||||
<source>Rectangle</source>
|
||||
<translation>Прямоугольник</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border width</source>
|
||||
<translation>Ширина рамки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Border has to be solid to change width</source>
|
||||
<translation>Для изменения ширины необходимо, чтобы рамка была сплошной</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Radius</source>
|
||||
<translation>Радиус</translation>
|
||||
@@ -31767,10 +31421,6 @@ Remote stderr was: '%1'</source>
|
||||
<source>Row</source>
|
||||
<translation>Строка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Layout direction</source>
|
||||
<translation>Направление компоновки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Spacing</source>
|
||||
<translation>Отступ</translation>
|
||||
@@ -31900,47 +31550,12 @@ with a password, which you can enter below.</source>
|
||||
<translation>Не кодировать файл ключа</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>StandardTextColorGroupBox</name>
|
||||
<message>
|
||||
<source>Color</source>
|
||||
<translation>Цвет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation>Текст</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Style</source>
|
||||
<translation>Стиль</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selection</source>
|
||||
<translation>Выделение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Selected</source>
|
||||
<translation>Выделено</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>StandardTextGroupBox</name>
|
||||
<message>
|
||||
<source>Text</source>
|
||||
<translation>Текст</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wrap mode</source>
|
||||
<translation>Режим переноса</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source></source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Alignment</source>
|
||||
<translation>Выравнивание</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>StandardTextSection</name>
|
||||
@@ -32288,25 +31903,6 @@ with a password, which you can enter below.</source>
|
||||
<translation>Фиксация Subversion</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Switches</name>
|
||||
<message>
|
||||
<source>Special properties</source>
|
||||
<translation>Специальные свойства</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Layout</source>
|
||||
<translation>Компоновка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced properties</source>
|
||||
<translation>Дополнительные свойства</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Advanced</source>
|
||||
<translation>Дополнительно</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TabViewToolAction</name>
|
||||
<message>
|
||||
@@ -32436,10 +32032,6 @@ with a password, which you can enter below.</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>TextEditSpecifics</name>
|
||||
<message>
|
||||
<source>Text Edit</source>
|
||||
<translation>Текстовый редактор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format</source>
|
||||
<translation>Формат</translation>
|
||||
@@ -32463,10 +32055,6 @@ with a password, which you can enter below.</source>
|
||||
<source>Text Editor</source>
|
||||
<translation>Текстовый редактор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Translate this string</source>
|
||||
<translation>Перевести эту строку</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TextEditor::BaseFileFind</name>
|
||||
@@ -34517,49 +34105,6 @@ Will not be applied to whitespace in comments and strings.</source>
|
||||
<translation>Определяет, как текст отображается в поле.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TextInputGroupBox</name>
|
||||
<message>
|
||||
<source>Text Input</source>
|
||||
<translation>Текстовый ввод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Input mask</source>
|
||||
<translation>Маска ввода</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Echo mode</source>
|
||||
<translation>Режим эха</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pass. char</source>
|
||||
<translation>Символ пароля</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Character displayed when users enter passwords.</source>
|
||||
<translation>Символ отображаемый при вводе пользователем паролей.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read only</source>
|
||||
<translation>Только для чтения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cursor visible</source>
|
||||
<translation>Курсор виден</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Active focus on press</source>
|
||||
<translation>Активировать фокус при нажатии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto scroll</source>
|
||||
<translation>Прокручивать автоматически</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags</source>
|
||||
<translation>Флаги</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TextInputSection</name>
|
||||
<message>
|
||||
@@ -34763,72 +34308,6 @@ Will not be applied to whitespace in comments and strings.</source>
|
||||
<translation>&Закрыть</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Transformation</name>
|
||||
<message>
|
||||
<source>Transformation</source>
|
||||
<translation>Преобразование</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Origin</source>
|
||||
<translation>Начало</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top</source>
|
||||
<translation>Верхний</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top left</source>
|
||||
<translation>Верхний левый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Top right</source>
|
||||
<translation>Верхний правый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Left</source>
|
||||
<translation>Левый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Center</source>
|
||||
<translation>Центральный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Right</source>
|
||||
<translation>Правый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom left</source>
|
||||
<translation>Нижний левый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom right</source>
|
||||
<translation>Нижний правый</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bottom</source>
|
||||
<translation>Нижний</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Scale</source>
|
||||
<translation>Масштаб</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rotation</source>
|
||||
<translation>Вращение</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Type</name>
|
||||
<message>
|
||||
<source>Type</source>
|
||||
<translation>Тип</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Id</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Update</name>
|
||||
<message>
|
||||
@@ -37174,68 +36653,6 @@ should a repository require SSH-authentication (see documentation on SSH and the
|
||||
<translation>... поиск переопределений</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Visibility</name>
|
||||
<message>
|
||||
<source>Visibility</source>
|
||||
<translation>Видимость</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Visible</source>
|
||||
<translation>Виден</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>isVisible</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Smooth</source>
|
||||
<translation>Сглаживание</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clip</source>
|
||||
<translation>Обрезка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opacity</source>
|
||||
<translation>Непрозрачность</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WebViewSpecifics</name>
|
||||
<message>
|
||||
<source>WebView</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL</source>
|
||||
<translation>URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pref Width</source>
|
||||
<translation>Желаемая ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Preferred Width</source>
|
||||
<translation>Оптимальная ширина</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pref Height</source>
|
||||
<translation>Желаемая высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Preferred Height</source>
|
||||
<translation>Желаемая высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Scale</source>
|
||||
<translation>Масштаб</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Contents Scale</source>
|
||||
<translation>Масштаб содержимого</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Welcome::Internal::CommunityWelcomePage</name>
|
||||
<message>
|
||||
@@ -37273,17 +36690,6 @@ should a repository require SSH-authentication (see documentation on SSH and the
|
||||
<translation>Файл «%1» не является модулем QmlDesigner.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WindowPane</name>
|
||||
<message>
|
||||
<source>Window</source>
|
||||
<translation>Окно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Title</source>
|
||||
<translation>Заголовок</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>WindowSpecifics</name>
|
||||
<message>
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
<dict>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
||||
@@ -283,7 +283,7 @@ unsigned int AndroidDeployStep::remoteModificationTime(const QString &fullDestin
|
||||
process.start(AndroidConfigurations::instance().adbToolPath().toString(), arguments);
|
||||
if (!process.waitForFinished(5000)
|
||||
|| process.exitCode() != 0)
|
||||
return -1;
|
||||
return 0;
|
||||
QByteArray output = process.readAll();
|
||||
output.replace("\r\n", "\n");
|
||||
QList<QByteArray> lines = output.split('\n');
|
||||
|
||||
@@ -1077,9 +1077,8 @@ void MainWindow::readSettings()
|
||||
QColor(Utils::StyleHelper::DEFAULT_BASE_COLOR)).value<QColor>());
|
||||
}
|
||||
|
||||
if (!restoreGeometry(m_settings->value(QLatin1String(windowGeometryKey)).toByteArray()))
|
||||
resize(1008, 700); // size without window decoration
|
||||
restoreState(m_settings->value(QLatin1String(windowStateKey)).toByteArray());
|
||||
// Delay restoreWindowState, since it is overridden by LayoutRequest event
|
||||
QTimer::singleShot(0, this, SLOT(restoreWindowState()));
|
||||
|
||||
bool modeSelectorVisible = m_settings->value(QLatin1String(modeSelectorVisibleKey), true).toBool();
|
||||
ModeManager::setModeSelectorVisible(modeSelectorVisible);
|
||||
@@ -1262,3 +1261,12 @@ bool MainWindow::showWarningWithOptions(const QString &title,
|
||||
return showOptionsDialog(settingsCategory, settingsId);
|
||||
return false;
|
||||
}
|
||||
|
||||
void MainWindow::restoreWindowState()
|
||||
{
|
||||
m_settings->beginGroup(QLatin1String(settingsGroup));
|
||||
if (!restoreGeometry(m_settings->value(QLatin1String(windowGeometryKey)).toByteArray()))
|
||||
resize(1008, 700); // size without window decoration
|
||||
restoreState(m_settings->value(QLatin1String(windowStateKey)).toByteArray());
|
||||
m_settings->endGroup();
|
||||
}
|
||||
|
||||
@@ -149,6 +149,7 @@ private slots:
|
||||
void setSidebarVisible(bool visible);
|
||||
void destroyVersionDialog();
|
||||
void openDelayedFiles();
|
||||
void restoreWindowState();
|
||||
|
||||
private:
|
||||
void updateContextObject(const QList<IContext *> &context);
|
||||
|
||||
@@ -423,7 +423,7 @@ int IncludeGroup::lineForNewInclude(const QString &newIncludeFileName,
|
||||
return -1;
|
||||
|
||||
if (isSorted()) {
|
||||
const Include newInclude(newIncludeFileName, QString(), -1, newIncludeType);
|
||||
const Include newInclude(newIncludeFileName, QString(), 0, newIncludeType);
|
||||
const QList<Include>::const_iterator it = std::lower_bound(m_includes.begin(),
|
||||
m_includes.end(), newInclude, includeFileNamelessThen);
|
||||
if (it == m_includes.end())
|
||||
|
||||
@@ -56,7 +56,7 @@ uchar fromhex(uchar c)
|
||||
return 10 + c - 'a';
|
||||
if (c >= 'A' && c <= 'Z')
|
||||
return 10 + c - 'A';
|
||||
return -1;
|
||||
return UCHAR_MAX;
|
||||
}
|
||||
|
||||
void skipCommas(const char *&from, const char *to)
|
||||
@@ -147,7 +147,7 @@ QByteArray GdbMi::parseCString(const char *&from, const char *to)
|
||||
uchar prod = 0;
|
||||
while (true) {
|
||||
uchar val = fromhex(c);
|
||||
if (val == uchar(-1))
|
||||
if (val == UCHAR_MAX)
|
||||
break;
|
||||
prod = prod * 16 + val;
|
||||
if (++chars == 3 || src == end)
|
||||
|
||||
@@ -49,8 +49,7 @@ using namespace Utils;
|
||||
#if defined(Q_OS_WIN)
|
||||
static const char* qtBuildPaths[] = {
|
||||
"Q:/qt5_workdir/w/s",
|
||||
"C:/iwmake/build_mingw_opensource",
|
||||
"C:/ndk_buildrepos/qt-desktop/src"};
|
||||
"C:/work/build/qt5_workdir/w/s"};
|
||||
#elif defined(Q_OS_MAC)
|
||||
static const char* qtBuildPaths[] = {};
|
||||
#else
|
||||
|
||||
@@ -86,6 +86,7 @@ public:
|
||||
DebuggerEngineType secondSlaveEngineType;
|
||||
DebuggerEngineType cppEngineType;
|
||||
QString sysRoot;
|
||||
QString deviceSymbolsRoot;
|
||||
QString debuggerCommand;
|
||||
ProjectExplorer::Abi toolChainAbi;
|
||||
ProjectExplorer::IDevice::ConstPtr device;
|
||||
|
||||
@@ -208,7 +208,7 @@ void LldbEngine::setupInferior()
|
||||
QTC_CHECK(sp.attachPID <= 0 || (sp.startMode == AttachCrashedExternal
|
||||
|| sp.startMode == AttachExternal));
|
||||
cmd.arg("attachPid", sp.attachPID);
|
||||
cmd.arg("sysRoot", sp.sysRoot);
|
||||
cmd.arg("sysRoot", sp.deviceSymbolsRoot.isEmpty() ? sp.sysRoot : sp.deviceSymbolsRoot);
|
||||
cmd.arg("remoteChannel", ((sp.startMode == AttachToRemoteProcess
|
||||
|| sp.startMode == AttachToRemoteServer)
|
||||
? sp.remoteChannel : QString()));
|
||||
|
||||
@@ -642,7 +642,7 @@ void QmlLiveTextPreview::editorContentsChanged()
|
||||
|
||||
void QmlLiveTextPreview::onAutomaticUpdateFailed()
|
||||
{
|
||||
showSyncWarning(AutomaticUpdateFailed, QString(), -1, -1);
|
||||
showSyncWarning(AutomaticUpdateFailed, QString(), UINT_MAX, UINT_MAX);
|
||||
}
|
||||
|
||||
QList<int> QmlLiveTextPreview::objectReferencesForOffset(quint32 offset)
|
||||
|
||||
@@ -293,7 +293,7 @@ static int bitWidthFromType(int type, int subType)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const int TopLevelId = -1;
|
||||
static const uint TopLevelId = UINT_MAX;
|
||||
static bool isTopLevelItem(const QModelIndex &index)
|
||||
{
|
||||
return quintptr(index.internalId()) == quintptr(TopLevelId);
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
|
||||
#include "iosrunner.h"
|
||||
#include "iosmanager.h"
|
||||
#include "iosdevice.h"
|
||||
|
||||
#include <debugger/debuggerengine.h>
|
||||
#include <debugger/debuggerplugin.h>
|
||||
@@ -40,10 +41,12 @@
|
||||
#include <debugger/debuggerrunconfigurationaspect.h>
|
||||
#include <projectexplorer/toolchain.h>
|
||||
#include <projectexplorer/target.h>
|
||||
#include <projectexplorer/taskhub.h>
|
||||
#include <qmakeprojectmanager/qmakebuildconfiguration.h>
|
||||
#include <qmakeprojectmanager/qmakenodes.h>
|
||||
#include <qmakeprojectmanager/qmakeproject.h>
|
||||
#include <qtsupport/qtkitinformation.h>
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QDir>
|
||||
#include <QTcpServer>
|
||||
@@ -73,11 +76,38 @@ RunControl *IosDebugSupport::createDebugRunControl(IosRunConfiguration *runConfi
|
||||
if (device.isNull())
|
||||
return 0;
|
||||
QmakeProject *project = static_cast<QmakeProject *>(target->project());
|
||||
Kit *kit = target->kit();
|
||||
|
||||
DebuggerStartParameters params;
|
||||
if (device->type() == Core::Id(Ios::Constants::IOS_DEVICE_TYPE)) {
|
||||
params.startMode = AttachToRemoteProcess;
|
||||
params.platform = QLatin1String("remote-ios");
|
||||
IosDevice::ConstPtr iosDevice = device.dynamicCast<const IosDevice>();
|
||||
if (iosDevice.isNull())
|
||||
return 0;
|
||||
QString osVersion = iosDevice->osVersion();
|
||||
Utils::FileName deviceSdk1 = Utils::FileName::fromString(QDir::homePath()
|
||||
+ QLatin1String("/Library/Developer/Xcode/iOS DeviceSupport/")
|
||||
+ osVersion + QLatin1String("/Symbols"));
|
||||
QString deviceSdk;
|
||||
if (deviceSdk1.toFileInfo().isDir()) {
|
||||
deviceSdk = deviceSdk1.toString();
|
||||
} else {
|
||||
Utils::FileName deviceSdk2 = IosConfigurations::developerPath()
|
||||
.appendPath(QLatin1String("Platforms/iPhoneOS.platform/DeviceSupport/"))
|
||||
.appendPath(osVersion).appendPath(QLatin1String("Symbols"));
|
||||
if (deviceSdk2.toFileInfo().isDir()) {
|
||||
deviceSdk = deviceSdk2.toString();
|
||||
} else {
|
||||
TaskHub::addTask(Task::Warning, tr(
|
||||
"Could not find device specific debug symbols at %1. "
|
||||
"Debugging initialization will be slow until you open the Organizer window of "
|
||||
"Xcode with the device connected to have the symbols generated.")
|
||||
.arg(deviceSdk1.toUserOutput()),
|
||||
ProjectExplorer::Constants::TASK_CATEGORY_DEPLOYMENT);
|
||||
}
|
||||
}
|
||||
params.deviceSymbolsRoot = deviceSdk;
|
||||
} else {
|
||||
params.startMode = AttachExternal;
|
||||
params.platform = QLatin1String("ios-simulator");
|
||||
@@ -91,7 +121,6 @@ RunControl *IosDebugSupport::createDebugRunControl(IosRunConfiguration *runConfi
|
||||
= runConfig->extraAspect<Debugger::DebuggerRunConfigurationAspect>();
|
||||
if (aspect->useCppDebugger()) {
|
||||
params.languages |= CppLanguage;
|
||||
Kit *kit = target->kit();
|
||||
params.sysRoot = SysRootKitInformation::sysRoot(kit).toString();
|
||||
params.debuggerCommand = DebuggerKitInformation::debuggerCommand(kit).toString();
|
||||
if (ToolChain *tc = ToolChainKitInformation::toolChain(kit))
|
||||
|
||||
@@ -190,21 +190,11 @@ QString IosDevice::name()
|
||||
return QCoreApplication::translate("Ios::Internal::IosDevice", "iOS Device");
|
||||
}
|
||||
|
||||
/*
|
||||
// add back?
|
||||
|
||||
QString IosDevice::cpuArchitecure() const
|
||||
QString IosDevice::osVersion() const
|
||||
{
|
||||
return m_extraInfo.value(QLatin1String("deviceInfo")).toMap()
|
||||
.value(QLatin1String("CPUArchitecture")).toString();
|
||||
return m_extraInfo.value(QLatin1String("osVersion"));
|
||||
}
|
||||
|
||||
QString IosDevice::productType() const
|
||||
{
|
||||
return m_extraInfo.value(QLatin1String("deviceInfo")).toMap()
|
||||
.value(QLatin1String("ProductType")).toString();
|
||||
}*/
|
||||
|
||||
|
||||
// IosDeviceManager
|
||||
|
||||
@@ -222,6 +212,7 @@ IosDeviceManager::TranslationMap IosDeviceManager::translationMap()
|
||||
tMap[QLatin1String("NO")] = tr("no");
|
||||
tMap[QLatin1String("YES")] = tr("yes");
|
||||
tMap[QLatin1String("*unknown*")] = tr("unknown");
|
||||
tMap[QLatin1String("osVersion")] = tr("OS version");
|
||||
translationMap = &tMap;
|
||||
return tMap;
|
||||
}
|
||||
|
||||
@@ -65,9 +65,7 @@ public:
|
||||
QVariantMap toMap() const;
|
||||
QString uniqueDeviceID() const;
|
||||
IosDevice(const QString &uid);
|
||||
// add back? currently unused...
|
||||
//QString cpuArchitecure() const;
|
||||
//QString productType() const;
|
||||
QString osVersion() const;
|
||||
|
||||
static QString name();
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ PropertyEditorContextObject::PropertyEditorContextObject(QObject *parent) :
|
||||
m_backendValues(0),
|
||||
m_majorVersion(-1),
|
||||
m_minorVersion(-1),
|
||||
m_majorQtQuickVersion(-1),
|
||||
m_qmlComponent(0),
|
||||
m_qmlContext(0)
|
||||
{
|
||||
@@ -52,6 +53,11 @@ int PropertyEditorContextObject::majorVersion() const
|
||||
|
||||
}
|
||||
|
||||
int PropertyEditorContextObject::majorQtQuickVersion() const
|
||||
{
|
||||
return m_majorQtQuickVersion;
|
||||
}
|
||||
|
||||
void PropertyEditorContextObject::setMajorVersion(int majorVersion)
|
||||
{
|
||||
if (m_majorVersion == majorVersion)
|
||||
@@ -62,6 +68,17 @@ void PropertyEditorContextObject::setMajorVersion(int majorVersion)
|
||||
emit majorVersionChanged();
|
||||
}
|
||||
|
||||
void PropertyEditorContextObject::setMajorQtQuickVersion(int majorVersion)
|
||||
{
|
||||
if (m_majorQtQuickVersion == majorVersion)
|
||||
return;
|
||||
|
||||
m_majorQtQuickVersion = majorVersion;
|
||||
|
||||
emit majorQtQuickVersionChanged();
|
||||
|
||||
}
|
||||
|
||||
int PropertyEditorContextObject::minorVersion() const
|
||||
{
|
||||
return m_minorVersion;
|
||||
|
||||
@@ -53,6 +53,7 @@ class PropertyEditorContextObject : public QObject
|
||||
|
||||
Q_PROPERTY(int majorVersion READ majorVersion WRITE setMajorVersion NOTIFY majorVersionChanged)
|
||||
Q_PROPERTY(int minorVersion READ minorVersion WRITE setMinorVersion NOTIFY minorVersionChanged)
|
||||
Q_PROPERTY(int majorQtQuickVersion READ majorQtQuickVersion WRITE setMajorQtQuickVersion NOTIFY majorQtQuickVersionChanged)
|
||||
|
||||
Q_PROPERTY(QQmlPropertyMap* backendValues READ backendValues WRITE setBackendValues NOTIFY backendValuesChanged)
|
||||
|
||||
@@ -74,7 +75,9 @@ public:
|
||||
Q_INVOKABLE QString convertColorToString(const QColor &color) { return color.name(); }
|
||||
|
||||
int majorVersion() const;
|
||||
int majorQtQuickVersion() const;
|
||||
void setMajorVersion(int majorVersion);
|
||||
void setMajorQtQuickVersion(int majorVersion);
|
||||
int minorVersion() const;
|
||||
void setMinorVersion(int minorVersion);
|
||||
|
||||
@@ -91,6 +94,7 @@ signals:
|
||||
void backendValuesChanged();
|
||||
void majorVersionChanged();
|
||||
void minorVersionChanged();
|
||||
void majorQtQuickVersionChanged();
|
||||
void specificQmlComponentChanged();
|
||||
|
||||
public slots:
|
||||
@@ -124,6 +128,7 @@ private:
|
||||
|
||||
int m_majorVersion;
|
||||
int m_minorVersion;
|
||||
int m_majorQtQuickVersion;
|
||||
QQmlComponent *m_qmlComponent;
|
||||
QQmlContext *m_qmlContext;
|
||||
};
|
||||
|
||||
@@ -290,8 +290,10 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q
|
||||
} else {
|
||||
contextObject()->setMajorVersion(-1);
|
||||
contextObject()->setMinorVersion(-1);
|
||||
contextObject()->setMajorQtQuickVersion(-1);
|
||||
}
|
||||
|
||||
contextObject()->setMajorQtQuickVersion(qmlObjectNode.view()->majorQtQuickVersion());
|
||||
} else {
|
||||
qWarning() << "PropertyEditor: invalid node for setup";
|
||||
}
|
||||
|
||||
@@ -240,6 +240,9 @@ void PropertyEditorView::changeExpression(const QString &propertyName)
|
||||
if (m_locked)
|
||||
return;
|
||||
|
||||
if (!m_selectedNode.isValid())
|
||||
return;
|
||||
|
||||
RewriterTransaction transaction = beginRewriterTransaction(QByteArrayLiteral("PropertyEditorView::changeExpression"));
|
||||
|
||||
try {
|
||||
|
||||
@@ -86,6 +86,8 @@ public:
|
||||
QList<NodeMetaInfo> superClasses() const;
|
||||
NodeMetaInfo directSuperClass() const;
|
||||
|
||||
QList<TypeName> superClassNames() const;
|
||||
|
||||
bool defaultPropertyIsComponent() const;
|
||||
|
||||
TypeName typeName() const;
|
||||
|
||||
@@ -1031,12 +1031,27 @@ void NodeMetaInfoPrivate::setupPrototypes()
|
||||
description.majorVersion = qmlValue->componentVersion().majorVersion();
|
||||
LanguageUtils::FakeMetaObject::Export qtquickExport = qmlValue->metaObject()->exportInPackage("QtQuick");
|
||||
LanguageUtils::FakeMetaObject::Export cppExport = qmlValue->metaObject()->exportInPackage("<cpp>");
|
||||
if (qtquickExport.isValid())
|
||||
|
||||
if (qtquickExport.isValid()) {
|
||||
description.className = qtquickExport.package.toUtf8() + '.' + qtquickExport.type.toUtf8();
|
||||
else if (qmlValue->moduleName().isEmpty() && cppExport.isValid())
|
||||
} else {
|
||||
bool found = false;
|
||||
if (cppExport.isValid()) {
|
||||
foreach (const LanguageUtils::FakeMetaObject::Export &exportValue, qmlValue->metaObject()->exports()) {
|
||||
if (exportValue.package.toUtf8() != "<cpp>") {
|
||||
found = true;
|
||||
description.className = exportValue.package.toUtf8() + '.' + exportValue.type.toUtf8();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
if (qmlValue->moduleName().isEmpty() && cppExport.isValid()) {
|
||||
description.className = cppExport.package.toUtf8() + '.' + cppExport.type.toUtf8();
|
||||
else if (!qmlValue->moduleName().isEmpty())
|
||||
} else if (!qmlValue->moduleName().isEmpty()) {
|
||||
description.className = qmlValue->moduleName().toUtf8() + '.' + description.className;
|
||||
}
|
||||
}
|
||||
}
|
||||
m_prototypes.append(description);
|
||||
} else {
|
||||
if (context()->lookupType(document(), QStringList() << ov->className())) {
|
||||
@@ -1233,6 +1248,16 @@ NodeMetaInfo NodeMetaInfo::directSuperClass() const
|
||||
return NodeMetaInfo();
|
||||
}
|
||||
|
||||
QList<TypeName> NodeMetaInfo::superClassNames() const
|
||||
{
|
||||
QList<TypeName> list;
|
||||
|
||||
foreach (const Internal::TypeDescription &type, m_privateData->prototypes()) {
|
||||
list.append(type.className);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
bool NodeMetaInfo::defaultPropertyIsComponent() const
|
||||
{
|
||||
if (hasDefaultProperty())
|
||||
|
||||
@@ -471,12 +471,14 @@ void QmlProfilerTraceView::profilerDataModelStateChanged()
|
||||
switch (d->m_modelManager->state()) {
|
||||
case QmlProfilerDataState::Empty: break;
|
||||
case QmlProfilerDataState::ClearingData:
|
||||
d->m_mainView->hide();
|
||||
emit enableToolbar(false);
|
||||
break;
|
||||
case QmlProfilerDataState::AcquiringData: break;
|
||||
case QmlProfilerDataState::ProcessingData: break;
|
||||
case QmlProfilerDataState::Done:
|
||||
emit enableToolbar(true);
|
||||
d->m_mainView->show();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -487,11 +487,11 @@ void BlackBerryInstallWizardFinalPage::initializePage()
|
||||
return;
|
||||
}
|
||||
|
||||
label->setText(tr("Target is being added.").arg(m_data.ndkPath));
|
||||
label->setText(tr("Target %1 is being added.").arg(m_data.ndkPath));
|
||||
emit done();
|
||||
return;
|
||||
} else {
|
||||
label->setText(tr("Target is already added.").arg(m_data.ndkPath));
|
||||
label->setText(tr("Target %1 is already added.").arg(m_data.ndkPath));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ public slots:
|
||||
|
||||
ExamplesListModel::ExamplesListModel(QObject *parent) :
|
||||
QAbstractListModel(parent),
|
||||
m_uniqueQtId(noQtVersionsId)
|
||||
m_uniqueQtId(uniqueQtVersionIdSetting())
|
||||
{
|
||||
QHash<int, QByteArray> roleNames;
|
||||
roleNames[Name] = "name";
|
||||
|
||||
@@ -246,12 +246,13 @@ QDomDocument UpdateInfoPlugin::update()
|
||||
QDomDocument updates;
|
||||
if (updater.exitStatus() != QProcess::CrashExit) {
|
||||
d->m_timer.stop();
|
||||
d->m_lastDayChecked = QDate::currentDate();
|
||||
updates.setContent(updater.readAllStandardOutput());
|
||||
saveSettings(); // force writing out the last update date
|
||||
} else {
|
||||
qWarning() << "Updater application crashed.";
|
||||
}
|
||||
|
||||
d->m_lastDayChecked = QDate::currentDate();
|
||||
return updates;
|
||||
}
|
||||
|
||||
|
||||
@@ -1227,6 +1227,7 @@ void DevInfoSession::deviceCallbackReturned()
|
||||
QString deviceNameKey = QLatin1String("deviceName");
|
||||
QString developerStatusKey = QLatin1String("developerStatus");
|
||||
QString deviceConnectedKey = QLatin1String("deviceConnected");
|
||||
QString osVersionKey = QLatin1String("osVersion");
|
||||
bool failure = !device;
|
||||
if (!failure) {
|
||||
failure = !connectDevice();
|
||||
@@ -1256,6 +1257,32 @@ void DevInfoSession::deviceCallbackReturned()
|
||||
if (!res.contains(developerStatusKey))
|
||||
res[developerStatusKey] = QLatin1String("*off*");
|
||||
}
|
||||
if (!failure) {
|
||||
CFPropertyListRef cfProductVersion = lib()->deviceCopyValue(device,
|
||||
0,
|
||||
CFSTR("ProductVersion"));
|
||||
//CFShow(cfProductVersion);
|
||||
CFPropertyListRef cfBuildVersion = lib()->deviceCopyValue(device,
|
||||
0,
|
||||
CFSTR("BuildVersion"));
|
||||
//CFShow(cfBuildVersion);
|
||||
QString versionString;
|
||||
if (cfProductVersion) {
|
||||
if (CFGetTypeID(cfProductVersion) == CFStringGetTypeID())
|
||||
versionString = CFStringRef2QString(reinterpret_cast<CFStringRef>(cfProductVersion));
|
||||
CFRelease(cfProductVersion);
|
||||
}
|
||||
if (cfBuildVersion) {
|
||||
if (!versionString.isEmpty() && CFGetTypeID(cfBuildVersion) == CFStringGetTypeID())
|
||||
versionString += QString::fromLatin1(" (%1)").arg(
|
||||
CFStringRef2QString(reinterpret_cast<CFStringRef>(cfBuildVersion)));
|
||||
CFRelease(cfBuildVersion);
|
||||
}
|
||||
if (!versionString.isEmpty())
|
||||
res[osVersionKey] = versionString;
|
||||
else
|
||||
res[osVersionKey] = QLatin1String("*unknown*");
|
||||
}
|
||||
disconnectDevice();
|
||||
}
|
||||
if (!res.contains(deviceConnectedKey))
|
||||
|
||||
@@ -4,7 +4,7 @@ include(../../../qtcreator.pri)
|
||||
include(../../private_headers.pri)
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
||||
qtHaveModule(declarative) {
|
||||
qtHaveModule(declarative-private) {
|
||||
QT += declarative-private core-private
|
||||
SUBDIRS += qmlpuppet
|
||||
}
|
||||
|
||||
@@ -3311,6 +3311,7 @@ namespace lambda {
|
||||
std::string x;
|
||||
auto f = [&] () -> const std::string & {
|
||||
int z = x.size();
|
||||
Q_UNUSED(z);
|
||||
return x;
|
||||
};
|
||||
auto c = f();
|
||||
|
||||
@@ -456,8 +456,8 @@ def __closeSubprocessByPushingStop__(sType):
|
||||
stopButton = verifyEnabled(":Qt Creator.Stop_QToolButton")
|
||||
if stopButton.enabled:
|
||||
clickButton(stopButton)
|
||||
test.verify(playButton.enabled)
|
||||
test.compare(stopButton.enabled, False)
|
||||
test.verify(waitFor("playButton.enabled", 5000), "Play button should be enabled")
|
||||
test.compare(stopButton.enabled, False, "Stop button should be disabled")
|
||||
if sType == SubprocessType.QT_QUICK_UI and platform.system() == "Darwin":
|
||||
waitFor("stopButton.enabled==False")
|
||||
snooze(2)
|
||||
|
||||
@@ -60,15 +60,19 @@ source("../../shared/workarounds.py")
|
||||
# function must be called BEFORE any call except the first (which is done always automatically)
|
||||
def overrideStartApplication():
|
||||
global startApplication, __origStartApplication__
|
||||
if (platform.system() != "Darwin"):
|
||||
if (platform.system() == "Linux"):
|
||||
return
|
||||
if (__origStartApplication__ == None):
|
||||
__origStartApplication__ = startApplication
|
||||
def startApplication(*args):
|
||||
args = list(args)
|
||||
if str(args[0]).startswith('qtcreator'):
|
||||
if platform.system() == 'Darwin':
|
||||
args[0] = args[0].replace('qtcreator', '"Qt Creator"', 1)
|
||||
test.log("Using workaround for MacOS (different AUT name)")
|
||||
elif not isQt4Build:
|
||||
args[0] = args[0] + ' -platform windows:dialogs=none'
|
||||
test.log("Using workaround for Windows (failing to hook into native FileDialog)")
|
||||
return __origStartApplication__(*args)
|
||||
|
||||
def startedWithoutPluginError():
|
||||
|
||||
@@ -53,9 +53,11 @@ def verifyCloneLog(targetDir, canceled):
|
||||
"Searching for clone directory in clone log")
|
||||
result = "The process terminated with exit code 0."
|
||||
summary = "Succeeded."
|
||||
# cloneLog.plainText holds escape as character which makes QDom fail while printing the result
|
||||
# removing these for letting Jenkins continue execute the test suite
|
||||
test.xverify((result in str(cloneLog.plainText)),
|
||||
"Searching for result (%s) in clone log:\n%s"
|
||||
% (result, str(cloneLog.plainText)))
|
||||
% (result, str(cloneLog.plainText).replace(unicode("\x1b"), "")))
|
||||
test.compare(waitForObject(":Git Repository Clone.Result._QLabel").text, summary)
|
||||
|
||||
def verifyFiles(targetDir):
|
||||
|
||||
Reference in New Issue
Block a user