# HG changeset patch # User John Kern # Date 1288028132 25200 # Node ID 2e16639599b7d906534b1083f54e6bff5450abaa # Parent 061910b224a4d847fad60c6d41e716d07af86169 flipping cards example diff -r 061910b224a4 -r 2e16639599b7 MixedView/main.cpp --- a/MixedView/main.cpp Wed Oct 20 12:55:41 2010 -0700 +++ b/MixedView/main.cpp Mon Oct 25 10:35:32 2010 -0700 @@ -21,7 +21,7 @@ a.installEventFilter(&w); w.setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); - // Symbian specific code + // Symbian specific code to keep the screen orientation of the game in Portrait mode. #ifdef Q_OS_SYMBIAN CAknAppUi* appUi = dynamic_cast (CEikonEnv::Static()->AppUi()); if(appUi){ diff -r 061910b224a4 -r 2e16639599b7 cards/cards.png Binary file cards/cards.png has changed diff -r 061910b224a4 -r 2e16639599b7 cards/cards.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/cards.pro Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,29 @@ +# Add more folders to ship with the application, here +folder_01.source = qml/cards +folder_01.target = qml +DEPLOYMENTFOLDERS = folder_01 + +# Additional import path used to resolve Qml modules in Creator's code model +QML_IMPORT_PATH = + +# Avoid auto screen rotation +#DEFINES += ORIENTATIONLOCK + +# Needs to be defined for Symbian +#DEFINES += NETWORKACCESS + +symbian:TARGET.UID3 = 0xE76A0DD4 + +# Define QMLJSDEBUGGER to enable basic debugging (setting breakpoints etc) +# Define QMLOBSERVER for advanced features (requires experimental QmlInspector plugin!) +#DEFINES += QMLJSDEBUGGER +#DEFINES += QMLOBSERVER + +# The .cpp file which was generated for your project. Feel free to hack it. +SOURCES += main.cpp + +# Please do not modify the following two lines. Required for deployment. +include(qmlapplicationviewer/qmlapplicationviewer.pri) +qtcAddDeployment() + +RESOURCES += diff -r 061910b224a4 -r 2e16639599b7 cards/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/main.cpp Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,15 @@ +#include +#include "qmlapplicationviewer.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + + QmlApplicationViewer viewer; + viewer.setOrientation(QmlApplicationViewer::Auto); + viewer.setMainQmlFile(QLatin1String("qml/cards/main.qml")); + //viewer.setSource(QUrl("qrc:/qml/cards/flipable.qml")); + viewer.show(); + + return app.exec(); +} diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/Button.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/Button.qml Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt 4.7 + +BorderImage { + id: button + property string color: "blue" + + signal clicked + + // source: "images/button-" + color + ".png"; clip: true + border { left: 10; top: 10; right: 10; bottom: 10 } + + Rectangle { + id: shade + anchors.fill: button; radius: 10; color: "black"; opacity: 0 + } + + Text { + id: buttonText + text: "Exit" + anchors.centerIn: parent; anchors.verticalCenterOffset: -1 + font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5 + style: Text.Sunken; color: "white"; styleColor: "black"; smooth: true + } + + MouseArea { + id: mouseArea + anchors.fill: parent + onClicked: Qt.quit() + } + + states: State { + name: "pressed"; when: mouseArea.pressed == true + PropertyChanges { target: shade; opacity: .4 } + } +} diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/Cards.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/Cards.qml Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,52 @@ +import Qt 4.7 + +// This is a Qt Quick component. The name of the component is defined by the +// name of the file (ie Cards). + +// Here we have taken some SVG file from Open Clipart(http://www.openclipart.org/people/nicubunu) to +// demonstrate how to use the QML Flipable element. Think of two images. One a playing card. The +// other is simply a pattern representing back of a playing card. When the user taps on the +// Flipable element, it rotates and displays the other side of the card. + +// The key point here is the transition from one state to another. We have to faces to the +// card: front and back. + +Flipable { + id: container + + property alias image: frontImage.source + property bool flipped: true + property int xAxis: 0 + property int yAxis: 0 + property int angle: 0 + + width: front.width; height: front.height + + // callee will define the front image + front: Image { id: frontImage; smooth: true } + back: Image { source: "images/nicubunu_Card_backs_suits_red.svg"; smooth: true } + + state: "back" + + MouseArea { anchors.fill: parent; onClicked: container.flipped = !container.flipped } + + transform: Rotation { + id: rotation; origin.x: container.width / 2; origin.y: container.height / 2 + axis.x: container.xAxis; axis.y: container.yAxis; axis.z: 0 + } + + states: State { + name: "back"; when: container.flipped + PropertyChanges { target: rotation; angle: container.angle } + } + + transitions: Transition { + ParallelAnimation { + NumberAnimation { target: rotation; properties: "angle"; duration: 600 } + SequentialAnimation { + NumberAnimation { target: container; property: "scale"; to: 0.75; duration: 300 } + NumberAnimation { target: container; property: "scale"; to: 1.0; duration: 300 } + } + } + } +} diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/images/getem.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/images/getem.sh Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,18 @@ + +clubs_cards="nicubunu_White_deck_8_of_clubs.svg nicubunu_White_deck_10_of_clubs.svg nicubunu_White_deck_9_of_clubs.svg nicubunu_White_deck_2_of_clubs.svg nicubunu_White_deck_Ace_of_clubs.svg nicubunu_White_deck_3_of_clubs.svg nicubunu_White_deck_Black_Joker.svg nicubunu_White_deck_4_of_clubs.svg nicubunu_White_deck_Jack_of_clubs.svg nicubunu_White_deck_5_of_clubs.svg nicubunu_White_deck_King_of_clubs.svg nicubunu_White_deck_6_of_clubs.svg nicubunu_White_deck_Queen_of_clubs.svg nicubunu_White_deck_7_of_clubs.svg" + + +diamonds_cards="nicubunu_White_deck_8_of_diamonds.svg nicubunu_White_deck_10_of_diamonds.svg nicubunu_White_deck_9_of_diamonds.svg nicubunu_White_deck_2_of_diamonds.svg nicubunu_White_deck_Ace_of_diamonds.svg nicubunu_White_deck_3_of_diamonds.svg nicubunu_White_deck_Black_Joker.svg nicubunu_White_deck_4_of_diamonds.svg nicubunu_White_deck_Jack_of_diamonds.svg nicubunu_White_deck_5_of_diamonds.svg nicubunu_White_deck_King_of_diamonds.svg nicubunu_White_deck_6_of_diamonds.svg nicubunu_White_deck_Queen_of_diamonds.svg nicubunu_White_deck_7_of_diamonds.svg" + + +hearts_cards="nicubunu_White_deck_8_of_hearts.svg nicubunu_White_deck_10_of_hearts.svg nicubunu_White_deck_9_of_hearts.svg nicubunu_White_deck_2_of_hearts.svg nicubunu_White_deck_Ace_of_hearts.svg nicubunu_White_deck_3_of_hearts.svg nicubunu_White_deck_Black_Joker.svg nicubunu_White_deck_4_of_hearts.svg nicubunu_White_deck_Jack_of_hearts.svg nicubunu_White_deck_5_of_hearts.svg nicubunu_White_deck_King_of_hearts.svg nicubunu_White_deck_6_of_hearts.svg nicubunu_White_deck_Queen_of_hearts.svg nicubunu_White_deck_7_of_hearts.svg" + +spades_cards="nicubunu_White_deck_8_of_spades.svg nicubunu_White_deck_10_of_spades.svg nicubunu_White_deck_9_of_spades.svg nicubunu_White_deck_2_of_spades.svg nicubunu_White_deck_Ace_of_spades.svg nicubunu_White_deck_3_of_spades.svg nicubunu_White_deck_Black_Joker.svg nicubunu_White_deck_4_of_spades.svg nicubunu_White_deck_Jack_of_spades.svg nicubunu_White_deck_5_of_spades.svg nicubunu_White_deck_King_of_spades.svg nicubunu_White_deck_6_of_spades.svg nicubunu_White_deck_Queen_of_spades.svg nicubunu_White_deck_7_of_spades.svg" + +for d in $clubs_cards $diamonds_cards $hearts_cards $spades_cards +do + echo "$d" + # curl http://www.openclipart.org/people/nicubunu/$d > $d + + +done diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/images/nicubunu_Card_backs_suits_red.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/images/nicubunu_Card_backs_suits_red.svg Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + card + + + + card + back + + + + + + + + + + Nicu Buculei + + + + + Nicu Buculei + + + + image/svg+xml + + + en + + + + + + + + + + + diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/images/nicubunu_White_deck_Black_Joker.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/images/nicubunu_White_deck_Black_Joker.svg Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + card + + + + white + card + + + + + + + + + + Nicu Buculei + + + + + Nicu Buculei + + + + image/svg+xml + + + en + + + + + + + + + + + diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/images/nicubunu_White_deck_Queen_of_hearts.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/images/nicubunu_White_deck_Queen_of_hearts.svg Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,432 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + card + + + + white + card + + + + + + + + + + Nicu Buculei + + + + + Nicu Buculei + + + + image/svg+xml + + + en + + + + + + + + + + + diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/images/readme --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/images/readme Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,5 @@ + +The SVG files used in this demo are from http://www.openclipart.org under create commons. +They are the creations of http://www.openclipart.org/user-detail/nicubunu + +getem.sh is a shell scripte to download them. diff -r 061910b224a4 -r 2e16639599b7 cards/qml/cards/main.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qml/cards/main.qml Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,29 @@ +import Qt 4.7 + +Rectangle { + id: window + + width: 360; height: 640 + color: "darkgreen" + + // a button to exit the app. + Button {x: 165; y:10; width: 150; height: 55} + + // here are the cards + + Row { + spacing: 30 + anchors.centerIn: parent + Cards { + yAxis: 1 + angle: 180 + image: "images/nicubunu_White_deck_Black_Joker.svg" + } + + Cards { + angle: 540 + xAxis: 1 + image: "images/nicubunu_White_deck_Queen_of_hearts.svg" + } + } +} diff -r 061910b224a4 -r 2e16639599b7 cards/qmlapplicationviewer/qmlapplicationviewer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qmlapplicationviewer/qmlapplicationviewer.cpp Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,127 @@ +// checksum 0xdf1f version 0x10008 +#include "qmlapplicationviewer.h" + +#include +#include +#include +#include +#include +#include + +#if defined(QMLJSDEBUGGER) +#include +#endif +#if defined(QMLOBSERVER) +#include +#endif + +#if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK) +#include +#include +#include +#include +#endif // Q_OS_SYMBIAN && ORIENTATIONLOCK + +class QmlApplicationViewerPrivate +{ + QString mainQmlFile; + friend class QmlApplicationViewer; + static QString adjustPath(const QString &path); +}; + +QString QmlApplicationViewerPrivate::adjustPath(const QString &path) +{ +#ifdef Q_OS_UNIX +#ifdef Q_OS_MAC + if (!QDir::isAbsolutePath(path)) + return QCoreApplication::applicationDirPath() + + QLatin1String("/../Resources/") + path; +#else + const QString pathInShareDir = QCoreApplication::applicationDirPath() + + QLatin1String("/../share/") + + QFileInfo(QCoreApplication::applicationFilePath()).fileName() + + QLatin1Char('/') + path; + if (QFileInfo(pathInShareDir).exists()) + return pathInShareDir; +#endif +#endif + return path; +} + +QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) : + QDeclarativeView(parent), + m_d(new QmlApplicationViewerPrivate) +{ + connect(engine(), SIGNAL(quit()), SLOT(close())); + setResizeMode(QDeclarativeView::SizeRootObjectToView); +#ifdef QMLJSDEBUGGER + new QmlJSDebugger::JSDebuggerAgent(engine()); +#endif +#ifdef QMLOBSERVER + new QmlJSDebugger::QDeclarativeViewObserver(this, parent); +#endif +} + +QmlApplicationViewer::~QmlApplicationViewer() +{ + delete m_d; +} + +void QmlApplicationViewer::setMainQmlFile(const QString &file) +{ + m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file); + setSource(QUrl::fromLocalFile(m_d->mainQmlFile)); +} + +void QmlApplicationViewer::addImportPath(const QString &path) +{ + engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path)); +} + +void QmlApplicationViewer::setOrientation(Orientation orientation) +{ +#ifdef Q_OS_SYMBIAN + if (orientation != Auto) { +#if defined(ORIENTATIONLOCK) + const CAknAppUiBase::TAppUiOrientation uiOrientation = + (orientation == LockPortrait) ? CAknAppUi::EAppUiOrientationPortrait + : CAknAppUi::EAppUiOrientationLandscape; + CAknAppUi* appUi = dynamic_cast (CEikonEnv::Static()->AppUi()); + TRAPD(error, + if (appUi) + appUi->SetOrientationL(uiOrientation); + ); +#else // ORIENTATIONLOCK + qWarning("'ORIENTATIONLOCK' needs to be defined on Symbian when locking the orientation."); +#endif // ORIENTATIONLOCK + } +#elif defined(Q_WS_MAEMO_5) + Qt::WidgetAttribute attribute; + switch (orientation) { + case LockPortrait: + attribute = Qt::WA_Maemo5PortraitOrientation; + break; + case LockLandscape: + attribute = Qt::WA_Maemo5LandscapeOrientation; + break; + case Auto: + default: + attribute = Qt::WA_Maemo5AutoOrientation; + break; + } + setAttribute(attribute, true); +#else // Q_OS_SYMBIAN + Q_UNUSED(orientation); +#endif // Q_OS_SYMBIAN +} + +void QmlApplicationViewer::show() +{ +#ifdef Q_OS_SYMBIAN + showFullScreen(); +#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) + showMaximized(); +#else + QDeclarativeView::show(); +#endif +} diff -r 061910b224a4 -r 2e16639599b7 cards/qmlapplicationviewer/qmlapplicationviewer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qmlapplicationviewer/qmlapplicationviewer.h Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,28 @@ +// checksum 0x39ee version 0x10008 +#ifndef QMLAPPLICATIONVIEWER_H +#define QMLAPPLICATIONVIEWER_H + +#include + +class QmlApplicationViewer : public QDeclarativeView +{ +public: + enum Orientation { + LockPortrait, + LockLandscape, + Auto + }; + + QmlApplicationViewer(QWidget *parent = 0); + virtual ~QmlApplicationViewer(); + + void setMainQmlFile(const QString &file); + void addImportPath(const QString &path); + void setOrientation(Orientation orientation); + void show(); + +private: + class QmlApplicationViewerPrivate *m_d; +}; + +#endif // QMLAPPLICATIONVIEWER_H diff -r 061910b224a4 -r 2e16639599b7 cards/qmlapplicationviewer/qmlapplicationviewer.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cards/qmlapplicationviewer/qmlapplicationviewer.pri Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,152 @@ +# checksum 0xc123 version 0x10008 +# This file should not be edited. +# Future versions of Qt Creator might offer updated versions of this file. + +QT += declarative + +SOURCES += $$PWD/qmlapplicationviewer.cpp +HEADERS += $$PWD/qmlapplicationviewer.h +INCLUDEPATH += $$PWD + +contains(DEFINES, QMLOBSERVER) { + DEFINES *= QMLJSDEBUGGER +} + +defineTest(minQtVersion) { + maj = $$1 + min = $$2 + patch = $$3 + isEqual(QT_MAJOR_VERSION, $$maj) { + isEqual(QT_MINOR_VERSION, $$min) { + isEqual(QT_PATCH_VERSION, $$patch) { + return(true) + } + greaterThan(QT_PATCH_VERSION, $$patch) { + return(true) + } + } + greaterThan(QT_MINOR_VERSION, $$min) { + return(true) + } + } + return(false) +} + +contains(DEFINES, QMLJSDEBUGGER) { + CONFIG(debug, debug|release) { + !minQtVersion(4, 7, 1) { + warning() + warning("Debugging QML requires the qmljsdebugger library that ships with Qt Creator.") + warning("This library requires Qt 4.7.1 or newer.") + warning() + + error("Qt version $$QT_VERSION too old for QmlJS Debugging. Aborting.") + } + isEmpty(QMLJSDEBUGGER_PATH) { + warning() + warning("Debugging QML requires the qmljsdebugger library that ships with Qt Creator.") + warning("Please specify its location on the qmake command line, eg") + warning(" qmake -r QMLJSDEBUGGER_PATH=$CREATORDIR/share/qtcreator/qmljsdebugger") + warning() + + error("QMLJSDEBUGGER defined, but no QMLJSDEBUGGER_PATH set on command line. Aborting.") + DEFINES -= QMLJSDEBUGGER + } else { + include($$QMLJSDEBUGGER_PATH/qmljsdebugger-lib.pri) + } + } else { + DEFINES -= QMLJSDEBUGGER + } +} +# This file should not be edited. +# Future versions of Qt Creator might offer updated versions of this file. + +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 = $$PWD + +symbian { + ICON = $${TARGET}.svg + TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 + contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -leiksrv -lcone + contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices +} else:win32 { + !isEqual(PWD,$$OUT_PWD) { + copyCommand = @echo Copying application data... + for(deploymentfolder, DEPLOYMENTFOLDERS) { + source = $$eval($${deploymentfolder}.source) + pathSegments = $$split(source, /) + sourceAndTarget = $$MAINPROFILEPWD/$$source $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(pathSegments) + copyCommand += && $(COPY_DIR) $$replace(sourceAndTarget, /, \\) + } + copydeploymentfolders.commands = $$copyCommand + first.depends = $(first) copydeploymentfolders + export(first.depends) + export(copydeploymentfolders.commands) + QMAKE_EXTRA_TARGETS += first copydeploymentfolders + } +} else:unix { + maemo5 { + installPrefix = /opt/usr + desktopfile.path = /usr/share/applications/hildon + } else { + installPrefix = /usr/local + desktopfile.path = /usr/share/applications + !isEqual(PWD,$$OUT_PWD) { + copyCommand = @echo Copying application data... + for(deploymentfolder, DEPLOYMENTFOLDERS) { + macx { + target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target) + } else { + target = $$OUT_PWD/$$eval($${deploymentfolder}.target) + } + copyCommand += && $(MKDIR) $$target + copyCommand += && $(COPY_DIR) $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) $$target + } + 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}/share/$${TARGET}/$$eval($${deploymentfolder}.target) + export($$itemfiles) + export($$itempath) + INSTALLS += $$item + } + icon.files = $${TARGET}.png + icon.path = /usr/share/icons/hicolor/64x64/apps + desktopfile.files = $${TARGET}.desktop + target.path = $${installPrefix}/bin + export(icon.files) + export(icon.path) + export(desktopfile.files) + export(desktopfile.path) + export(target.path) + INSTALLS += desktopfile icon target +} + +export (ICON) +export (INSTALLS) +export (DEPLOYMENT) +export (TARGET.EPOCHEAPSIZE) +export (TARGET.CAPABILITY) +export (LIBS) +export (QMAKE_EXTRA_TARGETS) +} diff -r 061910b224a4 -r 2e16639599b7 readme --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/readme Mon Oct 25 10:35:32 2010 -0700 @@ -0,0 +1,5 @@ +This directory has a list of Qt Examples initially intended for SEE 2010. + +Cards - combines the Qt Card example with this images from Open Clipart to demonstrate how to use Flipable to flip playing cards + +MixedView - It is the basics of a PacMan game. It uses the accelerometera to move the little icon around the screen. It is a good example of graphics view too.