summaryrefslogtreecommitdiffstats
path: root/archivebrowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archivebrowser.cpp')
-rw-r--r--archivebrowser.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp
new file mode 100644
index 0000000..5eda9d6
--- /dev/null
+++ b/archivebrowser.cpp
@@ -0,0 +1,35 @@
+/*
+ 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 <QVBoxLayout>
+#include <QSortFilterProxyModel>
+
+#include "archivebrowser.h"
+#include "archivebrowsermodel.h"
+#include "smtreeview.h"
+#include "smglobals.h"
+#include "delegates.h"
+
+ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent){
+ //prep
+ mModel = static_cast<ArchiveBrowserModel*>(SmGlobals::instance()->model("BrowserModel"));
+ mProxy = new QSortFilterProxyModel;
+ mProxy->setSourceModel(mModel);
+ mTree = new SmTreeView;
+ mTree->setModel(mProxy);
+ mTree->setColumnHidden(ArchiveBrowserModel::GenericId, true);
+ mTree->setColumnHidden(ArchiveBrowserModel::NodeType, true);
+ mTree->setSortingEnabled(true);
+ mTree->setItemDelegateForColumn(ArchiveBrowserModel::TotalSize, new SizeDelegate(this));
+ mTree->setItemDelegateForColumn(ArchiveBrowserModel::FileType, new FileTypeDelegate(this));
+ mTree->setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+ //make widget
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(mTree);
+ setLayout(mainLayout);
+}