summaryrefslogtreecommitdiffstats
path: root/parts/fileview/stdfiletreewidgetimpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'parts/fileview/stdfiletreewidgetimpl.cpp')
-rw-r--r--parts/fileview/stdfiletreewidgetimpl.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/parts/fileview/stdfiletreewidgetimpl.cpp b/parts/fileview/stdfiletreewidgetimpl.cpp
new file mode 100644
index 00000000..b680f2a8
--- /dev/null
+++ b/parts/fileview/stdfiletreewidgetimpl.cpp
@@ -0,0 +1,95 @@
+/***************************************************************************
+ * Copyright (C) 2003 by Mario Scalas *
+ * mario.scalas@libero.it *
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+ #include <qheader.h>
+ #include <kdebug.h>
+
+#include "fileitemfactory.h"
+#include "filetreewidget.h"
+#include "stdfiletreewidgetimpl.h"
+
+///////////////////////////////////////////////////////////////////////////////
+// class StdFileTreeViewItem
+///////////////////////////////////////////////////////////////////////////////
+
+class StdFileTreeViewItem : public filetreeview::FileTreeViewItem
+{
+public:
+ StdFileTreeViewItem( KFileTreeViewItem* parent, KFileItem* item, KFileTreeBranch* branch, bool pf )
+ : FileTreeViewItem( parent, item, branch, pf ) {}
+ StdFileTreeViewItem( KFileTreeView* parent, KFileItem* item, KFileTreeBranch* branch )
+ : FileTreeViewItem( parent, item, branch ) {}
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// class StdFileTreeBranchItem
+///////////////////////////////////////////////////////////////////////////////
+
+class StdFileTreeBranchItem : public filetreeview::FileTreeBranchItem
+{
+public:
+ StdFileTreeBranchItem( KFileTreeView* view, const KURL& url, const QString& name, const QPixmap& pix )
+ : FileTreeBranchItem( view, url, name, pix ) {}
+ virtual ~StdFileTreeBranchItem() {}
+ virtual KFileTreeViewItem* createTreeViewItem( KFileTreeViewItem* parent, KFileItem* fileItem );
+};
+
+///////////////////////////////////////////////////////////////////////////////
+
+KFileTreeViewItem* StdFileTreeBranchItem::createTreeViewItem( KFileTreeViewItem* parent, KFileItem* fileItem )
+{
+ if (!parent || !fileItem)
+ return 0;
+
+ FileTreeWidget *lv = static_cast<StdFileTreeViewItem*>( parent )->listView();
+ const KURL fileURL = fileItem->url();
+
+ const bool isDirectory = lv->isInProject( fileURL.path() );
+
+ return new StdFileTreeViewItem( parent, fileItem, this, isDirectory );
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// class StdFileItemFactory
+///////////////////////////////////////////////////////////////////////////////
+
+class StdBranchItemFactory : public filetreeview::BranchItemFactory
+{
+public:
+ virtual filetreeview::FileTreeBranchItem *makeBranchItem( KFileTreeView* view, const KURL& url, const QString& name, const QPixmap& pix )
+ {
+ return new StdFileTreeBranchItem( view, url, name, pix );
+ }
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// class StdFileTreeWidgetImpl
+///////////////////////////////////////////////////////////////////////////////
+
+StdFileTreeWidgetImpl::StdFileTreeWidgetImpl( FileTreeWidget *parent )
+ : FileTreeViewWidgetImpl( parent, "stdfiletreewidgetimpl" )
+{
+ kdDebug(9017) << "StdFileTreeWidgetImpl::StdFileTreeWidgetImpl()" << endl;
+
+ setBranchItemFactory( new StdBranchItemFactory );
+
+ parent->addColumn( QString::null );
+ header()->hide();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+StdFileTreeWidgetImpl::~StdFileTreeWidgetImpl()
+{
+ kdDebug(9017) << "StdFileTreeWidgetImpl::~StdFileTreeWidgetImpl()" << endl;
+}
+
+#include "stdfiletreewidgetimpl.moc"