diff options
Diffstat (limited to 'utils/themeeditor/gui/skinviewer.cpp')
| -rw-r--r-- | utils/themeeditor/gui/skinviewer.cpp | 33 |
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() |