Theme Editor: Built a ui for the timer panel, not functional yet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27353 a1c6a512-1295-4272-9138-f99709370657
diff --git a/utils/themeeditor/gui/editorwindow.cpp b/utils/themeeditor/gui/editorwindow.cpp
index 169dc3f..b81e41a 100644
--- a/utils/themeeditor/gui/editorwindow.cpp
+++ b/utils/themeeditor/gui/editorwindow.cpp
@@ -167,8 +167,19 @@
deviceDock->setObjectName("deviceDock");
deviceDock->setWidget(deviceConfig);
deviceDock->setFloating(true);
+ deviceDock->move(QPoint(x() + width() / 2, y() + height() / 2));
deviceDock->hide();
+ /* Positioning the timer panel */
+ timerDock = new QDockWidget(tr("Timer"), this);
+ timer = new SkinTimer(deviceConfig, timerDock);
+
+ timerDock->setObjectName("timerDock");
+ timerDock->setWidget(timer);
+ timerDock->setFloating(true);
+ timerDock->move(QPoint(x() + width() / 2, y() + height() / 2));
+ timerDock->hide();
+
shiftTab(-1);
}
@@ -183,6 +194,8 @@
this, SLOT(showPanel()));
QObject::connect(ui->actionDevice_Configuration, SIGNAL(triggered()),
deviceDock, SLOT(show()));
+ QObject::connect(ui->actionTimer, SIGNAL(triggered()),
+ timerDock, SLOT(show()));
/* Connecting the document management actions */
QObject::connect(ui->actionNew_Document, SIGNAL(triggered()),
diff --git a/utils/themeeditor/gui/editorwindow.h b/utils/themeeditor/gui/editorwindow.h
index c2ae177..6b09b79 100644
--- a/utils/themeeditor/gui/editorwindow.h
+++ b/utils/themeeditor/gui/editorwindow.h
@@ -34,6 +34,7 @@
#include "preferencesdialog.h"
#include "skinviewer.h"
#include "devicestate.h"
+#include "skintimer.h"
class ProjectModel;
class TabContent;
@@ -99,6 +100,8 @@
SkinViewer* viewer;
DeviceState* deviceConfig;
QDockWidget* deviceDock;
+ SkinTimer* timer;
+ QDockWidget* timerDock;
};
#endif // EDITORWINDOW_H
diff --git a/utils/themeeditor/gui/editorwindow.ui b/utils/themeeditor/gui/editorwindow.ui
index 707e246..5ef3261 100644
--- a/utils/themeeditor/gui/editorwindow.ui
+++ b/utils/themeeditor/gui/editorwindow.ui
@@ -69,6 +69,7 @@
<addaction name="actionFile_Panel"/>
<addaction name="separator"/>
<addaction name="actionDevice_Configuration"/>
+ <addaction name="actionTimer"/>
</widget>
<widget class="QMenu" name="menuEdit">
<property name="title">
@@ -365,6 +366,14 @@
<string>Ctrl+F</string>
</property>
</action>
+ <action name="actionTimer">
+ <property name="text">
+ <string>T&imer</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+T</string>
+ </property>
+ </action>
</widget>
<tabstops>
<tabstop>projectTree</tabstop>
diff --git a/utils/themeeditor/gui/skintimer.cpp b/utils/themeeditor/gui/skintimer.cpp
new file mode 100644
index 0000000..f228a2f
--- /dev/null
+++ b/utils/themeeditor/gui/skintimer.cpp
@@ -0,0 +1,58 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2010 Robert Bieber
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "skintimer.h"
+#include "ui_skintimer.h"
+
+const int SkinTimer::millisPerTick = 10;
+
+SkinTimer::SkinTimer(DeviceState* device, QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::SkinTimer),
+ device(device)
+{
+ ui->setupUi(this);
+}
+
+SkinTimer::~SkinTimer()
+{
+ delete ui;
+}
+
+void SkinTimer::start()
+{
+
+}
+
+void SkinTimer::stop()
+{
+
+}
+
+void SkinTimer::tick()
+{
+
+}
+
+void SkinTimer::stateChange()
+{
+
+}
diff --git a/utils/themeeditor/gui/skintimer.h b/utils/themeeditor/gui/skintimer.h
new file mode 100644
index 0000000..b6c8061
--- /dev/null
+++ b/utils/themeeditor/gui/skintimer.h
@@ -0,0 +1,58 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2010 Robert Bieber
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef SKINTIMER_H
+#define SKINTIMER_H
+
+#include <QWidget>
+#include <QTimer>
+
+#include "devicestate.h"
+
+namespace Ui {
+ class SkinTimer;
+}
+
+class SkinTimer : public QWidget {
+ Q_OBJECT
+public:
+ static const int millisPerTick;
+
+ SkinTimer(DeviceState* device, QWidget *parent = 0);
+ ~SkinTimer();
+
+private slots:
+ void start();
+ void stop();
+ void tick();
+ void stateChange();
+
+private:
+ void setupUI();
+
+ Ui::SkinTimer *ui;
+ DeviceState* device;
+
+ QTimer timer;
+ unsigned long int elapsedTime;
+};
+
+#endif // SKINTIMER_H
diff --git a/utils/themeeditor/gui/skintimer.ui b/utils/themeeditor/gui/skintimer.ui
new file mode 100644
index 0000000..a9f5fea
--- /dev/null
+++ b/utils/themeeditor/gui/skintimer.ui
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SkinTimer</class>
+ <widget class="QWidget" name="SkinTimer">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>238</width>
+ <height>204</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <property name="windowIcon">
+ <iconset resource="../resources.qrc">
+ <normaloff>:/resources/windowicon.png</normaloff>:/resources/windowicon.png</iconset>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Speed</string>
+ </property>
+ <property name="buddy">
+ <cstring>speedBox</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="speedBox">
+ <property name="suffix">
+ <string>x</string>
+ </property>
+ <property name="decimals">
+ <number>1</number>
+ </property>
+ <property name="minimum">
+ <double>0.100000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>3.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.200000000000000</double>
+ </property>
+ <property name="value">
+ <double>1.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Duration</string>
+ </property>
+ <property name="buddy">
+ <cstring>spinBox</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="spinBox">
+ <property name="suffix">
+ <string>s</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>1000</number>
+ </property>
+ <property name="value">
+ <number>20</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="statusBar">
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QPushButton" name="startButton">
+ <property name="text">
+ <string>Start</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="stopButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Stop</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QToolButton" name="playButton">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources.qrc">
+ <normaloff>:/resources/resources/play.png</normaloff>:/resources/resources/play.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="pauseButton">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources.qrc">
+ <normaloff>:/resources/resources/pause.png</normaloff>:/resources/resources/pause.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="rwndButton">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources.qrc">
+ <normaloff>:/resources/resources/rwnd.png</normaloff>:/resources/resources/rwnd.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ffwdButton">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../resources.qrc">
+ <normaloff>:/resources/resources/ffwd.png</normaloff>:/resources/resources/ffwd.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/utils/themeeditor/resources.qrc b/utils/themeeditor/resources.qrc
index a000c37..87211b9 100644
--- a/utils/themeeditor/resources.qrc
+++ b/utils/themeeditor/resources.qrc
@@ -9,6 +9,10 @@
<file>resources/zoomeven.png</file>
<file>resources/zoomin.png</file>
<file>resources/zoomout.png</file>
+ <file>resources/play.png</file>
+ <file>resources/ffwd.png</file>
+ <file>resources/pause.png</file>
+ <file>resources/rwnd.png</file>
</qresource>
<qresource prefix="/render">
<file alias="scenebg.png">resources/render/scenebg.png</file>
diff --git a/utils/themeeditor/resources/ffwd.png b/utils/themeeditor/resources/ffwd.png
new file mode 100644
index 0000000..8cf50ca
--- /dev/null
+++ b/utils/themeeditor/resources/ffwd.png
Binary files differ
diff --git a/utils/themeeditor/resources/ffwd.xcf b/utils/themeeditor/resources/ffwd.xcf
new file mode 100644
index 0000000..629e258
--- /dev/null
+++ b/utils/themeeditor/resources/ffwd.xcf
Binary files differ
diff --git a/utils/themeeditor/resources/pause.png b/utils/themeeditor/resources/pause.png
new file mode 100644
index 0000000..dabfdc0
--- /dev/null
+++ b/utils/themeeditor/resources/pause.png
Binary files differ
diff --git a/utils/themeeditor/resources/pause.xcf b/utils/themeeditor/resources/pause.xcf
new file mode 100644
index 0000000..e3dbb45
--- /dev/null
+++ b/utils/themeeditor/resources/pause.xcf
Binary files differ
diff --git a/utils/themeeditor/resources/play.png b/utils/themeeditor/resources/play.png
new file mode 100644
index 0000000..c439bef
--- /dev/null
+++ b/utils/themeeditor/resources/play.png
Binary files differ
diff --git a/utils/themeeditor/resources/play.xcf b/utils/themeeditor/resources/play.xcf
new file mode 100644
index 0000000..ee6c4bc
--- /dev/null
+++ b/utils/themeeditor/resources/play.xcf
Binary files differ
diff --git a/utils/themeeditor/resources/rwnd.png b/utils/themeeditor/resources/rwnd.png
new file mode 100644
index 0000000..59fda48
--- /dev/null
+++ b/utils/themeeditor/resources/rwnd.png
Binary files differ
diff --git a/utils/themeeditor/themeeditor.pro b/utils/themeeditor/themeeditor.pro
index 904adf2..49e1be9 100644
--- a/utils/themeeditor/themeeditor.pro
+++ b/utils/themeeditor/themeeditor.pro
@@ -52,7 +52,8 @@
gui/findreplacedialog.h \
graphics/rbtext.h \
graphics/rbfontcache.h \
- graphics/rbtextcache.h
+ graphics/rbtextcache.h \
+ gui/skintimer.h
SOURCES += main.cpp \
models/parsetreemodel.cpp \
models/parsetreenode.cpp \
@@ -75,7 +76,8 @@
gui/findreplacedialog.cpp \
graphics/rbtext.cpp \
graphics/rbfontcache.cpp \
- graphics/rbtextcache.cpp
+ graphics/rbtextcache.cpp \
+ gui/skintimer.cpp
OTHER_FILES += README \
resources/windowicon.png \
resources/appicon.xcf \
@@ -85,12 +87,20 @@
resources/document-new.png \
resources/deviceoptions \
resources/render/statusbar.png \
- resources/render/scenebg.png
+ resources/render/scenebg.png \
+ resources/play.xcf \
+ resources/play.png \
+ resources/rwnd.png \
+ resources/pause.xcf \
+ resources/pause.png \
+ resources/ffwd.xcf \
+ resources/ffwd.png
FORMS += gui/editorwindow.ui \
gui/preferencesdialog.ui \
gui/configdocument.ui \
gui/skinviewer.ui \
- gui/findreplacedialog.ui
+ gui/findreplacedialog.ui \
+ gui/skintimer.ui
RESOURCES += resources.qrc
win32:RC_FILE = themeeditor.rc
macx {