00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "configdisplay.h"
00019
00020 K_PLUGIN_FACTORY( ConfigDisplayFactory, registerPlugin<ConfigDisplay>(); )
00021 K_EXPORT_PLUGIN( ConfigDisplayFactory( "kcm_kshowmailconfigdisplay" ) )
00022
00023 ConfigDisplay::ConfigDisplay( QWidget * parent, const QVariantList & args )
00024 : KCModule( ConfigDisplayFactory::componentData(), parent, args )
00025 {
00026
00027
00028
00029
00030 QVBoxLayout* layMain = new QVBoxLayout( this );
00031
00032
00033 QGroupBox* gboxAccountlist = new QGroupBox( i18nc( "@title:group appearance options of the account view", "Account list" ), this );
00034 layMain->addWidget( gboxAccountlist );
00035 QGroupBox* gboxMessagelist = new QGroupBox( i18nc( "@title:group appearance options of the mail view", "Mail list" ), this );
00036 layMain->addWidget( gboxMessagelist );
00037 QGroupBox* gboxMessageContent = new QGroupBox( i18nc( "@title:group appearance options of the mail content view", "Mail content" ), this );
00038 layMain->addWidget( gboxMessageContent );
00039
00040
00041 QGridLayout* layAccountlist = new QGridLayout();
00042 QGridLayout* layMessagelist = new QGridLayout();
00043 QGridLayout* layMessageContent = new QGridLayout();
00044 gboxAccountlist->setLayout( layAccountlist );
00045 gboxMessagelist->setLayout( layMessagelist );
00046 gboxMessageContent->setLayout( layMessageContent );
00047
00048
00049 chkAccountlistActive = new QCheckBox( i18nc( "@option:check show column 'active' in the account view", "Active" ), gboxAccountlist );
00050 chkAccountlistActive->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Active' column in the account list" ) );
00051 layAccountlist->addWidget( chkAccountlistActive, 0, 0 );
00052
00053 chkAccountlistAccount = new QCheckBox( i18nc( "@option:check show account column in the account view", "Account" ), gboxAccountlist );
00054 chkAccountlistAccount->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Account' column in the account list" ) );
00055 layAccountlist->addWidget( chkAccountlistAccount, 0, 1 );
00056
00057 chkAccountlistServer = new QCheckBox( i18nc( "@option:check show server column in the account view", "Server" ), gboxAccountlist );
00058 chkAccountlistServer->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Server' column in the account list" ) );
00059 layAccountlist->addWidget( chkAccountlistServer, 1, 0 );
00060
00061 chkAccountlistUser = new QCheckBox( i18nc( "@option:check show user column in the account view", "User" ), gboxAccountlist );
00062 chkAccountlistUser->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'User' column in the account list" ) );
00063 layAccountlist->addWidget( chkAccountlistUser, 1, 1 );
00064
00065 chkAccountlistMessages = new QCheckBox( i18nc( "@option:check show number of messages column in the account view", "Messages" ), gboxAccountlist );
00066 chkAccountlistMessages->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Messages' column in the account list" ) );
00067 layAccountlist->addWidget( chkAccountlistMessages, 2, 0 );
00068
00069 chkAccountlistSize = new QCheckBox( i18nc( "@option:check show column about the entire size of mails in the account view", "Size" ), gboxAccountlist );
00070 chkAccountlistSize->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Size' column in the account list" ) );
00071 layAccountlist->addWidget( chkAccountlistSize, 2, 1 );
00072
00073 chkMessagelistNumber = new QCheckBox( i18nc( "@option:check show mail number column in the mail view", "Number" ), gboxMessagelist );
00074 chkMessagelistNumber->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Number' column in the message list" ) );
00075 layMessagelist->addWidget( chkMessagelistNumber, 0, 0 );
00076
00077 chkMessagelistAccount = new QCheckBox( i18nc( "@option:check show account name column in the mail view", "Account" ), gboxMessagelist );
00078 chkMessagelistAccount->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Account' column in the message list" ) );
00079 layMessagelist->addWidget( chkMessagelistAccount, 0, 1 );
00080
00081 chkMessagelistFrom = new QCheckBox( i18nc( "@option:check show sender column in the mail view", "From" ), gboxMessagelist );
00082 chkMessagelistFrom->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'From' column in the message list" ) );
00083 layMessagelist->addWidget( chkMessagelistFrom, 1, 0 );
00084
00085 chkMessagelistTo = new QCheckBox( i18nc( "@option:check show addressee column in mail view", "To" ), gboxMessagelist );
00086 chkMessagelistTo->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'To' column in the message list" ) );
00087 layMessagelist->addWidget( chkMessagelistTo, 1, 1 );
00088
00089 chkMessagelistSubject = new QCheckBox( i18nc( "@option:check show subject column in mail view", "Subject" ), gboxMessagelist );
00090 chkMessagelistSubject->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Subject' column in the message list" ) );
00091 layMessagelist->addWidget( chkMessagelistSubject, 2, 0 );
00092
00093 chkMessagelistDate = new QCheckBox( i18nc( "@option:check show send date column in the mail view", "Date" ), gboxMessagelist );
00094 chkMessagelistDate->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Date' column in the message list" ) );
00095 layMessagelist->addWidget( chkMessagelistDate, 2, 1 );
00096
00097 chkMessagelistSize = new QCheckBox( i18nc( "@option:check show mail size column in the mail view", "Size" ), gboxMessagelist );
00098 chkMessagelistSize->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Size' column in the message list" ) );
00099 layMessagelist->addWidget( chkMessagelistSize, 3, 0 );
00100
00101 chkMessagelistContent = new QCheckBox( i18nc( "@option:check show content type column in mail view", "Content" ), gboxMessagelist );
00102 chkMessagelistContent->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'Content' column in the message list" ) );
00103 layMessagelist->addWidget( chkMessagelistContent, 3, 1 );
00104
00105 chkMessagelistState = new QCheckBox( i18nc( "@option:check show state column in mail view", "State" ), gboxMessagelist );
00106 chkMessagelistState->setToolTip( i18nc( "@info:tooltip", "To switch on/off the 'State' column in the message list" ) );
00107 layMessagelist->addWidget( chkMessagelistState, 4, 0 );
00108
00109 chkAllowHTML = new QCheckBox( i18nc( "@option:check allow the mail content view to process HTML", "Allow HTML" ), gboxMessageContent );
00110 chkAllowHTML->setToolTip( i18nc( "@info:tooltip", "To switch on/off HTML in the message view") );
00111 layMessageContent->addWidget( chkAllowHTML, 0, 0 );
00112
00113
00114 connect( chkAccountlistActive, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00115 connect( chkAccountlistAccount, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00116 connect( chkAccountlistServer, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00117 connect( chkAccountlistUser, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00118 connect( chkAccountlistMessages, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00119 connect( chkAccountlistSize, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00120 connect( chkMessagelistNumber, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00121 connect( chkMessagelistAccount, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00122 connect( chkMessagelistFrom, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00123 connect( chkMessagelistTo, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00124 connect( chkMessagelistSubject, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00125 connect( chkMessagelistDate, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00126 connect( chkMessagelistSize, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00127 connect( chkMessagelistContent, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00128 connect( chkMessagelistState, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00129 connect( chkAllowHTML, SIGNAL( toggled( bool ) ), this, SLOT( slotChanged() ) );
00130
00131 setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Preferred );
00132
00133
00134 config = KGlobal::config();
00135
00136
00137 load();
00138 }
00139
00140 ConfigDisplay::~ConfigDisplay()
00141 {
00142 }
00143
00144 void ConfigDisplay::slotChanged( )
00145 {
00146 KCModule::changed();
00147 }
00148
00149 void ConfigDisplay::load( )
00150 {
00151 KConfigGroup* configAccList = new KConfigGroup( config, CONFIG_GROUP_ACCOUNT_LIST );
00152
00153 chkAccountlistActive->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_ACTIVE, DEFAULT_DISPLAY_ACCOUNT_ACTIVE ) );
00154 chkAccountlistAccount->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_ACCOUNT, DEFAULT_DISPLAY_ACCOUNT_ACCOUNT ) );
00155 chkAccountlistServer->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_SERVER, DEFAULT_DISPLAY_ACCOUNT_SERVER ) );
00156 chkAccountlistUser->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_USER, DEFAULT_DISPLAY_ACCOUNT_USER ) );
00157 chkAccountlistMessages->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_MESSAGES, DEFAULT_DISPLAY_ACCOUNT_MESSAGES ) );
00158 chkAccountlistSize->setChecked( configAccList->readEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_SIZE, DEFAULT_DISPLAY_ACCOUNT_SIZE ) );
00159
00160 KConfigGroup* configMessList = new KConfigGroup( config, CONFIG_GROUP_MESSAGE_LIST );
00161
00162 chkMessagelistNumber->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_NUMBER, DEFAULT_DISPLAY_MESSAGE_NUMBER ) );
00163 chkMessagelistAccount->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_ACCOUNT, DEFAULT_DISPLAY_MESSAGE_ACCOUNT ) );
00164 chkMessagelistFrom->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_FROM, DEFAULT_DISPLAY_MESSAGE_FROM ) );
00165 chkMessagelistTo->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_TO, DEFAULT_DISPLAY_MESSAGE_TO ) );
00166 chkMessagelistSubject->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_SUBJECT, DEFAULT_DISPLAY_MESSAGE_SUBJECT ) );
00167 chkMessagelistDate->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_DATE, DEFAULT_DISPLAY_MESSAGE_DATE ) );
00168 chkMessagelistSize->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_SIZE, DEFAULT_DISPLAY_MESSAGE_SIZE ) );
00169 chkMessagelistContent->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_CONTENT, DEFAULT_DISPLAY_MESSAGE_CONTENT ) );
00170 chkMessagelistState->setChecked( configMessList->readEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_STATE, DEFAULT_DISPLAY_MESSAGE_STATE ) );
00171
00172 KConfigGroup* configView = new KConfigGroup( config, CONFIG_GROUP_VIEW );
00173
00174 chkAllowHTML->setChecked( configView->readEntry( CONFIG_ENTRY_VIEW_USE_HTML, DEFAULT_VIEW_USE_HTML ) );
00175
00176 delete configAccList;
00177 delete configMessList;
00178 delete configView;
00179
00180 }
00181
00182 void ConfigDisplay::save()
00183 {
00184 KConfigGroup* configAccList = new KConfigGroup( config, CONFIG_GROUP_ACCOUNT_LIST );
00185
00186 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_ACTIVE, chkAccountlistActive->isChecked() );
00187 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_ACCOUNT, chkAccountlistAccount->isChecked() );
00188 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_SERVER, chkAccountlistServer->isChecked() );
00189 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_USER, chkAccountlistUser->isChecked() );
00190 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_MESSAGES, chkAccountlistMessages->isChecked() );
00191 configAccList->writeEntry( CONFIG_ENTRY_DISPLAY_ACCOUNT_SIZE, chkAccountlistSize->isChecked() );
00192
00193 KConfigGroup* configMessList = new KConfigGroup( config, CONFIG_GROUP_MESSAGE_LIST );
00194
00195 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_NUMBER, chkMessagelistNumber->isChecked() );
00196 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_ACCOUNT, chkMessagelistAccount->isChecked() );
00197 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_FROM, chkMessagelistFrom->isChecked() );
00198 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_TO, chkMessagelistTo->isChecked() );
00199 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_SUBJECT, chkMessagelistSubject->isChecked() );
00200 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_DATE, chkMessagelistDate->isChecked() );
00201 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_SIZE, chkMessagelistSize->isChecked() );
00202 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_CONTENT, chkMessagelistContent->isChecked() );
00203 configMessList->writeEntry( CONFIG_ENTRY_DISPLAY_MESSAGE_STATE, chkMessagelistState->isChecked() );
00204
00205 KConfigGroup* configView = new KConfigGroup( config, CONFIG_GROUP_VIEW );
00206
00207 configView->writeEntry( CONFIG_ENTRY_VIEW_USE_HTML, chkAllowHTML->isChecked() );
00208
00209
00210 config->sync();
00211
00212 delete configAccList;
00213 delete configMessList;
00214 delete configView;
00215 }
00216
00217 void ConfigDisplay::defaults()
00218 {
00219 chkAccountlistActive->setChecked( DEFAULT_DISPLAY_ACCOUNT_ACTIVE );
00220 chkAccountlistAccount->setChecked( DEFAULT_DISPLAY_ACCOUNT_ACCOUNT );
00221 chkAccountlistServer->setChecked( DEFAULT_DISPLAY_ACCOUNT_SERVER );
00222 chkAccountlistUser->setChecked( DEFAULT_DISPLAY_ACCOUNT_USER );
00223 chkAccountlistMessages->setChecked( DEFAULT_DISPLAY_ACCOUNT_MESSAGES );
00224 chkAccountlistSize->setChecked( DEFAULT_DISPLAY_ACCOUNT_SIZE );
00225
00226 chkMessagelistNumber->setChecked( DEFAULT_DISPLAY_MESSAGE_NUMBER );
00227 chkMessagelistAccount->setChecked( DEFAULT_DISPLAY_MESSAGE_ACCOUNT );
00228 chkMessagelistFrom->setChecked( DEFAULT_DISPLAY_MESSAGE_FROM );
00229 chkMessagelistTo->setChecked( DEFAULT_DISPLAY_MESSAGE_TO );
00230 chkMessagelistSubject->setChecked( DEFAULT_DISPLAY_MESSAGE_SUBJECT );
00231 chkMessagelistDate->setChecked( DEFAULT_DISPLAY_MESSAGE_DATE );
00232 chkMessagelistSize->setChecked( DEFAULT_DISPLAY_MESSAGE_SIZE );
00233 chkMessagelistContent->setChecked( DEFAULT_DISPLAY_MESSAGE_CONTENT );
00234 chkMessagelistState->setChecked( DEFAULT_DISPLAY_MESSAGE_STATE );
00235
00236 chkAllowHTML->setChecked( DEFAULT_VIEW_USE_HTML );
00237
00238 }
00239 #include "configdisplay.moc"