AlbumShaper
1.0a3
|
00001 //============================================== 00002 // copyright : (C) 2003-2005 by Will Stokes 00003 //============================================== 00004 // This program is free software; you can redistribute it 00005 // and/or modify it under the terms of the GNU General 00006 // Public License as published by the Free Software 00007 // Foundation; either version 2 of the License, or 00008 // (at your option) any later version. 00009 //============================================== 00010 00011 //Systemwide includes 00012 #include <qlayout.h> 00013 #include <qlabel.h> 00014 #include <qfont.h> 00015 #include <qcheckbox.h> 00016 #include <qframe.h> 00017 #include <qvgroupbox.h> 00018 #include <qapplication.h> 00019 00020 //Projectwide includes 00021 #include "alertsWidget.h" 00022 #include "configuration.h" 00023 #include "../config.h" 00024 #include "../gui/window.h" 00025 #include "../gui/statusWidget.h" 00026 00027 //============================================== 00028 AlertsWidget::AlertsWidget( Configuration* config, QWidget* parent, 00029 const char* name ) : QWidget( parent, name) 00030 { 00031 this->config = config; 00032 00033 categoryLabel = new QLabel( tr("Alerts:"), this); 00034 QFont labelFont = categoryLabel->font(); 00035 labelFont.setWeight(QFont::Bold); 00036 categoryLabel->setFont( labelFont ); 00037 00038 horizontalLine = new QFrame(this); 00039 horizontalLine->setLineWidth(2); 00040 horizontalLine->setMidLineWidth(1); 00041 horizontalLine->setFrameStyle( QFrame::HLine | QFrame::Raised ); 00042 00043 behavior = new QVGroupBox( tr("Behavior"), this); 00044 showDestructiveAlerts = new QCheckBox( tr("Alert me to destructive actions"), behavior); 00045 showSoftwareUpdateAlerts = new QCheckBox( tr("Alert me to software updates"), behavior); 00046 00047 grid = new QGridLayout( this, 4, 1, 0); 00048 grid->setSpacing( WIDGET_SPACING ); 00049 00050 grid->addWidget( categoryLabel, 0, 0, Qt::AlignLeft ); 00051 grid->addWidget( horizontalLine, 1, 0 ); 00052 grid->addWidget( behavior, 2, 0 ); 00053 grid->setRowStretch( 3, 1 ); 00054 } 00055 //============================================== 00056 void AlertsWidget::setDefaults(Configuration* config) 00057 { 00058 config->setBool( "alerts", "showDestructiveAlerts", true ); 00059 config->setBool( "alerts", "showSoftwareUpdateAlerts", true ); 00060 config->setString( "alerts", "loadSaveDir", QString(ALBUMSHAPER_VERSION) ); 00061 } 00062 //============================================== 00063 void AlertsWidget::loadSettings() 00064 { 00065 showDestructiveAlerts->setChecked( config->getBool( "alerts", "showDestructiveAlerts" )); 00066 showSoftwareUpdateAlerts->setChecked( config->getBool( "alerts", "showSoftwareUpdateAlerts" )); 00067 } 00068 //============================================== 00069 void AlertsWidget::saveSettings() 00070 { 00071 config->setBool( "alerts", "showDestructiveAlerts", showDestructiveAlerts->isChecked() ); 00072 config->setBool( "alerts", "showSoftwareUpdateAlerts", showSoftwareUpdateAlerts->isChecked() ); 00073 00074 //either check for and show or remove updates availble icon 00075 if(showSoftwareUpdateAlerts->isChecked()) 00076 ((Window*)qApp->mainWidget())->getStatus()->checkForUpdates(); 00077 else 00078 ((Window*)qApp->mainWidget())->getStatus()->removeUpdatesIcon(); 00079 } 00080 //==============================================