1
0
Fork 0
forked from len0rd/rockbox

Theme Editor: Enabled persistent window and panel locations

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26565 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-06-05 07:14:03 +00:00
parent e7f38daf17
commit 0af8860775
4 changed files with 38 additions and 18 deletions

View file

@ -24,6 +24,7 @@
#include <QDesktopWidget> #include <QDesktopWidget>
#include <QFileSystemModel> #include <QFileSystemModel>
#include <QSettings>
EditorWindow::EditorWindow(QWidget *parent) : EditorWindow::EditorWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
@ -37,17 +38,37 @@ EditorWindow::EditorWindow(QWidget *parent) :
void EditorWindow::loadSettings() void EditorWindow::loadSettings()
{ {
/* When there are settings to load, they'll be loaded here */
/* For now, we'll just set the window to take up most of the screen */
QDesktopWidget* desktop = QApplication::desktop();
QRect availableSpace = desktop->availableGeometry(desktop->primaryScreen()); QSettings settings;
QRect buffer(availableSpace.left() + availableSpace.width() / 10,
availableSpace.top() + availableSpace.height() / 10,
availableSpace.width() * 8 / 10,
availableSpace.height() * 8 / 10);
this->setGeometry(buffer);
/* Main Window location */
settings.beginGroup("MainWindow");
QSize size = settings.value("size").toSize();
QPoint pos = settings.value("position").toPoint();
QByteArray state = settings.value("state").toByteArray();
settings.endGroup();
if(!(size.isNull() || pos.isNull() || state.isNull()))
{
resize(size);
move(pos);
restoreState(state);
}
}
void EditorWindow::saveSettings()
{
QSettings settings;
/* Saving window and panel positions */
settings.beginGroup("MainWindow");
settings.setValue("position", pos());
settings.setValue("size", size());
settings.setValue("state", saveState());
settings.endGroup();
} }
void EditorWindow::setupUI() void EditorWindow::setupUI()
@ -57,10 +78,6 @@ void EditorWindow::setupUI()
model->setRootPath(QDir::currentPath()); model->setRootPath(QDir::currentPath());
ui->fileTree->setModel(model); ui->fileTree->setModel(model);
/* Connecting the buttons */
QObject::connect(ui->fromTree, SIGNAL(pressed()),
this, SLOT(updateCode()));
} }
void EditorWindow::setupMenus() void EditorWindow::setupMenus()
@ -97,6 +114,7 @@ void EditorWindow::showPanel()
void EditorWindow::closeEvent(QCloseEvent* event) void EditorWindow::closeEvent(QCloseEvent* event)
{ {
saveSettings();
event->accept(); event->accept();
} }

View file

@ -48,6 +48,7 @@ private slots:
private: private:
/* Setup functions */ /* Setup functions */
void loadSettings(); void loadSettings();
void saveSettings();
void setupUI(); void setupUI();
void setupMenus(); void setupMenus();

View file

@ -14,7 +14,7 @@
<string>Rockbox Theme Editor</string> <string>Rockbox Theme Editor</string>
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset resource="resources.qrc"> <iconset>
<normaloff>:/resources/resources/windowicon.png</normaloff>:/resources/resources/windowicon.png</iconset> <normaloff>:/resources/resources/windowicon.png</normaloff>:/resources/resources/windowicon.png</iconset>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
@ -195,9 +195,7 @@
</property> </property>
</action> </action>
</widget> </widget>
<resources> <resources/>
<include location="resources.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>actionQuit</sender> <sender>actionQuit</sender>

View file

@ -28,7 +28,6 @@
#include <iostream> #include <iostream>
#include <QtGui/QApplication> #include <QtGui/QApplication>
#include <QTreeView>
#include "parsetreemodel.h" #include "parsetreemodel.h"
@ -36,6 +35,10 @@ int main(int argc, char* argv[])
{ {
QApplication app(argc, argv); QApplication app(argc, argv);
QCoreApplication::setApplicationName(QObject::tr("Rockbox Theme Editor"));
QCoreApplication::setApplicationVersion(QObject::tr("Pre-Alpha"));
QCoreApplication::setOrganizationName(QObject::tr("Rockbox"));
EditorWindow mainWindow; EditorWindow mainWindow;
mainWindow.show(); mainWindow.show();