You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
182 lines
8.6 KiB
182 lines
8.6 KiB
//
|
|
// C++ Implementation: configgeneral
|
|
//
|
|
// Description:
|
|
//
|
|
//
|
|
// Author: Ulrich Weigelt <ulrich.weigelt@gmx.de>, (C) 2007
|
|
//
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
//
|
|
//
|
|
#include "configgeneral.h"
|
|
|
|
typedef KGenericFactory<ConfigGeneral, TQWidget> ConfigGeneralFactory;
|
|
|
|
K_EXPORT_COMPONENT_FACTORY( kcm_kshowmailconfiggeneral, ConfigGeneralFactory(
|
|
"kcm_kshowmailconfiggeneral" ) );
|
|
|
|
ConfigGeneral::ConfigGeneral( TQWidget * parent, const char * name, const TQStringList & args )
|
|
: TDECModule( ConfigGeneralFactory::instance(), parent, args )
|
|
{
|
|
//set the module name
|
|
if ( !name )
|
|
setName( "configgeneral" );
|
|
|
|
//build GUI
|
|
//---------
|
|
|
|
//main layout
|
|
TQVBoxLayout* layMain = new TQVBoxLayout( this, 0, 10 );
|
|
|
|
//layout for check buttons (upper half)
|
|
TQGridLayout* layMainTop = new TQGridLayout( layMain, 4, 2, 15 );
|
|
layMainTop->setMargin( 20 );
|
|
|
|
//group box for timers
|
|
TQGroupBox* gboxTimers = new TQGroupBox( 0, TQt::Horizontal, i18n( "&Timers" ), this, "gboxTimers" );
|
|
layMain->addWidget( gboxTimers );
|
|
|
|
//layouts for timers
|
|
TQGridLayout* layTimers = new TQGridLayout( gboxTimers->layout(),3, 3, 20 );
|
|
|
|
//create items
|
|
chkConfirmClose = new TQCheckBox( i18n( "Confirm Close" ), this, "chkConfirmClose" );
|
|
TQToolTip::add( chkConfirmClose, i18n( "If checked, window close must be confirmed" ) );
|
|
layMainTop->addWidget( chkConfirmClose, 0, 0 );
|
|
|
|
chkConfirmDelete = new TQCheckBox( i18n( "Confirm delete" ), this, "chkConfirmDelete" );
|
|
TQToolTip::add( chkConfirmDelete, i18n( "If checked, message delete must be confirmed" ) );
|
|
layMainTop->addWidget( chkConfirmDelete, 0, 1 );
|
|
|
|
chkStartMinimized = new TQCheckBox( i18n( "Start Minimi&zed" ), this, "chkStartMinimized" );
|
|
TQToolTip::add( chkStartMinimized, i18n( "Application is started as icon" ) );
|
|
layMainTop->addWidget( chkStartMinimized, 1, 0 );
|
|
|
|
chkCloseToTray = new TQCheckBox( i18n( "Close to tray" ), this, "chkCloseToTray" );
|
|
TQToolTip::add( chkCloseToTray, i18n( "Close button leaves the application running in tray" ) );
|
|
layMainTop->addWidget( chkCloseToTray, 1, 1 );
|
|
|
|
chkMinimizeToTray = new TQCheckBox( i18n( "Minimize to tray" ), this, "chkMinimizeToTray" );
|
|
TQToolTip::add( chkMinimizeToTray, i18n( "Minimizes to the tray rather than to the taskbar" ) );
|
|
layMainTop->addWidget( chkMinimizeToTray, 2, 0 );
|
|
|
|
chkShowConnectionErrors = new TQCheckBox( i18n( "Show Connection Errors during refresh" ), this, "chkShowConnectionErrors" );
|
|
TQToolTip::add( chkShowConnectionErrors, i18n( "If a connection error occurs during refresh (e.g. unknown server), an error message will be shown. During other actions, this error always will be shown" ) );
|
|
layMainTop->addWidget( chkShowConnectionErrors, 2, 1 );
|
|
|
|
chkKeepNew = new TQCheckBox( i18n( "&Keep mail as new" ), this, "chkKeepNew" );
|
|
TQToolTip::add( chkKeepNew, i18n( "Keep mail as new until termination" ) );
|
|
layMainTop->addWidget( chkKeepNew, 3, 0 );
|
|
|
|
TQLabel* lblTimerInitial = new TQLabel( i18n( "Initial Timer:" ), gboxTimers, "lblTimerInitial" );
|
|
TQLabel* lblInitialUnit = new TQLabel( i18n( "[Seconds]" ), gboxTimers, "lblInitialUnit" );
|
|
spbInitial = new TQSpinBox( 0, 99999, 1, gboxTimers, "spbInitial" );
|
|
TQToolTip::add( spbInitial, i18n( "Seconds until first automatic logon (0 = no automatic)" ) );
|
|
TQToolTip::add( lblTimerInitial, i18n( "Seconds until first automatic logon (0 = no automatic)" ) );
|
|
layTimers->addWidget( lblTimerInitial, 0, 0 );
|
|
layTimers->addWidget( spbInitial, 0, 1 );
|
|
layTimers->addWidget( lblInitialUnit, 0, 2 );
|
|
|
|
TQLabel* lblTimerInterval = new TQLabel( i18n( "Interval Timer:" ), gboxTimers, "lblTimerInterval" );
|
|
TQLabel* lblIntervalUnit = new TQLabel( i18n( "[Minutes]" ), gboxTimers, "lblIntervalUnit" );
|
|
spbInterval = new TQSpinBox( 0, 99999, 1, gboxTimers, "spbInterval" );
|
|
TQToolTip::add( spbInterval, i18n( "Minutes between automatic logon (0 = no automatic)" ) );
|
|
TQToolTip::add( lblTimerInterval, i18n( "Minutes between automatic logon (0 = no automatic)" ) );
|
|
layTimers->addWidget( lblTimerInterval, 1, 0 );
|
|
layTimers->addWidget( spbInterval, 1, 1 );
|
|
layTimers->addWidget( lblIntervalUnit, 1, 2 );
|
|
|
|
TQLabel* lblTimerTimeout = new TQLabel( i18n( "Timeout:" ), gboxTimers, "lblTimerTimeout" );
|
|
TQLabel* lblTimeoutUnit = new TQLabel( i18n( "[Seconds]" ), gboxTimers, "lblTimeoutUnit" );
|
|
spbTimeout = new TQSpinBox( MINIMUM_TIMEOUT_TIME, 99999, 1, gboxTimers, "spbTimeout" );
|
|
TQToolTip::add( spbTimeout, i18n( "Seconds until a server connect will be canceled" ) );
|
|
TQToolTip::add( lblTimerTimeout, i18n( "Seconds until a server connect will be canceled" ) );
|
|
layTimers->addWidget( lblTimerTimeout, 2, 0 );
|
|
layTimers->addWidget( spbTimeout, 2, 1 );
|
|
layTimers->addWidget( lblTimeoutUnit, 2, 2 );
|
|
|
|
|
|
//connect all configuration itmes with slot changed() to notify the dialog about changes
|
|
connect( chkConfirmClose, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkConfirmDelete, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkStartMinimized, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkCloseToTray, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkMinimizeToTray, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkShowConnectionErrors, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( chkKeepNew, TQ_SIGNAL( toggled( bool ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( spbInitial, TQ_SIGNAL( valueChanged( int ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( spbInterval, TQ_SIGNAL( valueChanged( int ) ), this, TQ_SLOT( slotChanged() ) );
|
|
connect( spbTimeout, TQ_SIGNAL( valueChanged( int ) ), this, TQ_SLOT( slotChanged() ) );
|
|
|
|
|
|
//get application config object (kshowmailrc)
|
|
config = TDEApplication::kApplication()->config();
|
|
|
|
//load configurated values
|
|
load();
|
|
|
|
}
|
|
|
|
ConfigGeneral::~ConfigGeneral()
|
|
{
|
|
}
|
|
|
|
void ConfigGeneral::load( )
|
|
{
|
|
config->setGroup( CONFIG_GROUP_GENERAL );
|
|
|
|
chkConfirmClose->setChecked( config->readBoolEntry( CONFIG_ENTRY_CONFIRM_CLOSE, DEFAULT_CONFIRM_CLOSE ) );
|
|
chkConfirmDelete->setChecked( config->readBoolEntry( CONFIG_ENTRY_CONFIRM_DELETE, DEFAULT_CONFIRM_DELETE ) );
|
|
chkStartMinimized->setChecked( config->readBoolEntry( CONFIG_ENTRY_START_MINIMIZED, DEFAULT_START_MINIMIZED ) );
|
|
chkCloseToTray->setChecked( config->readBoolEntry( CONFIG_ENTRY_CLOSE_TO_TRAY, DEFAULT_CLOSE_TO_TRAY ) );
|
|
chkMinimizeToTray->setChecked( config->readBoolEntry( CONFIG_ENTRY_MINIMIZE_TO_TRAY, DEFAULT_MINIMIZE_TO_TRAY ) );
|
|
chkShowConnectionErrors->setChecked( config->readBoolEntry( CONFIG_ENTRY_SHOW_CONNECTION_ERRORS, DEFAULT_SHOW_CONNECTION_ERRORS ) );
|
|
chkKeepNew->setChecked( config->readBoolEntry( CONFIG_ENTRY_KEEP_NEW, DEFAULT_KEEP_NEW ) );
|
|
|
|
spbInitial->setValue( config->readNumEntry( CONFIG_ENTRY_INITIAL_TIME, DEFAULT_INITIAL_TIME ) );
|
|
spbInterval->setValue( config->readNumEntry( CONFIG_ENTRY_INTERVAL_TIME, DEFAULT_INTERVAL_TIME) );
|
|
spbTimeout->setValue( config->readNumEntry( CONFIG_ENTRY_TIMEOUT_TIME, DEFAULT_TIMEOUT_TIME) );
|
|
}
|
|
|
|
void ConfigGeneral::defaults( )
|
|
{
|
|
chkConfirmClose->setChecked( DEFAULT_CONFIRM_CLOSE );
|
|
chkConfirmDelete->setChecked( DEFAULT_CONFIRM_DELETE );
|
|
chkStartMinimized->setChecked( DEFAULT_START_MINIMIZED );
|
|
chkCloseToTray->setChecked( DEFAULT_CLOSE_TO_TRAY );
|
|
chkMinimizeToTray->setChecked( DEFAULT_MINIMIZE_TO_TRAY );
|
|
chkShowConnectionErrors->setChecked( DEFAULT_SHOW_CONNECTION_ERRORS );
|
|
chkKeepNew->setChecked( DEFAULT_KEEP_NEW );
|
|
|
|
spbInitial->setValue( DEFAULT_INITIAL_TIME );
|
|
spbInterval->setValue( DEFAULT_INTERVAL_TIME );
|
|
spbTimeout->setValue( DEFAULT_TIMEOUT_TIME );
|
|
}
|
|
|
|
void ConfigGeneral::save( )
|
|
{
|
|
config->setGroup( CONFIG_GROUP_GENERAL );
|
|
|
|
config->writeEntry( CONFIG_ENTRY_CONFIRM_CLOSE, chkConfirmClose->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_CONFIRM_DELETE, chkConfirmDelete->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_START_MINIMIZED, chkStartMinimized->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_CLOSE_TO_TRAY, chkCloseToTray->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_MINIMIZE_TO_TRAY, chkMinimizeToTray->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_SHOW_CONNECTION_ERRORS, chkShowConnectionErrors->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_KEEP_NEW, chkKeepNew->isChecked() );
|
|
config->writeEntry( CONFIG_ENTRY_INITIAL_TIME, spbInitial->value() );
|
|
config->writeEntry( CONFIG_ENTRY_INTERVAL_TIME, spbInterval->value() );
|
|
config->writeEntry( CONFIG_ENTRY_TIMEOUT_TIME, spbTimeout->value() );
|
|
|
|
//write configuration to disk
|
|
config->sync();
|
|
}
|
|
|
|
void ConfigGeneral::slotChanged( )
|
|
{
|
|
TDECModule::changed();
|
|
}
|
|
|
|
#include "configgeneral.moc"
|