From c272144867f94dc7e99f8333bec5dd052878ecd8 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Thu, 15 Jul 2010 21:39:09 +0000 Subject: Theme Editor: Added New Project feature git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27439 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/gui/newprojectdialog.cpp | 105 +++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 utils/themeeditor/gui/newprojectdialog.cpp (limited to 'utils/themeeditor/gui/newprojectdialog.cpp') diff --git a/utils/themeeditor/gui/newprojectdialog.cpp b/utils/themeeditor/gui/newprojectdialog.cpp new file mode 100644 index 0000000000..50a8bc4631 --- /dev/null +++ b/utils/themeeditor/gui/newprojectdialog.cpp @@ -0,0 +1,105 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2010 Robert Bieber + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#include "newprojectdialog.h" +#include "ui_newprojectdialog.h" + +#include +#include +#include + +NewProjectDialog::NewProjectDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::NewProjectDialog) +{ + ui->setupUi(this); + + /* Getting the default directory from the application settings */ + QSettings settings; + settings.beginGroup("NewProjectDialog"); + + ui->locationBox->setText(settings.value("defaultDir", + QDir::home().absolutePath()) + .toString()); + + settings.endGroup(); + + /* Connecting the browse button */ + QObject::connect(ui->browseButton, SIGNAL(clicked()), + this, SLOT(browse())); +} + +NewProjectDialog::~NewProjectDialog() +{ + delete ui; +} + +void NewProjectDialog::accept() +{ + status.name = ui->nameBox->text(); + status.path = ui->locationBox->text(); + status.sbs = ui->sbsBox->isChecked(); + status.wps = ui->wpsBox->isChecked(); + status.fms = ui->fmsBox->isChecked(); + status.rsbs = ui->rsbsBox->isChecked(); + status.rwps = ui->rwpsBox->isChecked(); + status.rfms = ui->rfmsBox->isChecked(); + + QSettings settings; + settings.beginGroup("NewProjectDialog"); + + settings.setValue("defaultDir", ui->locationBox->text()); + + settings.endGroup(); + + QDialog::accept(); +} + +void NewProjectDialog::reject() +{ + ui->nameBox->setText(status.name); + ui->locationBox->setText(status.path); + ui->sbsBox->setChecked(status.sbs); + ui->wpsBox->setChecked(status.wps); + ui->fmsBox->setChecked(status.fms); + ui->rsbsBox->setChecked(status.rsbs); + ui->rwpsBox->setChecked(status.rwps); + ui->rfmsBox->setChecked(status.rfms); + + QSettings settings; + settings.beginGroup("NewProjectDialog"); + + ui->locationBox->setText(settings.value("defaultDir", + QDir::home().absolutePath()) + .toString()); + + settings.endGroup(); + + QDialog::reject(); +} + +void NewProjectDialog::browse() +{ + QString path; + path = QFileDialog::getExistingDirectory(this, "New Project Location", + ui->locationBox->text()); + ui->locationBox->setText(path); +} -- cgit v1.2.3