libkdepim Library API Documentation

completionordereditor.h

00001 
00031 #ifndef COMPLETIONORDEREDITOR_H
00032 #define COMPLETIONORDEREDITOR_H
00033 
00034 #include <kdialogbase.h>
00035 #include <kconfig.h>
00036 
00037 class QToolButton;
00038 class QCheckBox;
00039 class QHBox;
00040 class KListView;
00041 namespace KPIM {
00042 
00043 class LdapSearch;
00044 class CompletionOrderEditor;
00045 
00046 // Base class for items in the list
00047 class CompletionItem
00048 {
00049 public:
00050   virtual ~CompletionItem() {}
00051   virtual QString label() const = 0;
00052   virtual int completionWeight() const = 0;
00053   virtual void setCompletionWeight( int weight ) = 0;
00054   virtual void save( CompletionOrderEditor* ) = 0;
00055 };
00056 
00057 
00058 // I don't like QPtrList much, but it has compareItems, which QValueList doesn't
00059 class CompletionItemList : public QPtrList<CompletionItem>
00060 {
00061 public:
00062   CompletionItemList() {}
00063   virtual int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 );
00064 };
00065 
00066 class CompletionOrderEditor : public KDialogBase {
00067   Q_OBJECT
00068 
00069 public:
00070   CompletionOrderEditor( KPIM::LdapSearch* ldapSearch, QWidget* parent, const char* name = 0 );
00071   ~CompletionOrderEditor();
00072 
00073   KConfig* configFile() { return &mConfig; }
00074 
00075 private slots:
00076   void slotSelectionChanged( QListViewItem* );
00077   void slotMoveUp();
00078   void slotMoveDown();
00079   void slotUseSortedInsteadOfWeightedToggled( bool on );
00080   virtual void slotOk();
00081 
00082 private:
00083   KConfig mConfig;
00084   CompletionItemList mItems;
00085   KListView* mListView;
00086   QToolButton* mUpButton;
00087   QToolButton* mDownButton;
00088   QCheckBox* mUseSortedInsteadOfWeighted;
00089   QHBox* mListViewAndButtons;
00090 
00091   bool mDirty;
00092 };
00093 
00094 } // namespace
00095 
00096 #endif /* COMPLETIONORDEREDITOR_H */
00097 
KDE Logo
This file is part of the documentation for libkdepim Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Aug 23 18:19:45 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003