[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kio/bookmarks
From: Alexander Kellett <lypanov () kde ! org>
Date: 2003-03-15 15:45:38
[Download RAW message or body]
CVS commit by lypanov:
refactor code into a hierachical visitor like pattern
if you look at the diff be prepared to laugh some.
M +17 -8 kbookmarkmanager.cc 1.43
--- kdelibs/kio/bookmarks/kbookmarkmanager.cc #1.42:1.43
@@ -425,14 +425,23 @@ void KBookmarkOwner::virtual_hook( int,
{ /*BASE::virtual_hook( id, data );*/ }
-class KBookmarkMap {
+
+class KBookmarkGroupMonkey {
+protected:
+ virtual ~KBookmarkGroupMonkey() { ; }
+ void swing(const KBookmarkGroup &);
+ virtual void enterGroup(const KBookmarkGroup &) { ; }
+ virtual void sawItem(const KBookmark &) { ; }
+ virtual void exitGroup() { ; }
+};
+
+class KBookmarkMap : public KBookmarkGroupMonkey {
public:
KBookmarkMap( KBookmarkManager * );
void update();
+ virtual void enterGroup(const KBookmarkGroup &) { ; }
+ virtual void sawItem(const KBookmark &);
+ virtual void exitGroup() { ; }
QValueList<KBookmark> find( const KURL &url ) const;
private:
- void crawl();
- void enterGroup(const KBookmarkGroup &group) { ; }
- void exitGroup() { ; }
- void sawItem(const KBookmark &);
typedef QValueList<KBookmark> KBookmarkList;
QMap<QString, KBookmarkList> m_bk_map;
@@ -449,5 +458,6 @@ void KBookmarkMap::update()
{
m_bk_map.clear();
- crawl();
+ KBookmarkGroup root = m_manager->root();
+ swing(root);
}
@@ -459,9 +469,8 @@ void KBookmarkMap::sawItem(const KBookma
}
-void KBookmarkMap::crawl()
+void KBookmarkGroupMonkey::swing(const KBookmarkGroup &root)
{
// non-recursive bookmark iterator
QPtrStack<KBookmarkGroup> stack;
- KBookmarkGroup root = m_manager->root();
stack.push(&root);
KBookmark bk = stack.current()->first();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic