forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.0'
Conflicts: qtcreator.pri qtcreator.qbs Change-Id: I6217662f0c51d04a83f7a85dc5d7c7f25e78e09a
This commit is contained in:
6
dist/changes-4.0.0.md
vendored
6
dist/changes-4.0.0.md
vendored
@@ -96,6 +96,7 @@ Debugging
|
||||
* LLDB
|
||||
* Fixed issues with Xcode 7.3
|
||||
(QTCREATORBUG-15965, QTCREATORBUG-15945, QTCREATORBUG-15949)
|
||||
* Fixed breakpoint commands (QTCREATORBUG-15585)
|
||||
|
||||
QML Profiler
|
||||
|
||||
@@ -182,6 +183,11 @@ Android
|
||||
* Fixed issues with `Select Android Device`
|
||||
(QTCREATORBUG-15338, QTCREATORBUG-15422)
|
||||
|
||||
iOS
|
||||
|
||||
* Fixed building for device with Qt 5.7 (QTCREATORBUG-16102)
|
||||
* Fixed brief freezes while handling build output (QTCREATORBUG-15613)
|
||||
|
||||
Credits for these changes go to:
|
||||
Alessandro Portale
|
||||
Alexandru Croitor
|
||||
|
||||
@@ -125,6 +125,9 @@ def fix_rpaths(path, qt_deploy_path, qt_install_info, chrpath=None):
|
||||
new_rpath = filter(lambda path: not path.startswith(qt_install_prefix) and not path.startswith(qt_install_libs),
|
||||
rpath)
|
||||
|
||||
# check for Qt linking
|
||||
lddOutput = subprocess.check_output(['ldd', filepath])
|
||||
if lddOutput.find('libQt5') >= 0 or lddOutput.find('libicu') >= 0:
|
||||
# add Qt RPATH if necessary
|
||||
relative_path = os.path.relpath(qt_deploy_path, os.path.dirname(filepath))
|
||||
if relative_path == '.':
|
||||
|
||||
@@ -1455,9 +1455,13 @@ class DumperBase:
|
||||
self.put('keyencoded="latin1",')
|
||||
self.putItem(v)
|
||||
propertyCount += 1
|
||||
|
||||
self.putValue(str('<%s items>' % propertyCount if propertyCount else '<>0 items>'))
|
||||
self.putItemCount(propertyCount)
|
||||
else:
|
||||
# We need a handle to [x] for the user to expand the item
|
||||
# before we know whether there are actual children. Counting
|
||||
# them is too expensive.
|
||||
self.putNumChild(1)
|
||||
self.putSpecialValue("minimumitemcount", 0)
|
||||
|
||||
with SubItem(self, "[methods]"):
|
||||
methodCount = self.staticQObjectMethodCount(smo)
|
||||
|
||||
@@ -214,8 +214,8 @@ void BuildDirManager::parse()
|
||||
|
||||
void BuildDirManager::clearCache()
|
||||
{
|
||||
auto cmakeCache = Utils::FileName(buildDirectory()).appendPath(QLatin1String("CMakeCache.txt"));
|
||||
auto cmakeFiles = Utils::FileName(buildDirectory()).appendPath(QLatin1String("CMakeFiles"));
|
||||
auto cmakeCache = Utils::FileName(workDirectory()).appendPath(QLatin1String("CMakeCache.txt"));
|
||||
auto cmakeFiles = Utils::FileName(workDirectory()).appendPath(QLatin1String("CMakeFiles"));
|
||||
|
||||
const bool mustCleanUp = cmakeCache.exists() || cmakeFiles.exists();
|
||||
if (!mustCleanUp)
|
||||
|
||||
@@ -931,6 +931,7 @@ QString BaseQtVersion::findQtBinary(Binaries binary) const
|
||||
case Linguist:
|
||||
if (HostOsInfo::isMacHost())
|
||||
possibleCommands << QLatin1String("Linguist.app/Contents/MacOS/Linguist");
|
||||
else
|
||||
possibleCommands << HostOsInfo::withExecutableSuffix(QLatin1String("linguist"));
|
||||
break;
|
||||
case Uic:
|
||||
|
||||
@@ -29,4 +29,10 @@ QtcTool {
|
||||
cpp.includePaths: base.concat(["ipcsource", llvmIncludeDir])
|
||||
cpp.libraryPaths: base.concat(llvmLibDir)
|
||||
cpp.dynamicLibraries: base.concat(llvmLibs)
|
||||
cpp.rpaths: base.concat(llvmLibDir)
|
||||
|
||||
Properties {
|
||||
condition: qbs.targetOS.contains("unix") && !qbs.targetOS.contains("osx")
|
||||
cpp.linkerFlags: base.concat(["-z", "origin"])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,10 +176,17 @@ def invokeMenuItem(menu, item, *subItems):
|
||||
waitForObject(":Qt Creator.QtCreator.MenuBar_QMenuBar", 2000)
|
||||
except:
|
||||
nativeMouseClick(waitForObject(":Qt Creator_Core::Internal::MainWindow", 1000), 20, 20, 0, Qt.LeftButton)
|
||||
# HACK to avoid squish crash using Qt5.2 on Squish 5.0.1 - remove asap
|
||||
# HACK as Squish fails to provide a proper way to access the system menu
|
||||
if platform.system() == "Darwin":
|
||||
if menu == "Tools" and item == "Options...":
|
||||
nativeType("<Command+,>")
|
||||
#nativeType("<Command+,>")
|
||||
# the following is a pure HACK because using the default key sequence seems to be broken
|
||||
# when running from inside Squish
|
||||
menuBar = waitForObject(":Qt Creator.QtCreator.MenuBar_QMenuBar", 500)
|
||||
nativeMouseClick(menuBar, 75, 5, 0, Qt.LeftButton)
|
||||
for _ in range(3):
|
||||
nativeType("<Down>")
|
||||
nativeType("<Return>")
|
||||
return
|
||||
if menu == "File" and item == "Exit":
|
||||
nativeType("<Command+q>")
|
||||
|
||||
@@ -53,11 +53,14 @@ def checkQtCreatorHelpVersion(expectedVersion):
|
||||
switchViewTo(ViewConstants.HELP)
|
||||
try:
|
||||
helpContentWidget = waitForObject(':Qt Creator_QHelpContentWidget', 5000)
|
||||
waitFor("helpContentWidget.model().rowCount > 0", 2000)
|
||||
items = dumpItems(helpContentWidget.model())
|
||||
test.compare(filter(lambda x: x.startswith('Qt Creator Manual'), items)[0],
|
||||
'Qt Creator Manual %s' % expectedVersion,
|
||||
'Verifying whether manual uses expected version.')
|
||||
except:
|
||||
t, v = sys.exc_info()[:2]
|
||||
test.log("Exception caught", "%s(%s)" % (str(t), str(v)))
|
||||
test.fail("Missing Qt Creator Manual.")
|
||||
|
||||
def setKeyboardShortcutForAboutQtC():
|
||||
@@ -74,11 +77,19 @@ def setKeyboardShortcutForAboutQtC():
|
||||
"container={column='0' text='QtCreator' type='QModelIndex' "
|
||||
"container=%s}}" % objectMap.realName(treewidget))
|
||||
mouseClick(modelIndex, 5, 5, 0, Qt.LeftButton)
|
||||
shortcut = waitForObject("{container={title='Shortcut' type='QGroupBox' unnamed='1' "
|
||||
"visible='1'} type='Utils::FancyLineEdit' unnamed='1' visible='1' "
|
||||
"placeHolderText='Type to set shortcut'}")
|
||||
mouseClick(shortcut, 5, 5, 0, Qt.LeftButton)
|
||||
shortcutGB = "{title='Shortcut' type='QGroupBox' unnamed='1' visible='1'}"
|
||||
record = waitForObject("{container=%s type='Core::Internal::ShortcutButton' unnamed='1' "
|
||||
"visible='1' text~='(Stop Recording|Record)'}" % shortcutGB)
|
||||
shortcut = ("{container=%s type='Utils::FancyLineEdit' unnamed='1' visible='1' "
|
||||
"placeHolderText='Enter key sequence as text'}" % shortcutGB)
|
||||
clickButton(record)
|
||||
nativeType("<Ctrl+Alt+a>")
|
||||
clickButton(record)
|
||||
expected = 'Ctrl+Alt+A'
|
||||
if platform.system() == 'Darwin':
|
||||
expected = 'Ctrl+Opt+A'
|
||||
test.verify(waitFor("str(findObject(shortcut).text) == expected", 5000),
|
||||
"Expected key sequence is displayed.")
|
||||
clickButton(waitForObject(":Options.OK_QPushButton"))
|
||||
|
||||
def main():
|
||||
|
||||
Reference in New Issue
Block a user