diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-07-15 21:39:09 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-07-15 21:39:09 +0000 |
| commit | c272144867f94dc7e99f8333bec5dd052878ecd8 (patch) | |
| tree | 6ceb4ce5111b05da666ab2c0a1fda571d84ccd42 /utils/themeeditor/gui/newprojectdialog.cpp | |
| parent | e700e195d88f09a94fe681fd2906564ade2be0d0 (diff) | |
| download | rockbox-c272144867f94dc7e99f8333bec5dd052878ecd8.zip rockbox-c272144867f94dc7e99f8333bec5dd052878ecd8.tar.gz rockbox-c272144867f94dc7e99f8333bec5dd052878ecd8.tar.bz2 rockbox-c272144867f94dc7e99f8333bec5dd052878ecd8.tar.xz | |
Theme Editor: Added New Project feature
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27439 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/gui/newprojectdialog.cpp')
| -rw-r--r-- | utils/themeeditor/gui/newprojectdialog.cpp | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/utils/themeeditor/gui/newprojectdialog.cpp b/utils/themeeditor/gui/newprojectdialog.cpp new file mode 100644 index 0000000..50a8bc4 --- /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 <QSettings> +#include <QFileDialog> +#include <QDir> + +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); +} |