00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __KATE_BOOKMARKS_H__
00021
#define __KATE_BOOKMARKS_H__
00022
00023
#include <qobject.h>
00024
#include <qptrlist.h>
00025
00026
class KateView;
00027
00028
namespace KTextEditor {
class Mark; }
00029
00030
namespace Kate {
class View; }
00031
00032
class KAction;
00033
class KToggleAction;
00034
class KActionCollection;
00035
class QPopupMenu;
00036
class QMenuData;
00037
00038
class KateBookmarks :
public QObject
00039 {
00040 Q_OBJECT
00041
00042
public:
00043
enum Sorting { Position, Creation };
00044 KateBookmarks( KateView* parent, Sorting sort=Position );
00045
virtual ~KateBookmarks();
00046
00047
void createActions(
KActionCollection* );
00048
00049 KateBookmarks::Sorting sorting() {
return m_sorting; };
00050
void setSorting( Sorting s ) { m_sorting = s; };
00051
00052
protected:
00053
void insertBookmarks(
QPopupMenu& menu);
00054
00055
private slots:
00056
void toggleBookmark();
00057
void clearBookmarks();
00058
00059
void slotViewGotFocus(
Kate::View * );
00060
void slotViewLostFocus(
Kate::View * );
00061
00062
void bookmarkMenuAboutToShow();
00063
void bookmarkMenuAboutToHide();
00064
00065
void goNext();
00066
void goPrevious();
00067
00068
void marksChanged ();
00069
00070
private:
00071 KateView* m_view;
00072
KToggleAction* m_bookmarkToggle;
00073
KAction* m_bookmarkClear;
00074
KAction* m_goNext;
00075
KAction* m_goPrevious;
00076
00077 Sorting m_sorting;
00078
QPopupMenu* m_bookmarksMenu;
00079
00080 uint _tries;
00081 };
00082
00083
#endif
00084
00085
00086