00001
00002
00003 #ifndef KONSOLEBOOKMARKHANDLER_H
00004 #define KONSOLEBOOKMARKHANDLER_H
00005
00006 #include <kbookmarkmanager.h>
00007 #include "konsolebookmarkmenu.h"
00008
00009
00010 class TQTextStream;
00011 class KPopupMenu;
00012 class KonsoleBookmarkMenu;
00013 class KonsoleMenu;
00014
00015 class KonsoleBookmarkHandler : public TQObject, public KBookmarkOwner
00016 {
00017 Q_OBJECT
00018
00019 public:
00020 KonsoleBookmarkHandler( KonsoleMenu *konsole, bool toplevel );
00021
00022 TQPopupMenu * popupMenu();
00023
00024
00025 virtual void openBookmarkURL( const TQString& url, const TQString& title )
00026 { emit openURL( url, title ); }
00027 virtual TQString currentURL() const;
00028
00029 KPopupMenu *menu() const { return m_menu; }
00030
00031 signals:
00032 void openURL( const TQString& url, const TQString& title );
00033
00034 private slots:
00035
00036 void slotNewBookmark( const TQString& text, const TQCString& url,
00037 const TQString& additionalInfo );
00038 void slotNewFolder( const TQString& text, bool open,
00039 const TQString& additionalInfo );
00040 void slotBookmarksChanged( const TQString &, const TQString & caller );
00041 void newSeparator();
00042 void endFolder();
00043
00044 private:
00045 void importOldBookmarks( const TQString& path, const TQString& destinationPath );
00046
00047 KonsoleMenu *m_konsole;
00048 KPopupMenu *m_menu;
00049 KonsoleBookmarkMenu *m_bookmarkMenu;
00050 TQTextStream *m_importStream;
00051
00052 protected:
00053 virtual void virtual_hook( int id, void* data );
00054 private:
00055 class KonsoleBookmarkHandlerPrivate;
00056 KonsoleBookmarkHandlerPrivate *d;
00057 };
00058
00059
00060 #endif // KONSOLEBOOKMARKHANDLER_H