viewmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef VIEWMANAGER_H
00025 #define VIEWMANAGER_H
00026
00027 #include <qdict.h>
00028 #include <qwidget.h>
00029 #include <kaddressbookview.h>
00030
00031 class QDropEvent;
00032 class QWidgetStack;
00033
00034 class KAction;
00035 class KSelectAction;
00036
00037 class FilterSelectionWidget;
00038
00039 namespace KAB { class Core; }
00040 namespace KABC { class AddressBook; }
00041
00050 class ViewManager : public QWidget
00051 {
00052 Q_OBJECT
00053
00054 public:
00055 ViewManager( KAB::Core *core, QWidget *parent, const char *name = 0 );
00056 ~ViewManager();
00057
00058 void restoreSettings();
00059 void saveSettings();
00060
00061 void unloadViews();
00062
00063 QStringList selectedUids() const;
00064 QStringList selectedEmails() const;
00065 KABC::Addressee::List selectedAddressees() const;
00066
00067 void setFilterSelectionWidget( FilterSelectionWidget *wdg );
00068
00069 KABC::Field *currentSortField() const;
00070
00071 public slots:
00072 void setSelected( const QString &uid = QString::null, bool selected = true );
00073
00074 void refreshView( const QString &uid = QString::null );
00075 void editView();
00076 void deleteView();
00077 void addView();
00078
00079 protected slots:
00085 void dropped( QDropEvent* );
00086
00092 void startDrag();
00093
00094 signals:
00098 void selected( const QString &uid );
00099
00103 void executed( const QString &uid );
00104
00108 void modified();
00109
00113 void urlDropped( const KURL& );
00114
00118 void sortFieldChanged();
00119
00120 private slots:
00121 void setActiveView( const QString &name );
00122 void setActiveFilter( int index );
00123 void configureFilters();
00124
00125 private:
00126 void createViewFactories();
00127 QStringList filterNames() const;
00128 int filterPosition( const QString &name ) const;
00129 QStringList viewNames() const;
00130 int viewPosition( const QString &name ) const;
00131 void initActions();
00132 void initGUI();
00133
00134 KAB::Core *mCore;
00135
00136 Filter mCurrentFilter;
00137 Filter::List mFilterList;
00138
00139 QDict<KAddressBookView> mViewDict;
00140 QDict<ViewFactory> mViewFactoryDict;
00141 QStringList mViewNameList;
00142
00143 QWidgetStack *mViewWidgetStack;
00144 KAddressBookView *mActiveView;
00145
00146 KAction *mActionDeleteView;
00147 KSelectAction *mActionSelectView;
00148
00149 FilterSelectionWidget *mFilterSelectionWidget;
00150 };
00151
00152 #endif
This file is part of the documentation for kaddressbook Library Version 3.2.2.