From 98a0fa014981c07102635d431bfe9bcf34fa1de9 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Thu, 20 Jun 2013 13:39:53 +0200 Subject: photosurface: add C++ boilerplate launcher; open button Creator refuses to build it for Android otherwise, and this is a good demo for tablets. Also added a button to re-open the FileDialog. Task-number: QTBUG-31898 Change-Id: I9f90de316fcaa2679484f8a875737ffafa774f31 Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Venugopal Shivashankar --- examples/quick/demos/demos.pro | 2 +- examples/quick/demos/photosurface/main.cpp | 63 +++++++++++++++++++++ examples/quick/demos/photosurface/photosurface.pro | 13 +++++ examples/quick/demos/photosurface/photosurface.qml | 16 ++++++ examples/quick/demos/photosurface/photosurface.qrc | 6 ++ .../quick/demos/photosurface/resources/folder.png | Bin 0 -> 5851 bytes .../quick/demos/photosurface/resources/icon.png | Bin 0 -> 35894 bytes .../demos/photosurface/resources/photosurface.icns | Bin 0 -> 47407 bytes .../demos/photosurface/resources/photosurface.ico | Bin 0 -> 38623 bytes .../demos/photosurface/resources/photosurface.rc | 32 +++++++++++ 10 files changed, 131 insertions(+), 1 deletion(-) create mode 100644 examples/quick/demos/photosurface/main.cpp create mode 100644 examples/quick/demos/photosurface/photosurface.pro create mode 100644 examples/quick/demos/photosurface/photosurface.qrc create mode 100644 examples/quick/demos/photosurface/resources/folder.png create mode 100644 examples/quick/demos/photosurface/resources/icon.png create mode 100644 examples/quick/demos/photosurface/resources/photosurface.icns create mode 100644 examples/quick/demos/photosurface/resources/photosurface.ico create mode 100644 examples/quick/demos/photosurface/resources/photosurface.rc (limited to 'examples/quick') diff --git a/examples/quick/demos/demos.pro b/examples/quick/demos/demos.pro index 67128a905f..867dfa5a07 100644 --- a/examples/quick/demos/demos.pro +++ b/examples/quick/demos/demos.pro @@ -3,10 +3,10 @@ SUBDIRS = samegame \ calqlatr \ tweetsearch \ maroon \ + photosurface \ stocqt EXAMPLE_FILES = \ clocks \ photoviewer \ - photosurface \ rssnews diff --git a/examples/quick/demos/photosurface/main.cpp b/examples/quick/demos/photosurface/main.cpp new file mode 100644 index 0000000000..90d6454211 --- /dev/null +++ b/examples/quick/demos/photosurface/main.cpp @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the examples 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 Digia Plc and its Subsidiary(-ies) 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$ +** +****************************************************************************/ + +#ifdef QT_WIDGETS_LIB +#include +#else +#include +#endif +#include +#include +#include + +int main(int argc, char* argv[]) +{ + // The reason to use QApplication is that QWidget-based dialogs + // are the native dialogs on Qt-based platforms like KDE, + // but they cannot be instantiated if this is a QGuiApplication. +#ifdef QT_WIDGETS_LIB + QApplication app(argc, argv); +#else + QGuiApplication app(argc, argv); +#endif + QQuickWindow::setDefaultAlphaBuffer(true); + QQmlApplicationEngine engine(QUrl("qrc:///photosurface.qml")); + return app.exec(); +} diff --git a/examples/quick/demos/photosurface/photosurface.pro b/examples/quick/demos/photosurface/photosurface.pro new file mode 100644 index 0000000000..5e5b0f0815 --- /dev/null +++ b/examples/quick/demos/photosurface/photosurface.pro @@ -0,0 +1,13 @@ +TEMPLATE = app + +QT += qml quick +qtHaveModule(widgets): QT += widgets +SOURCES += main.cpp +RESOURCES += photosurface.qrc + +target.path = $$[QT_INSTALL_EXAMPLES]/quick/demos/photosurface +INSTALLS += target +ICON = resources/icon.png +macx: ICON = resources/photosurface.icns +win32: RC_FILE = resources/photosurface.rc + diff --git a/examples/quick/demos/photosurface/photosurface.qml b/examples/quick/demos/photosurface/photosurface.qml index 4f7100358f..9d081de1e3 100644 --- a/examples/quick/demos/photosurface/photosurface.qml +++ b/examples/quick/demos/photosurface/photosurface.qml @@ -118,11 +118,27 @@ Window { } } } + + Image { + anchors.top: parent.top + anchors.left: parent.left + anchors.margins: 10 + source: "resources/folder.png" + MouseArea { + anchors.fill: parent + anchors.margins: -10 + onClicked: fileDialog.open() + } + } + Text { anchors.bottom: parent.bottom anchors.left: parent.left + anchors.right: parent.right anchors.margins: 10 color: "darkgrey" + wrapMode: Text.WordWrap + font.pointSize: 8 text: "On a touchscreen: use two fingers to zoom and rotate, one finger to drag\n" + "With a mouse: drag normally, use the vertical wheel to zoom, horizontal wheel to rotate, or hold Ctrl while using the vertical wheel to rotate" } diff --git a/examples/quick/demos/photosurface/photosurface.qrc b/examples/quick/demos/photosurface/photosurface.qrc new file mode 100644 index 0000000000..f8fafbb1ff --- /dev/null +++ b/examples/quick/demos/photosurface/photosurface.qrc @@ -0,0 +1,6 @@ + + + photosurface.qml + resources/folder.png + + diff --git a/examples/quick/demos/photosurface/resources/folder.png b/examples/quick/demos/photosurface/resources/folder.png new file mode 100644 index 0000000000..2aec3b6ebf Binary files /dev/null and b/examples/quick/demos/photosurface/resources/folder.png differ diff --git a/examples/quick/demos/photosurface/resources/icon.png b/examples/quick/demos/photosurface/resources/icon.png new file mode 100644 index 0000000000..f8ff553fcb Binary files /dev/null and b/examples/quick/demos/photosurface/resources/icon.png differ diff --git a/examples/quick/demos/photosurface/resources/photosurface.icns b/examples/quick/demos/photosurface/resources/photosurface.icns new file mode 100644 index 0000000000..c69ec41c4e Binary files /dev/null and b/examples/quick/demos/photosurface/resources/photosurface.icns differ diff --git a/examples/quick/demos/photosurface/resources/photosurface.ico b/examples/quick/demos/photosurface/resources/photosurface.ico new file mode 100644 index 0000000000..03bb7ee367 Binary files /dev/null and b/examples/quick/demos/photosurface/resources/photosurface.ico differ diff --git a/examples/quick/demos/photosurface/resources/photosurface.rc b/examples/quick/demos/photosurface/resources/photosurface.rc new file mode 100644 index 0000000000..ec18eb1cfc --- /dev/null +++ b/examples/quick/demos/photosurface/resources/photosurface.rc @@ -0,0 +1,32 @@ +#include "winver.h" + +IDI_ICON1 ICON DISCARDABLE "photosurface.ico" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGS 0x0L + FILEFLAGSMASK 0x3fL + FILEOS 0x00040004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "CompanyName", "Digia Plc and/or its subsidiary(-ies)" + VALUE "FileDescription", "Photo Surface Demo" + VALUE "FileVersion", "1.0.0.0" + VALUE "LegalCopyright", "Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies)." + VALUE "InternalName", "photosurface" + VALUE "OriginalFilename", "photosurface.exe" + VALUE "ProductName", "Photo Surface Demo" + VALUE "ProductVersion", "1.0.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END -- cgit v1.2.3