kbookmarkmenu.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __kbookmarkmenu_h__
00021 #define __kbookmarkmenu_h__
00022
00023 #include <qptrlist.h>
00024 #include <qptrstack.h>
00025 #include <qobject.h>
00026 #include <sys/types.h>
00027 #include "kbookmark.h"
00028 #include "kbookmarkmanager.h"
00029
00030 class QString;
00031 class KBookmark;
00032 class KAction;
00033 class KActionMenu;
00034 class KActionCollection;
00035 class KBookmarkOwner;
00036 class KBookmarkMenu;
00037 class KPopupMenu;
00038 namespace KIO { class Job; }
00039
00064 class KBookmarkMenu : public QObject
00065 {
00066 Q_OBJECT
00067 friend class KBookmarkMenuNSImporter;
00068 public:
00086 KBookmarkMenu( KBookmarkManager* mgr,
00087 KBookmarkOwner * owner, KPopupMenu * parentMenu,
00088 KActionCollection * collec, bool root, bool add = true,
00089 const QString & parentAddress = "" );
00090
00091 ~KBookmarkMenu();
00092
00098 void fillBookmarkMenu();
00099
00103 void ensureUpToDate();
00104
00105 public slots:
00106 void slotBookmarksChanged(const QString &);
00107
00108 protected slots:
00109 void slotAboutToShow();
00110 void slotBookmarkSelected();
00111 void slotAddBookmark();
00112 void slotNewFolder();
00113 void slotNSBookmarkSelected();
00117 void slotNSLoad();
00118
00119 protected:
00120
00121 void refill();
00122 void addAddBookmark();
00123 void addEditBookmarks();
00124 void addNewFolder();
00125
00126 bool m_bIsRoot:1;
00127 bool m_bAddBookmark:1;
00128 bool m_bDirty:1;
00129 bool m_bNSBookmark:1;
00130
00131 KBookmarkManager* m_pManager;
00132 KBookmarkOwner *m_pOwner;
00137 KPopupMenu * m_parentMenu;
00141 QPtrList<KBookmarkMenu> m_lstSubMenus;
00142 KActionCollection * m_actionCollection;
00146 QPtrList<KAction> m_actions;
00150 QString m_parentAddress;
00151 };
00152
00156 class KBookmarkMenuNSImporter : public QObject
00157 {
00158 Q_OBJECT
00159 public:
00160 KBookmarkMenuNSImporter( KBookmarkManager* mgr, KBookmarkMenu * menu, KActionCollection * act ) :
00161 m_menu(menu), m_actionCollection(act), m_pManager(mgr) {}
00162
00163 void openNSBookmarks();
00164
00165 protected slots:
00166 void newBookmark( const QString & text, const QCString & url, const QString & );
00167 void newFolder( const QString & text, bool, const QString & );
00168 void newSeparator();
00169 void endFolder();
00170
00171 protected:
00172 QPtrStack<KBookmarkMenu> mstack;
00173 KBookmarkMenu * m_menu;
00174 KActionCollection * m_actionCollection;
00175 KBookmarkManager* m_pManager;
00176 };
00177
00178 #endif
This file is part of the documentation for kdelibs Version 3.1.5.