00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#include <qbuttongroup.h>
00025
#include <qlabel.h>
00026
#include <qlayout.h>
00027
#include <qradiobutton.h>
00028
00029
#include <kconfig.h>
00030
#include <kcombobox.h>
00031
#include <kdialog.h>
00032
#include <klocale.h>
00033
00034
#include "viewconfigurefilterpage.h"
00035
#include "filter.h"
00036
00037 ViewConfigureFilterPage::ViewConfigureFilterPage(
QWidget *parent,
00038
const char *name )
00039 :
QWidget( parent, name )
00040 {
00041
QBoxLayout *topLayout =
new QVBoxLayout(
this, 0, KDialog::spacingHint() );
00042
00043 mFilterGroup =
new QButtonGroup();
00044 connect( mFilterGroup, SIGNAL( clicked(
int ) ), SLOT( buttonClicked(
int ) ) );
00045
00046
QLabel *label =
new QLabel( i18n(
"The default filter will be activated whenever"
00047
" this view is displayed. This feature allows you to configure views that only"
00048
" interact with certain types of information based on the filter. Once the view"
00049
" is activated, the filter can be changed at anytime." ),
this );
00050 label->setAlignment( Qt::AlignLeft | Qt::AlignTop | Qt::WordBreak );
00051 topLayout->
addWidget( label );
00052
00053
QWidget *spacer =
new QWidget(
this );
00054 spacer->setMinimumHeight( 5 );
00055 topLayout->
addWidget( spacer );
00056
00057
QRadioButton *button =
new QRadioButton( i18n(
"No default filter" ),
this );
00058 mFilterGroup->insert( button );
00059 topLayout->
addWidget( button );
00060
00061 button =
new QRadioButton( i18n(
"Use last active filter" ),
this );
00062 mFilterGroup->insert( button );
00063 topLayout->
addWidget( button );
00064
00065
QBoxLayout *comboLayout =
new QHBoxLayout();
00066 topLayout->addLayout( comboLayout );
00067 button =
new QRadioButton( i18n(
"Use filter:" ),
this );
00068 mFilterGroup->insert( button );
00069 comboLayout->
addWidget( button );
00070
00071 mFilterCombo =
new KComboBox(
this );
00072 comboLayout->
addWidget( mFilterCombo );
00073 }
00074
00075 ViewConfigureFilterPage::~ViewConfigureFilterPage()
00076 {
00077
delete mFilterGroup;
00078 }
00079
00080
void ViewConfigureFilterPage::restoreSettings( KConfig *config )
00081 {
00082 mFilterCombo->clear();
00083
00084
00085 Filter::List list =
Filter::restore( config,
"Filter" );
00086 Filter::List::Iterator it;
00087
for ( it = list.begin(); it != list.end(); ++it )
00088 mFilterCombo->insertItem( (*it).name() );
00089
00090
int id = config->readNumEntry(
"DefaultFilterType", 1 );
00091 mFilterGroup->setButton(
id );
00092 buttonClicked(
id );
00093
00094
if (
id == 2 )
00095 mFilterCombo->setCurrentText( config->readEntry(
"DefaultFilterName" ) );
00096 }
00097
00098
void ViewConfigureFilterPage::saveSettings( KConfig *config )
00099 {
00100 config->writeEntry(
"DefaultFilterName", mFilterCombo->currentText() );
00101 config->writeEntry(
"DefaultFilterType", mFilterGroup->id( mFilterGroup->selected() ) );
00102 }
00103
00104
void ViewConfigureFilterPage::buttonClicked(
int id )
00105 {
00106 mFilterCombo->setEnabled(
id == 2 );
00107 }
00108
00109
#include "viewconfigurefilterpage.moc"