• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

knode

  • sources
  • kde-4.12
  • kdepim
  • knode
knfilterdialog.cpp
Go to the documentation of this file.
1 /*
2  KNode, the KDE newsreader
3  Copyright (c) 1999-2005 the KNode authors.
4  See file AUTHORS for details
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10  You should have received a copy of the GNU General Public License
11  along with this program; if not, write to the Free Software Foundation,
12  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
13 */
14 
15 #include <QLabel>
16 #include <QCheckBox>
17 
18 #include <QVBoxLayout>
19 #include <QGridLayout>
20 #include <QGroupBox>
21 
22 #include <klocale.h>
23 #include <kmessagebox.h>
24 #include <klineedit.h>
25 
26 #include "knglobals.h"
27 #include "knfiltermanager.h"
28 #include "knfilterconfigwidget.h"
29 #include "knarticlefilter.h"
30 #include "utilities.h"
31 #include "knfilterdialog.h"
32 
33 
34 KNFilterDialog::KNFilterDialog( KNArticleFilter *f, QWidget *parent )
35  : KDialog( parent ),
36  fltr(f)
37 {
38  if ( f->id() == -1 )
39  setCaption( i18n("New Filter") );
40  else
41  setCaption( i18n("Properties of %1", f->name()) );
42  setButtons( Ok|Cancel|Help );
43  setDefaultButton( Ok );
44 
45  QFrame* page = new QFrame( this );
46  setMainWidget( page );
47 
48  QGroupBox *gb = new QGroupBox( page );
49  fname=new KLineEdit(gb);
50  QLabel *l1=new QLabel(i18n("Na&me:"),gb);
51  l1->setBuddy(fname);
52  apon=new QComboBox(gb);
53  apon->addItem(i18n("Single Articles"));
54  apon->addItem(i18n("Whole Threads"));
55  QLabel *l2=new QLabel(i18n("Apply o&n:"),gb);
56  l2->setBuddy(apon);
57  enabled=new QCheckBox(i18n("Sho&w in menu"), gb);
58 
59  fw=new KNFilterConfigWidget(page);
60 
61  QGridLayout *gbL=new QGridLayout(gb);
62  gbL->setSpacing(5);
63  gbL->setMargin(8);
64  gbL->addWidget(l1, 0,0);
65  gbL->addWidget(fname, 0,1, 1,3);
66  gbL->addWidget(enabled, 1,0);
67  gbL->addWidget(l2, 1,2);
68  gbL->addWidget(apon, 1,3);
69  gbL->setColumnStretch(1,1);
70 
71  QVBoxLayout *topL=new QVBoxLayout(page);
72  topL->setSpacing(5);
73  topL->setMargin(0);
74 
75  topL->addWidget(gb);
76  topL->addWidget(fw,1);
77 
78  enabled->setChecked(f->isEnabled());
79  apon->setCurrentIndex((int) f->applyOn());
80  fname->setText(f->translatedName());
81 
82  fw->status->setFilter(f->status);
83  fw->lines->setFilter(f->lines);
84  fw->age->setFilter(f->age);
85  fw->score->setFilter(f->score);
86  fw->subject->setFilter(f->subject);
87  fw->from->setFilter(f->from);
88  fw->messageId->setFilter(f->messageId);
89  fw->references->setFilter(f->references);
90 
91  setFixedHeight(sizeHint().height());
92  KNHelper::restoreWindowSize("filterDLG", this, sizeHint());
93 
94  setHelp("anc-using-filters");
95  connect( fname, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)));
96  connect( this, SIGNAL(okClicked()),this,SLOT(slotOk()));
97  slotTextChanged( fname->text() );
98 }
99 
100 
101 
102 KNFilterDialog::~KNFilterDialog()
103 {
104  KNHelper::saveWindowSize("filterDLG", size());
105 }
106 
107 void KNFilterDialog::slotTextChanged( const QString &_text )
108 {
109  enableButtonOk( !_text.isEmpty() );
110 }
111 
112 void KNFilterDialog::slotOk()
113 {
114  if (fname->text().isEmpty())
115  KMessageBox::sorry(this, i18n("Please provide a name for this filter."));
116  else
117  if (!knGlobals.filterManager()->newNameIsOK(fltr,fname->text()))
118  KMessageBox::sorry(this, i18n("A filter with this name exists already.\nPlease choose a different name."));
119  else {
120  fltr->setTranslatedName(fname->text());
121  fltr->setEnabled(enabled->isChecked());
122  fltr->status=fw->status->filter();
123  fltr->score=fw->score->filter();
124  fltr->age=fw->age->filter();
125  fltr->lines=fw->lines->filter();
126  fltr->subject=fw->subject->filter();
127  fltr->from=fw->from->filter();
128  fltr->messageId=fw->messageId->filter();
129  fltr->references=fw->references->filter();
130  fltr->setApplyOn(apon->currentIndex());
131 
132  accept();
133  }
134 }
135 
136 
137 
138 //--------------------------------
139 
140 #include "knfilterdialog.moc"
KNFilterDialog::apon
QComboBox * apon
Definition: knfilterdialog.h:43
KNFilterConfigWidget::age
KNode::RangeFilterWidget * age
Definition: knfilterconfigwidget.h:50
KNArticleFilter::score
KNode::RangeFilter score
Definition: knarticlefilter.h:82
KNHelper::saveWindowSize
static void saveWindowSize(const QString &name, const QSize &s)
Definition: utilities.cpp:205
KNArticleFilter::subject
KNode::StringFilter subject
Definition: knarticlefilter.h:83
utilities.h
QWidget
KNode::StatusFilterWidget::filter
StatusFilter filter()
Definition: knstatusfilter.cpp:142
KNArticleFilter::references
KNode::StringFilter references
Definition: knarticlefilter.h:83
KNArticleFilter::applyOn
int applyOn()
Definition: knarticlefilter.h:53
KNFilterDialog::slotTextChanged
void slotTextChanged(const QString &)
Definition: knfilterdialog.cpp:107
KNHelper::restoreWindowSize
static void restoreWindowSize(const QString &name, QWidget *d, const QSize &defaultSize)
Definition: utilities.cpp:212
KNArticleFilter::setTranslatedName
void setTranslatedName(const QString &s)
tries to retranslate the name to english
Definition: knarticlefilter.cpp:324
KNode::StringFilterWidget::filter
StringFilter filter()
Definition: knstringfilter.cpp:132
KDialog
KNode::StringFilterWidget::setFilter
void setFilter(StringFilter &f)
Definition: knstringfilter.cpp:144
KNFilterConfigWidget
Filter configuration widget.
Definition: knfilterconfigwidget.h:28
knfiltermanager.h
KNFilterDialog::KNFilterDialog
KNFilterDialog(KNArticleFilter *f=0, QWidget *parent=0)
Definition: knfilterdialog.cpp:34
KNFilterDialog::enabled
QCheckBox * enabled
Definition: knfilterdialog.h:44
KNode::RangeFilterWidget::filter
RangeFilter filter()
Definition: knrangefilter.cpp:148
KNArticleFilter::translatedName
QString translatedName()
tries to translate the name
Definition: knarticlefilter.cpp:306
KNode::RangeFilterWidget::setFilter
void setFilter(RangeFilter &f)
Definition: knrangefilter.cpp:169
KNArticleFilter::age
KNode::RangeFilter age
Definition: knarticlefilter.h:82
KNArticleFilter::setApplyOn
void setApplyOn(int i)
Definition: knarticlefilter.h:62
KNArticleFilter
Article filter.
Definition: knarticlefilter.h:33
QComboBox
KNFilterDialog::fw
KNFilterConfigWidget * fw
Definition: knfilterdialog.h:41
QGroupBox
KNArticleFilter::messageId
KNode::StringFilter messageId
Definition: knarticlefilter.h:83
knfilterconfigwidget.h
knfilterdialog.h
knglobals.h
KNFilterConfigWidget::lines
KNode::RangeFilterWidget * lines
Definition: knfilterconfigwidget.h:51
KNArticleFilter::isEnabled
bool isEnabled() const
Definition: knarticlefilter.h:57
KLineEdit
KNArticleFilter::status
KNode::StatusFilter status
Definition: knarticlefilter.h:81
KNFilterConfigWidget::score
KNode::RangeFilterWidget * score
Definition: knfilterconfigwidget.h:52
KNFilterDialog::fltr
KNArticleFilter * fltr
Definition: knfilterdialog.h:46
QLabel
KNFilterConfigWidget::references
KNode::StringFilterWidget * references
Definition: knfilterconfigwidget.h:49
KNFilterDialog::~KNFilterDialog
~KNFilterDialog()
Definition: knfilterdialog.cpp:102
KNFilterDialog::fname
KLineEdit * fname
Definition: knfilterdialog.h:42
KNArticleFilter::id
int id() const
Definition: knarticlefilter.h:52
KNArticleFilter::from
KNode::StringFilter from
Definition: knarticlefilter.h:83
KNFilterConfigWidget::from
KNode::StringFilterWidget * from
Definition: knfilterconfigwidget.h:47
knGlobals
#define knGlobals
Keep compatibility with the old way.
Definition: knglobals.h:28
QFrame
KNArticleFilter::name
const QString & name()
Definition: knarticlefilter.h:54
KNArticleFilter::lines
KNode::RangeFilter lines
Definition: knarticlefilter.h:82
KNFilterConfigWidget::status
KNode::StatusFilterWidget * status
Definition: knfilterconfigwidget.h:45
KNFilterConfigWidget::subject
KNode::StringFilterWidget * subject
Definition: knfilterconfigwidget.h:46
KNArticleFilter::setEnabled
void setEnabled(bool l)
Definition: knarticlefilter.h:67
KNFilterConfigWidget::messageId
KNode::StringFilterWidget * messageId
Definition: knfilterconfigwidget.h:48
KNFilterDialog::slotOk
void slotOk()
Definition: knfilterdialog.cpp:112
KNode::StatusFilterWidget::setFilter
void setFilter(StatusFilter &f)
Definition: knstatusfilter.cpp:163
knarticlefilter.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:36 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

knode

Skip menu "knode"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal