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