From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kaddressbook/views/kaddressbooktableview.h | 115 +++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 kaddressbook/views/kaddressbooktableview.h (limited to 'kaddressbook/views/kaddressbooktableview.h') diff --git a/kaddressbook/views/kaddressbooktableview.h b/kaddressbook/views/kaddressbooktableview.h new file mode 100644 index 00000000..0d328ce8 --- /dev/null +++ b/kaddressbook/views/kaddressbooktableview.h @@ -0,0 +1,115 @@ +/* + This file is part of KAddressBook. + Copyright (c) 2002 Mike Pilone + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ + +#ifndef KADDRESSBOOKTABLEVIEW_H +#define KADDRESSBOOKTABLEVIEW_H + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#include "kaddressbookview.h" + +class QListViewItem; +class QListBox; +class QVBoxLayout; +class KConfig; +class KIMProxy; + +class ContactListViewItem; +class ContactListView; + +namespace KABC { class AddressBook; } + +/** + * This class is the table view for kaddressbook. This view is a KListView + * with multiple columns for the selected fields. + * + * @short Table View + * @author Don Sanders + * @version 0.1 + */ +class KAddressBookTableView : public KAddressBookView +{ +friend class ContactListView; + + Q_OBJECT + + public: + KAddressBookTableView( KAB::Core *core, QWidget *parent, + const char *name = 0 ); + virtual ~KAddressBookTableView(); + + virtual void refresh( const QString &uid = QString() ); + virtual QStringList selectedUids(); + virtual void setSelected( const QString &uid = QString(), bool selected = false ); + virtual void setFirstSelected( bool selected = true ); + virtual KABC::Field *sortField() const; + + virtual void readConfig( KConfig *config ); + virtual void writeConfig( KConfig *config ); + virtual QString type() const { return "Table"; } + + void scrollUp(); + void scrollDown(); + + public slots: + virtual void reconstructListView(); + + protected slots: + /** + Called whenever the user selects an addressee in the list view. + */ + void addresseeSelected(); + + /** + Called whenever the user executes an addressee. In terms of the + list view, this is probably a double click + */ + void addresseeExecuted( QListViewItem* ); + + /** + RBM menu called. + */ + void rmbClicked( KListView*, QListViewItem*, const QPoint& ); + + /** + * Called to update the presence of a single item + */ + void updatePresence( const QString &uid ); + + private: + QVBoxLayout *mMainLayout; + ContactListView *mListView; + KIMProxy *mIMProxy; +}; + +#endif -- cgit v1.2.3