mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-10 05:32:40 -05:00
Theme Editor: Added copyright headers to ConfigDocument files, continued work on configuration editing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26862 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
738d83c59b
commit
0c26a790ee
2 changed files with 117 additions and 0 deletions
|
|
@ -1,6 +1,33 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* 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 "projectmodel.h"
|
||||||
#include "configdocument.h"
|
#include "configdocument.h"
|
||||||
#include "ui_configdocument.h"
|
#include "ui_configdocument.h"
|
||||||
|
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QSettings>
|
||||||
|
#include <QFileDialog>
|
||||||
|
|
||||||
ConfigDocument::ConfigDocument(QMap<QString, QString>& settings, QString file,
|
ConfigDocument::ConfigDocument(QMap<QString, QString>& settings, QString file,
|
||||||
QWidget *parent)
|
QWidget *parent)
|
||||||
: TabContent(parent),
|
: TabContent(parent),
|
||||||
|
|
@ -44,17 +71,86 @@ QString ConfigDocument::title() const
|
||||||
|
|
||||||
void ConfigDocument::save()
|
void ConfigDocument::save()
|
||||||
{
|
{
|
||||||
|
QFile fout(filePath);
|
||||||
|
|
||||||
|
if(!fout.exists())
|
||||||
|
{
|
||||||
|
saveAs();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
fout.open(QFile::WriteOnly);
|
||||||
|
fout.write(toPlainText().toAscii());
|
||||||
|
fout.close();
|
||||||
|
|
||||||
|
saved = toPlainText();
|
||||||
|
emit titleChanged(title());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigDocument::saveAs()
|
void ConfigDocument::saveAs()
|
||||||
{
|
{
|
||||||
|
/* Determining the directory to open */
|
||||||
|
QString directory = filePath;
|
||||||
|
|
||||||
|
QSettings settings;
|
||||||
|
settings.beginGroup("ProjectModel");
|
||||||
|
if(directory == "")
|
||||||
|
directory = settings.value("defaultDirectory", "").toString();
|
||||||
|
|
||||||
|
filePath = QFileDialog::getSaveFileName(this, tr("Save Document"),
|
||||||
|
directory,
|
||||||
|
ProjectModel::fileFilter());
|
||||||
|
directory = filePath;
|
||||||
|
if(filePath == "")
|
||||||
|
return;
|
||||||
|
|
||||||
|
directory.chop(filePath.length() - filePath.lastIndexOf('/') - 1);
|
||||||
|
settings.setValue("defaultDirectory", directory);
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
|
QFile fout(filePath);
|
||||||
|
fout.open(QFile::WriteOnly);
|
||||||
|
fout.write(toPlainText().toAscii());
|
||||||
|
fout.close();
|
||||||
|
|
||||||
|
saved = toPlainText();
|
||||||
|
emit titleChanged(title());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ConfigDocument::requestClose()
|
bool ConfigDocument::requestClose()
|
||||||
{
|
{
|
||||||
|
if(toPlainText() != saved)
|
||||||
|
{
|
||||||
|
/* Spawning the "Are you sure?" dialog */
|
||||||
|
QMessageBox confirm(this);
|
||||||
|
confirm.setWindowTitle(tr("Confirm Close"));
|
||||||
|
confirm.setText(title() + tr(" has been modified."));
|
||||||
|
confirm.setInformativeText(tr("Do you want to save your changes?"));
|
||||||
|
confirm.setStandardButtons(QMessageBox::Save | QMessageBox::Discard
|
||||||
|
| QMessageBox::Cancel);
|
||||||
|
confirm.setDefaultButton(QMessageBox::Save);
|
||||||
|
int confirmation = confirm.exec();
|
||||||
|
|
||||||
|
switch(confirmation)
|
||||||
|
{
|
||||||
|
case QMessageBox::Save:
|
||||||
|
save();
|
||||||
|
/* After calling save, make sure the user actually went through */
|
||||||
|
if(toPlainText() != saved)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case QMessageBox::Discard:
|
||||||
|
return true;
|
||||||
|
|
||||||
|
case QMessageBox::Cancel:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ConfigDocument::toPlainText() const
|
QString ConfigDocument::toPlainText() const
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,24 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef CONFIGDOCUMENT_H
|
#ifndef CONFIGDOCUMENT_H
|
||||||
#define CONFIGDOCUMENT_H
|
#define CONFIGDOCUMENT_H
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue