summaryrefslogtreecommitdiff
path: root/utils/themeeditor/gui/skinviewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/gui/skinviewer.cpp')
-rw-r--r--utils/themeeditor/gui/skinviewer.cpp33
1 files changed, 31 insertions, 2 deletions
diff --git a/utils/themeeditor/gui/skinviewer.cpp b/utils/themeeditor/gui/skinviewer.cpp
index 1d5c84c..f1f3af9 100644
--- a/utils/themeeditor/gui/skinviewer.cpp
+++ b/utils/themeeditor/gui/skinviewer.cpp
@@ -54,9 +54,38 @@ void SkinViewer::changeEvent(QEvent *e)
}
}
-void SkinViewer::setScene(QGraphicsScene *scene)
+void SkinViewer::connectSkin(SkinDocument *skin)
{
- ui->viewer->setScene(scene);
+ if(skin)
+ {
+ ui->viewer->setScene(skin->scene());
+ QObject::connect(skin, SIGNAL(antiSync(bool)),
+ ui->codeGenButton, SLOT(setEnabled(bool)));
+ QObject::connect(skin, SIGNAL(antiSync(bool)),
+ ui->codeUndoButton, SLOT(setEnabled(bool)));
+
+ QObject::connect(ui->codeGenButton, SIGNAL(pressed()),
+ skin, SLOT(genCode()));
+ QObject::connect(ui->codeUndoButton, SIGNAL(pressed()),
+ skin, SLOT(parseCode()));
+
+ doc = skin;
+ }
+ else
+ {
+ ui->viewer->setScene(0);
+
+ doc = 0;
+ }
+
+ bool antiSync;
+ if(skin && !skin->isSynced())
+ antiSync = true;
+ else
+ antiSync = false;
+
+ ui->codeGenButton->setEnabled(antiSync);
+ ui->codeUndoButton->setEnabled(antiSync);
}
void SkinViewer::zoomIn()