Program settings added
Added option to eject media after print git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@139 cac9541e-1b8d-4bfa-827e-589bba606050
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
/* qlscribe - Qt based application to print lightScribe discs
|
||||
|
||||
Copyright (C) 2009 Vyacheslav Kononenko <vyacheslav@kononenko.net>
|
||||
|
||||
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 program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
$Id$ */
|
||||
|
||||
#include "qdialogsettings.h"
|
||||
#include "ui_qdialogsettings.h"
|
||||
#include "qlscribe.h"
|
||||
|
||||
#include <QSettings>
|
||||
#include <QFontDialog>
|
||||
|
||||
QFont *QDialogSettings::m_lastUsedFont = 0;
|
||||
|
||||
QDialogSettings::QDialogSettings(QWidget *parent) :
|
||||
QDialog( parent ),
|
||||
m_ui( new Ui::QDialogSettings )
|
||||
{
|
||||
m_ui->setupUi( this );
|
||||
connect( m_ui->btnFont, SIGNAL(clicked()), this, SLOT(onFont()) );
|
||||
connect( m_ui->btnLastUsedFont, SIGNAL(clicked()), this, SLOT(onLastUsedFont()) );
|
||||
m_ui->btnLastUsedFont->setEnabled( m_lastUsedFont );
|
||||
}
|
||||
|
||||
QDialogSettings::~QDialogSettings()
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
void QDialogSettings::changeEvent(QEvent *e)
|
||||
{
|
||||
switch (e->type()) {
|
||||
case QEvent::LanguageChange:
|
||||
m_ui->retranslateUi(this);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool QDialogSettings::exec( QWidget *parent )
|
||||
{
|
||||
QDialogSettings dialog( parent );
|
||||
QSettings sts;
|
||||
dialog.m_font = sts.value( cfgDefaultFont ).value<QFont>();
|
||||
dialog.m_ui->fontName->setCurrentFont( dialog.m_font );
|
||||
dialog.m_ui->chkEject->setChecked( sts.value( cfgEjectAfterFinish, false ).toBool() );
|
||||
|
||||
if( dialog.QDialog::exec() == Rejected ) return false;
|
||||
|
||||
sts.setValue( cfgDefaultFont, dialog.m_font );
|
||||
sts.setValue( cfgEjectAfterFinish, dialog.m_ui->chkEject->isChecked() );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void QDialogSettings::onFont()
|
||||
{
|
||||
bool ok = true;
|
||||
QFont font = QFontDialog::getFont( &ok, m_font, this );
|
||||
if( ok ) {
|
||||
m_font = font;
|
||||
m_ui->fontName->setCurrentFont( font );
|
||||
}
|
||||
}
|
||||
|
||||
void QDialogSettings::onLastUsedFont()
|
||||
{
|
||||
if( m_lastUsedFont ) {
|
||||
m_font = *m_lastUsedFont;
|
||||
m_ui->fontName->setCurrentFont( *m_lastUsedFont );
|
||||
}
|
||||
}
|
||||
|
||||
void QDialogSettings::setLastUsedFont( const QFont &font )
|
||||
{
|
||||
if( !m_lastUsedFont ) m_lastUsedFont = new QFont( font );
|
||||
else *m_lastUsedFont = font;
|
||||
}
|
||||
|
||||
QFont QDialogSettings::defaultFont()
|
||||
{
|
||||
return QSettings().value( cfgDefaultFont ).value<QFont>();
|
||||
}
|
||||
Reference in New Issue
Block a user