kaddressbook
viewmanager.h00001
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 <tqdict.h>
00028 #include <tqwidget.h>
00029 #include <kaddressbookview.h>
00030
00031 class TQDropEvent;
00032 class TQWidgetStack;
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, TQWidget *parent, const char *name = 0 );
00056 ~ViewManager();
00057
00058 void restoreSettings();
00059 void saveSettings();
00060
00061 void unloadViews();
00062
00063 TQStringList selectedUids() const;
00064 TQStringList selectedEmails() const;
00065 KABC::Addressee::List selectedAddressees() const;
00066
00067 void setFilterSelectionWidget( FilterSelectionWidget *wdg );
00068
00069 KABC::Field *currentSortField() const;
00070 KABC::Field::List viewFields() const;
00071
00072 public slots:
00073 void setSelected( const TQString &uid = TQString::null, bool selected = true );
00074 void setFirstSelected( bool selected = true );
00075
00076 void refreshView( const TQString &uid = TQString::null );
00077 void editView();
00078 void deleteView();
00079 void addView();
00080
00081 void scrollUp();
00082 void scrollDown();
00083
00084 protected slots:
00090 void dropped( TQDropEvent* );
00091
00097 void startDrag();
00098
00099 signals:
00103 void selected( const TQString &uid );
00104
00108 void executed( const TQString &uid );
00109
00113 void modified();
00114
00118 void urlDropped( const KURL& );
00119
00123 void sortFieldChanged();
00124
00128 void viewFieldsChanged();
00129
00130 private slots:
00131 void setActiveView( const TQString &name );
00132 void setActiveFilter( int index );
00133 void configureFilters();
00134
00135 private:
00136 void createViewFactories();
00137 TQStringList filterNames() const;
00138 int filterPosition( const TQString &name ) const;
00139 TQStringList viewNames() const;
00140 int viewPosition( const TQString &name ) const;
00141 void initActions();
00142 void initGUI();
00143
00144 KAB::Core *mCore;
00145
00146 Filter mCurrentFilter;
00147 Filter::List mFilterList;
00148
00149 TQDict<KAddressBookView> mViewDict;
00150 TQDict<ViewFactory> mViewFactoryDict;
00151 TQStringList mViewNameList;
00152
00153 TQWidgetStack *mViewWidgetStack;
00154 KAddressBookView *mActiveView;
00155
00156 KAction *mActionDeleteView;
00157 KSelectAction *mActionSelectView;
00158
00159 FilterSelectionWidget *mFilterSelectionWidget;
00160 };
00161
00162 #endif
|