Theme Editor: Added Close Project feature

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27412 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-07-14 05:06:42 +00:00
parent 78fc9844a9
commit b76b6448a2
3 changed files with 43 additions and 1 deletions

View file

@ -205,6 +205,8 @@ void EditorWindow::setupMenus()
QObject::connect(ui->actionClose_Document, SIGNAL(triggered()), QObject::connect(ui->actionClose_Document, SIGNAL(triggered()),
this, SLOT(closeCurrent())); this, SLOT(closeCurrent()));
QObject::connect(ui->actionClose_Project, SIGNAL(triggered()),
this, SLOT(closeProject()));
QObject::connect(ui->actionSave_Document, SIGNAL(triggered()), QObject::connect(ui->actionSave_Document, SIGNAL(triggered()),
this, SLOT(saveCurrent())); this, SLOT(saveCurrent()));
@ -347,6 +349,31 @@ void EditorWindow::closeCurrent()
closeTab(ui->editorTabs->currentIndex()); 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() void EditorWindow::saveCurrent()
{ {
if(ui->editorTabs->currentIndex() >= 0) if(ui->editorTabs->currentIndex() >= 0)
@ -401,7 +428,9 @@ void EditorWindow::openProject()
{ {
if(project) if(project)
delete project; project->deleteLater();
ui->actionClose_Project->setEnabled(true);
project = new ProjectModel(fileName, this); project = new ProjectModel(fileName, this);
ui->projectTree->setModel(project); ui->projectTree->setModel(project);

View file

@ -67,6 +67,7 @@ private slots:
void shiftTab(int index); void shiftTab(int index);
bool closeTab(int index); bool closeTab(int index);
void closeCurrent(); void closeCurrent();
void closeProject();
void saveCurrent(); void saveCurrent();
void saveCurrentAs(); void saveCurrentAs();
void openFile(); void openFile();

View file

@ -52,6 +52,7 @@
<addaction name="actionOpen_Project"/> <addaction name="actionOpen_Project"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionClose_Document"/> <addaction name="actionClose_Document"/>
<addaction name="actionClose_Project"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionSave_Document"/> <addaction name="actionSave_Document"/>
<addaction name="actionSave_Document_As"/> <addaction name="actionSave_Document_As"/>
@ -374,6 +375,17 @@
<string>Ctrl+T</string> <string>Ctrl+T</string>
</property> </property>
</action> </action>
<action name="actionClose_Project">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Close Pro&amp;ject</string>
</property>
<property name="shortcut">
<string>Ctrl+Shift+W</string>
</property>
</action>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>projectTree</tabstop> <tabstop>projectTree</tabstop>