forked from len0rd/rockbox
Theme Editor: Implemented document load functionality
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26639 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
2a90375c12
commit
fbfdaf5c79
3 changed files with 50 additions and 4 deletions
|
@ -117,6 +117,11 @@ void EditorWindow::setupMenus()
|
||||||
QObject::connect(ui->actionToolbarSave, SIGNAL(triggered()),
|
QObject::connect(ui->actionToolbarSave, SIGNAL(triggered()),
|
||||||
this, SLOT(saveCurrent()));
|
this, SLOT(saveCurrent()));
|
||||||
|
|
||||||
|
QObject::connect(ui->actionOpen_Document, SIGNAL(triggered()),
|
||||||
|
this, SLOT(openFile()));
|
||||||
|
QObject::connect(ui->actionToolbarOpen, SIGNAL(triggered()),
|
||||||
|
this, SLOT(openFile()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,6 +198,28 @@ void EditorWindow::openFile()
|
||||||
QString directory = settings.value("defaultDirectory", "").toString();
|
QString directory = settings.value("defaultDirectory", "").toString();
|
||||||
fileNames = QFileDialog::getOpenFileNames(this, tr("Open Files"), directory,
|
fileNames = QFileDialog::getOpenFileNames(this, tr("Open Files"), directory,
|
||||||
SkinDocument::fileFilter());
|
SkinDocument::fileFilter());
|
||||||
|
|
||||||
|
for(int i = 0; i < fileNames.count(); i++)
|
||||||
|
{
|
||||||
|
if(!QFile::exists(fileNames[i]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
QString current = fileNames[i];
|
||||||
|
|
||||||
|
/* Adding a new document for each file name */
|
||||||
|
SkinDocument* doc = new SkinDocument(current);
|
||||||
|
ui->editorTabs->addTab(doc, doc->getTitle());
|
||||||
|
|
||||||
|
QObject::connect(doc, SIGNAL(titleChanged(QString)),
|
||||||
|
this, SLOT(tabTitleChanged(QString)));
|
||||||
|
|
||||||
|
/* And setting the new default directory */
|
||||||
|
current.chop(current.length() - current.lastIndexOf('/') - 1);
|
||||||
|
settings.setValue("defaultDirectory", current);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
settings.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,11 @@
|
||||||
#include "skindocument.h"
|
#include "skindocument.h"
|
||||||
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QTimer>
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
|
||||||
SkinDocument::SkinDocument(QWidget *parent) :
|
SkinDocument::SkinDocument(QWidget *parent) : QWidget(parent)
|
||||||
QWidget(parent)
|
|
||||||
{
|
{
|
||||||
setupUI();
|
setupUI();
|
||||||
|
|
||||||
|
@ -37,6 +35,26 @@ SkinDocument::SkinDocument(QWidget *parent) :
|
||||||
saved = "";
|
saved = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SkinDocument::SkinDocument(QString file, QWidget *parent):
|
||||||
|
QWidget(parent), fileName(file)
|
||||||
|
{
|
||||||
|
setupUI();
|
||||||
|
|
||||||
|
/* Loading the file */
|
||||||
|
if(QFile::exists(fileName))
|
||||||
|
{
|
||||||
|
QFile fin(fileName);
|
||||||
|
fin.open(QFile::ReadOnly);
|
||||||
|
editor->document()->setPlainText(QString(fin.readAll()));
|
||||||
|
saved = editor->document()->toPlainText();
|
||||||
|
fin.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Setting the title */
|
||||||
|
QStringList decomposed = fileName.split('/');
|
||||||
|
title = decomposed.last();
|
||||||
|
}
|
||||||
|
|
||||||
SkinDocument::~SkinDocument()
|
SkinDocument::~SkinDocument()
|
||||||
{
|
{
|
||||||
delete highlighter;
|
delete highlighter;
|
||||||
|
@ -126,7 +144,7 @@ void SkinDocument::save()
|
||||||
|
|
||||||
saved = editor->document()->toPlainText();
|
saved = editor->document()->toPlainText();
|
||||||
QStringList decompose = fileName.split('/');
|
QStringList decompose = fileName.split('/');
|
||||||
title = decompose[decompose.count() - 1];
|
title = decompose.last();
|
||||||
emit titleChanged(title);
|
emit titleChanged(title);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
SkinDocument(QWidget *parent = 0);
|
SkinDocument(QWidget *parent = 0);
|
||||||
|
SkinDocument(QString file, QWidget* parent = 0);
|
||||||
virtual ~SkinDocument();
|
virtual ~SkinDocument();
|
||||||
|
|
||||||
ParseTreeModel* getModel(){ return model; }
|
ParseTreeModel* getModel(){ return model; }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue