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

kleopatra

  • sources
  • kde-4.12
  • kdepim
  • kleopatra
  • view
keytreeview.h
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset:4 -*-
2  view/keytreeview.h
3 
4  This file is part of Kleopatra, the KDE keymanager
5  Copyright (c) 2009 Klarälvdalens Datakonsult AB
6 
7  Kleopatra is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  Kleopatra is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 
21  In addition, as a special exception, the copyright holders give
22  permission to link the code of this program with any edition of
23  the Qt library by Trolltech AS, Norway (or with modified versions
24  of Qt that use the same license as Qt), and distribute linked
25  combinations including the two. You must obey the GNU General
26  Public License in all respects for all of the code used other than
27  Qt. If you modify this file, you may extend this exception to
28  your version of the file, but you are not obligated to do so. If
29  you do not wish to do so, delete this exception statement from
30  your version.
31 */
32 
33 #ifndef __KLEOPATRA_VIEW_KEYTREEVIEW_H__
34 #define __KLEOPATRA_VIEW_KEYTREEVIEW_H__
35 
36 #include <QWidget>
37 
38 #include <QString>
39 
40 #include <gpgme++/key.h>
41 
42 #include <boost/shared_ptr.hpp>
43 #include <vector>
44 
45 class QTreeView;
46 
47 namespace Kleo {
48 
49  class KeyFilter;
50  class AbstractKeyListModel;
51  class AbstractKeyListSortFilterProxyModel;
52  class KeyListSortFilterProxyModel;
53 
54  class KeyTreeView : public QWidget {
55  Q_OBJECT
56  public:
57  explicit KeyTreeView( QWidget * parent=0 );
58  KeyTreeView( const QString & stringFilter, const boost::shared_ptr<KeyFilter> & keyFilter,
59  AbstractKeyListSortFilterProxyModel * additionalProxy, QWidget * parent );
60  ~KeyTreeView();
61 
62  QTreeView * view() const { return m_view; }
63 
64  AbstractKeyListModel * model() const { return m_isHierarchical ? hierarchicalModel() : flatModel() ; }
65 
66  AbstractKeyListModel * flatModel() const { return m_flatModel; }
67  AbstractKeyListModel * hierarchicalModel() const { return m_hierarchicalModel; }
68 
69  void setFlatModel( AbstractKeyListModel * model );
70  void setHierarchicalModel( AbstractKeyListModel * model );
71 
72  void setKeys( const std::vector<GpgME::Key> & keys );
73  const std::vector<GpgME::Key> & keys() const { return m_keys; }
74 
75  void selectKeys( const std::vector<GpgME::Key> & keys );
76  std::vector<GpgME::Key> selectedKeys() const;
77 
78  void addKeysUnselected( const std::vector<GpgME::Key> & keys );
79  void addKeysSelected( const std::vector<GpgME::Key> & keys );
80  void removeKeys( const std::vector<GpgME::Key> & keys );
81 
82 #if 0
83  void setToolTipOptions( int options );
84  int toolTipOptions() const;
85 #endif
86 
87  QString stringFilter() const { return m_stringFilter; }
88  const boost::shared_ptr<KeyFilter> & keyFilter() const { return m_keyFilter; }
89  bool isHierarchicalView() const { return m_isHierarchical; }
90 
91  void setColumnSizes( const std::vector<int> & sizes );
92  std::vector<int> columnSizes() const;
93 
94  void setSortColumn( int sortColumn, Qt::SortOrder sortOrder );
95  int sortColumn() const;
96  Qt::SortOrder sortOrder() const;
97 
98  virtual KeyTreeView * clone() const { return new KeyTreeView( *this ); }
99 
100  void disconnectSearchBar( const QObject * bar );
101  bool connectSearchBar( const QObject * bar );
102 
103  public Q_SLOTS:
104  virtual void setStringFilter( const QString & text );
105  virtual void setKeyFilter( const boost::shared_ptr<Kleo::KeyFilter> & filter );
106  virtual void setHierarchicalView( bool on );
107 
108  Q_SIGNALS:
109  void stringFilterChanged( const QString & filter );
110  void keyFilterChanged( const boost::shared_ptr<Kleo::KeyFilter> & filter );
111  void hierarchicalChanged( bool on );
112 
113  protected:
114  KeyTreeView( const KeyTreeView & );
115 
116  private:
117  void init();
118  void addKeysImpl( const std::vector<GpgME::Key> &, bool );
119 
120  private:
121  std::vector<GpgME::Key> m_keys;
122 
123  KeyListSortFilterProxyModel * m_proxy;
124  AbstractKeyListSortFilterProxyModel * m_additionalProxy;
125 
126  QTreeView * m_view;
127 
128  AbstractKeyListModel * m_flatModel;
129  AbstractKeyListModel * m_hierarchicalModel;
130 
131  QString m_stringFilter;
132  boost::shared_ptr<KeyFilter> m_keyFilter;
133 
134  bool m_isHierarchical : 1;
135  };
136 
137 }
138 
139 #endif // __KLEOPATRA_VIEW_KEYTREEVIEW_H__
Kleo::KeyTreeView::connectSearchBar
bool connectSearchBar(const QObject *bar)
Definition: keytreeview.cpp:376
Kleo::KeyTreeView::sortColumn
int sortColumn() const
Definition: keytreeview.cpp:134
Kleo::KeyTreeView::addKeysUnselected
void addKeysUnselected(const std::vector< GpgME::Key > &keys)
Definition: keytreeview.cpp:333
Kleo::KeyTreeView::keys
const std::vector< GpgME::Key > & keys() const
Definition: keytreeview.h:73
Kleo::KeyTreeView
Definition: keytreeview.h:54
Kleo::KeyTreeView::model
AbstractKeyListModel * model() const
Definition: keytreeview.h:64
Kleo::KeyTreeView::stringFilterChanged
void stringFilterChanged(const QString &filter)
Kleo::KeyTreeView::disconnectSearchBar
void disconnectSearchBar(const QObject *bar)
Definition: keytreeview.cpp:369
Kleo::KeyTreeView::KeyTreeView
KeyTreeView(QWidget *parent=0)
Definition: keytreeview.cpp:74
Kleo::KeyTreeView::isHierarchicalView
bool isHierarchicalView() const
Definition: keytreeview.h:89
Kleo::KeyTreeView::~KeyTreeView
~KeyTreeView()
Definition: keytreeview.cpp:196
Kleo::KeyTreeView::keyFilter
const boost::shared_ptr< KeyFilter > & keyFilter() const
Definition: keytreeview.h:88
QWidget
Kleo::KeyTreeView::clone
virtual KeyTreeView * clone() const
Definition: keytreeview.h:98
Kleo::KeyTreeView::selectKeys
void selectKeys(const std::vector< GpgME::Key > &keys)
Definition: keytreeview.cpp:254
Kleo::KeyTreeView::setSortColumn
void setSortColumn(int sortColumn, Qt::SortOrder sortOrder)
Definition: keytreeview.cpp:129
Kleo::KeyTreeView::addKeysSelected
void addKeysSelected(const std::vector< GpgME::Key > &keys)
Definition: keytreeview.cpp:329
boost::shared_ptr< KeyFilter >
Kleo::KeyTreeView::stringFilter
QString stringFilter() const
Definition: keytreeview.h:87
Kleo::KeyTreeView::setFlatModel
void setFlatModel(AbstractKeyListModel *model)
Definition: keytreeview.cpp:205
Kleo::KeyTreeView::setColumnSizes
void setColumnSizes(const std::vector< int > &sizes)
Definition: keytreeview.cpp:119
Kleo::AbstractKeyListSortFilterProxyModel
Definition: keylistsortfilterproxymodel.h:51
Kleo::KeyTreeView::setHierarchicalModel
void setHierarchicalModel(AbstractKeyListModel *model)
Definition: keytreeview.cpp:214
Kleo::AbstractKeyListModel
Definition: keylistmodel.h:49
Kleo::KeyTreeView::selectedKeys
std::vector< GpgME::Key > selectedKeys() const
Definition: keytreeview.cpp:258
Kleo::KeyTreeView::hierarchicalModel
AbstractKeyListModel * hierarchicalModel() const
Definition: keytreeview.h:67
Kleo::KeyTreeView::columnSizes
std::vector< int > columnSizes() const
Definition: keytreeview.cpp:146
Kleo::KeyListSortFilterProxyModel
Definition: keylistsortfilterproxymodel.h:72
Kleo::KeyTreeView::flatModel
AbstractKeyListModel * flatModel() const
Definition: keytreeview.h:66
Kleo::KeyTreeView::setHierarchicalView
virtual void setHierarchicalView(bool on)
Definition: keytreeview.cpp:262
Kleo::KeyTreeView::removeKeys
void removeKeys(const std::vector< GpgME::Key > &keys)
Definition: keytreeview.cpp:337
Kleo::KeyTreeView::setKeyFilter
virtual void setKeyFilter(const boost::shared_ptr< Kleo::KeyFilter > &filter)
Definition: keytreeview.cpp:236
Kleo::KeyTreeView::keyFilterChanged
void keyFilterChanged(const boost::shared_ptr< Kleo::KeyFilter > &filter)
Kleo::KeyTreeView::view
QTreeView * view() const
Definition: keytreeview.h:62
Kleo::KeyTreeView::sortOrder
Qt::SortOrder sortOrder() const
Definition: keytreeview.cpp:140
Kleo::KeyTreeView::setKeys
void setKeys(const std::vector< GpgME::Key > &keys)
Definition: keytreeview.cpp:291
Kleo::KeyTreeView::hierarchicalChanged
void hierarchicalChanged(bool on)
Kleo::KeyTreeView::setStringFilter
virtual void setStringFilter(const QString &text)
Definition: keytreeview.cpp:228
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:41 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kleopatra

Skip menu "kleopatra"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

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