Permalink
Browse files

Merge pull request #587 from scribblemaniac/error-dialog

Display detailed error dialog on save failure
  • Loading branch information...
2 parents 963f87c + 7cedc02 commit 9fb3d9309706254db37716e32f4125b99ba47036 @chchwy chchwy committed on GitHub Jan 11, 2017
View
@@ -48,7 +48,8 @@ HEADERS += \
displayoptionwidget.h \
pencilapplication.h \
exportmoviedialog.h \
- app_util.h
+ app_util.h \
+ errordialog.h
# popupcolorpalettewidget.h
SOURCES += \
@@ -70,7 +71,8 @@ SOURCES += \
filedialogex.cpp \
displayoptionwidget.cpp \
pencilapplication.cpp \
- exportmoviedialog.cpp
+ exportmoviedialog.cpp \
+ errordialog.cpp
# spopupcolorpalettewidget.cpp
FORMS += \
@@ -81,11 +83,11 @@ FORMS += \
ui/colorinspector.ui \
ui/colorpalette.ui \
ui/displayoption.ui \
- ui/exportmoviedialog.ui
+ ui/exportmoviedialog.ui \
+ ui/errordialog.ui
DEPENDPATH += .
-VERSION = 0.5.4
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
macx {
View
@@ -0,0 +1,27 @@
+#include "errordialog.h"
+#include "ui_errordialog.h"
+
+ErrorDialog::ErrorDialog( QString title, QString description, QString details, QWidget *parent ) :
+ QDialog( parent ),
+ ui(new Ui::ErrorDialog)
+{
+ ui->setupUi( this );
+ ui->horizontalLayout_2->setSpacing(0);
+
+ this->setWindowTitle( title );
+ ui->title->setText( QString( "<h3>%1</h3>" ).arg( title ) );
+ ui->description->setText( description );
+ if ( details.isEmpty() )
+ {
+ ui->details->setVisible( false );
+ }
+ else
+ {
+ ui->details->setText( QString( "<pre>%1</pre>" ).arg( details ) );
+ }
+}
+
+ErrorDialog::~ErrorDialog()
+{
+ delete ui;
+}
View
@@ -0,0 +1,22 @@
+#ifndef ERRORDIALOG_H
+#define ERRORDIALOG_H
+
+#include <QDialog>
+
+namespace Ui {
+class ErrorDialog;
+}
+
+class ErrorDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit ErrorDialog(QString title, QString description, QString details = QString(), QWidget *parent = 0 );
+ ~ErrorDialog();
+
+private:
+ Ui::ErrorDialog *ui;
+};
+
+#endif // ERRORDIALOG_H
View
@@ -59,6 +59,7 @@ GNU General Public License for more details.
#include "toolbox.h"
#include "preview.h"
#include "timeline2.h"
+#include "errordialog.h"
#include "colorbox.h"
#include "util.h"
@@ -572,6 +573,20 @@ bool MainWindow2::saveObject( QString strSavedFileName )
if ( !st.ok() )
{
+ QDateTime dt = QDateTime::currentDateTime();
+ dt.setTimeSpec( Qt::UTC );
+ QDir errorLogFolder( QStandardPaths::writableLocation( QStandardPaths::AppLocalDataLocation ) );
+ errorLogFolder.mkpath( "./logs" );
+ errorLogFolder.cd( "logs" );
+ QFile eLog( errorLogFolder.absoluteFilePath( QString( "error-%1.txt" ).arg( dt.toString( Qt::ISODate ) ) ) );
+ if ( eLog.open( QIODevice::WriteOnly | QIODevice::Text ) )
+ {
+ QTextStream out( &eLog );
+ out << st.details().replace( "<br>", "\n", Qt::CaseInsensitive );
+ }
+
+ ErrorDialog errorDialog( st.title(), st.description().append( "<br><br>An error has occurred and your file may not have saved successfully. If you believe that this error is an issue with Pencil2D, please create a new issue at:<br><a href='https://github.com/pencil2d/pencil/issues'>https://github.com/pencil2d/pencil/issues</a><br>Please be sure to include the following details in your issue:" ), st.details() );
+ errorDialog.exec();
return false;
}
@@ -9,5 +9,6 @@
<file>icons/mirror.png</file>
<file>icons/mirrorV.png</file>
<file>icons/cameraBorder.png</file>
+ <file>icons/dialog-error.svg</file>
</qresource>
</RCC>
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg height="48px" id="svg1377" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:version="0.46" sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status" sodipodi:docname="dialog-warning.svg" sodipodi:version="0.32" width="48px" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <metadata>
+ <rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <cc:Work rdf:about="">
+ <dc:title>Dialog Warning</dc:title>
+ <dc:description></dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>dialog</rdf:li>
+ <rdf:li>warning</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent rdf:about="http://www.openclipart.org/">
+ <dc:title>Open Clip Art Library, Source: Tango Icon Library, Source: Tango Icon Library, Source: Tango Icon Library, Source: Tango Icon Library</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:rights>
+ <dc:date>2005-10-14</dc:date>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <cc:license rdf:resource="http://en.wikipedia.org/wiki/Public_domain"/>
+ <dc:language>en</dc:language>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs id="defs1379">
+ <inkscape:perspective id="perspective48" inkscape:persp3d-origin="24 : 16 : 1" inkscape:vp_x="0 : 24 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="48 : 24 : 1" sodipodi:type="inkscape:persp3d"/>
+ <radialGradient cx="605.71429" cy="486.64789" fx="605.71429" fy="486.64789" gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" gradientUnits="userSpaceOnUse" id="radialGradient6719" inkscape:collect="always" r="117.14286" xlink:href="#linearGradient5060"/>
+ <linearGradient id="linearGradient5060" inkscape:collect="always">
+ <stop id="stop5062" offset="0" style="stop-color:black;stop-opacity:1;"/>
+ <stop id="stop5064" offset="1" style="stop-color:black;stop-opacity:0;"/>
+ </linearGradient>
+ <radialGradient cx="605.71429" cy="486.64789" fx="605.71429" fy="486.64789" gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" gradientUnits="userSpaceOnUse" id="radialGradient6717" inkscape:collect="always" r="117.14286" xlink:href="#linearGradient5060"/>
+ <linearGradient id="linearGradient5048">
+ <stop id="stop5050" offset="0" style="stop-color:black;stop-opacity:0;"/>
+ <stop id="stop5056" offset="0.5" style="stop-color:black;stop-opacity:1;"/>
+ <stop id="stop5052" offset="1" style="stop-color:black;stop-opacity:0;"/>
+ </linearGradient>
+ <linearGradient gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" gradientUnits="userSpaceOnUse" id="linearGradient6715" inkscape:collect="always" x1="302.85715" x2="302.85715" xlink:href="#linearGradient5048" y1="366.64789" y2="609.50507"/>
+ <linearGradient gradientUnits="userSpaceOnUse" id="aigrd1" x1="4.1914" x2="47.3197" y1="11.1133" y2="56.0523">
+ <stop id="stop6490" offset="0" style="stop-color:#D4D4D4"/>
+ <stop id="stop6492" offset="0.3982" style="stop-color:#E2E2E2"/>
+ <stop id="stop6494" offset="1" style="stop-color:#FFFFFF"/>
+ </linearGradient>
+ <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient7451" inkscape:collect="always" x1="4.1914" x2="47.3197" xlink:href="#aigrd1" y1="11.1133" y2="56.0523"/>
+ <linearGradient id="linearGradient4126" inkscape:collect="always">
+ <stop id="stop4128" offset="0" style="stop-color:#000000;stop-opacity:1;"/>
+ <stop id="stop4130" offset="1" style="stop-color:#000000;stop-opacity:0;"/>
+ </linearGradient>
+ <radialGradient cx="23.857143" cy="40.000000" fx="23.857143" fy="40.000000" gradientTransform="matrix(1,0,0,0.5,2.139286e-14,20)" gradientUnits="userSpaceOnUse" id="radialGradient7449" inkscape:collect="always" r="17.142857" xlink:href="#linearGradient4126"/>
+ <linearGradient gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" gradientUnits="userSpaceOnUse" id="linearGradient5250" inkscape:collect="always" x1="8.5469341" x2="30.85088" xlink:href="#linearGradient6525" y1="30.281681" y2="48.301884"/>
+ <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient3922" inkscape:collect="always" x1="4.1914" x2="47.3197" xlink:href="#aigrd1" y1="11.1133" y2="56.0523"/>
+ <linearGradient gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" gradientUnits="userSpaceOnUse" id="linearGradient3924" inkscape:collect="always" x1="8.5469341" x2="30.85088" xlink:href="#linearGradient6525" y1="30.281681" y2="48.301884"/>
+ <linearGradient gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" gradientUnits="userSpaceOnUse" id="linearGradient3933" inkscape:collect="always" x1="8.5469341" x2="30.85088" xlink:href="#linearGradient6525" y1="30.281681" y2="48.301884"/>
+ <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient3935" inkscape:collect="always" x1="4.1914" x2="47.3197" xlink:href="#aigrd1" y1="11.1133" y2="56.0523"/>
+ <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient3946" inkscape:collect="always" x1="4.1914" x2="47.3197" xlink:href="#aigrd1" y1="11.1133" y2="56.0523"/>
+ <linearGradient gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" gradientUnits="userSpaceOnUse" id="linearGradient3948" inkscape:collect="always" x1="8.5469341" x2="30.85088" xlink:href="#linearGradient6525" y1="30.281681" y2="48.301884"/>
+ </defs>
+ <sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="g7435" inkscape:cx="13.022822" inkscape:cy="24" inkscape:document-units="px" inkscape:grid-bbox="true" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="818" inkscape:window-width="1105" inkscape:window-x="0" inkscape:window-y="30" inkscape:zoom="14.757891" pagecolor="#ffffff" showgrid="true">
+ <inkscape:grid color="#0000ff" empcolor="#0000ff" empopacity="0.4" empspacing="4" id="GridFromPre046Settings" opacity="0.2" originx="0px" originy="0px" spacingx="1px" spacingy="1px" type="xygrid"/>
+ </sodipodi:namedview>
+ <g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+ <g id="g7435" transform="matrix(1.566667,0.000000,0.000000,1.566667,-8.925566,-23.94764)">
+ <g id="g6707" style="display:inline" transform="matrix(1.444074e-2,0,0,1.331973e-2,33.38871,40.40337)">
+ <rect height="478.35718" id="rect6709" style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" width="1339.6335" x="-1559.2523" y="-150.69685"/>
+ <path d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z " id="path6711" sodipodi:nodetypes="cccc" style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"/>
+ <path d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z " id="path6713" sodipodi:nodetypes="cccc" style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"/>
+ </g>
+ <g id="g3937" inkscape:r_cx="true" inkscape:r_cy="true" transform="matrix(1,0,4.537846e-3,1,-0.138907,-1.394718e-15)">
+ <path d="M 33.282781,38.644744 L 22.407791,18.394765 C 22.095292,17.832266 21.532792,17.519767 20.907793,17.519767 C 20.282793,17.519767 19.720294,17.894765 19.407795,18.457265 L 8.7828048,38.707245 C 8.5328048,39.207244 8.5328048,39.894744 8.8453048,40.394743 C 9.1578038,40.894743 9.6578038,41.144742 10.282804,41.144742 L 31.782782,41.144742 C 32.407781,41.144742 32.97028,40.832243 33.220281,40.332243 C 33.53278,39.832243 33.53278,39.207244 33.282781,38.644744 z " id="path6485" inkscape:r_cx="true" inkscape:r_cy="true" style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="matrix(1,0,-8.726683e-3,1,0.328074,1.276596)"/>
+ <g id="g6487" inkscape:r_cx="true" inkscape:r_cy="true" style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4" transform="matrix(0.625,0,-5.534934e-3,0.634254,6.164053,15.76055)">
+ <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient6525" x1="4.1914001" x2="47.319698" y1="11.1133" y2="56.052299">
+ <stop id="stop6529" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
+ <stop id="stop6531" offset="1" style="stop-color:#ffffff;stop-opacity:0.34020618;"/>
+ </linearGradient>
+ <path d="M 9.5,37.6 C 9.2,38.1 9.5,38.5 10,38.5 L 38.2,38.5 C 38.7,38.5 39,38.1 38.7,37.6 L 24.4,11 C 24.1,10.5 23.7,10.5 23.5,11 L 9.5,37.6 z " id="path6496" inkscape:r_cx="true" inkscape:r_cy="true" style="fill:url(#linearGradient3946);stroke:none"/>
+ </g>
+ <path d="M 32.323106,38.183905 L 22.150271,19.265666 C 21.71698,18.45069 21.561698,18.189213 20.908406,18.189213 C 20.346525,18.189213 20.054127,18.57002 19.651305,19.339291 L 9.7489285,38.242296 C 9.1737649,39.303588 9.1128238,39.580228 9.3937644,40.047345 C 9.6747034,40.514462 10.032797,40.48902 11.356441,40.519491 L 30.974593,40.519491 C 32.206825,40.534726 32.483988,40.440837 32.70874,39.97372 C 32.989681,39.506602 32.867799,39.136 32.323106,38.183905 z " id="path1325" inkscape:r_cx="true" inkscape:r_cy="true" sodipodi:nodetypes="ccsccscccc" style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" transform="matrix(1,0,-8.726683e-3,1,0.318277,1.276596)"/>
+ </g>
+ <g id="g6498" inkscape:r_cx="true" inkscape:r_cy="true" style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4" transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)">
+ <path d="M 23.9,36.5 C 22.6,36.5 21.6,35.5 21.6,34.2 C 21.6,32.8 22.5,31.9 23.9,31.9 C 25.3,31.9 26.1,32.8 26.2,34.2 C 26.2,35.5 25.3,36.5 23.9,36.5 L 23.9,36.5 z M 22.5,30.6 L 21.9,19.1 L 25.9,19.1 L 25.3,30.6 L 22.4,30.6 L 22.5,30.6 z " id="path6500" inkscape:r_cx="true" inkscape:r_cy="true" style="stroke:none"/>
+ </g>
+ </g>
+ </g>
+</svg>
View
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ErrorDialog</class>
+ <widget class="QDialog" name="ErrorDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>505</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle">
+ <string>Dialog</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="icon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">padding: 10px;</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap resource="../resource/app.qrc">:/app/icons/dialog-error.svg</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="title">
+ <property name="text">
+ <string>&lt;h3&gt;Title&lt;/h3&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="description">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Description</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="details">
+ <property name="font">
+ <font>
+ <family>.SF NS Text</family>
+ </font>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'.SF NS Text'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Monaco';&quot;&gt;Details&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Ok</set>
+ </property>
+ <property name="centerButtons">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resource/app.qrc"/>
+ </resources>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>ErrorDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>ErrorDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
@@ -161,6 +161,8 @@ SOURCES += graphics/bitmap/bitmapimage.cpp \
managers/soundmanager.cpp \
movieexporter.cpp
+DEFINES += APP_VERSION=\\\"$$VERSION\\\"
+
win32 {
CONFIG -= flat
CONFIG += grouped
Oops, something went wrong.

0 comments on commit 9fb3d93

Please sign in to comment.