diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..307a7844
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,39 @@
+os: linux
+dist: xenial
+language: cpp
+compiler: gcc
+
+addons:
+ apt:
+ sources:
+ - sourceline: ppa:beineri/opt-qt-5.14.1-xenial
+ packages:
+ - qt514base
+ - qt514x11extras
+ - qt514tools
+ - libgl1-mesa-dev
+ - libopencv-dev
+
+install:
+ - source /opt/qt*/bin/qt*-env.sh
+
+script:
+ - qmake src/AnimeEffects.pro -r CONFIG+=release PREFIX=/usr
+ - make -j$(nproc)
+ - make INSTALL_ROOT=appdir install
+ - mkdir -p appdir/usr/bin
+ - cp AnimeEffects appdir/usr/bin/
+ - cp -R data appdir/usr/bin/data
+ - find appdir/
+ - wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
+ - chmod a+x linuxdeployqt-continuous-x86_64.AppImage
+ - ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage
+
+after_success:
+ - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
+ - bash upload.sh AnimeEffects*.AppImage*
+
+branches:
+ except:
+ - # Do not build tags that we create when we upload to GitHub Releases
+ - /^(?i:continuous)/
diff --git a/README.md b/README.md
index ae054ce0..f72629a4 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,15 @@
# AnimeEffects
A 2D animation tool which doesn't require a carefully thought-out plan.
-It provides various animation functions based on deformation of polygon mesh.
-
+It provides various animation functions based on deformation of polygon mesh.
+Official Website:
http://animeeffects.org/en/
+
+Unofficial AnimeEffects boards (but run by developers still has interest in AE.)
+
+Discord: AnimeEffects Community Server (courtesy of @Jose-Moreno)
+IRC: #animeeffects-dev on freenode (courtesy of @Larpon)
+
Note: For the present, there may be incompatible changes without notice in advance.
## Development Environment
diff --git a/data/stylesheet/modetabbar.ssa b/data/stylesheet/modetabbar.ssa
deleted file mode 100644
index 653ec66d..00000000
--- a/data/stylesheet/modetabbar.ssa
+++ /dev/null
@@ -1,44 +0,0 @@
-QTabBar {
-background-color: #202020;
-}
-
-QTabBar::tab {
-color: #B8B8B8;
-
-background-color: qlineargradient(
-x1:0, y1:0, x2:0, y2:1, stop:0 #383838, stop:1 #303030);
-
-border: 1px solid #404040;
-border-top-color: #505050;
-border-left-color: #505050;
-border-right-color: #303030;
-border-top-right-radius: 10px;
-border-top-left-radius: 6px;
-width: 128px;
-min-height: 19px;
-max-height: 19px;
-min-width: 8ex;
-margin-top: 0px;
-}
-
-QTabBar::tab:hover {
-background-color: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop:0 #747474,
-stop:0.6 #7A7A7A,
-stop:1 #7F7F7F);
-}
-
-QTabBar::tab:selected {
-color: #D2D2D2;
-background-color: #404040;
-border-top-color: #505050;
-border-left-color: #505050;
-border-right-color: #505050;
-margin-top: -4px;
-}
-
-QTabBar::tab:!selected {
-margin-top: 2px;
-border-left-color: #404040;
-}
diff --git a/data/stylesheet/playbackwidget.ssa b/data/stylesheet/playbackwidget.ssa
deleted file mode 100644
index 02dbcfcd..00000000
--- a/data/stylesheet/playbackwidget.ssa
+++ /dev/null
@@ -1,66 +0,0 @@
-QPushButton#playbackButton {
-color: #3C3C3C;
-border: 1px solid #DFDFDF;
-border-radius: 2px;
-padding: 2px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #F9F9F9,
- stop: 0.2 #FAFAFA,
- stop: 0.8 #FBFBFB,
- stop: 1 #FCFCFC
-);
-}
-
-QPushButton#playbackButton:hover {
-color: #6C6C6C;
-border: 1px solid #FFFFFF;
-background: qlineargradient(
- x1:0, y1:0, x2:1, y2:1,
- stop: 0 #FFFFFF,
- stop: 0.2 #FEFEFE,
- stop: 0.8 #FEFEFE,
- stop: 1 #FFFFFF
-);
-}
-
-QPushButton#playbackButton:disabled {
-color: #6C6C6C;
-border: 1px solid #EFEFEF;
-background: #E8E8E8;
-}
-
-QPushButton#playbackButton:pressed {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 3px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8D8D8,
- stop: 0.2 #E6E6E6,
- stop: 0.8 #EFEFEF,
- stop: 1 #FAFAFA
-);
-}
-
-QPushButton#playbackButton:checked {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 2px;
-/*
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8D8D8,
- stop: 0.2 #E6E6E6,
- stop: 0.8 #EFEFEF,
- stop: 1 #FAFAFA
-);
-*/
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8DFF0,
- stop: 0.2 #E6EFF3,
- stop: 0.8 #EFF2F8,
- stop: 1 #FAFCFF
-);
-}
diff --git a/data/stylesheet/propertywidget.ssa b/data/stylesheet/propertywidget.ssa
deleted file mode 100644
index 23b2912c..00000000
--- a/data/stylesheet/propertywidget.ssa
+++ /dev/null
@@ -1,201 +0,0 @@
-QSplitter#propertysplitter {
-width: 380px;
-}
-
-QFrame#holder {
-background-color: #fafafa;
-border-radius:2px;
-}
-
-QComboBox {
-border-radius: 2px;
-color: #101010;
-padding-top: 1px;
-padding-left: 8px;
-padding-bottom: 1px;
-padding-right: 8px;
-}
-
-QComboBox::enabled {
-background-color: #fefefe;
-border: 1px solid #d8d8d8;
-color: #3C3C3C;
-}
-
-QComboBox::disabled {
-background-color: #ececec;
-border: 1px solid #d0d0d0;
-color: #909090;
-}
-
-QComboBox::drop-down {
- subcontrol-origin: padding;
- subcontrol-position: right;
- width: 16px;
- height: 16px;
- border: 0px solid #d0d0d0;
-}
-
-QComboBox::down-arrow {
- image: url(data/icon/downarrow.png);
- width: 10px;
- height: 10px;
-}
-QComboBox::down-arrow:disabled {
- image: url(data/icon/downarrow2.png);
-}
-
-QCheckBox#keyIcon {
-}
-
-QCheckBox#keyIcon::indicator {
-width: 15px;
-height: 15px;
-}
-QCheckBox#keyIcon::indicator:unchecked {
-image: url(data/icon/branchclose.png);
-}
-
-QCheckBox#keyIcon::indicator:checked {
-image: url(data/icon/branchopen.png);
-}
-
-QGroupBox#keyGroup {
-background-color: #f8f8f8;
-border:0px solid transparent;
-border-radius:4px;
-margin: 2px;
-padding-top: 16px;
-padding-bottom: 4px;
-}
-
-QGroupBox#keyGroup::title {
-subcontrol-origin: margin;
-subcontrol-position:top left;
-margin: 0px;
-padding-left: 0px;
-padding-top: 4px;
-}
-
-QGroupBox#keyGroup::indicator {
-width: 14px;
-height: 14px;
-padding-left: 7px;
-padding-top: 2px;
-margin: 0px;
-}
-
-QGroupBox#keyGroup::indicator:unchecked {
-image: url(data/icon/branchclose.png);
-}
-
-QGroupBox#keyGroup::indicator:checked {
-image: url(data/icon/branchopen.png);
-}
-
-QGroupBox#attrGroup {
-background-color: #f8f8f8;
-border:0px solid transparent;
-border-radius:4px;
-margin: 2px;
-padding-top: 16px;
-padding-bottom: 4px;
-}
-
-QGroupBox#attrGroup::title {
-subcontrol-origin: margin;
-subcontrol-position:top left;
-margin: 0px;
-padding-left: 0px;
-padding-top: 4px;
-}
-
-QGroupBox#attrGroup::indicator {
-width: 14px;
-height: 14px;
-padding-left: 7px;
-padding-top: 2px;
-margin: 0px;
-}
-
-QGroupBox#attrGroup::indicator:unchecked {
-image: url(data/icon/branchclose.png);
-}
-
-QGroupBox#attrGroup::indicator:checked {
-image: url(data/icon/branchopen.png);
-}
-
-QGroupBox#keyKnocker {
-background-color: #f8f8f8;
-border:0px solid transparent;
-border-radius:4px;
-margin: 2px;
-padding-left: 4px;
-padding-right: 4px;
-padding-top: 1px;
-padding-bottom: 1px;
-}
-
-QPushButton#keyKnocker {
-border: 1px solid #a0a0a0;
-border-radius: 2px;
-padding: 0px;
-margin: 0px;
-width: 14px;
-height: 14px;
-}
-QPushButton#keyKnocker::enabled {
-image: url(data/icon/knockkey.png);
-}
-QPushButton#keyKnocker::disabled {
-image: url(data/icon/minus.png);
-}
-
-QPushButton#browser {
-border: 1px solid #a0a0a0;
-border-radius: 2px;
-padding: 2px;
-width: 18px;
-height: 15px;
-}
-QPushButton#browser::enabled {
-image: url(data/icon/filew.png);
-}
-QPushButton#browser::disabled {
-image: url(data/icon/file.png);
-}
-
-QGroupBox#propertyPanel {
-background-color: #c8c8c8;
-border:0px solid transparent;
-border-radius:4px;
-margin-top: 2px;
-margin-bottom: 4px;
-margin-left: 2px;
-margin-right: 2px;
-padding-top: 16px;
-padding-left: 8px;
-padding-right: 8px;
-padding-bottom: 4px;
-}
-
-QGroupBox#propertyPanel::title {
-subcontrol-origin: margin;
-subcontrol-position:top left;
-padding-left: 8px;
-}
-
-QGroupBox#propertyPanel::indicator {
-width: 15px;
-height: 15px;
-padding: 2px;
-}
-
-QGroupBox#propertyPanel::indicator:unchecked {
-image: url(data/icon/branchclose.png);
-}
-
-QGroupBox#propertyPanel::indicator:checked {
-image: url(data/icon/branchopen.png);
-}
diff --git a/data/stylesheet/standard.ssa b/data/stylesheet/standard.ssa
deleted file mode 100644
index d40e2b33..00000000
--- a/data/stylesheet/standard.ssa
+++ /dev/null
@@ -1,350 +0,0 @@
-QMenuBar {
-color: #000000;
-background-color: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop:0 #dfdfdf,
-stop:1 #d8d8d8);
-border: 1px solid #a0a0a0;
-}
-
-QMenuBar::item {
-spacing: 8px;
-padding-top: 3px;
-padding-bottom: 3px;
-padding-left: 10px;
-padding-right: 10px;
-background: transparent;
-border-radius: 1px;
-}
-
-QMenuBar::item:selected {
-color: #303030;
-padding-top: 1px;
-background-color: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop:0 #efefef,
-stop:0.5 #f2f2f2,
-stop:1 #efefef);
-}
-
-QMenuBar::item:pressed {
-color: #101010;
-padding-top: 5px;
-background-color: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop:0 #a0a0a0,
-stop:0.5 #b8b8b8,
-stop:1 #c4c4c4);
-border: 1px solid #707070;
-}
-
-QFrame {
-background-color: #f6f6f6;
-}
-
-QScrollArea {
-background-color: #f0f0f0;
-border-radius:1px;
-border: 1px solid #d0d0d0;
-}
-
-QPlainTextEdit {
-background-color: #f4f4f4;
-color: #303030;
-border: 1px solid #d0d0d0;
-border-radius: 1px;
-}
-
-QSplitter::handle:horizontal {
-color: #000000;
-background-color: #f6f6f6;
-}
-QSplitter::handle:vertical {
-color: #000000;
-background-color: #f6f6f6;
-}
-
-QComboBox {
-color: #101010;
-padding-left: 8px;
-padding-bottom: 1px;
-}
-
-QDoubleSpinBox, QSpinBox {
-color: #101010;
-}
-
-QDoubleSpinBox::disabled, QSpinBox::disabled {
-color: #808080;
-background-color: #ececec;
-}
-
-QLineEdit {
-color: #101010;
-border: 1px inset #8C8C8C;
-}
-
-QLineEdit::read-only {
-color: #303030;
-border: 1px solid #a0a0a0;
-border-radius: 1px;
-}
-
-QLineEdit::disabled {
-color: #808080;
-background-color: #ececec;
-border: 1px inset #8C8C8C;
-}
-
-QLabel {
-color: #101010;
-background-color: transparent;
-}
-
-QGroupBox {
-background-color: #fcfcfc;
-border: 1px solid transparent;
-border-radius: 8px;
-margin-top: 0ex;
-padding-top: 16px;
-}
-
-QGroupBox::title {
-color: #000000;
-subcontrol-origin: margin;
-subcontrol-position:top left;
-padding-left: 8px;
-}
-
-QGroupBox::indicator:unchecked {
-image: url(data/icon/branchclose.png);
-}
-
-QGroupBox::indicator:checked {
-image: url(data/icon/branchopen.png);
-}
-
-QGroupBox#note {
-background-color: #f8f8f8;
-border: 1px solid #c0c0c0;
-border-radius: 2px;
-margin-top: 0px;
-padding-top: 0px;
-}
-
-QDockWidget {
-color: #303030;
-border-radius: 2px;
-/*titlebar-close-icon: url(close.png);*/
-/*titlebar-normal-icon: url(undock.png);*/
-}
-
-QDockWidget::title {
-color: #303030;
-text-align: left;
-background: #c0c0c0;
-border-radius: 1px;
-border: 1px solid #b0b0b0;
-padding: 2px;
-padding-left: 5px;
-margin: 1px;
-}
-
-QDockWidget::close-button, QDockWidget::float-button {
-background: transparent;
-border-radius: 0px;
-}
-
-QDockWidget::close-button:hover, QDockWidget::float-button:hover {
-background: #d8d8d8;
-border: 1px solid #e0e0e0;
-}
-
-QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
-background: #b0b0b0;
-border: 1px inset #808080;
-}
-
-QPushButton {
-color: #000000;
-border: 1px solid #909090;
-border-radius: 2px;
-padding: 6px 12px 6px 12px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #f0f0f0,
- stop: 0.4 #fafafa,
- stop: 0.65 #f3f3f3,
- stop: 1 #eaeaea
-);
-}
-
-QPushButton:disabled {
-color: #606060;
-border: 1px solid #c0c0c0;
-padding-top: 6px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #e0e0e0,
- stop: 0.3 #e4e4e4,
- stop: 0.7 #e0e0e0,
- stop: 1 #dcdcdc
-);
-}
-
-QPushButton:hover {
-color: #404850;
-border: 1px solid #9098a0;
-padding-top: 6px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #fafcff,
- stop: 0.3 #fdfeff,
- stop: 0.7 #ffffff,
- stop: 1 #f8faff
-);
-}
-
-QPushButton:pressed {
-color: #404060;
-border: 1px solid #b0b0c0;
-padding-top: 10px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #c4ced2,
- stop: 0.3 #d0dade,
- stop: 0.7 #d8def4,
- stop: 1 #e4ecf0
-);
-}
-
-QPushButton#standardButton {
-padding: 2px 4px 2px 4px;
-width: 54px;
-height: 22px;
-}
-
-QPushButton#standardButton:disabled {
-padding-top: 2px;
-}
-
-QPushButton#standardButton:hover {
-padding-top: 2px;
-}
-
-QPushButton#standardButton:pressed {
-padding-top: 6px;
-}
-
-QPushButton#browser {
-border: 1px solid #a0a0a0;
-border-radius: 2px;
-padding: 2px;
-width: 18px;
-height: 15px;
-}
-QPushButton#browser::enabled {
-image: url(data/icon/filew.png);
-}
-QPushButton#browser::disabled {
-image: url(data/icon/file.png);
-}
-
-QTreeView#objectTree {
-background: #F8F8F8;
-show-decoration-selected: 1;
-border-radius: 1px;
-border: 1px solid #e0e0e0;
-}
-
-QTreeView#objectTree::item {
-color: #000000;
-background-color: #FAFAFA;
-border: 1px solid qlineargradient(
-x1:0, y1:0, x2:1, y2:0,
-stop: 0 #E0E0E0,
-stop: 0.3 #FCFCFC,
-stop: 1.0 #FCFCFC);
-border-left-color: #E0E0E0;
-}
-
-QTreeView#objectTree::item:hover {
-background: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop: 0 #F8FAFF,
-stop: 0.5 #F4F8FF,
-stop: 1 #F4F8FF);
-border: 1px solid #D0D8E8;
-}
-
-QTreeView#objectTree::item:selected {
-border: 1px solid #D0D8E8;
-}
-
-QTreeView#objectTree::item:selected:active{
-background: #E0E6EF;
-/*selection-background-color: #E0E0E0;*/
-}
-
-QTreeView#objectTree::item:selected:!active {
-background: #E0E6EF;
-}
-
-QTreeView#objectTree::indicator:unchecked {
-image: url(data/icon/eyeclose.png);
-}
-
-QTreeView#objectTree::indicator:checked {
-image: url(data/icon/eyeopen.png);
-}
-
-
-QTreeView#resourceTree {
-background: #F8F8F8;
-show-decoration-selected: 1;
-border-radius: 2px;
-border: 1px solid #d0d0d0;
-}
-
-QTreeView#resourceTree::item {
-color: #000000;
-background-color: #FAFAFA;
-border: 1px solid qlineargradient(
-x1:0, y1:0, x2:1, y2:0,
-stop: 0 #E0E0E0,
-stop: 0.3 #FCFCFC,
-stop: 1.0 #FCFCFC);
-border-left-color: #E0E0E0;
-}
-
-QTreeView#resourceTree::item:hover {
-background: qlineargradient(
-x1:0, y1:0, x2:0, y2:1,
-stop: 0 #F8FAFF,
-stop: 0.5 #F4F8FF,
-stop: 1 #F4F8FF);
-border: 1px solid #D0D8E8;
-}
-
-QTreeView#resourceTree::item:selected {
-border: 1px solid #D0D8E8;
-}
-
-QTreeView#resourceTree::item:selected:active{
-background: #E0E6EF;
-/*selection-background-color: #E0E0E0;*/
-}
-
-QTreeView#resourceTree::item:selected:!active {
-background: #E0E6EF;
-}
-
-/*
-QTreeView#resourceTree::indicator:unchecked {
-image: url(data/icon/eyeclose.png);
-}
-
-QTreeView#resourceTree::indicator:checked {
-image: url(data/icon/eyeopen.png);
-}
-*/
diff --git a/data/stylesheet/toolwidget.ssa b/data/stylesheet/toolwidget.ssa
deleted file mode 100644
index 9fcca201..00000000
--- a/data/stylesheet/toolwidget.ssa
+++ /dev/null
@@ -1,232 +0,0 @@
-QPushButton#toolButton {
-color: #3C3C3C;
-border: 1px solid #eaeaea;
-border-radius: 6px;
-padding: -1px;
-width: 26px;
-height: 26px;
-icon-size: 26px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #fefefe,
- stop: 0.2 #fcfcfc,
- stop: 0.8 #f9f9f9,
- stop: 1 #f6f6f6
-);
-}
-
-QPushButton#toolButton:hover {
-color: #6C6C6C;
-border: 1px solid #FFFFFF;
-background: qlineargradient(
- x1:0, y1:0, x2:1, y2:1,
- stop: 0 #FFFFFF,
- stop: 0.2 #FEFEFE,
- stop: 0.8 #FEFEFE,
- stop: 1 #FFFFFF
-);
-}
-
-QPushButton#toolButton:disabled {
-color: #6C6C6C;
-border: 1px solid #EFEFEF;
-background: #E8E8E8;
-}
-
-QPushButton#toolButton:pressed {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 3px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8D8D8,
- stop: 0.2 #E6E6E6,
- stop: 0.8 #EFEFEF,
- stop: 1 #FAFAFA
-);
-}
-
-QPushButton#toolButton:checked {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 2px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8DFF0,
- stop: 0.2 #E6EFF3,
- stop: 0.8 #EFF2F8,
- stop: 1 #FAFCFF
-);
-}
-
-QPushButton#viewButton {
-border: 1px solid #eaeaea;
-border-radius: 6px;
-padding: -1px;
-width: 26px;
-height: 26px;
-icon-size: 26px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #fefefe,
- stop: 0.2 #fcfcfc,
- stop: 0.8 #f9f9f9,
- stop: 1 #f6f6f6
-);
-}
-
-QPushButton#viewButton:hover {
-color: #6C6C6C;
-border: 1px solid #FFFFFF;
-background: qlineargradient(
- x1:0, y1:0, x2:1, y2:1,
- stop: 0 #FFFFFF,
- stop: 0.2 #FEFEFE,
- stop: 0.8 #FEFEFE,
- stop: 1 #FFFFFF
-);
-}
-
-QPushButton#viewButton:disabled {
-color: #6C6C6C;
-border: 1px solid #EFEFEF;
-background: #E8E8E8;
-}
-
-QPushButton#viewButton:pressed {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 3px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8D8D8,
- stop: 0.2 #E6E6E6,
- stop: 0.8 #EFEFEF,
- stop: 1 #FAFAFA
-);
-}
-
-QPushButton#viewButton:checked {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 2px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8DFF0,
- stop: 0.2 #E6EFF3,
- stop: 0.8 #EFF2F8,
- stop: 1 #FAFCFF
-);
-}
-
-QGroupBox {
-color: #3c3c3c;
-background-color: #fcfcfc;
-border:1px solid transparent;
-border-radius:8px;
-margin-top: 6px;
-padding-left: 6px;
-padding-right: 6px;
-padding-top: 12px;
-padding-bottom: 24px;
-}
-
-QGroupBox::title {
-subcontrol-origin: margin;
-subcontrol-position:top left;
-}
-
-QPushButton {
-color: #3C3C3C;
-border: 1px solid #D8D8D8;
-border-radius: 2px;
-padding: 2px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #fcfcfc,
- stop: 0.2 #fbfbfb,
- stop: 0.8 #fafafa,
- stop: 1 #f8f8f8
-);
-}
-
-QPushButton:hover {
-color: #6C6C6C;
-border: 1px solid #FFFFFF;
-background: qlineargradient(
- x1:0, y1:0, x2:1, y2:1,
- stop: 0 #FFFFFF,
- stop: 0.2 #FEFEFE,
- stop: 0.8 #FEFEFE,
- stop: 1 #FFFFFF
-);
-}
-
-QPushButton:disabled {
-color: #6C6C6C;
-border: 1px solid #EFEFEF;
-background: #E8E8E8;
-}
-
-QPushButton:pressed {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 2px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8D8D8,
- stop: 0.2 #E6E6E6,
- stop: 0.8 #EFEFEF,
- stop: 1 #FAFAFA
-);
-}
-
-QPushButton:checked {
-color: #4C4C4C;
-border: 1px inset #8C8C8C;
-margin-top: 0px;
-background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #D8DFF0,
- stop: 0.2 #E6EFF3,
- stop: 0.8 #EFF2F8,
- stop: 1 #FAFCFF
-);
-}
-
-QSlider::groove:horizontal {
- border: 1px inset #C8C8C8;
- height: 3px;
- background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop:0 #E4E4E4,
- stop:0.5 #E8E8E8,
- stop:1 #F4F4F4
- );
- margin: 2px 0;
- border-radius: 1px;
-}
-
-QSlider::handle:horizontal {
- background: qlineargradient(
- x1:0, y1:0, x2:0, y2:1,
- stop: 0 #FDFDFD,
- stop: 0.3 #FAFAFA,
- stop: 0.7 #E0E0E0,
- stop: 1 #CCCCD0
- );
- border: 1px solid #A0A0B0;
- width: 7px;
- margin: -6px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
- border-radius: 2px;
-}
-
-QCheckBox#checkItem {
-}
-
-QCheckBox#checkItem::indicator {
-margin: 0px;
-padding: 4px;
-width: 16px;
-height: 16px;
-}
diff --git a/data/icon/bind.png b/data/themes/classic/icon/bind.png
similarity index 100%
rename from data/icon/bind.png
rename to data/themes/classic/icon/bind.png
diff --git a/data/icon/bone.png b/data/themes/classic/icon/bone.png
similarity index 100%
rename from data/icon/bone.png
rename to data/themes/classic/icon/bone.png
diff --git a/data/icon/branchclose.png b/data/themes/classic/icon/branchclose.png
similarity index 100%
rename from data/icon/branchclose.png
rename to data/themes/classic/icon/branchclose.png
diff --git a/data/icon/branchopen.png b/data/themes/classic/icon/branchopen.png
similarity index 100%
rename from data/icon/branchopen.png
rename to data/themes/classic/icon/branchopen.png
diff --git a/data/icon/cursor.png b/data/themes/classic/icon/cursor.png
similarity index 100%
rename from data/icon/cursor.png
rename to data/themes/classic/icon/cursor.png
diff --git a/data/icon/cutimages.png b/data/themes/classic/icon/cutimages.png
similarity index 100%
rename from data/icon/cutimages.png
rename to data/themes/classic/icon/cutimages.png
diff --git a/data/icon/doorclose.png b/data/themes/classic/icon/doorclose.png
similarity index 100%
rename from data/icon/doorclose.png
rename to data/themes/classic/icon/doorclose.png
diff --git a/data/icon/dooropen.png b/data/themes/classic/icon/dooropen.png
similarity index 100%
rename from data/icon/dooropen.png
rename to data/themes/classic/icon/dooropen.png
diff --git a/data/icon/downarrow.png b/data/themes/classic/icon/downarrow.png
similarity index 100%
rename from data/icon/downarrow.png
rename to data/themes/classic/icon/downarrow.png
diff --git a/data/icon/downarrow2.png b/data/themes/classic/icon/downarrow2.png
similarity index 100%
rename from data/icon/downarrow2.png
rename to data/themes/classic/icon/downarrow2.png
diff --git a/data/icon/eraser.png b/data/themes/classic/icon/eraser.png
similarity index 100%
rename from data/icon/eraser.png
rename to data/themes/classic/icon/eraser.png
diff --git a/data/icon/eyeclose.png b/data/themes/classic/icon/eyeclose.png
similarity index 100%
rename from data/icon/eyeclose.png
rename to data/themes/classic/icon/eyeclose.png
diff --git a/data/icon/eyeopen.png b/data/themes/classic/icon/eyeopen.png
similarity index 100%
rename from data/icon/eyeopen.png
rename to data/themes/classic/icon/eyeopen.png
diff --git a/data/icon/fast.png b/data/themes/classic/icon/fast.png
similarity index 100%
rename from data/icon/fast.png
rename to data/themes/classic/icon/fast.png
diff --git a/data/icon/ffd.png b/data/themes/classic/icon/ffd.png
similarity index 100%
rename from data/icon/ffd.png
rename to data/themes/classic/icon/ffd.png
diff --git a/data/icon/file.png b/data/themes/classic/icon/file.png
similarity index 100%
rename from data/icon/file.png
rename to data/themes/classic/icon/file.png
diff --git a/data/icon/filew.png b/data/themes/classic/icon/filew.png
similarity index 100%
rename from data/icon/filew.png
rename to data/themes/classic/icon/filew.png
diff --git a/data/icon/folder.png b/data/themes/classic/icon/folder.png
similarity index 100%
rename from data/icon/folder.png
rename to data/themes/classic/icon/folder.png
diff --git a/data/icon/hardness1.png b/data/themes/classic/icon/hardness1.png
similarity index 100%
rename from data/icon/hardness1.png
rename to data/themes/classic/icon/hardness1.png
diff --git a/data/icon/hardness2.png b/data/themes/classic/icon/hardness2.png
similarity index 100%
rename from data/icon/hardness2.png
rename to data/themes/classic/icon/hardness2.png
diff --git a/data/icon/hardness3.png b/data/themes/classic/icon/hardness3.png
similarity index 100%
rename from data/icon/hardness3.png
rename to data/themes/classic/icon/hardness3.png
diff --git a/data/icon/heightmap.png b/data/themes/classic/icon/heightmap.png
similarity index 100%
rename from data/icon/heightmap.png
rename to data/themes/classic/icon/heightmap.png
diff --git a/data/icon/influence.png b/data/themes/classic/icon/influence.png
similarity index 100%
rename from data/icon/influence.png
rename to data/themes/classic/icon/influence.png
diff --git a/data/icon/knockkey.png b/data/themes/classic/icon/knockkey.png
similarity index 100%
rename from data/icon/knockkey.png
rename to data/themes/classic/icon/knockkey.png
diff --git a/data/icon/loop.png b/data/themes/classic/icon/loop.png
similarity index 100%
rename from data/icon/loop.png
rename to data/themes/classic/icon/loop.png
diff --git a/data/icon/mesh.png b/data/themes/classic/icon/mesh.png
similarity index 100%
rename from data/icon/mesh.png
rename to data/themes/classic/icon/mesh.png
diff --git a/data/icon/minus.png b/data/themes/classic/icon/minus.png
similarity index 100%
rename from data/icon/minus.png
rename to data/themes/classic/icon/minus.png
diff --git a/data/icon/move.png b/data/themes/classic/icon/move.png
similarity index 100%
rename from data/icon/move.png
rename to data/themes/classic/icon/move.png
diff --git a/data/icon/paperpin.png b/data/themes/classic/icon/paperpin.png
similarity index 100%
rename from data/icon/paperpin.png
rename to data/themes/classic/icon/paperpin.png
diff --git a/data/icon/paperpinshadow.png b/data/themes/classic/icon/paperpinshadow.png
similarity index 100%
rename from data/icon/paperpinshadow.png
rename to data/themes/classic/icon/paperpinshadow.png
diff --git a/data/icon/pause.png b/data/themes/classic/icon/pause.png
similarity index 100%
rename from data/icon/pause.png
rename to data/themes/classic/icon/pause.png
diff --git a/data/icon/pencil.png b/data/themes/classic/icon/pencil.png
similarity index 100%
rename from data/icon/pencil.png
rename to data/themes/classic/icon/pencil.png
diff --git a/data/icon/play.png b/data/themes/classic/icon/play.png
similarity index 100%
rename from data/icon/play.png
rename to data/themes/classic/icon/play.png
diff --git a/data/icon/plus.png b/data/themes/classic/icon/plus.png
similarity index 100%
rename from data/icon/plus.png
rename to data/themes/classic/icon/plus.png
diff --git a/data/icon/pose.png b/data/themes/classic/icon/pose.png
similarity index 100%
rename from data/icon/pose.png
rename to data/themes/classic/icon/pose.png
diff --git a/data/icon/resetrot.png b/data/themes/classic/icon/resetrot.png
similarity index 100%
rename from data/icon/resetrot.png
rename to data/themes/classic/icon/resetrot.png
diff --git a/data/icon/rewind.png b/data/themes/classic/icon/rewind.png
similarity index 100%
rename from data/icon/rewind.png
rename to data/themes/classic/icon/rewind.png
diff --git a/data/icon/rotateac.png b/data/themes/classic/icon/rotateac.png
similarity index 100%
rename from data/icon/rotateac.png
rename to data/themes/classic/icon/rotateac.png
diff --git a/data/icon/rotatecw.png b/data/themes/classic/icon/rotatecw.png
similarity index 100%
rename from data/icon/rotatecw.png
rename to data/themes/classic/icon/rotatecw.png
diff --git a/data/icon/showmesh.png b/data/themes/classic/icon/showmesh.png
similarity index 100%
rename from data/icon/showmesh.png
rename to data/themes/classic/icon/showmesh.png
diff --git a/data/icon/srt.png b/data/themes/classic/icon/srt.png
similarity index 100%
rename from data/icon/srt.png
rename to data/themes/classic/icon/srt.png
diff --git a/data/icon/step.png b/data/themes/classic/icon/step.png
similarity index 100%
rename from data/icon/step.png
rename to data/themes/classic/icon/step.png
diff --git a/data/icon/stepback.png b/data/themes/classic/icon/stepback.png
similarity index 100%
rename from data/icon/stepback.png
rename to data/themes/classic/icon/stepback.png
diff --git a/data/icon/transcent.png b/data/themes/classic/icon/transcent.png
similarity index 100%
rename from data/icon/transcent.png
rename to data/themes/classic/icon/transcent.png
diff --git a/data/themes/classic/stylesheet/modetabbar.ssa b/data/themes/classic/stylesheet/modetabbar.ssa
new file mode 100644
index 00000000..a4cf050d
--- /dev/null
+++ b/data/themes/classic/stylesheet/modetabbar.ssa
@@ -0,0 +1,46 @@
+QTabBar {
+ background-color: #202020;
+}
+
+QTabBar::tab {
+ color: #B8B8B8;
+
+ background-color: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #383838,
+ stop:1 #303030);
+
+ border: 1px solid #404040;
+ border-top-color: #505050;
+ border-left-color: #505050;
+ border-right-color: #303030;
+ border-top-right-radius: 10px;
+ border-top-left-radius: 6px;
+ width: 128px;
+ min-height: 19px;
+ max-height: 19px;
+ min-width: 8ex;
+ margin-top: 0px;
+}
+
+QTabBar::tab:hover {
+ background-color: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #747474,
+ stop:0.6 #7A7A7A,
+ stop:1 #7F7F7F);
+}
+
+QTabBar::tab:selected {
+ color: #D2D2D2;
+ background-color: #404040;
+ border-top-color: #505050;
+ border-left-color: #505050;
+ border-right-color: #505050;
+ margin-top: -4px;
+}
+
+QTabBar::tab:!selected {
+ margin-top: 2px;
+ border-left-color: #404040;
+}
diff --git a/data/themes/classic/stylesheet/playbackwidget.ssa b/data/themes/classic/stylesheet/playbackwidget.ssa
new file mode 100644
index 00000000..aead73ad
--- /dev/null
+++ b/data/themes/classic/stylesheet/playbackwidget.ssa
@@ -0,0 +1,66 @@
+QPushButton#playbackButton {
+ color: #3C3C3C;
+ border: 1px solid #DFDFDF;
+ border-radius: 2px;
+ padding: 2px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #F9F9F9,
+ stop: 0.2 #FAFAFA,
+ stop: 0.8 #FBFBFB,
+ stop: 1 #FCFCFC
+ );
+}
+
+QPushButton#playbackButton:hover {
+ color: #6C6C6C;
+ border: 1px solid #FFFFFF;
+ background: qlineargradient(
+ x1:0, y1:0, x2:1, y2:1,
+ stop: 0 #FFFFFF,
+ stop: 0.2 #FEFEFE,
+ stop: 0.8 #FEFEFE,
+ stop: 1 #FFFFFF
+ );
+}
+
+QPushButton#playbackButton:disabled {
+ color: #6C6C6C;
+ border: 1px solid #EFEFEF;
+ background: #E8E8E8;
+}
+
+QPushButton#playbackButton:pressed {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 3px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8D8D8,
+ stop: 0.2 #E6E6E6,
+ stop: 0.8 #EFEFEF,
+ stop: 1 #FAFAFA
+ );
+}
+
+QPushButton#playbackButton:checked {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 2px;
+ /*
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8D8D8,
+ stop: 0.2 #E6E6E6,
+ stop: 0.8 #EFEFEF,
+ stop: 1 #FAFAFA
+ );
+ */
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8DFF0,
+ stop: 0.2 #E6EFF3,
+ stop: 0.8 #EFF2F8,
+ stop: 1 #FAFCFF
+ );
+}
diff --git a/data/themes/classic/stylesheet/propertywidget.ssa b/data/themes/classic/stylesheet/propertywidget.ssa
new file mode 100644
index 00000000..1b80ec40
--- /dev/null
+++ b/data/themes/classic/stylesheet/propertywidget.ssa
@@ -0,0 +1,201 @@
+QSplitter#propertysplitter {
+ width: 380px;
+}
+
+QFrame#holder {
+ background-color: #fafafa;
+ border-radius:2px;
+}
+
+QComboBox {
+ border-radius: 2px;
+ color: #101010;
+ padding-top: 1px;
+ padding-left: 8px;
+ padding-bottom: 1px;
+ padding-right: 8px;
+}
+
+QComboBox::enabled {
+ background-color: #fefefe;
+ border: 1px solid #d8d8d8;
+ color: #3C3C3C;
+}
+
+QComboBox::disabled {
+ background-color: #ececec;
+ border: 1px solid #d0d0d0;
+ color: #909090;
+}
+
+QComboBox::drop-down {
+ subcontrol-origin: padding;
+ subcontrol-position: right;
+ width: 16px;
+ height: 16px;
+ border: 0px solid #d0d0d0;
+}
+
+QComboBox::down-arrow {
+ image: url(data/icon/downarrow.png);
+ width: 10px;
+ height: 10px;
+}
+QComboBox::down-arrow:disabled {
+ image: url(data/icon/downarrow2.png);
+}
+
+QCheckBox#keyIcon {
+}
+
+QCheckBox#keyIcon::indicator {
+ width: 15px;
+ height: 15px;
+}
+QCheckBox#keyIcon::indicator:unchecked {
+ image: url(data/themes/classic/icon/branchclose.png);
+}
+
+QCheckBox#keyIcon::indicator:checked {
+ image: url(data/themes/classic/icon/branchopen.png);
+}
+
+QGroupBox#keyGroup {
+ background-color: #f8f8f8;
+ border:0px solid transparent;
+ border-radius:4px;
+ margin: 2px;
+ padding-top: 16px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#keyGroup::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ margin: 0px;
+ padding-left: 0px;
+ padding-top: 4px;
+}
+
+QGroupBox#keyGroup::indicator {
+ width: 14px;
+ height: 14px;
+ padding-left: 7px;
+ padding-top: 2px;
+ margin: 0px;
+}
+
+QGroupBox#keyGroup::indicator:unchecked {
+ image: url(data/themes/classic/icon/branchclose.png);
+}
+
+QGroupBox#keyGroup::indicator:checked {
+ image: url(data/themes/classic/icon/branchopen.png);
+}
+
+QGroupBox#attrGroup {
+ background-color: #f8f8f8;
+ border:0px solid transparent;
+ border-radius:4px;
+ margin: 2px;
+ padding-top: 16px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#attrGroup::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ margin: 0px;
+ padding-left: 0px;
+ padding-top: 4px;
+}
+
+QGroupBox#attrGroup::indicator {
+ width: 14px;
+ height: 14px;
+ padding-left: 7px;
+ padding-top: 2px;
+ margin: 0px;
+}
+
+QGroupBox#attrGroup::indicator:unchecked {
+ image: url(data/themes/classic/icon/branchclose.png);
+}
+
+QGroupBox#attrGroup::indicator:checked {
+ image: url(data/themes/classic/icon/branchopen.png);
+}
+
+QGroupBox#keyKnocker {
+ background-color: #f8f8f8;
+ border:0px solid transparent;
+ border-radius:4px;
+ margin: 2px;
+ padding-left: 4px;
+ padding-right: 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+QPushButton#keyKnocker {
+ border: 1px solid #a0a0a0;
+ border-radius: 2px;
+ padding: 0px;
+ margin: 0px;
+ width: 14px;
+ height: 14px;
+}
+QPushButton#keyKnocker::enabled {
+ image: url(data/themes/classic/icon/knockkey.png);
+}
+QPushButton#keyKnocker::disabled {
+ image: url(data/themes/classic/icon/minus.png);
+}
+
+QPushButton#browser {
+ border: 1px solid #a0a0a0;
+ border-radius: 2px;
+ padding: 2px;
+ width: 18px;
+ height: 15px;
+}
+QPushButton#browser::enabled {
+ image: url(data/themes/classic/icon/filew.png);
+}
+QPushButton#browser::disabled {
+ image: url(data/themes/classic/icon/file.png);
+}
+
+QGroupBox#propertyPanel {
+ background-color: #c8c8c8;
+ border:0px solid transparent;
+ border-radius:4px;
+ margin-top: 2px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+ padding-top: 16px;
+ padding-left: 8px;
+ padding-right: 8px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#propertyPanel::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ padding-left: 8px;
+}
+
+QGroupBox#propertyPanel::indicator {
+ width: 15px;
+ height: 15px;
+ padding: 2px;
+}
+
+QGroupBox#propertyPanel::indicator:unchecked {
+ image: url(data/themes/classic/icon/branchclose.png);
+}
+
+QGroupBox#propertyPanel::indicator:checked {
+ image: url(data/themes/classic/icon/branchopen.png);
+}
diff --git a/data/themes/classic/stylesheet/standard.ssa b/data/themes/classic/stylesheet/standard.ssa
new file mode 100644
index 00000000..18dcfd11
--- /dev/null
+++ b/data/themes/classic/stylesheet/standard.ssa
@@ -0,0 +1,359 @@
+QWidget {
+ background-color: #dcdedf;
+ color: #101010;
+}
+
+QMenuBar {
+ color: #000000;
+ background-color: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #dfdfdf,
+ stop:1 #d8d8d8
+ );
+ border: 1px solid #a0a0a0;
+}
+
+QMenuBar::item {
+ spacing: 8px;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background: transparent;
+ border-radius: 1px;
+}
+
+QMenuBar::item:selected {
+ color: #303030;
+ padding-top: 1px;
+ background-color: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #efefef,
+ stop:0.5 #f2f2f2,
+ stop:1 #efefef
+ );
+}
+
+QMenuBar::item:pressed {
+ color: #101010;
+ padding-top: 5px;
+ background-color: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #a0a0a0,
+ stop:0.5 #b8b8b8,
+ stop:1 #c4c4c4);
+ border: 1px solid #707070;
+}
+
+QFrame {
+ background-color: #f6f6f6;
+}
+
+QScrollArea {
+ background-color: #f0f0f0;
+ border-radius:1px;
+ border: 1px solid #d0d0d0;
+}
+
+QPlainTextEdit {
+ background-color: #f4f4f4;
+ color: #303030;
+ border: 1px solid #d0d0d0;
+ border-radius: 1px;
+}
+
+QSplitter::handle:horizontal {
+ color: #000000;
+ background-color: #f6f6f6;
+}
+QSplitter::handle:vertical {
+ color: #000000;
+ background-color: #f6f6f6;
+}
+
+QComboBox {
+ color: #101010;
+ padding-left: 8px;
+ padding-bottom: 1px;
+}
+
+QDoubleSpinBox, QSpinBox {
+ color: #101010;
+}
+
+QDoubleSpinBox::disabled, QSpinBox::disabled {
+ color: #808080;
+ background-color: #ececec;
+}
+
+QLineEdit {
+ color: #101010;
+ border: 1px inset #8C8C8C;
+}
+
+QLineEdit::read-only {
+ color: #303030;
+ border: 1px solid #a0a0a0;
+ border-radius: 1px;
+}
+
+QLineEdit::disabled {
+ color: #808080;
+ background-color: #ececec;
+ border: 1px inset #8C8C8C;
+}
+
+QLabel {
+ color: #101010;
+ background-color: transparent;
+}
+
+QGroupBox {
+ background-color: #fcfcfc;
+ border: 1px solid transparent;
+ border-radius: 8px;
+ margin-top: 0ex;
+ padding-top: 16px;
+}
+
+QGroupBox::title {
+ color: #000000;
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ padding-left: 8px;
+}
+
+QGroupBox::indicator:unchecked {
+ image: url(data/themes/classic/icon/branchclose.png);
+}
+
+QGroupBox::indicator:checked {
+ image: url(data/themes/classic/icon/branchopen.png);
+}
+
+QGroupBox#note {
+ background-color: #f8f8f8;
+ border: 1px solid #c0c0c0;
+ border-radius: 2px;
+ margin-top: 0px;
+ padding-top: 0px;
+}
+
+QDockWidget {
+ color: #303030;
+ border-radius: 2px;
+ /*titlebar-close-icon: url(close.png);*/
+ /*titlebar-normal-icon: url(undock.png);*/
+}
+
+QDockWidget::title {
+ color: #303030;
+ text-align: left;
+ background: #c0c0c0;
+ border-radius: 1px;
+ border: 1px solid #b0b0b0;
+ padding: 2px;
+ padding-left: 5px;
+ margin: 1px;
+}
+
+QDockWidget::close-button, QDockWidget::float-button {
+ background: transparent;
+ border-radius: 0px;
+}
+
+QDockWidget::close-button:hover, QDockWidget::float-button:hover {
+ background: #d8d8d8;
+ border: 1px solid #e0e0e0;
+}
+
+QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
+ background: #b0b0b0;
+ border: 1px inset #808080;
+}
+
+QPushButton {
+ color: #000000;
+ border: 1px solid #909090;
+ border-radius: 2px;
+ padding: 6px 12px 6px 12px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #f0f0f0,
+ stop: 0.4 #fafafa,
+ stop: 0.65 #f3f3f3,
+ stop: 1 #eaeaea
+ );
+}
+
+QPushButton:disabled {
+ color: #606060;
+ border: 1px solid #c0c0c0;
+ padding-top: 6px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #e0e0e0,
+ stop: 0.3 #e4e4e4,
+ stop: 0.7 #e0e0e0,
+ stop: 1 #dcdcdc
+ );
+}
+
+QPushButton:hover {
+ color: #404850;
+ border: 1px solid #9098a0;
+ padding-top: 6px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #fafcff,
+ stop: 0.3 #fdfeff,
+ stop: 0.7 #ffffff,
+ stop: 1 #f8faff
+ );
+}
+
+QPushButton:pressed {
+ color: #404060;
+ border: 1px solid #b0b0c0;
+ padding-top: 10px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #c4ced2,
+ stop: 0.3 #d0dade,
+ stop: 0.7 #d8def4,
+ stop: 1 #e4ecf0
+ );
+}
+
+QPushButton#standardButton {
+ padding: 2px 4px 2px 4px;
+ width: 54px;
+ height: 22px;
+}
+
+QPushButton#standardButton:disabled {
+ padding-top: 2px;
+}
+
+QPushButton#standardButton:hover {
+ padding-top: 2px;
+}
+
+QPushButton#standardButton:pressed {
+ padding-top: 6px;
+}
+
+QPushButton#browser {
+ border: 1px solid #a0a0a0;
+ border-radius: 2px;
+ padding: 2px;
+ width: 18px;
+ height: 15px;
+}
+QPushButton#browser::enabled {
+ image: url(data/themes/classic/icon/filew.png);
+}
+QPushButton#browser::disabled {
+ image: url(data/themes/classic/icon/file.png);
+}
+
+QTreeView#objectTree {
+ background: #F8F8F8;
+ show-decoration-selected: 1;
+ border-radius: 1px;
+ border: 1px solid #e0e0e0;
+}
+
+QTreeView#objectTree::item {
+ color: #000000;
+ background-color: #FAFAFA;
+ border: 1px solid qlineargradient(
+ x1:0, y1:0, x2:1, y2:0,
+ stop: 0 #E0E0E0,
+ stop: 0.3 #FCFCFC,
+ stop: 1.0 #FCFCFC);
+ border-left-color: #E0E0E0;
+}
+
+QTreeView#objectTree::item:hover {
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #F8FAFF,
+ stop: 0.5 #F4F8FF,
+ stop: 1 #F4F8FF);
+ border: 1px solid #D0D8E8;
+}
+
+QTreeView#objectTree::item:selected {
+ border: 1px solid #D0D8E8;
+}
+
+QTreeView#objectTree::item:selected:active{
+ background: #E0E6EF;
+ /*selection-background-color: #E0E0E0;*/
+}
+
+QTreeView#objectTree::item:selected:!active {
+ background: #E0E6EF;
+}
+
+QTreeView#objectTree::indicator:unchecked {
+ image: url(data/themes/classic/icon/eyeclose.png);
+}
+
+QTreeView#objectTree::indicator:checked {
+ image: url(data/themes/classic/icon/eyeopen.png);
+}
+
+
+QTreeView#resourceTree {
+ background: #F8F8F8;
+ show-decoration-selected: 1;
+ border-radius: 2px;
+ border: 1px solid #d0d0d0;
+}
+
+QTreeView#resourceTree::item {
+ color: #000000;
+ background-color: #FAFAFA;
+ border: 1px solid qlineargradient(
+ x1:0, y1:0, x2:1, y2:0,
+ stop: 0 #E0E0E0,
+ stop: 0.3 #FCFCFC,
+ stop: 1.0 #FCFCFC
+ );
+ border-left-color: #E0E0E0;
+}
+
+QTreeView#resourceTree::item:hover {
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #F8FAFF,
+ stop: 0.5 #F4F8FF,
+ stop: 1 #F4F8FF
+ );
+ border: 1px solid #D0D8E8;
+}
+
+QTreeView#resourceTree::item:selected {
+ border: 1px solid #D0D8E8;
+}
+
+QTreeView#resourceTree::item:selected:active{
+ background: #E0E6EF;
+ /*selection-background-color: #E0E0E0;*/
+}
+
+QTreeView#resourceTree::item:selected:!active {
+ background: #E0E6EF;
+}
+
+/*
+QTreeView#resourceTree::indicator:unchecked {
+ image: url(data/themes/classic/icon/eyeclose.png);
+}
+
+QTreeView#resourceTree::indicator:checked {
+ image: url(data/themes/classic/icon/eyeopen.png);
+}
+*/
diff --git a/data/themes/classic/stylesheet/timelinewidget.ssa b/data/themes/classic/stylesheet/timelinewidget.ssa
new file mode 100644
index 00000000..96237a3e
--- /dev/null
+++ b/data/themes/classic/stylesheet/timelinewidget.ssa
@@ -0,0 +1,16 @@
+gui--TimeLineEditorWidget {
+ qproperty-headerContentColor: rgba(60, 60, 70, 255);
+ qproperty-headerBackgroundColor: rgba(160, 160, 160, 255);
+
+ qproperty-trackColor: rgba(250, 250, 250, 255);
+ qproperty-trackColor: rgba(250, 250, 250, 255);
+ qproperty-trackEdgeColor: rgba(190, 190, 190, 255);
+ qproperty-trackTextColor: rgba(170, 170, 170, 255);
+ qproperty-trackSelectColor: rgba(235, 240, 250, 255);
+ qproperty-trackSeperatorColor: rgba(200, 200, 205, 255);
+}
+
+gui--TimeCursor {
+ qproperty-bodyColor: rgba(230, 230, 230, 180);
+ qproperty-edgeColor: rgba(80, 80, 80, 180);
+}
\ No newline at end of file
diff --git a/data/themes/classic/stylesheet/toolwidget.ssa b/data/themes/classic/stylesheet/toolwidget.ssa
new file mode 100644
index 00000000..afd7f4a4
--- /dev/null
+++ b/data/themes/classic/stylesheet/toolwidget.ssa
@@ -0,0 +1,232 @@
+QPushButton#toolButton {
+ color: #3C3C3C;
+ border: 1px solid #eaeaea;
+ border-radius: 6px;
+ padding: -1px;
+ width: 26px;
+ height: 26px;
+ icon-size: 26px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #fefefe,
+ stop: 0.2 #fcfcfc,
+ stop: 0.8 #f9f9f9,
+ stop: 1 #f6f6f6
+ );
+}
+
+QPushButton#toolButton:hover {
+ color: #6C6C6C;
+ border: 1px solid #FFFFFF;
+ background: qlineargradient(
+ x1:0, y1:0, x2:1, y2:1,
+ stop: 0 #FFFFFF,
+ stop: 0.2 #FEFEFE,
+ stop: 0.8 #FEFEFE,
+ stop: 1 #FFFFFF
+ );
+}
+
+QPushButton#toolButton:disabled {
+ color: #6C6C6C;
+ border: 1px solid #EFEFEF;
+ background: #E8E8E8;
+}
+
+QPushButton#toolButton:pressed {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 3px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8D8D8,
+ stop: 0.2 #E6E6E6,
+ stop: 0.8 #EFEFEF,
+ stop: 1 #FAFAFA
+ );
+}
+
+QPushButton#toolButton:checked {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 2px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8DFF0,
+ stop: 0.2 #E6EFF3,
+ stop: 0.8 #EFF2F8,
+ stop: 1 #FAFCFF
+ );
+}
+
+QPushButton#viewButton {
+ border: 1px solid #eaeaea;
+ border-radius: 6px;
+ padding: -1px;
+ width: 26px;
+ height: 26px;
+ icon-size: 26px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #fefefe,
+ stop: 0.2 #fcfcfc,
+ stop: 0.8 #f9f9f9,
+ stop: 1 #f6f6f6
+ );
+}
+
+QPushButton#viewButton:hover {
+ color: #6C6C6C;
+ border: 1px solid #FFFFFF;
+ background: qlineargradient(
+ x1:0, y1:0, x2:1, y2:1,
+ stop: 0 #FFFFFF,
+ stop: 0.2 #FEFEFE,
+ stop: 0.8 #FEFEFE,
+ stop: 1 #FFFFFF
+ );
+}
+
+QPushButton#viewButton:disabled {
+ color: #6C6C6C;
+ border: 1px solid #EFEFEF;
+ background: #E8E8E8;
+}
+
+QPushButton#viewButton:pressed {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 3px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8D8D8,
+ stop: 0.2 #E6E6E6,
+ stop: 0.8 #EFEFEF,
+ stop: 1 #FAFAFA
+ );
+}
+
+QPushButton#viewButton:checked {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 2px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8DFF0,
+ stop: 0.2 #E6EFF3,
+ stop: 0.8 #EFF2F8,
+ stop: 1 #FAFCFF
+ );
+}
+
+QGroupBox {
+ color: #3c3c3c;
+ background-color: #fcfcfc;
+ border:1px solid transparent;
+ border-radius:8px;
+ margin-top: 6px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 12px;
+ padding-bottom: 24px;
+}
+
+QGroupBox::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+}
+
+QPushButton {
+ color: #3C3C3C;
+ border: 1px solid #D8D8D8;
+ border-radius: 2px;
+ padding: 2px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #fcfcfc,
+ stop: 0.2 #fbfbfb,
+ stop: 0.8 #fafafa,
+ stop: 1 #f8f8f8
+ );
+}
+
+QPushButton:hover {
+ color: #6C6C6C;
+ border: 1px solid #FFFFFF;
+ background: qlineargradient(
+ x1:0, y1:0, x2:1, y2:1,
+ stop: 0 #FFFFFF,
+ stop: 0.2 #FEFEFE,
+ stop: 0.8 #FEFEFE,
+ stop: 1 #FFFFFF
+ );
+}
+
+QPushButton:disabled {
+ color: #6C6C6C;
+ border: 1px solid #EFEFEF;
+ background: #E8E8E8;
+}
+
+QPushButton:pressed {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 2px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8D8D8,
+ stop: 0.2 #E6E6E6,
+ stop: 0.8 #EFEFEF,
+ stop: 1 #FAFAFA
+ );
+}
+
+QPushButton:checked {
+ color: #4C4C4C;
+ border: 1px inset #8C8C8C;
+ margin-top: 0px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #D8DFF0,
+ stop: 0.2 #E6EFF3,
+ stop: 0.8 #EFF2F8,
+ stop: 1 #FAFCFF
+ );
+}
+
+QSlider::groove:horizontal {
+ border: 1px inset #C8C8C8;
+ height: 3px;
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop:0 #E4E4E4,
+ stop:0.5 #E8E8E8,
+ stop:1 #F4F4F4
+ );
+ margin: 2px 0;
+ border-radius: 1px;
+}
+
+QSlider::handle:horizontal {
+ background: qlineargradient(
+ x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #FDFDFD,
+ stop: 0.3 #FAFAFA,
+ stop: 0.7 #E0E0E0,
+ stop: 1 #CCCCD0
+ );
+ border: 1px solid #A0A0B0;
+ width: 7px;
+ margin: -6px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
+ border-radius: 2px;
+}
+
+QCheckBox#checkItem {
+}
+
+QCheckBox#checkItem::indicator {
+ margin: 0px;
+ padding: 4px;
+ width: 16px;
+ height: 16px;
+}
diff --git a/data/themes/default/icon/bind.png b/data/themes/default/icon/bind.png
new file mode 100644
index 00000000..0c821600
Binary files /dev/null and b/data/themes/default/icon/bind.png differ
diff --git a/data/themes/default/icon/bone.png b/data/themes/default/icon/bone.png
new file mode 100644
index 00000000..4f8a7e25
Binary files /dev/null and b/data/themes/default/icon/bone.png differ
diff --git a/data/themes/default/icon/branchclose.png b/data/themes/default/icon/branchclose.png
new file mode 100644
index 00000000..23f9bc52
Binary files /dev/null and b/data/themes/default/icon/branchclose.png differ
diff --git a/data/themes/default/icon/branchopen.png b/data/themes/default/icon/branchopen.png
new file mode 100644
index 00000000..ea5f16bb
Binary files /dev/null and b/data/themes/default/icon/branchopen.png differ
diff --git a/data/themes/default/icon/cursor.png b/data/themes/default/icon/cursor.png
new file mode 100644
index 00000000..00da6273
Binary files /dev/null and b/data/themes/default/icon/cursor.png differ
diff --git a/data/themes/default/icon/cutimages.png b/data/themes/default/icon/cutimages.png
new file mode 100644
index 00000000..d1f850c4
Binary files /dev/null and b/data/themes/default/icon/cutimages.png differ
diff --git a/data/themes/default/icon/doorclose.png b/data/themes/default/icon/doorclose.png
new file mode 100644
index 00000000..3bc9bb8a
Binary files /dev/null and b/data/themes/default/icon/doorclose.png differ
diff --git a/data/themes/default/icon/dooropen.png b/data/themes/default/icon/dooropen.png
new file mode 100644
index 00000000..1ec5b6c5
Binary files /dev/null and b/data/themes/default/icon/dooropen.png differ
diff --git a/data/themes/default/icon/downarrow.png b/data/themes/default/icon/downarrow.png
new file mode 100644
index 00000000..c1c5347d
Binary files /dev/null and b/data/themes/default/icon/downarrow.png differ
diff --git a/data/themes/default/icon/downarrow2.png b/data/themes/default/icon/downarrow2.png
new file mode 100644
index 00000000..853ef7b7
Binary files /dev/null and b/data/themes/default/icon/downarrow2.png differ
diff --git a/data/themes/default/icon/eraser.png b/data/themes/default/icon/eraser.png
new file mode 100644
index 00000000..4e295282
Binary files /dev/null and b/data/themes/default/icon/eraser.png differ
diff --git a/data/themes/default/icon/eyeclose.png b/data/themes/default/icon/eyeclose.png
new file mode 100644
index 00000000..0e8f2233
Binary files /dev/null and b/data/themes/default/icon/eyeclose.png differ
diff --git a/data/themes/default/icon/eyeopen.png b/data/themes/default/icon/eyeopen.png
new file mode 100644
index 00000000..52c21c63
Binary files /dev/null and b/data/themes/default/icon/eyeopen.png differ
diff --git a/data/themes/default/icon/fast.png b/data/themes/default/icon/fast.png
new file mode 100644
index 00000000..13d05bc9
Binary files /dev/null and b/data/themes/default/icon/fast.png differ
diff --git a/data/themes/default/icon/ffd.png b/data/themes/default/icon/ffd.png
new file mode 100644
index 00000000..958f5e11
Binary files /dev/null and b/data/themes/default/icon/ffd.png differ
diff --git a/data/themes/default/icon/file.png b/data/themes/default/icon/file.png
new file mode 100644
index 00000000..75ee9036
Binary files /dev/null and b/data/themes/default/icon/file.png differ
diff --git a/data/themes/default/icon/filew.png b/data/themes/default/icon/filew.png
new file mode 100644
index 00000000..a67c6a24
Binary files /dev/null and b/data/themes/default/icon/filew.png differ
diff --git a/data/themes/default/icon/folder.png b/data/themes/default/icon/folder.png
new file mode 100644
index 00000000..64ceba2c
Binary files /dev/null and b/data/themes/default/icon/folder.png differ
diff --git a/data/themes/default/icon/hardness1.png b/data/themes/default/icon/hardness1.png
new file mode 100644
index 00000000..6db4ab82
Binary files /dev/null and b/data/themes/default/icon/hardness1.png differ
diff --git a/data/themes/default/icon/hardness2.png b/data/themes/default/icon/hardness2.png
new file mode 100644
index 00000000..59289527
Binary files /dev/null and b/data/themes/default/icon/hardness2.png differ
diff --git a/data/themes/default/icon/hardness3.png b/data/themes/default/icon/hardness3.png
new file mode 100644
index 00000000..70e781d0
Binary files /dev/null and b/data/themes/default/icon/hardness3.png differ
diff --git a/data/themes/default/icon/heightmap.png b/data/themes/default/icon/heightmap.png
new file mode 100644
index 00000000..01c68735
Binary files /dev/null and b/data/themes/default/icon/heightmap.png differ
diff --git a/data/themes/default/icon/influence.png b/data/themes/default/icon/influence.png
new file mode 100644
index 00000000..bc6e6ddd
Binary files /dev/null and b/data/themes/default/icon/influence.png differ
diff --git a/data/themes/default/icon/knockkey.png b/data/themes/default/icon/knockkey.png
new file mode 100644
index 00000000..99b5a297
Binary files /dev/null and b/data/themes/default/icon/knockkey.png differ
diff --git a/data/themes/default/icon/light/bind.png b/data/themes/default/icon/light/bind.png
new file mode 100644
index 00000000..480d6b65
Binary files /dev/null and b/data/themes/default/icon/light/bind.png differ
diff --git a/data/themes/default/icon/light/bone.png b/data/themes/default/icon/light/bone.png
new file mode 100644
index 00000000..4f8a7e25
Binary files /dev/null and b/data/themes/default/icon/light/bone.png differ
diff --git a/data/themes/default/icon/light/branchclose.png b/data/themes/default/icon/light/branchclose.png
new file mode 100644
index 00000000..b746fec1
Binary files /dev/null and b/data/themes/default/icon/light/branchclose.png differ
diff --git a/data/themes/default/icon/light/branchopen.png b/data/themes/default/icon/light/branchopen.png
new file mode 100644
index 00000000..7b0291ae
Binary files /dev/null and b/data/themes/default/icon/light/branchopen.png differ
diff --git a/data/themes/default/icon/light/cursor.png b/data/themes/default/icon/light/cursor.png
new file mode 100644
index 00000000..e7fcb059
Binary files /dev/null and b/data/themes/default/icon/light/cursor.png differ
diff --git a/data/themes/default/icon/light/cutimages.png b/data/themes/default/icon/light/cutimages.png
new file mode 100644
index 00000000..9ede77b7
Binary files /dev/null and b/data/themes/default/icon/light/cutimages.png differ
diff --git a/data/themes/default/icon/light/doorclose.png b/data/themes/default/icon/light/doorclose.png
new file mode 100644
index 00000000..de9ca3f4
Binary files /dev/null and b/data/themes/default/icon/light/doorclose.png differ
diff --git a/data/themes/default/icon/light/dooropen.png b/data/themes/default/icon/light/dooropen.png
new file mode 100644
index 00000000..1ec5b6c5
Binary files /dev/null and b/data/themes/default/icon/light/dooropen.png differ
diff --git a/data/themes/default/icon/light/downarrow.png b/data/themes/default/icon/light/downarrow.png
new file mode 100644
index 00000000..bc23096f
Binary files /dev/null and b/data/themes/default/icon/light/downarrow.png differ
diff --git a/data/themes/default/icon/light/downarrow2.png b/data/themes/default/icon/light/downarrow2.png
new file mode 100644
index 00000000..f4983f4d
Binary files /dev/null and b/data/themes/default/icon/light/downarrow2.png differ
diff --git a/data/themes/default/icon/light/eraser.png b/data/themes/default/icon/light/eraser.png
new file mode 100644
index 00000000..576a051c
Binary files /dev/null and b/data/themes/default/icon/light/eraser.png differ
diff --git a/data/themes/default/icon/light/eyeclose.png b/data/themes/default/icon/light/eyeclose.png
new file mode 100644
index 00000000..c5bfa67c
Binary files /dev/null and b/data/themes/default/icon/light/eyeclose.png differ
diff --git a/data/themes/default/icon/light/eyeopen.png b/data/themes/default/icon/light/eyeopen.png
new file mode 100644
index 00000000..2048abb5
Binary files /dev/null and b/data/themes/default/icon/light/eyeopen.png differ
diff --git a/data/themes/default/icon/light/fast.png b/data/themes/default/icon/light/fast.png
new file mode 100644
index 00000000..e002b4c4
Binary files /dev/null and b/data/themes/default/icon/light/fast.png differ
diff --git a/data/themes/default/icon/light/ffd.png b/data/themes/default/icon/light/ffd.png
new file mode 100644
index 00000000..3d575a6c
Binary files /dev/null and b/data/themes/default/icon/light/ffd.png differ
diff --git a/data/themes/default/icon/light/file.png b/data/themes/default/icon/light/file.png
new file mode 100644
index 00000000..2d0d139b
Binary files /dev/null and b/data/themes/default/icon/light/file.png differ
diff --git a/data/themes/default/icon/light/filew.png b/data/themes/default/icon/light/filew.png
new file mode 100644
index 00000000..a67c6a24
Binary files /dev/null and b/data/themes/default/icon/light/filew.png differ
diff --git a/data/themes/default/icon/light/folder.png b/data/themes/default/icon/light/folder.png
new file mode 100644
index 00000000..3e4a700a
Binary files /dev/null and b/data/themes/default/icon/light/folder.png differ
diff --git a/data/themes/default/icon/light/hardness1.png b/data/themes/default/icon/light/hardness1.png
new file mode 100644
index 00000000..c2664c5d
Binary files /dev/null and b/data/themes/default/icon/light/hardness1.png differ
diff --git a/data/themes/default/icon/light/hardness2.png b/data/themes/default/icon/light/hardness2.png
new file mode 100644
index 00000000..783b9d6e
Binary files /dev/null and b/data/themes/default/icon/light/hardness2.png differ
diff --git a/data/themes/default/icon/light/hardness3.png b/data/themes/default/icon/light/hardness3.png
new file mode 100644
index 00000000..bd6b9de3
Binary files /dev/null and b/data/themes/default/icon/light/hardness3.png differ
diff --git a/data/themes/default/icon/light/heightmap.png b/data/themes/default/icon/light/heightmap.png
new file mode 100644
index 00000000..01c68735
Binary files /dev/null and b/data/themes/default/icon/light/heightmap.png differ
diff --git a/data/themes/default/icon/light/influence.png b/data/themes/default/icon/light/influence.png
new file mode 100644
index 00000000..a43188a3
Binary files /dev/null and b/data/themes/default/icon/light/influence.png differ
diff --git a/data/themes/default/icon/light/knockkey.png b/data/themes/default/icon/light/knockkey.png
new file mode 100644
index 00000000..84be7b71
Binary files /dev/null and b/data/themes/default/icon/light/knockkey.png differ
diff --git a/data/themes/default/icon/light/loop.png b/data/themes/default/icon/light/loop.png
new file mode 100644
index 00000000..bda27986
Binary files /dev/null and b/data/themes/default/icon/light/loop.png differ
diff --git a/data/themes/default/icon/light/mesh.png b/data/themes/default/icon/light/mesh.png
new file mode 100644
index 00000000..ab799388
Binary files /dev/null and b/data/themes/default/icon/light/mesh.png differ
diff --git a/data/themes/default/icon/light/minus.png b/data/themes/default/icon/light/minus.png
new file mode 100644
index 00000000..307749bf
Binary files /dev/null and b/data/themes/default/icon/light/minus.png differ
diff --git a/data/themes/default/icon/light/move.png b/data/themes/default/icon/light/move.png
new file mode 100644
index 00000000..89fdfd0f
Binary files /dev/null and b/data/themes/default/icon/light/move.png differ
diff --git a/data/themes/default/icon/light/paperpin.png b/data/themes/default/icon/light/paperpin.png
new file mode 100644
index 00000000..98ea0cba
Binary files /dev/null and b/data/themes/default/icon/light/paperpin.png differ
diff --git a/data/themes/default/icon/light/paperpinshadow.png b/data/themes/default/icon/light/paperpinshadow.png
new file mode 100644
index 00000000..3ea8ac04
Binary files /dev/null and b/data/themes/default/icon/light/paperpinshadow.png differ
diff --git a/data/themes/default/icon/light/pause.png b/data/themes/default/icon/light/pause.png
new file mode 100644
index 00000000..05ad3e71
Binary files /dev/null and b/data/themes/default/icon/light/pause.png differ
diff --git a/data/themes/default/icon/light/pencil.png b/data/themes/default/icon/light/pencil.png
new file mode 100644
index 00000000..7de7b420
Binary files /dev/null and b/data/themes/default/icon/light/pencil.png differ
diff --git a/data/themes/default/icon/light/play.png b/data/themes/default/icon/light/play.png
new file mode 100644
index 00000000..0e1098d3
Binary files /dev/null and b/data/themes/default/icon/light/play.png differ
diff --git a/data/themes/default/icon/light/plus.png b/data/themes/default/icon/light/plus.png
new file mode 100644
index 00000000..880a2e32
Binary files /dev/null and b/data/themes/default/icon/light/plus.png differ
diff --git a/data/themes/default/icon/light/pose.png b/data/themes/default/icon/light/pose.png
new file mode 100644
index 00000000..f27be254
Binary files /dev/null and b/data/themes/default/icon/light/pose.png differ
diff --git a/data/themes/default/icon/light/resetrot.png b/data/themes/default/icon/light/resetrot.png
new file mode 100644
index 00000000..303cd34d
Binary files /dev/null and b/data/themes/default/icon/light/resetrot.png differ
diff --git a/data/themes/default/icon/light/rewind.png b/data/themes/default/icon/light/rewind.png
new file mode 100644
index 00000000..da30a316
Binary files /dev/null and b/data/themes/default/icon/light/rewind.png differ
diff --git a/data/themes/default/icon/light/rotateac.png b/data/themes/default/icon/light/rotateac.png
new file mode 100644
index 00000000..759c7f72
Binary files /dev/null and b/data/themes/default/icon/light/rotateac.png differ
diff --git a/data/themes/default/icon/light/rotatecw.png b/data/themes/default/icon/light/rotatecw.png
new file mode 100644
index 00000000..7477a50c
Binary files /dev/null and b/data/themes/default/icon/light/rotatecw.png differ
diff --git a/data/themes/default/icon/light/showmesh.png b/data/themes/default/icon/light/showmesh.png
new file mode 100644
index 00000000..e9158a2c
Binary files /dev/null and b/data/themes/default/icon/light/showmesh.png differ
diff --git a/data/themes/default/icon/light/srt.png b/data/themes/default/icon/light/srt.png
new file mode 100644
index 00000000..fa1cffe1
Binary files /dev/null and b/data/themes/default/icon/light/srt.png differ
diff --git a/data/themes/default/icon/light/step.png b/data/themes/default/icon/light/step.png
new file mode 100644
index 00000000..614a3625
Binary files /dev/null and b/data/themes/default/icon/light/step.png differ
diff --git a/data/themes/default/icon/light/stepback.png b/data/themes/default/icon/light/stepback.png
new file mode 100644
index 00000000..9a1fe980
Binary files /dev/null and b/data/themes/default/icon/light/stepback.png differ
diff --git a/data/themes/default/icon/light/transcent.png b/data/themes/default/icon/light/transcent.png
new file mode 100644
index 00000000..1ffbc35a
Binary files /dev/null and b/data/themes/default/icon/light/transcent.png differ
diff --git a/data/themes/default/icon/loop.png b/data/themes/default/icon/loop.png
new file mode 100644
index 00000000..42d1a616
Binary files /dev/null and b/data/themes/default/icon/loop.png differ
diff --git a/data/themes/default/icon/mesh.png b/data/themes/default/icon/mesh.png
new file mode 100644
index 00000000..7bbe3d93
Binary files /dev/null and b/data/themes/default/icon/mesh.png differ
diff --git a/data/themes/default/icon/minus.png b/data/themes/default/icon/minus.png
new file mode 100644
index 00000000..f50c1465
Binary files /dev/null and b/data/themes/default/icon/minus.png differ
diff --git a/data/themes/default/icon/move.png b/data/themes/default/icon/move.png
new file mode 100644
index 00000000..38b60da7
Binary files /dev/null and b/data/themes/default/icon/move.png differ
diff --git a/data/themes/default/icon/paperpin.png b/data/themes/default/icon/paperpin.png
new file mode 100644
index 00000000..ae49122b
Binary files /dev/null and b/data/themes/default/icon/paperpin.png differ
diff --git a/data/themes/default/icon/paperpinshadow.png b/data/themes/default/icon/paperpinshadow.png
new file mode 100644
index 00000000..72d39e72
Binary files /dev/null and b/data/themes/default/icon/paperpinshadow.png differ
diff --git a/data/themes/default/icon/pause.png b/data/themes/default/icon/pause.png
new file mode 100644
index 00000000..f2ff4d15
Binary files /dev/null and b/data/themes/default/icon/pause.png differ
diff --git a/data/themes/default/icon/pencil.png b/data/themes/default/icon/pencil.png
new file mode 100644
index 00000000..70af733a
Binary files /dev/null and b/data/themes/default/icon/pencil.png differ
diff --git a/data/themes/default/icon/play.png b/data/themes/default/icon/play.png
new file mode 100644
index 00000000..0481a8e5
Binary files /dev/null and b/data/themes/default/icon/play.png differ
diff --git a/data/themes/default/icon/plus.png b/data/themes/default/icon/plus.png
new file mode 100644
index 00000000..71e8a01b
Binary files /dev/null and b/data/themes/default/icon/plus.png differ
diff --git a/data/themes/default/icon/pose.png b/data/themes/default/icon/pose.png
new file mode 100644
index 00000000..173e9c3f
Binary files /dev/null and b/data/themes/default/icon/pose.png differ
diff --git a/data/themes/default/icon/resetrot.png b/data/themes/default/icon/resetrot.png
new file mode 100644
index 00000000..31accbf4
Binary files /dev/null and b/data/themes/default/icon/resetrot.png differ
diff --git a/data/themes/default/icon/rewind.png b/data/themes/default/icon/rewind.png
new file mode 100644
index 00000000..1c0bcb4a
Binary files /dev/null and b/data/themes/default/icon/rewind.png differ
diff --git a/data/themes/default/icon/rotateac.png b/data/themes/default/icon/rotateac.png
new file mode 100644
index 00000000..a97b77a9
Binary files /dev/null and b/data/themes/default/icon/rotateac.png differ
diff --git a/data/themes/default/icon/rotatecw.png b/data/themes/default/icon/rotatecw.png
new file mode 100644
index 00000000..cb2f1442
Binary files /dev/null and b/data/themes/default/icon/rotatecw.png differ
diff --git a/data/themes/default/icon/showmesh.png b/data/themes/default/icon/showmesh.png
new file mode 100644
index 00000000..e5dac4d1
Binary files /dev/null and b/data/themes/default/icon/showmesh.png differ
diff --git a/data/themes/default/icon/srt.png b/data/themes/default/icon/srt.png
new file mode 100644
index 00000000..78efdcdb
Binary files /dev/null and b/data/themes/default/icon/srt.png differ
diff --git a/data/themes/default/icon/step.png b/data/themes/default/icon/step.png
new file mode 100644
index 00000000..afb47fd6
Binary files /dev/null and b/data/themes/default/icon/step.png differ
diff --git a/data/themes/default/icon/stepback.png b/data/themes/default/icon/stepback.png
new file mode 100644
index 00000000..11cbb771
Binary files /dev/null and b/data/themes/default/icon/stepback.png differ
diff --git a/data/themes/default/icon/transcent.png b/data/themes/default/icon/transcent.png
new file mode 100644
index 00000000..3f25ebd0
Binary files /dev/null and b/data/themes/default/icon/transcent.png differ
diff --git a/data/themes/default/stylesheet/modetabbar.ssa b/data/themes/default/stylesheet/modetabbar.ssa
new file mode 100644
index 00000000..feec7389
--- /dev/null
+++ b/data/themes/default/stylesheet/modetabbar.ssa
@@ -0,0 +1,25 @@
+QTabBar {
+
+}
+
+QTabBar::tab {
+ border-top-right-radius: 10px;
+ border-top-left-radius: 6px;
+ width: 128px;
+ min-height: 19px;
+ max-height: 19px;
+ min-width: 8ex;
+ margin-top: 0px;
+}
+
+QTabBar::tab:hover {
+
+}
+
+QTabBar::tab:selected {
+ margin-top: -4px;
+}
+
+QTabBar::tab:!selected {
+ margin-top: 2px;
+}
diff --git a/data/themes/default/stylesheet/playbackwidget.ssa b/data/themes/default/stylesheet/playbackwidget.ssa
new file mode 100644
index 00000000..991949c0
--- /dev/null
+++ b/data/themes/default/stylesheet/playbackwidget.ssa
@@ -0,0 +1,20 @@
+QPushButton#playbackButton {
+ border-radius: 2px;
+ padding: 2px;
+}
+
+QPushButton#playbackButton:hover {
+
+}
+
+QPushButton#playbackButton:disabled {
+
+}
+
+QPushButton#playbackButton:pressed {
+ margin-top: 3px;
+}
+
+QPushButton#playbackButton:checked {
+ margin-top: 2px;
+}
diff --git a/data/themes/default/stylesheet/propertywidget.ssa b/data/themes/default/stylesheet/propertywidget.ssa
new file mode 100644
index 00000000..a44e5e5e
--- /dev/null
+++ b/data/themes/default/stylesheet/propertywidget.ssa
@@ -0,0 +1,184 @@
+QSplitter#propertysplitter {
+ width: 380px;
+}
+
+QFrame#holder {
+ border-radius:2px;
+}
+
+QComboBox {
+ border-radius: 2px;
+ padding-top: 1px;
+ padding-left: 8px;
+ padding-bottom: 1px;
+ padding-right: 8px;
+}
+
+QComboBox::enabled {
+
+}
+
+QComboBox::disabled {
+
+}
+
+QComboBox::drop-down {
+ subcontrol-origin: padding;
+ subcontrol-position: right;
+ width: 16px;
+ height: 16px;
+}
+
+QComboBox::down-arrow {
+ image: url(data/themes/default/icon/downarrow.png);
+ width: 10px;
+ height: 10px;
+}
+QComboBox::down-arrow:disabled {
+ image: url(data/themes/default/icon/downarrow2.png);
+}
+
+QCheckBox#keyIcon {
+}
+
+QCheckBox#keyIcon::indicator {
+ width: 15px;
+ height: 15px;
+}
+QCheckBox#keyIcon::indicator:unchecked {
+ image: url(data/themes/default/icon/branchclose.png);
+}
+
+QCheckBox#keyIcon::indicator:checked {
+ image: url(data/themes/default/icon/branchopen.png);
+}
+
+QGroupBox#keyGroup {
+ border-radius:4px;
+ margin: 2px;
+ padding-top: 16px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#keyGroup::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ margin: 0px;
+ padding-left: 0px;
+ padding-top: 4px;
+}
+
+QGroupBox#keyGroup::indicator {
+ width: 14px;
+ height: 14px;
+ padding-left: 7px;
+ padding-top: 2px;
+ margin: 0px;
+}
+
+QGroupBox#keyGroup::indicator:unchecked {
+ image: url(data/themes/default/icon/branchclose.png);
+}
+
+QGroupBox#keyGroup::indicator:checked {
+ image: url(data/themes/default/icon/branchopen.png);
+}
+
+QGroupBox#attrGroup {
+ border-radius:4px;
+ margin: 2px;
+ padding-top: 16px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#attrGroup::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ margin: 0px;
+ padding-left: 0px;
+ padding-top: 4px;
+}
+
+QGroupBox#attrGroup::indicator {
+ width: 14px;
+ height: 14px;
+ padding-left: 7px;
+ padding-top: 2px;
+ margin: 0px;
+}
+
+QGroupBox#attrGroup::indicator:unchecked {
+ image: url(data/themes/default/icon/branchclose.png);
+}
+
+QGroupBox#attrGroup::indicator:checked {
+ image: url(data/themes/default/icon/branchopen.png);
+}
+
+QGroupBox#keyKnocker {
+ border-radius:4px;
+ margin: 2px;
+ padding-left: 4px;
+ padding-right: 4px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+QPushButton#keyKnocker {
+ border-radius: 2px;
+ padding: 0px;
+ margin: 0px;
+ width: 14px;
+ height: 14px;
+}
+QPushButton#keyKnocker::enabled {
+ image: url(data/themes/default/icon/knockkey.png);
+}
+QPushButton#keyKnocker::disabled {
+ image: url(data/themes/default/icon/minus.png);
+}
+
+QPushButton#browser {
+ border-radius: 2px;
+ padding: 2px;
+ width: 18px;
+ height: 15px;
+}
+QPushButton#browser::enabled {
+ image: url(data/themes/default/icon/filew.png);
+}
+QPushButton#browser::disabled {
+ image: url(data/themes/default/icon/file.png);
+}
+
+QGroupBox#propertyPanel {
+ border-radius:4px;
+ margin-top: 2px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+ padding-top: 16px;
+ padding-left: 8px;
+ padding-right: 8px;
+ padding-bottom: 4px;
+}
+
+QGroupBox#propertyPanel::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ padding-left: 8px;
+}
+
+QGroupBox#propertyPanel::indicator {
+ width: 15px;
+ height: 15px;
+ padding: 2px;
+}
+
+QGroupBox#propertyPanel::indicator:unchecked {
+ image: url(data/themes/default/icon/branchclose.png);
+}
+
+QGroupBox#propertyPanel::indicator:checked {
+ image: url(data/themes/default/icon/branchopen.png);
+}
diff --git a/data/themes/default/stylesheet/standard.ssa b/data/themes/default/stylesheet/standard.ssa
new file mode 100644
index 00000000..b60ea1ca
--- /dev/null
+++ b/data/themes/default/stylesheet/standard.ssa
@@ -0,0 +1,225 @@
+QMenuBar {
+
+}
+
+QMenuBar::item {
+ spacing: 8px;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 10px;
+ padding-right: 10px;
+ border-radius: 1px;
+}
+
+QMenuBar::item:selected {
+ padding-top: 1px;
+}
+
+QMenuBar::item:pressed {
+ padding-top: 5px;
+}
+
+QFrame {
+
+}
+
+QScrollArea {
+ border-radius:1px;
+}
+
+QPlainTextEdit {
+ border-radius: 1px;
+}
+
+QSplitter::handle:horizontal {
+
+}
+QSplitter::handle:vertical {
+
+}
+
+QComboBox {
+ padding-left: 8px;
+ padding-bottom: 1px;
+}
+
+QDoubleSpinBox, QSpinBox {
+
+}
+
+QDoubleSpinBox::disabled, QSpinBox::disabled {
+
+}
+
+QLineEdit {
+
+}
+
+QLineEdit::read-only {
+ border-radius: 1px;
+}
+
+QLineEdit::disabled {
+
+}
+
+QLabel {
+
+}
+
+QGroupBox {
+ border-radius: 8px;
+ margin-top: 0ex;
+ padding-top: 16px;
+}
+
+QGroupBox::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+ padding-left: 8px;
+}
+
+QGroupBox::indicator:unchecked {
+ image: url(data/themes/default/icon/branchclose.png);
+}
+
+QGroupBox::indicator:checked {
+ image: url(data/themes/default/icon/branchopen.png);
+}
+
+QGroupBox#note {
+ border-radius: 2px;
+ margin-top: 0px;
+ padding-top: 0px;
+}
+
+QDockWidget {
+ border-radius: 2px;
+}
+
+QDockWidget::title {
+ text-align: left;
+ border-radius: 1px;
+ padding: 2px;
+ padding-left: 5px;
+ margin: 1px;
+}
+
+QDockWidget::close-button, QDockWidget::float-button {
+ border-radius: 0px;
+}
+
+QDockWidget::close-button:hover, QDockWidget::float-button:hover {
+
+}
+
+QDockWidget::close-button:pressed, QDockWidget::float-button:pressed {
+
+}
+
+QPushButton {
+ border-radius: 2px;
+ padding: 6px 12px 6px 12px;
+}
+
+QPushButton:disabled {
+ padding-top: 6px;
+}
+
+QPushButton:hover {
+ padding-top: 6px;
+}
+
+QPushButton:pressed {
+ padding-top: 10px;
+}
+
+QPushButton#standardButton {
+ padding: 2px 4px 2px 4px;
+ width: 54px;
+ height: 22px;
+}
+
+QPushButton#standardButton:disabled {
+ padding-top: 2px;
+}
+
+QPushButton#standardButton:hover {
+ padding-top: 2px;
+}
+
+QPushButton#standardButton:pressed {
+ padding-top: 6px;
+}
+
+QPushButton#browser {
+ border-radius: 2px;
+ padding: 2px;
+ width: 18px;
+ height: 15px;
+}
+QPushButton#browser::enabled {
+ image: url(data/themes/default/icon/filew.png);
+}
+QPushButton#browser::disabled {
+ image: url(data/themes/default/icon/file.png);
+}
+
+QTreeView#objectTree {
+ show-decoration-selected: 1;
+ border-radius: 1px;
+}
+
+QTreeView#objectTree::item {
+
+}
+
+QTreeView#objectTree::item:hover {
+
+}
+
+QTreeView#objectTree::item:selected {
+
+}
+
+QTreeView#objectTree::item:selected:active{
+
+}
+
+QTreeView#objectTree::item:selected:!active {
+
+}
+
+QTreeView#objectTree::indicator:unchecked {
+ image: url(data/themes/default/icon/eyeclose.png);
+}
+
+QTreeView#objectTree::indicator:checked {
+ image: url(data/themes/default/icon/eyeopen.png);
+}
+
+
+QTreeView#resourceTree {
+ show-decoration-selected: 1;
+ border-radius: 2px;
+}
+
+QTreeView#resourceTree::item {
+
+}
+
+QTreeView#resourceTree::item:hover {
+
+}
+
+QTreeView#resourceTree::item:selected {
+
+}
+
+QTreeView#resourceTree::item:selected:active{
+
+}
+
+QTreeView#resourceTree::item:selected:!active {
+
+}
diff --git a/data/themes/default/stylesheet/timelinewidget.ssa b/data/themes/default/stylesheet/timelinewidget.ssa
new file mode 100644
index 00000000..7a5b0d17
--- /dev/null
+++ b/data/themes/default/stylesheet/timelinewidget.ssa
@@ -0,0 +1,9 @@
+/*
+gui--TimeLineEditorWidget {
+ qproperty-trackColor: rgba(55, 57, 58, 180);
+}*/
+
+gui--TimeCursor {
+ qproperty-bodyColor: rgba(30, 230, 230, 180);
+ qproperty-edgeColor: rgba(80, 80, 80, 180);
+}
\ No newline at end of file
diff --git a/data/themes/default/stylesheet/toolwidget.ssa b/data/themes/default/stylesheet/toolwidget.ssa
new file mode 100644
index 00000000..42691aa7
--- /dev/null
+++ b/data/themes/default/stylesheet/toolwidget.ssa
@@ -0,0 +1,105 @@
+QPushButton#toolButton {
+ border-radius: 6px;
+ padding: -1px;
+ width: 26px;
+ height: 26px;
+ icon-size: 26px;
+}
+
+QPushButton#toolButton:hover {
+
+}
+
+QPushButton#toolButton:disabled {
+
+}
+
+QPushButton#toolButton:pressed {
+ margin-top: 3px;
+}
+
+QPushButton#toolButton:checked {
+ margin-top: 2px;
+}
+
+QPushButton#viewButton {
+ border-radius: 6px;
+ padding: -1px;
+ width: 26px;
+ height: 26px;
+ icon-size: 26px;
+}
+
+QPushButton#viewButton:hover {
+
+}
+
+QPushButton#viewButton:disabled {
+
+}
+
+QPushButton#viewButton:pressed {
+ margin-top: 3px;
+}
+
+QPushButton#viewButton:checked {
+ margin-top: 2px;
+}
+
+QGroupBox {
+ border-radius:8px;
+ margin-top: 6px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 12px;
+ padding-bottom: 24px;
+}
+
+QGroupBox::title {
+ subcontrol-origin: margin;
+ subcontrol-position:top left;
+}
+
+QPushButton {
+ border-radius: 2px;
+ padding: 2px;
+}
+
+QPushButton:hover {
+
+}
+
+QPushButton:disabled {
+
+}
+
+QPushButton:pressed {
+ margin-top: 2px;
+}
+
+QPushButton:checked {
+ margin-top: 0px;
+}
+
+QSlider::groove:horizontal {
+ height: 3px;
+ margin: 2px 0;
+ border-radius: 1px;
+}
+
+QSlider::handle:horizontal {
+ width: 7px;
+ margin: -6px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
+ border-radius: 2px;
+}
+
+QCheckBox#checkItem {
+
+}
+
+QCheckBox#checkItem::indicator {
+ margin: 0px;
+ padding: 4px;
+ width: 16px;
+ height: 16px;
+}
diff --git a/dist/AnimeEffects.desktop b/dist/AnimeEffects.desktop
new file mode 100644
index 00000000..a28eb277
--- /dev/null
+++ b/dist/AnimeEffects.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=AnimeEffects
+GenericName=2D Animation tool
+Comment=2D Animation tool
+Exec=AnimeEffects
+Icon=AnimeEffects
+Type=Application
+Categories=Graphics;2DGraphics;
diff --git a/dist/AnimeEffects.png b/dist/AnimeEffects.png
new file mode 100644
index 00000000..37d2bd37
Binary files /dev/null and b/dist/AnimeEffects.png differ
diff --git a/src/AnimeEffects.pro b/src/AnimeEffects.pro
index 69e72c29..92b6790a 100644
--- a/src/AnimeEffects.pro
+++ b/src/AnimeEffects.pro
@@ -4,6 +4,8 @@
#
#-------------------------------------------------
+TARGET = AnimeEffects
+
TEMPLATE = subdirs
SUBDIRS = util thr cmnd gl img core ctrl gui
@@ -39,3 +41,21 @@ export(copydata.commands)
export(copytools.commands)
QMAKE_EXTRA_TARGETS += first copydata copytools
}
+
+# Installs
+unix{
+ isEmpty(PREFIX) {
+ PREFIX = /usr/local
+ }
+
+ target.path = $$PREFIX/bin
+
+ shortcutfiles.files = dist/AnimeEffects.desktop
+ shortcutfiles.path = $$PREFIX/share/applications/
+ iconfiles.files = dist/AnimeEffects.png
+ iconfiles.path = $$PREFIX/share/icons/hicolor/256x256/
+
+ INSTALLS += target
+ INSTALLS += shortcutfiles
+ INSTALLS += iconfiles
+}
diff --git a/src/core/AbstractCursor.cpp b/src/core/AbstractCursor.cpp
index c131d994..ad36e22a 100644
--- a/src/core/AbstractCursor.cpp
+++ b/src/core/AbstractCursor.cpp
@@ -30,7 +30,7 @@ AbstractCursor::AbstractCursor()
, mSuspendedCount(0)
, mBlankAfterSuspending()
{
- for (int i = 0; i < Button_TERM; ++i)
+ for (unsigned int i = 0; i < Button_TERM; ++i)
{
mIsPressed[i] = false;
mIsDouble[i] = false;
@@ -197,13 +197,13 @@ void AbstractCursor::setTabletPressure(QTabletEvent* aEvent)
if (type == QEvent::TabletPress)
{
mIsPressedTablet = true;
- mPressure = pressure;
+ mPressure = static_cast(pressure);
}
else if (type == QEvent::TabletMove)
{
if (mIsPressedTablet)
{
- mPressure = 0.5f * mPressure + 0.5f * pressure;
+ mPressure = 0.5f * mPressure + 0.5f * static_cast(pressure);
}
}
else if (type == QEvent::TabletRelease)
@@ -220,12 +220,12 @@ void AbstractCursor::suspendEvent(const std::function& aEventReflector)
++mSuspendedCount;
if (mSuspendedCount == 1)
{
- for (int i = 0; i < Button_TERM; ++i)
+ for (unsigned int i = 0; i < Button_TERM; ++i)
{
if (mIsPressed[i]) // invoke a release event
{
mEventType = Event_Release;
- mEventButton = (Button)i;
+ mEventButton = static_cast