• 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
knsearchdialog.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 <QCheckBox>
16 
17 #include <klocale.h>
18 #include <kiconloader.h>
19 #include <kvbox.h>
20 
21 #include "knfilterconfigwidget.h"
22 #include "knarticlefilter.h"
23 #include "utilities.h"
24 #include "knsearchdialog.h"
25 
26 using namespace KNode;
27 
28 KNode::SearchDialog::SearchDialog( searchType type, QWidget *parent ) :
29  KDialog( parent )
30 {
31  Q_UNUSED( type );
32  setCaption( i18n("Find Articles") );
33  setButtons( User1 | User2 | Close );
34  setModal( false );
35  setDefaultButton( User1 );
36 
37  setWindowIcon( KIcon("knode") );
38  setButtonsOrientation( Qt::Vertical );
39  setButtonGuiItem( User1, KGuiItem( i18n("&Search"), "edit-find" ) );
40  setButtonGuiItem( User2, KGuiItem( i18n("C&lear"), "edit-clear" ) );
41 
42  connect( this, SIGNAL(closeClicked()), SLOT(slotClose()) );
43  connect( this, SIGNAL(user1Clicked()), SLOT(slotUser1()) );
44  connect( this, SIGNAL(user2Clicked()), SLOT(slotUser2()) );
45 
46  KVBox *filterBox = new KVBox( this );
47  setMainWidget( filterBox );
48 
49  completeThreads = new QCheckBox( i18n("Sho&w complete threads"), filterBox );
50  fcw = new KNFilterConfigWidget( filterBox );
51  fcw->reset();
52 
53  f_ilter = new KNArticleFilter();
54  f_ilter->setLoaded( true );
55  f_ilter->setSearchFilter( true );
56 
57  setFixedHeight( sizeHint().height() );
58  KNHelper::restoreWindowSize( "searchDlg", this, sizeHint() );
59  fcw->setStartFocus();
60 }
61 
62 
63 
64 KNode::SearchDialog::~SearchDialog()
65 {
66  delete f_ilter;
67  KNHelper::saveWindowSize("searchDlg", size());
68 }
69 
70 
71 void KNode::SearchDialog::slotUser1()
72 {
73  f_ilter->status=fcw->status->filter();
74  f_ilter->score=fcw->score->filter();
75  f_ilter->age=fcw->age->filter();
76  f_ilter->lines=fcw->lines->filter();
77  f_ilter->subject=fcw->subject->filter();
78  f_ilter->from=fcw->from->filter();
79  f_ilter->messageId=fcw->messageId->filter();
80  f_ilter->references=fcw->references->filter();
81  f_ilter->setApplyOn(completeThreads->isChecked()? 1:0);
82  emit doSearch(f_ilter);
83 }
84 
85 
86 
87 void KNode::SearchDialog::slotUser2()
88 {
89  fcw->reset();
90 }
91 
92 
93 
94 void KNode::SearchDialog::slotClose()
95 {
96  emit dialogDone();
97 }
98 
99 
100 void KNode::SearchDialog::closeEvent( QCloseEvent * )
101 {
102  emit dialogDone();
103 }
104 
105 
106 #include "knsearchdialog.moc"
KNode::SearchDialog::~SearchDialog
~SearchDialog()
Definition: knsearchdialog.cpp:64
KVBox
KNHelper::saveWindowSize
static void saveWindowSize(const QString &name, const QSize &s)
Definition: utilities.cpp:205
utilities.h
QWidget
KNHelper::restoreWindowSize
static void restoreWindowSize(const QString &name, QWidget *d, const QSize &defaultSize)
Definition: utilities.cpp:212
KDialog
KNFilterConfigWidget
Filter configuration widget.
Definition: knfilterconfigwidget.h:28
KNode::SearchDialog::slotUser1
void slotUser1()
Search button clicked.
Definition: knsearchdialog.cpp:71
KNArticleFilter::setLoaded
void setLoaded(bool l)
Definition: knarticlefilter.h:63
KNode::SearchDialog::completeThreads
QCheckBox * completeThreads
Definition: knsearchdialog.h:46
KNode::SearchDialog::fcw
KNFilterConfigWidget * fcw
Definition: knsearchdialog.h:45
KNArticleFilter
Article filter.
Definition: knarticlefilter.h:33
knsearchdialog.h
KNode::SearchDialog::f_ilter
KNArticleFilter * f_ilter
Definition: knsearchdialog.h:47
knfilterconfigwidget.h
KNode::SearchDialog::closeEvent
void closeEvent(QCloseEvent *e)
Definition: knsearchdialog.cpp:100
KNode::SearchDialog::SearchDialog
SearchDialog(searchType t=STgroupSearch, QWidget *parent=0)
Create a new article search dialog.
Definition: knsearchdialog.cpp:28
KNFilterConfigWidget::setStartFocus
void setStartFocus()
useablity hack for the search dialog
Definition: knfilterconfigwidget.cpp:92
KNode::SearchDialog::searchType
searchType
Definition: knsearchdialog.h:33
KNArticleFilter::setSearchFilter
void setSearchFilter(bool b)
Definition: knarticlefilter.h:68
KNode::SearchDialog::slotUser2
void slotUser2()
Clear button clicked.
Definition: knsearchdialog.cpp:87
KNFilterConfigWidget::reset
void reset()
Definition: knfilterconfigwidget.cpp:79
KNode::SearchDialog::slotClose
void slotClose()
Definition: knsearchdialog.cpp:94
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