kbookmarkmenu.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef __kbookmarkmenu_h__
00023
#define __kbookmarkmenu_h__
00024
00025
#include <sys/types.h>
00026
00027
#include <qptrlist.h>
00028
#include <qptrstack.h>
00029
#include <qobject.h>
00030
#include <qlistview.h>
00031
00032
#include <kdialogbase.h>
00033
#include <klocale.h>
00034
00035
#include "kbookmark.h"
00036
#include "kbookmarkmanager.h"
00037
00038
class QString;
00039
class QPopupMenu;
00040
class QPushButton;
00041
class QListView;
00042
class KLineEdit;
00043
class KBookmark;
00044
class KBookmarkGroup;
00045
class KAction;
00046
class KActionMenu;
00047
class KActionCollection;
00048
class KBookmarkOwner;
00049
class KBookmarkMenu;
00050
class KPopupMenu;
00051
00052 namespace KIO {
class Job; }
00053
00078 class KBookmarkMenu :
public QObject
00079 {
00080 Q_OBJECT
00081
friend class KBookmarkMenuNSImporter;
00082
friend class RMB;
00083
public:
00102
KBookmarkMenu(
KBookmarkManager* mgr,
00103
KBookmarkOwner * owner,
KPopupMenu * parentMenu,
00104
KActionCollection * collec,
bool root,
bool add =
true,
00105
const QString & parentAddress =
"" );
00106
00107 ~
KBookmarkMenu();
00108
00114
void fillBookmarkMenu();
00115
00120
void ensureUpToDate();
00121
00127
00128 struct DynMenuInfo {
00129
bool show;
00130
QString location;
00131
QString type;
00132
QString name;
00133
class DynMenuInfoPrivate *d;
00134 };
00135
00140
static DynMenuInfo showDynamicBookmarks(
const QString &
id );
00141
00150
static void setDynamicBookmarks(
const QString &
id,
const DynMenuInfo &info );
00151
00156
static QStringList dynamicBookmarksList();
00157
00158 signals:
00159
void aboutToShowContextMenu(
const KBookmark &,
QPopupMenu * );
00160
00161
public slots:
00162
void slotBookmarksChanged(
const QString & );
00163
00164
protected slots:
00165
void slotAboutToShow();
00166
void slotAboutToShowContextMenu(
KPopupMenu *,
int,
QPopupMenu * );
00167
void slotActionHighlighted(
KAction * );
00168
00169
void slotRMBActionRemove(
int );
00170
void slotRMBActionInsert(
int );
00171
void slotRMBActionCopyLocation(
int );
00172
void slotRMBActionEditAt(
int );
00173
void slotRMBActionProperties(
int );
00174
00175
void slotBookmarkSelected();
00176
void slotAddBookmarksList();
00177
void slotAddBookmark();
00178
void slotNewFolder();
00179
00183
void slotNSLoad();
00184
00185
protected:
00186
KExtendedBookmarkOwner* extOwner();
00187
void refill();
00188
void addAddBookmark();
00189
void addAddBookmarksList();
00190
void addEditBookmarks();
00191
void addNewFolder();
00192
00193
void fillContextMenu(
QPopupMenu *,
const QString &,
int );
00194
00195
bool m_bIsRoot:1;
00196
bool m_bAddBookmark:1;
00197
bool m_bDirty:1;
00198
bool m_bNSBookmark:1;
00199
bool m_bAddShortcuts:1;
00200
00201
KBookmarkManager * m_pManager;
00202
KBookmarkOwner *m_pOwner;
00207 KPopupMenu *
m_parentMenu;
00211 QPtrList<KBookmarkMenu> m_lstSubMenus;
00212
KActionCollection * m_actionCollection;
00216 QPtrList<KAction> m_actions;
00220 QString m_parentAddress;
00221
00222
00223
static QString s_highlightedAddress;
00224
static QString s_highlightedImportLocation;
00225
static QString s_highlightedImportType;
00226 };
00227
00231 class KBookmarkMenuNSImporter :
public QObject
00232 {
00233 Q_OBJECT
00234
public:
00235
KBookmarkMenuNSImporter(
KBookmarkManager* mgr,
KBookmarkMenu * menu,
KActionCollection * act ) :
00236 m_menu(menu), m_actionCollection(act), m_pManager(mgr) {}
00237
00238
void openNSBookmarks();
00239
void openBookmarks(
const QString &location,
const QString &type );
00240
void connectToImporter(
const QObject &importer );
00241
00242
protected slots:
00243
void newBookmark(
const QString & text,
const QCString & url,
const QString & );
00244
void newFolder(
const QString & text,
bool,
const QString & );
00245
void newSeparator();
00246
void endFolder();
00247
00248
protected:
00249
QPtrStack<KBookmarkMenu> mstack;
00250
KBookmarkMenu * m_menu;
00251
KActionCollection * m_actionCollection;
00252
KBookmarkManager* m_pManager;
00253 };
00254
00255
#endif
This file is part of the documentation for kio Library Version 3.2.3.