diff options
Diffstat (limited to 'utils/themeeditor')
-rw-r--r-- | utils/themeeditor/editorwindow.cpp | 27 | ||||
-rw-r--r-- | utils/themeeditor/skindocument.cpp | 26 | ||||
-rw-r--r-- | utils/themeeditor/skindocument.h | 1 |
3 files changed, 50 insertions, 4 deletions
diff --git a/utils/themeeditor/editorwindow.cpp b/utils/themeeditor/editorwindow.cpp index dfc4b5981e..91e099ebf7 100644 --- a/utils/themeeditor/editorwindow.cpp +++ b/utils/themeeditor/editorwindow.cpp | |||
@@ -117,6 +117,11 @@ void EditorWindow::setupMenus() | |||
117 | QObject::connect(ui->actionToolbarSave, SIGNAL(triggered()), | 117 | QObject::connect(ui->actionToolbarSave, SIGNAL(triggered()), |
118 | this, SLOT(saveCurrent())); | 118 | this, SLOT(saveCurrent())); |
119 | 119 | ||
120 | QObject::connect(ui->actionOpen_Document, SIGNAL(triggered()), | ||
121 | this, SLOT(openFile())); | ||
122 | QObject::connect(ui->actionToolbarOpen, SIGNAL(triggered()), | ||
123 | this, SLOT(openFile())); | ||
124 | |||
120 | } | 125 | } |
121 | 126 | ||
122 | 127 | ||
@@ -193,6 +198,28 @@ void EditorWindow::openFile() | |||
193 | QString directory = settings.value("defaultDirectory", "").toString(); | 198 | QString directory = settings.value("defaultDirectory", "").toString(); |
194 | fileNames = QFileDialog::getOpenFileNames(this, tr("Open Files"), directory, | 199 | fileNames = QFileDialog::getOpenFileNames(this, tr("Open Files"), directory, |
195 | SkinDocument::fileFilter()); | 200 | SkinDocument::fileFilter()); |
201 | |||
202 | for(int i = 0; i < fileNames.count(); i++) | ||
203 | { | ||
204 | if(!QFile::exists(fileNames[i])) | ||
205 | continue; | ||
206 | |||
207 | QString current = fileNames[i]; | ||
208 | |||
209 | /* Adding a new document for each file name */ | ||
210 | SkinDocument* doc = new SkinDocument(current); | ||
211 | ui->editorTabs->addTab(doc, doc->getTitle()); | ||
212 | |||
213 | QObject::connect(doc, SIGNAL(titleChanged(QString)), | ||
214 | this, SLOT(tabTitleChanged(QString))); | ||
215 | |||
216 | /* And setting the new default directory */ | ||
217 | current.chop(current.length() - current.lastIndexOf('/') - 1); | ||
218 | settings.setValue("defaultDirectory", current); | ||
219 | |||
220 | } | ||
221 | |||
222 | settings.endGroup(); | ||
196 | } | 223 | } |
197 | 224 | ||
198 | 225 | ||
diff --git a/utils/themeeditor/skindocument.cpp b/utils/themeeditor/skindocument.cpp index 469401d07b..efb16eeae1 100644 --- a/utils/themeeditor/skindocument.cpp +++ b/utils/themeeditor/skindocument.cpp | |||
@@ -22,13 +22,11 @@ | |||
22 | #include "skindocument.h" | 22 | #include "skindocument.h" |
23 | 23 | ||
24 | #include <QFile> | 24 | #include <QFile> |
25 | #include <QTimer> | ||
26 | #include <QSettings> | 25 | #include <QSettings> |
27 | #include <QMessageBox> | 26 | #include <QMessageBox> |
28 | #include <QFileDialog> | 27 | #include <QFileDialog> |
29 | 28 | ||
30 | SkinDocument::SkinDocument(QWidget *parent) : | 29 | SkinDocument::SkinDocument(QWidget *parent) : QWidget(parent) |
31 | QWidget(parent) | ||
32 | { | 30 | { |
33 | setupUI(); | 31 | setupUI(); |
34 | 32 | ||
@@ -37,6 +35,26 @@ SkinDocument::SkinDocument(QWidget *parent) : | |||
37 | saved = ""; | 35 | saved = ""; |
38 | } | 36 | } |
39 | 37 | ||
38 | SkinDocument::SkinDocument(QString file, QWidget *parent): | ||
39 | QWidget(parent), fileName(file) | ||
40 | { | ||
41 | setupUI(); | ||
42 | |||
43 | /* Loading the file */ | ||
44 | if(QFile::exists(fileName)) | ||
45 | { | ||
46 | QFile fin(fileName); | ||
47 | fin.open(QFile::ReadOnly); | ||
48 | editor->document()->setPlainText(QString(fin.readAll())); | ||
49 | saved = editor->document()->toPlainText(); | ||
50 | fin.close(); | ||
51 | } | ||
52 | |||
53 | /* Setting the title */ | ||
54 | QStringList decomposed = fileName.split('/'); | ||
55 | title = decomposed.last(); | ||
56 | } | ||
57 | |||
40 | SkinDocument::~SkinDocument() | 58 | SkinDocument::~SkinDocument() |
41 | { | 59 | { |
42 | delete highlighter; | 60 | delete highlighter; |
@@ -126,7 +144,7 @@ void SkinDocument::save() | |||
126 | 144 | ||
127 | saved = editor->document()->toPlainText(); | 145 | saved = editor->document()->toPlainText(); |
128 | QStringList decompose = fileName.split('/'); | 146 | QStringList decompose = fileName.split('/'); |
129 | title = decompose[decompose.count() - 1]; | 147 | title = decompose.last(); |
130 | emit titleChanged(title); | 148 | emit titleChanged(title); |
131 | 149 | ||
132 | } | 150 | } |
diff --git a/utils/themeeditor/skindocument.h b/utils/themeeditor/skindocument.h index 4546c42edb..84d12df6a9 100644 --- a/utils/themeeditor/skindocument.h +++ b/utils/themeeditor/skindocument.h | |||
@@ -44,6 +44,7 @@ public: | |||
44 | } | 44 | } |
45 | 45 | ||
46 | SkinDocument(QWidget *parent = 0); | 46 | SkinDocument(QWidget *parent = 0); |
47 | SkinDocument(QString file, QWidget* parent = 0); | ||
47 | virtual ~SkinDocument(); | 48 | virtual ~SkinDocument(); |
48 | 49 | ||
49 | ParseTreeModel* getModel(){ return model; } | 50 | ParseTreeModel* getModel(){ return model; } |