From 4c9653bc191a062447fa5fe68a702fed21b3c1c0 Mon Sep 17 00:00:00 2001 From: tkawata Date: Mon, 29 Oct 2012 09:17:59 +0900 Subject: [PATCH] [denncoCreator] minor improvements for window titles and application close behavior. --- Source/dccontent.cpp | 8 +++++++- Source/mainwindow.cpp | 5 +++++ Source/uieditor/dcuieditor.cpp | 21 ++++++++++++++++----- Source/uieditor/dcuieditor.h | 1 + 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/Source/dccontent.cpp b/Source/dccontent.cpp index 9dd1c9a..898ed7d 100644 --- a/Source/dccontent.cpp +++ b/Source/dccontent.cpp @@ -25,6 +25,8 @@ #include "DNXMLElement.h" #include "DNUtils.h" #include "dccontainersaver.h" +#include "uieditor/dcuieditor.h" +#include "propertyeditor/dcpropertyeditor.h" #include #include @@ -88,7 +90,11 @@ bool DCContent::getIsModified() const return true; } - //TODO May better to check property.xml and ui pages as well. + if (DCPropertyEditor::getEditor()->isVisible()) + DCPropertyEditor::getEditor()->close(); + + if (DCUIEditor::getEditor()->isVisible()) + DCUIEditor::getEditor()->close(); return false; } diff --git a/Source/mainwindow.cpp b/Source/mainwindow.cpp index a141051..3b96109 100644 --- a/Source/mainwindow.cpp +++ b/Source/mainwindow.cpp @@ -418,6 +418,11 @@ void MainWindow::loadContent(const QString &contentDirectory) } setCurrentContent(contentDirectory); createOpenRecentMenu(); + + QDir dir(contentDirectory); + QString title = dir.dirName(); + title.append(" - dennco creator"); + setWindowTitle(title); } void MainWindow::setCurrentContent(const QString &contentDirectory) diff --git a/Source/uieditor/dcuieditor.cpp b/Source/uieditor/dcuieditor.cpp index 9b5d9a6..b60fb9f 100644 --- a/Source/uieditor/dcuieditor.cpp +++ b/Source/uieditor/dcuieditor.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "dcuitexteditor.h" @@ -184,8 +185,7 @@ bool DCUIEditor::startEditing(const QString &sysFilePath) show(); activateWindow(); d_saveButton->setEnabled(false); - setWindowTitle(tr("interface editor")); - + updateWindowTitle(false); d_isEditing = true; } else @@ -206,7 +206,8 @@ bool DCUIEditor::saveChange() out << d_textEditor->toPlainText(); file.close(); d_originalSource = d_textEditor->toPlainText(); - setWindowTitle(tr("interface editor")); + updateWindowTitle(false); + d_isChangeMade = false; saved = true; } @@ -242,8 +243,18 @@ void DCUIEditor::textChanged() { if (!d_isInInitialization && !d_isChangeMade) { - d_isChangeMade = true; - setWindowTitle(tr("interface editor *")); + d_isChangeMade = true; + updateWindowTitle(true); d_saveButton->setEnabled(true); } } + +void DCUIEditor::updateWindowTitle(bool fileModified) +{ + QFileInfo fileInfo(d_editingFile); + QString title = fileInfo.fileName(); + title.append(tr(" - Interface editor")); + if (fileModified) + title.append(" *"); + setWindowTitle(title); +} diff --git a/Source/uieditor/dcuieditor.h b/Source/uieditor/dcuieditor.h index 76329eb..5b90855 100644 --- a/Source/uieditor/dcuieditor.h +++ b/Source/uieditor/dcuieditor.h @@ -61,6 +61,7 @@ class DCUIEditor : public QDialog bool getIsModified() const; bool maybeSave(); + void updateWindowTitle(bool fileModified); public: explicit DCUIEditor(QWidget *parent = 0); -- 2.11.0