• 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
kscoringeditor.h
Go to the documentation of this file.
1 /*
2  kscoringeditor.h
3 
4  Copyright (c) 2001 Mathias Waack <mathias@atoll-net.de>
5  Copyright (C) 2005 by Volker Krause <vkrause@kde.org>
6 
7  Author: Mathias Waack <mathias@atoll-net.de>
8 
9  This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.
13  You should have received a copy of the GNU General Public License
14  along with this program; if not, write to the Free Software Foundation,
15  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
16 */
17 
18 #ifndef LIBKDEPIM_KSCORINGEDITOR_H
19 #define LIBKDEPIM_KSCORINGEDITOR_H
20 
21 #include "knode_export.h"
22 #include "kscoring.h"
23 
24 #include "libkdepim/widgets/kwidgetlister.h"
25 
26 #include <KDialog>
27 #include <K3ListBox>
28 
29 #include <QMap>
30 #include <QLabel>
31 #include <QFrame>
32 #include <QStackedWidget>
33 
34 class KComboBox;
35 class KColorCombo;
36 class KLineEdit;
37 class KIntSpinBox;
38 class QLabel;
39 class Q3ListBoxItem;
40 class QPushButton;
41 class QCheckBox;
42 class QRadioButton;
43 class ScoreEditWidget;
44 
45 namespace KPIM {
46 
50 class KNODE_EXPORT SingleConditionWidget : public QFrame
51 {
52  Q_OBJECT
53  friend class ConditionEditWidget;
54 
55  public:
56  explicit SingleConditionWidget( KScoringManager *, QWidget *p=0, const char *n=0 );
57  ~SingleConditionWidget();
58  void setCondition( KScoringExpression * );
59  KScoringExpression *createCondition() const;
60  void clear();
61 
62  protected Q_SLOTS:
63  void toggleRegExpButton( int );
64  void showRegExpDialog();
65 
66  private:
68  QCheckBox *neg;
70  KComboBox *headers;
72  KComboBox *matches;
74  KLineEdit *expr;
76  QPushButton *regExpButton;
77 
78  KScoringManager *manager;
79 };
80 
83 class ConditionEditWidget: public KWidgetLister
84 {
85  Q_OBJECT
86  public:
87  explicit ConditionEditWidget( KScoringManager *, QWidget *p=0, const char *n=0 );
88  ~ConditionEditWidget();
89  QWidget *createWidget( QWidget * );
90  void updateRule( KScoringRule * );
91  void clearWidget( QWidget * );
92 
93  public Q_SLOTS:
94  void slotEditRule( KScoringRule * );
95 
96  private:
97  KScoringManager *manager;
98 };
99 
103 class SingleActionWidget : public QWidget
104 {
105  Q_OBJECT
106  friend class ActionEditWidget;
107 
108  public:
109  explicit SingleActionWidget( KScoringManager *m, QWidget *p=0, const char *n=0 );
110  ~SingleActionWidget();
111  void setAction( ActionBase * );
112  ActionBase *createAction() const;
113  void clear();
114 
115  private:
117  KComboBox *types;
119  QStackedWidget *stack;
121  KLineEdit *notifyEditor;
123  KIntSpinBox *scoreEditor;
125  KColorCombo *colorEditor;
127  QLabel *dummyLabel;
128 
129  KScoringManager *manager;
130 };
131 
134 class KNODE_EXPORT ActionEditWidget : public KWidgetLister
135 {
136  Q_OBJECT
137  public:
138  explicit ActionEditWidget( KScoringManager *m, QWidget *p=0, const char *n=0 );
139  ~ActionEditWidget();
140  QWidget *createWidget( QWidget *parent );
141  void updateRule( KScoringRule * );
142  void clearWidget( QWidget * );
143 
144  public Q_SLOTS:
145  void slotEditRule( KScoringRule * );
146 
147  private:
148  KScoringManager *manager;
149 };
150 
153 class RuleEditWidget : public QWidget
154 {
155  Q_OBJECT
156  public:
157  explicit RuleEditWidget( KScoringManager *m, QWidget *p=0, const char *n=0 );
158  ~RuleEditWidget();
159 
160  public Q_SLOTS:
161  void setDirty();
162  void slotEditRule( const QString & );
163  void updateRule( KScoringRule * );
164  void updateRule();
165 
166  Q_SIGNALS:
167  void shrink();
168 
169  protected Q_SLOTS:
170  void slotAddGroup();
171  void slotShrink();
172 
173  private Q_SLOTS:
174  void slotExpireEditChanged( int value );
175 
176  private:
177  void clearContents();
178 
179  bool dirty;
181  KLineEdit *ruleNameEdit;
183  KLineEdit *groupsEdit;
185  KComboBox *groupsBox;
187  QCheckBox *expireCheck;
189  QLabel *expireLabel;
191  KIntSpinBox *expireEdit;
193  QRadioButton *linkModeOr, *linkModeAnd;
195  ActionEditWidget *actionEditor;
197  ConditionEditWidget *condEditor;
198 
199  KScoringManager *manager;
200 
201  // the old name of the current rule
202  QString oldRuleName;
203 };
204 
208 class KNODE_EXPORT RuleListWidget : public QWidget
209 {
210  Q_OBJECT
211  public:
212  explicit RuleListWidget( KScoringManager *m, bool=false, QWidget *p=0, const char *n=0 );
213  ~RuleListWidget();
214  QString currentRule() const { return ruleList->currentText(); }
215 
216  protected:
217  void updateButton();
218 
219  Q_SIGNALS:
220  void ruleSelected( const QString & );
221  void ruleEdited( const QString & );
222  void leavingRule();
223 
224  public Q_SLOTS:
225  void slotRuleSelected( const QString & );
226  void slotRuleSelected( Q3ListBoxItem * );
227  void slotRuleSelected( int );
228  void updateRuleList();
229  void updateRuleList( const KScoringRule * );
230  void slotRuleNameChanged( const QString &, const QString & );
231 
232  protected Q_SLOTS:
233  void slotGroupFilter( const QString & );
234  void slotEditRule( Q3ListBoxItem * );
235  void slotEditRule( const QString & );
236  void slotEditRule();
237  void slotDelRule();
238  void slotNewRule();
239  void slotCopyRule();
240  void slotRuleUp();
241  void slotRuleDown();
242 
243  private:
245  K3ListBox *ruleList;
247  QString group;
249  bool alone;
250 
251  KScoringManager *manager;
252 
253  QPushButton *editRule;
254  QPushButton *newRule;
255  QPushButton *delRule;
256  QPushButton *copyRule;
257  QPushButton *mRuleUp;
258  QPushButton *mRuleDown;
259 };
260 
261 class KNODE_EXPORT KScoringEditor : public KDialog
262 {
263  Q_OBJECT
264  public:
265  ~KScoringEditor();
266  void setRule( KScoringRule * );
267  static KScoringEditor *createEditor( KScoringManager *m, QWidget *parent=0 );
268  static KScoringEditor *editor() { return scoreEditor; }
269  void setDirty();
270 
271  protected:
272  KScoringEditor( KScoringManager *m, QWidget *parent=0 );
273 
274  private:
276  RuleEditWidget *ruleEditor;
278  RuleListWidget *ruleLister;
279 
280  protected Q_SLOTS:
281  void slotShrink();
282  void slotDoShrink();
283  void slotApply();
284  void slotOk();
285  void slotCancel();
286  void slotFinished();
287 
288  private:
289  KScoringManager *manager;
290  ScoreEditWidget *edit;
292  static KScoringEditor *scoreEditor;
293 };
294 
295 class KScoringEditorWidgetDialog : public KDialog
296 {
297  Q_OBJECT
298  public:
299  KScoringEditorWidgetDialog( KScoringManager *m, const QString &rName, QWidget *parent=0 );
300 
301  protected Q_SLOTS:
302  void slotApply();
303  void slotOk();
304  void slotShrink();
305  void slotDoShrink();
306 
307  private:
308  RuleEditWidget *ruleEditor;
309  KScoringManager *manager;
310  QString ruleName;
311 };
312 
313 class KNODE_EXPORT KScoringEditorWidget : public QWidget
314 {
315  Q_OBJECT
316  public:
317  explicit KScoringEditorWidget( KScoringManager *m, QWidget *p=0, const char *n=0 );
318  ~KScoringEditorWidget();
319 
320  protected Q_SLOTS:
321  void slotRuleEdited( const QString & );
322 
323  private:
324  RuleListWidget *ruleLister;
325  KScoringManager *manager;
326 };
327 
328 }
329 
330 #endif // LIBKDEPIM_KSCORINGEDITOR_H
KPIM::ConditionEditWidget::clearWidget
void clearWidget(QWidget *)
Definition: kscoringeditor.cpp:180
kwidgetlister.h
KPIM::KScoringEditor::editor
static KScoringEditor * editor()
Definition: kscoringeditor.h:268
KPIM::SingleConditionWidget
this widget implements an editor for one condition.
Definition: kscoringeditor.h:50
KPIM::ConditionEditWidget::slotEditRule
void slotEditRule(KScoringRule *)
Definition: kscoringeditor.cpp:189
KPIM::KScoringEditor
Definition: kscoringeditor.h:261
QWidget
KPIM::ConditionEditWidget::createWidget
QWidget * createWidget(QWidget *)
Definition: kscoringeditor.cpp:175
KPIM::KWidgetLister
KPIM::RuleListWidget::currentRule
QString currentRule() const
Definition: kscoringeditor.h:214
KPIM::KScoringRule
Definition: kscoring.h:227
KPIM::SingleActionWidget::setAction
void setAction(ActionBase *)
Definition: kscoringeditor.cpp:291
KPIM::SingleActionWidget::~SingleActionWidget
~SingleActionWidget()
Definition: kscoringeditor.cpp:287
KDialog
KPIM::RuleEditWidget
This widget implements the rule editor.
Definition: kscoringeditor.h:153
KPIM::ActionBase
Base class for other Action classes.
Definition: kscoring.h:77
KPIM::ActionEditWidget
this widget implements the action editor
Definition: kscoringeditor.h:134
knode_export.h
KPIM::KScoringManager
Definition: kscoring.h:315
KPIM::SingleActionWidget::clear
void clear()
Definition: kscoringeditor.cpp:344
KPIM::KScoringExpression
Definition: kscoring.h:185
KPIM::KScoringEditorWidgetDialog
Definition: kscoringeditor.h:295
KPIM::RuleEditWidget::RuleEditWidget
RuleEditWidget(KScoringManager *m, QWidget *p=0, const char *n=0)
Definition: kscoringeditor.cpp:433
KPIM::RuleEditWidget::shrink
void shrink()
KPIM::KScoringEditorWidget
Definition: kscoringeditor.h:313
KPIM::RuleEditWidget::updateRule
void updateRule()
Definition: kscoringeditor.cpp:609
KPIM::RuleEditWidget::slotEditRule
void slotEditRule(const QString &)
Definition: kscoringeditor.cpp:541
KPIM::KScoringEditorWidgetDialog::KScoringEditorWidgetDialog
KScoringEditorWidgetDialog(KScoringManager *m, const QString &rName, QWidget *parent=0)
Definition: kscoringeditor.cpp:1059
KPIM::SingleActionWidget
this widget implements an editor for one action.
Definition: kscoringeditor.h:103
KPIM::KScoringEditorWidgetDialog::slotApply
void slotApply()
Definition: kscoringeditor.cpp:1080
KPIM::ConditionEditWidget::~ConditionEditWidget
~ConditionEditWidget()
Definition: kscoringeditor.cpp:172
KPIM::KScoringEditorWidgetDialog::slotShrink
void slotShrink()
Definition: kscoringeditor.cpp:1095
KLineEdit
kscoring.h
KPIM::ConditionEditWidget::updateRule
void updateRule(KScoringRule *)
Definition: kscoringeditor.cpp:211
KNODE_EXPORT
#define KNODE_EXPORT
Definition: knode_export.h:35
KPIM::ConditionEditWidget::ConditionEditWidget
ConditionEditWidget(KScoringManager *, QWidget *p=0, const char *n=0)
Definition: kscoringeditor.cpp:165
QLabel
KPIM::SingleActionWidget::SingleActionWidget
SingleActionWidget(KScoringManager *m, QWidget *p=0, const char *n=0)
Definition: kscoringeditor.cpp:230
KComboBox
KPIM::KScoringEditorWidgetDialog::slotOk
void slotOk()
Definition: kscoringeditor.cpp:1089
KPIM::ConditionEditWidget
this widget implements the conditions editor
Definition: kscoringeditor.h:83
KPIM::KScoringEditorWidgetDialog::slotDoShrink
void slotDoShrink()
Definition: kscoringeditor.cpp:1100
KPIM::RuleEditWidget::slotAddGroup
void slotAddGroup()
Definition: kscoringeditor.cpp:617
KPIM::RuleEditWidget::setDirty
void setDirty()
Definition: kscoringeditor.cpp:631
KPIM::RuleEditWidget::~RuleEditWidget
~RuleEditWidget()
Definition: kscoringeditor.cpp:537
QFrame
KPIM::RuleEditWidget::slotShrink
void slotShrink()
Definition: kscoringeditor.cpp:640
KPIM::SingleActionWidget::createAction
ActionBase * createAction() const
Definition: kscoringeditor.cpp:321
KPIM::RuleListWidget
This widget shows a list of rules with buttons for copy, delete aso.
Definition: kscoringeditor.h:208
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