diff options
Diffstat (limited to 'utils/themeeditor/gui')
| -rw-r--r-- | utils/themeeditor/gui/editorwindow.cpp | 31 | ||||
| -rw-r--r-- | utils/themeeditor/gui/editorwindow.h | 1 | ||||
| -rw-r--r-- | utils/themeeditor/gui/editorwindow.ui | 12 |
3 files changed, 43 insertions, 1 deletions
diff --git a/utils/themeeditor/gui/editorwindow.cpp b/utils/themeeditor/gui/editorwindow.cpp index b81e41a..247109c 100644 --- a/utils/themeeditor/gui/editorwindow.cpp +++ b/utils/themeeditor/gui/editorwindow.cpp @@ -205,6 +205,8 @@ void EditorWindow::setupMenus() QObject::connect(ui->actionClose_Document, SIGNAL(triggered()), this, SLOT(closeCurrent())); + QObject::connect(ui->actionClose_Project, SIGNAL(triggered()), + this, SLOT(closeProject())); QObject::connect(ui->actionSave_Document, SIGNAL(triggered()), this, SLOT(saveCurrent())); @@ -347,6 +349,31 @@ void EditorWindow::closeCurrent() closeTab(ui->editorTabs->currentIndex()); } +void EditorWindow::closeProject() +{ + if(project) + { + project->deleteLater(); + project = 0; + } + + for(int i = 0; i < ui->editorTabs->count(); i++) + { + TabContent* doc = dynamic_cast<TabContent*> + (ui->editorTabs->widget(i)); + if(doc->type() == TabContent::Skin) + { + dynamic_cast<SkinDocument*>(doc)->setProject(project); + if(i == ui->editorTabs->currentIndex()) + { + viewer->setScene(dynamic_cast<SkinDocument*>(doc)->scene()); + } + } + } + + ui->actionClose_Project->setEnabled(false); +} + void EditorWindow::saveCurrent() { if(ui->editorTabs->currentIndex() >= 0) @@ -401,7 +428,9 @@ void EditorWindow::openProject() { if(project) - delete project; + project->deleteLater(); + + ui->actionClose_Project->setEnabled(true); project = new ProjectModel(fileName, this); ui->projectTree->setModel(project); diff --git a/utils/themeeditor/gui/editorwindow.h b/utils/themeeditor/gui/editorwindow.h index 6b09b79..0178f60 100644 --- a/utils/themeeditor/gui/editorwindow.h +++ b/utils/themeeditor/gui/editorwindow.h @@ -67,6 +67,7 @@ private slots: void shiftTab(int index); bool closeTab(int index); void closeCurrent(); + void closeProject(); void saveCurrent(); void saveCurrentAs(); void openFile(); diff --git a/utils/themeeditor/gui/editorwindow.ui b/utils/themeeditor/gui/editorwindow.ui index 5ef3261..ab8dc61 100644 --- a/utils/themeeditor/gui/editorwindow.ui +++ b/utils/themeeditor/gui/editorwindow.ui @@ -52,6 +52,7 @@ <addaction name="actionOpen_Project"/> <addaction name="separator"/> <addaction name="actionClose_Document"/> + <addaction name="actionClose_Project"/> <addaction name="separator"/> <addaction name="actionSave_Document"/> <addaction name="actionSave_Document_As"/> @@ -374,6 +375,17 @@ <string>Ctrl+T</string> </property> </action> + <action name="actionClose_Project"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Close Pro&ject</string> + </property> + <property name="shortcut"> + <string>Ctrl+Shift+W</string> + </property> + </action> </widget> <tabstops> <tabstop>projectTree</tabstop> |