forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.10'
Change-Id: I362555983841fa3005f0da7dd790d91c56ea448d
This commit is contained in:
@@ -67,7 +67,21 @@ source_include_patterns = [
|
|||||||
r"^doc/.*$", # include everything under doc/
|
r"^doc/.*$", # include everything under doc/
|
||||||
r"^.*\.pri$", # .pri files in all directories that are looked into
|
r"^.*\.pri$", # .pri files in all directories that are looked into
|
||||||
r"^.*\.h$", # .h files in all directories that are looked into
|
r"^.*\.h$", # .h files in all directories that are looked into
|
||||||
r"^.*\.hpp$" # .hpp files in all directories that are looked into
|
r"^.*\.hpp$", # .hpp files in all directories that are looked into
|
||||||
|
# qtdesignstudio docs are build against dev package, so we need to include some image directories
|
||||||
|
r"^share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/images/.*$",
|
||||||
|
r"^src/libs/qmleditorwidgets/images/.*$",
|
||||||
|
r"^src/libs/utils/images/.*$",
|
||||||
|
r"^src/plugins/debugger/images/.*$",
|
||||||
|
r"^src/plugins/diffeditor/images/.*$",
|
||||||
|
r"^src/plugins/help/images/.*$",
|
||||||
|
r"^src/plugins/projectexplorer/images/.*$",
|
||||||
|
r"^src/plugins/qmldesigner/components/componentcore/images/.*$",
|
||||||
|
r"^src/plugins/qmldesigner/qmldesignerextension/timelineeditor/images/.*$",
|
||||||
|
r"^src/plugins/texteditor/images/.*$"
|
||||||
|
# also some single files
|
||||||
|
r"^src/plugins/qmldesigner/components/formeditor/.*\.png$",
|
||||||
|
r"^src/plugins/qmldesigner/components/navigator/.*\.png$",
|
||||||
]
|
]
|
||||||
|
|
||||||
build_include_patterns = [
|
build_include_patterns = [
|
||||||
|
@@ -106,7 +106,8 @@ TimelineSectionItem *TimelineSectionItem::create(const QmlTimeline &timeline,
|
|||||||
{
|
{
|
||||||
auto item = new TimelineSectionItem(parent);
|
auto item = new TimelineSectionItem(parent);
|
||||||
|
|
||||||
item->setToolTip(target.id());
|
if (target.isValid())
|
||||||
|
item->setToolTip(target.id());
|
||||||
|
|
||||||
item->m_targetNode = target;
|
item->m_targetNode = target;
|
||||||
item->m_timeline = timeline;
|
item->m_timeline = timeline;
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
These files are needed by the Squish tests in tests/system. They should be
|
|
||||||
replaced by a better solution but for the time being, do not edit, move or
|
|
||||||
delete them without the consent of those maintaining the Squish tests.
|
|
@@ -1,227 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of the QtCore module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** You may use this file under the terms of the BSD license as follows:
|
|
||||||
**
|
|
||||||
** "Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are
|
|
||||||
** met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in
|
|
||||||
** the documentation and/or other materials provided with the
|
|
||||||
** distribution.
|
|
||||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
|
||||||
** contributors may be used to endorse or promote products derived
|
|
||||||
** from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
||||||
**
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include "qmlapplicationviewer.h"
|
|
||||||
|
|
||||||
#include <QtCore/QDir>
|
|
||||||
#include <QtCore/QFileInfo>
|
|
||||||
#include <QtCore/QtGlobal>
|
|
||||||
#include <QtDeclarative/QDeclarativeComponent>
|
|
||||||
#include <QtDeclarative/QDeclarativeEngine>
|
|
||||||
#include <QtDeclarative/QDeclarativeContext>
|
|
||||||
#include <QtGui/QApplication>
|
|
||||||
|
|
||||||
#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
|
|
||||||
|
|
||||||
#ifdef HARMATTAN_BOOSTER
|
|
||||||
#include <MDeclarativeCache>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
|
|
||||||
|
|
||||||
#include <qt_private/qdeclarativedebughelper_p.h>
|
|
||||||
|
|
||||||
#if !defined(NO_JSDEBUGGER)
|
|
||||||
#include <jsdebuggeragent.h>
|
|
||||||
#endif
|
|
||||||
#if !defined(NO_QMLOBSERVER)
|
|
||||||
#include <qdeclarativeviewobserver.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Enable debugging before any QDeclarativeEngine is created
|
|
||||||
struct QmlJsDebuggingEnabler
|
|
||||||
{
|
|
||||||
QmlJsDebuggingEnabler()
|
|
||||||
{
|
|
||||||
QDeclarativeDebugHelper::enableDebugging();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Execute code in constructor before first QDeclarativeEngine is instantiated
|
|
||||||
static QmlJsDebuggingEnabler enableDebuggingHelper;
|
|
||||||
|
|
||||||
#endif // QMLJSDEBUGGER
|
|
||||||
|
|
||||||
class QmlApplicationViewerPrivate
|
|
||||||
{
|
|
||||||
QmlApplicationViewerPrivate(QDeclarativeView *view_) : view(view_) {}
|
|
||||||
|
|
||||||
QString mainQmlFile;
|
|
||||||
QDeclarativeView *view;
|
|
||||||
friend class QmlApplicationViewer;
|
|
||||||
QString adjustPath(const QString &path);
|
|
||||||
};
|
|
||||||
|
|
||||||
QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
|
|
||||||
{
|
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
if (!QDir::isAbsolutePath(path))
|
|
||||||
return QString::fromLatin1("%1/../Resources/%2")
|
|
||||||
.arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
#else
|
|
||||||
const QString pathInInstallDir =
|
|
||||||
QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
|
|
||||||
if (QFileInfo(pathInInstallDir).exists())
|
|
||||||
return pathInInstallDir;
|
|
||||||
#endif
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlApplicationViewer::QmlApplicationViewer(QWidget *parent)
|
|
||||||
: QDeclarativeView(parent)
|
|
||||||
, d(new QmlApplicationViewerPrivate(this))
|
|
||||||
{
|
|
||||||
connect(engine(), SIGNAL(quit()), SLOT(close()));
|
|
||||||
setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
|
||||||
// Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
|
|
||||||
#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
|
|
||||||
#if !defined(NO_JSDEBUGGER)
|
|
||||||
new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
|
|
||||||
#endif
|
|
||||||
#if !defined(NO_QMLOBSERVER)
|
|
||||||
new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlApplicationViewer::QmlApplicationViewer(QDeclarativeView *view, QWidget *parent)
|
|
||||||
: QDeclarativeView(parent)
|
|
||||||
, d(new QmlApplicationViewerPrivate(view))
|
|
||||||
{
|
|
||||||
connect(view->engine(), SIGNAL(quit()), view, SLOT(close()));
|
|
||||||
view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
|
||||||
// Qt versions prior to 4.8.0 don't have QML/JS debugging services built in
|
|
||||||
#if defined(QMLJSDEBUGGER) && QT_VERSION < 0x040800
|
|
||||||
#if !defined(NO_JSDEBUGGER)
|
|
||||||
new QmlJSDebugger::JSDebuggerAgent(d->view->engine());
|
|
||||||
#endif
|
|
||||||
#if !defined(NO_QMLOBSERVER)
|
|
||||||
new QmlJSDebugger::QDeclarativeViewObserver(d->view, d->view);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlApplicationViewer::~QmlApplicationViewer()
|
|
||||||
{
|
|
||||||
delete d;
|
|
||||||
}
|
|
||||||
|
|
||||||
QmlApplicationViewer *QmlApplicationViewer::create()
|
|
||||||
{
|
|
||||||
#ifdef HARMATTAN_BOOSTER
|
|
||||||
return new QmlApplicationViewer(MDeclarativeCache::qDeclarativeView(), 0);
|
|
||||||
#else
|
|
||||||
return new QmlApplicationViewer();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void QmlApplicationViewer::setMainQmlFile(const QString &file)
|
|
||||||
{
|
|
||||||
d->mainQmlFile = d->adjustPath(file);
|
|
||||||
d->view->setSource(QUrl::fromLocalFile(d->mainQmlFile));
|
|
||||||
}
|
|
||||||
|
|
||||||
void QmlApplicationViewer::addImportPath(const QString &path)
|
|
||||||
{
|
|
||||||
d->view->engine()->addImportPath(d->adjustPath(path));
|
|
||||||
}
|
|
||||||
|
|
||||||
void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
|
|
||||||
{
|
|
||||||
#if defined(Q_OS_SYMBIAN)
|
|
||||||
// If the version of Qt on the device is < 4.7.2, that attribute won't work
|
|
||||||
if (orientation != ScreenOrientationAuto) {
|
|
||||||
const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
|
|
||||||
if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
|
|
||||||
qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // Q_OS_SYMBIAN
|
|
||||||
|
|
||||||
Qt::WidgetAttribute attribute;
|
|
||||||
switch (orientation) {
|
|
||||||
#if QT_VERSION < 0x040702
|
|
||||||
// Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
|
|
||||||
case ScreenOrientationLockPortrait:
|
|
||||||
attribute = static_cast<Qt::WidgetAttribute>(128);
|
|
||||||
break;
|
|
||||||
case ScreenOrientationLockLandscape:
|
|
||||||
attribute = static_cast<Qt::WidgetAttribute>(129);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
case ScreenOrientationAuto:
|
|
||||||
attribute = static_cast<Qt::WidgetAttribute>(130);
|
|
||||||
break;
|
|
||||||
#else // QT_VERSION < 0x040702
|
|
||||||
case ScreenOrientationLockPortrait:
|
|
||||||
attribute = Qt::WA_LockPortraitOrientation;
|
|
||||||
break;
|
|
||||||
case ScreenOrientationLockLandscape:
|
|
||||||
attribute = Qt::WA_LockLandscapeOrientation;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
case ScreenOrientationAuto:
|
|
||||||
attribute = Qt::WA_AutoOrientation;
|
|
||||||
break;
|
|
||||||
#endif // QT_VERSION < 0x040702
|
|
||||||
};
|
|
||||||
setAttribute(attribute, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void QmlApplicationViewer::showExpanded()
|
|
||||||
{
|
|
||||||
#if defined(Q_OS_SYMBIAN) || defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR)
|
|
||||||
d->view->showFullScreen();
|
|
||||||
#elif defined(Q_WS_MAEMO_5)
|
|
||||||
d->view->showMaximized();
|
|
||||||
#else
|
|
||||||
d->view->show();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
QApplication *createApplication(int &argc, char **argv)
|
|
||||||
{
|
|
||||||
#ifdef HARMATTAN_BOOSTER
|
|
||||||
return MDeclarativeCache::qApplication(argc, argv);
|
|
||||||
#else
|
|
||||||
return new QApplication(argc, argv);
|
|
||||||
#endif
|
|
||||||
}
|
|
@@ -1,77 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of the QtCore module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** You may use this file under the terms of the BSD license as follows:
|
|
||||||
**
|
|
||||||
** "Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are
|
|
||||||
** met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in
|
|
||||||
** the documentation and/or other materials provided with the
|
|
||||||
** distribution.
|
|
||||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
|
||||||
** contributors may be used to endorse or promote products derived
|
|
||||||
** from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
|
||||||
**
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef QMLAPPLICATIONVIEWER_H
|
|
||||||
#define QMLAPPLICATIONVIEWER_H
|
|
||||||
|
|
||||||
#include <QtDeclarative/QDeclarativeView>
|
|
||||||
|
|
||||||
class QmlApplicationViewer : public QDeclarativeView
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
enum ScreenOrientation {
|
|
||||||
ScreenOrientationLockPortrait,
|
|
||||||
ScreenOrientationLockLandscape,
|
|
||||||
ScreenOrientationAuto
|
|
||||||
};
|
|
||||||
|
|
||||||
explicit QmlApplicationViewer(QWidget *parent = 0);
|
|
||||||
virtual ~QmlApplicationViewer();
|
|
||||||
|
|
||||||
static QmlApplicationViewer *create();
|
|
||||||
|
|
||||||
void setMainQmlFile(const QString &file);
|
|
||||||
void addImportPath(const QString &path);
|
|
||||||
|
|
||||||
// Note that this will only have an effect on Symbian and Fremantle.
|
|
||||||
void setOrientation(ScreenOrientation orientation);
|
|
||||||
|
|
||||||
void showExpanded();
|
|
||||||
|
|
||||||
private:
|
|
||||||
explicit QmlApplicationViewer(QDeclarativeView *view, QWidget *parent);
|
|
||||||
class QmlApplicationViewerPrivate *d;
|
|
||||||
};
|
|
||||||
|
|
||||||
QApplication *createApplication(int &argc, char **argv);
|
|
||||||
|
|
||||||
#endif // QMLAPPLICATIONVIEWER_H
|
|
@@ -1,156 +0,0 @@
|
|||||||
# This file was generated by the Qt Quick Application wizard of Qt Creator.
|
|
||||||
# The code below adds the QmlApplicationViewer to the project and handles the
|
|
||||||
# activation of QML debugging.
|
|
||||||
# It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
# may offer an updated version of it.
|
|
||||||
|
|
||||||
QT += declarative
|
|
||||||
|
|
||||||
SOURCES += $$PWD/qmlapplicationviewer.cpp
|
|
||||||
HEADERS += $$PWD/qmlapplicationviewer.h
|
|
||||||
INCLUDEPATH += $$PWD
|
|
||||||
|
|
||||||
# Include JS debugger library if QMLJSDEBUGGER_PATH is set
|
|
||||||
!isEmpty(QMLJSDEBUGGER_PATH) {
|
|
||||||
include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri)
|
|
||||||
} else {
|
|
||||||
DEFINES -= QMLJSDEBUGGER
|
|
||||||
}
|
|
||||||
|
|
||||||
contains(CONFIG,qdeclarative-boostable):contains(MEEGO_EDITION,harmattan) {
|
|
||||||
DEFINES += HARMATTAN_BOOSTER
|
|
||||||
}
|
|
||||||
# This file was generated by an application wizard of Qt Creator.
|
|
||||||
# The code below handles deployment to Symbian and Maemo, aswell as copying
|
|
||||||
# of the application data to shadow build directories on desktop.
|
|
||||||
# It is recommended not to modify this file, since newer versions of Qt Creator
|
|
||||||
# may offer an updated version of it.
|
|
||||||
|
|
||||||
defineTest(qtcAddDeployment) {
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
itemsources = $${item}.sources
|
|
||||||
$$itemsources = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath= $$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemsources)
|
|
||||||
export($$itempath)
|
|
||||||
DEPLOYMENT += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
MAINPROFILEPWD = $$_PRO_FILE_PWD_
|
|
||||||
|
|
||||||
symbian {
|
|
||||||
isEmpty(ICON):exists($${TARGET}.svg):ICON = $${TARGET}.svg
|
|
||||||
isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
|
|
||||||
} else:win32 {
|
|
||||||
copyCommand =
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
|
|
||||||
source = $$replace(source, /, \\)
|
|
||||||
sourcePathSegments = $$split(source, \\)
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments)
|
|
||||||
target = $$replace(target, /, \\)
|
|
||||||
target ~= s,\\\\\\.?\\\\,\\,
|
|
||||||
!isEqual(source,$$target) {
|
|
||||||
!isEmpty(copyCommand):copyCommand += &&
|
|
||||||
isEqual(QMAKE_DIR_SEP, \\) {
|
|
||||||
copyCommand += $(COPY_DIR) \"$$source\" \"$$target\"
|
|
||||||
} else {
|
|
||||||
source = $$replace(source, \\\\, /)
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
|
|
||||||
target = $$replace(target, \\\\, /)
|
|
||||||
copyCommand += test -d \"$$target\" || mkdir -p \"$$target\" && cp -r \"$$source\" \"$$target\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(copyCommand) {
|
|
||||||
copyCommand = @echo Copying application data... && $$copyCommand
|
|
||||||
copydeploymentfolders.commands = $$copyCommand
|
|
||||||
first.depends = $(first) copydeploymentfolders
|
|
||||||
export(first.depends)
|
|
||||||
export(copydeploymentfolders.commands)
|
|
||||||
QMAKE_EXTRA_TARGETS += first copydeploymentfolders
|
|
||||||
}
|
|
||||||
} else:unix {
|
|
||||||
maemo5 {
|
|
||||||
installPrefix = /opt/$${TARGET}
|
|
||||||
target.path = $${installPrefix}/bin
|
|
||||||
desktopfile.files = $${TARGET}.desktop
|
|
||||||
desktopfile.path = /usr/share/applications/hildon
|
|
||||||
icon.files = $${TARGET}64.png
|
|
||||||
icon.path = /usr/share/icons/hicolor/64x64/apps
|
|
||||||
} else:!isEmpty(MEEGO_VERSION_MAJOR) {
|
|
||||||
installPrefix = /opt/$${TARGET}
|
|
||||||
target.path = $${installPrefix}/bin
|
|
||||||
desktopfile.files = $${TARGET}_harmattan.desktop
|
|
||||||
desktopfile.path = /usr/share/applications
|
|
||||||
icon.files = $${TARGET}80.png
|
|
||||||
icon.path = /usr/share/icons/hicolor/80x80/apps
|
|
||||||
} else { # Assumed to be a Desktop Unix
|
|
||||||
installPrefix = $$desktopInstallPrefix
|
|
||||||
target.path = $${installPrefix}
|
|
||||||
sources.files = *.cpp *.h *.desktop *.png *.pro *.qml *.qmlproject *.svg
|
|
||||||
sources.path = $$desktopInstallPrefix
|
|
||||||
export(sources.files)
|
|
||||||
export(sources.path)
|
|
||||||
INSTALLS += sources
|
|
||||||
copyCommand =
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source)
|
|
||||||
source = $$replace(source, \\\\, /)
|
|
||||||
macx {
|
|
||||||
target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target)
|
|
||||||
} else {
|
|
||||||
target = $$OUT_PWD/$$eval($${deploymentfolder}.target)
|
|
||||||
}
|
|
||||||
target = $$replace(target, \\\\, /)
|
|
||||||
sourcePathSegments = $$split(source, /)
|
|
||||||
targetFullPath = $$target/$$last(sourcePathSegments)
|
|
||||||
targetFullPath ~= s,/\\.?/,/,
|
|
||||||
!isEqual(source,$$targetFullPath) {
|
|
||||||
!isEmpty(copyCommand):copyCommand += &&
|
|
||||||
copyCommand += $(MKDIR) \"$$target\"
|
|
||||||
copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
!isEmpty(copyCommand) {
|
|
||||||
copyCommand = @echo Copying application data... && $$copyCommand
|
|
||||||
copydeploymentfolders.commands = $$copyCommand
|
|
||||||
first.depends = $(first) copydeploymentfolders
|
|
||||||
export(first.depends)
|
|
||||||
export(copydeploymentfolders.commands)
|
|
||||||
QMAKE_EXTRA_TARGETS += first copydeploymentfolders
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(deploymentfolder, DEPLOYMENTFOLDERS) {
|
|
||||||
item = item$${deploymentfolder}
|
|
||||||
itemfiles = $${item}.files
|
|
||||||
$$itemfiles = $$eval($${deploymentfolder}.source)
|
|
||||||
itempath = $${item}.path
|
|
||||||
$$itempath = $${installPrefix}/$$eval($${deploymentfolder}.target)
|
|
||||||
export($$itemfiles)
|
|
||||||
export($$itempath)
|
|
||||||
INSTALLS += $$item
|
|
||||||
}
|
|
||||||
|
|
||||||
!isEmpty(desktopfile.path) {
|
|
||||||
export(icon.files)
|
|
||||||
export(icon.path)
|
|
||||||
export(desktopfile.files)
|
|
||||||
export(desktopfile.path)
|
|
||||||
INSTALLS += icon desktopfile
|
|
||||||
}
|
|
||||||
|
|
||||||
export(target.path)
|
|
||||||
INSTALLS += target
|
|
||||||
}
|
|
||||||
|
|
||||||
export (ICON)
|
|
||||||
export (INSTALLS)
|
|
||||||
export (DEPLOYMENT)
|
|
||||||
export (TARGET.EPOCHEAPSIZE)
|
|
||||||
export (TARGET.CAPABILITY)
|
|
||||||
export (LIBS)
|
|
||||||
export (QMAKE_EXTRA_TARGETS)
|
|
||||||
}
|
|
@@ -79,19 +79,3 @@ def checkIfObjectItemExists(object, item, timeout = 3000):
|
|||||||
return True
|
return True
|
||||||
except:
|
except:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# this function creates a string holding the real name of a Qml Item
|
|
||||||
# param type defines the Qml type (support is limited)
|
|
||||||
# param container defines the container of the Qml item - can be a real or symbolic name
|
|
||||||
# param clip defines the state of the clip property (true/false)
|
|
||||||
# param text a string holding the complete text property (e.g. "text='example'", "text~='ex.*'")
|
|
||||||
def getQmlItem(type, container, clip, text=""):
|
|
||||||
if (container.startswith(":")):
|
|
||||||
container = "'%s'" % container
|
|
||||||
if clip != None:
|
|
||||||
clip = ("%s" % __builtin__.bool(clip)).lower()
|
|
||||||
return ("{clip='%s' container=%s enabled='true' %s type='%s' unnamed='1' visible='true'}"
|
|
||||||
% (clip, container, text, type))
|
|
||||||
else:
|
|
||||||
return ("{container=%s enabled='true' %s type='%s' unnamed='1' visible='true'}"
|
|
||||||
% (container, text, type))
|
|
||||||
|
@@ -175,17 +175,3 @@ def testHovering():
|
|||||||
expectedValues = ["#D1DBBD", {"text":'<table><tr><td valign=middle>number</td><td> <img src=":/utils/tooltip/images/f1.png"></td></tr></table>'}]
|
expectedValues = ["#D1DBBD", {"text":'<table><tr><td valign=middle>number</td><td> <img src=":/utils/tooltip/images/f1.png"></td></tr></table>'}]
|
||||||
alternativeValues = ["#D6DBBD", None]
|
alternativeValues = ["#D6DBBD", None]
|
||||||
verifyHoveringOnEditor(editor, lines, additionalKeyPresses, expectedTypes, expectedValues, alternativeValues)
|
verifyHoveringOnEditor(editor, lines, additionalKeyPresses, expectedTypes, expectedValues, alternativeValues)
|
||||||
|
|
||||||
def __getUnmaskedFilename__(maskedFilename):
|
|
||||||
name = maskedFilename.split("\\.")
|
|
||||||
path = name[0].rsplit(".", 1)
|
|
||||||
if len(path) < 2:
|
|
||||||
return ".".join(name)
|
|
||||||
else:
|
|
||||||
return ".".join((path[1], ".".join(name[1:])))
|
|
||||||
|
|
||||||
def maskSpecialCharsForProjectTree(filename):
|
|
||||||
filename = filename.replace("\\", "/").replace("_", "\\_").replace(".","\\.")
|
|
||||||
# undoing mask operations on chars masked by mistake
|
|
||||||
filename = filename.replace("/?","\\?").replace("/*","\\*")
|
|
||||||
return filename
|
|
||||||
|
Reference in New Issue
Block a user