kbookmarkbar.h
00001 // -*- c-basic-offset:4; indent-tabs-mode:nil -*- 00002 // vim: set ts=4 sts=4 sw=4 et: 00003 /* This file is part of the KDE project 00004 Copyright (C) 1999 Kurt Granroth <granroth@kde.org> 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License as published by the Free Software Foundation; either 00009 version 2 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Library General Public License for more details. 00015 00016 You should have received a copy of the GNU Library General Public License 00017 along with this library; see the file COPYING.LIB. If not, write to 00018 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. 00020 */ 00021 #ifndef KBOOKMARKBAR_H 00022 #define KBOOKMARKBAR_H 00023 00024 #include <tqobject.h> 00025 #include <tqguardedptr.h> 00026 #include <tqptrlist.h> 00027 #include <kbookmark.h> 00028 #include <kaction.h> 00029 00030 class KToolBar; 00031 class KBookmarkMenu; 00032 class KBookmarkOwner; 00033 class KActionCollection; 00034 class KAction; 00035 class TQPopupMenu; 00036 00042 class KIO_EXPORT KBookmarkBar : public TQObject 00043 { 00044 Q_OBJECT 00045 TQ_OBJECT 00046 friend class RMB; 00047 public: 00060 KBookmarkBar( KBookmarkManager* manager, 00061 KBookmarkOwner *owner, KToolBar *toolBar, 00062 KActionCollection *, 00063 TQObject *parent = 0L, const char *name = 0L); 00064 00065 virtual ~KBookmarkBar(); 00066 00070 bool isReadOnly() const; 00071 00075 void setReadOnly(bool); 00076 00080 TQString parentAddress(); 00081 00082 signals: 00086 void aboutToShowContextMenu( const KBookmark &, TQPopupMenu * ); 00090 void openBookmark( const TQString& url, TQt::ButtonState state ); 00091 00092 public slots: 00093 void clear(); 00094 00095 void slotBookmarksChanged( const TQString & ); 00096 void slotBookmarkSelected(); 00097 00101 void slotBookmarkSelected( KAction::ActivationReason reason, TQt::ButtonState state ); 00102 00104 void slotRMBActionRemove( int ); 00106 void slotRMBActionInsert( int ); 00108 void slotRMBActionCopyLocation( int ); 00110 void slotRMBActionEditAt( int ); 00112 void slotRMBActionProperties( int ); 00113 00114 protected: 00115 void fillBookmarkBar( KBookmarkGroup & parent ); 00116 virtual bool eventFilter( TQObject *o, TQEvent *e ); 00117 00118 private: 00119 KBookmarkGroup getToolbar(); 00120 00121 KBookmarkOwner *m_pOwner; 00122 TQGuardedPtr<KToolBar> m_toolBar; 00123 KActionCollection *m_actionCollection; 00124 KBookmarkManager *m_pManager; 00125 TQPtrList<KBookmarkMenu> m_lstSubMenus; 00126 00127 private: 00128 class KBookmarkBarPrivate* dptr() const; 00129 }; 00130 00131 #endif // KBOOKMARKBAR_H