diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch) | |
tree | acaf47eb0fa12142d3896416a69e74cbf5a72242 /parts/bookmarks/bookmarks_part.h | |
download | tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'parts/bookmarks/bookmarks_part.h')
-rw-r--r-- | parts/bookmarks/bookmarks_part.h | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/parts/bookmarks/bookmarks_part.h b/parts/bookmarks/bookmarks_part.h new file mode 100644 index 00000000..32a105ad --- /dev/null +++ b/parts/bookmarks/bookmarks_part.h @@ -0,0 +1,109 @@ +/*************************************************************************** + * Copyright (C) 2003 by Jens Dagerbo * + * jens.dagerbo@swipnet.se * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + + +#ifndef __KDEVPART_BOOKMARKS_H__ +#define __KDEVPART_BOOKMARKS_H__ + + +#include <qguardedptr.h> +#include <qvaluelist.h> +#include <qdict.h> +#include <qpair.h> + +#include <kparts/part.h> +#include <kurl.h> + +#include <kdevplugin.h> + +class QTimer; +class KDialogBase; +class BookmarksConfig; +class ConfigWidgetProxy; + +struct EditorData +{ + KURL url; + QValueList< QPair<int,QString> > marks; +}; + +class BookmarksWidget; +class QDomElement; + +class BookmarksPart : public KDevPlugin +{ + Q_OBJECT + +public: + + BookmarksPart(QObject *parent, const char *name, const QStringList &); + ~BookmarksPart(); + + // reimplemented from KDevPlugin + void restorePartialProjectSession( const QDomElement * el ); + void savePartialProjectSession( QDomElement * el ); + + BookmarksConfig * config(); + + QStringList getContext( KURL const & url, unsigned int line, unsigned int context ); + +private slots: + // connected to partcontroller + void partAdded( KParts::Part * part ); + + // connected to KTextEditor::MarkInterface + void marksEvent(); + + // connected to _marksChangeTimer + void marksChanged(); + + // connected to KParts::ReadOnlyPart + void reload(); + + // connected to BookmarksWidget + void removeAllBookmarksForURL( const KURL & ); + void removeBookmarkForURL( const KURL &, int ); + + void insertConfigWidget( const KDialogBase * dlg, QWidget * page, unsigned int ); + +private: + bool setBookmarksForURL( KParts::ReadOnlyPart * ); + bool clearBookmarksForURL( KParts::ReadOnlyPart * ); + void setBookmarksForAllURLs(); + + EditorData * storeBookmarksForURL( KParts::ReadOnlyPart * ); + void storeBookmarksForAllURLs(); + + void updateContextStringForURL( KParts::ReadOnlyPart * ); + void updateContextStringForURL( KURL const & url ); + void updateContextStringForAll(); + + QStringList getContextFromStream( QTextStream & istream, unsigned int line, unsigned int context ); + + KParts::ReadOnlyPart * partForURL( KURL const & url ); + bool partIsSane( KParts::ReadOnlyPart * ); + + QGuardedPtr<BookmarksWidget> _widget; + QDict<EditorData> _editorMap; + bool _settingMarks; // are we currently in the process of setting bookmarks? + + BookmarksConfig * _config; + + ConfigWidgetProxy * _configProxy; + + QTimer * _marksChangeTimer; + QValueList<KParts::ReadOnlyPart*> _dirtyParts; +}; + + +#endif + +// kate: space-indent off; indent-width 4; tab-width 4; show-tabs off; |