summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/themeeditor/editorwindow.cpp27
-rw-r--r--utils/themeeditor/skindocument.cpp26
-rw-r--r--utils/themeeditor/skindocument.h1
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
30SkinDocument::SkinDocument(QWidget *parent) : 29SkinDocument::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
38SkinDocument::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
40SkinDocument::~SkinDocument() 58SkinDocument::~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; }