diff options
Diffstat (limited to 'archiveview.cpp')
-rw-r--r-- | archiveview.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/archiveview.cpp b/archiveview.cpp new file mode 100644 index 0000000..d91fab7 --- /dev/null +++ b/archiveview.cpp @@ -0,0 +1,60 @@ +/* + 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 <QComboBox> +#include <QHBoxLayout> +#include <QLabel> +#include <QLineEdit> +#include <QPushButton> +#include <QSortFilterProxyModel> +#include <QSplitter> +#include <QVBoxLayout> + +#include "archiveview.h" +#include "smglobals.h" + +ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) { + mArchiveModel = static_cast<ArchiveModel*>(SmGlobals::instance()->model("ArchiveModel")); + mTree = new ArchiveTree; + mSortOrder = new QComboBox; + mSortOrder->addItems(mArchiveModel->availableOrders()); + QLabel *l1 = new QLabel(tr("Filter")); + mFilter = new QLineEdit; + QPushButton *filter = new QPushButton(tr("Filter")); + QPushButton *clear = new QPushButton(tr("Clear")); + QHBoxLayout *filterLayout = new QHBoxLayout; + filterLayout->addWidget(l1); + filterLayout->addWidget(mFilter); + filterLayout->addWidget(filter); + filterLayout->addWidget(clear); + QVBoxLayout *treeLayout = new QVBoxLayout; + treeLayout->addWidget(mSortOrder); + treeLayout->addLayout(filterLayout); + treeLayout->addWidget(mTree); + QWidget *treeWidget = new QWidget; + treeWidget->setLayout(treeLayout); + mFiles = new ArchiveFiles; + QSplitter *treeSplitter = new QSplitter(Qt::Horizontal); + treeSplitter->addWidget(treeWidget); + treeSplitter->addWidget(mFiles); + treeSplitter->setStretchFactor(0, 2); + treeSplitter->setStretchFactor(1, 3); + QHBoxLayout *mainLayout = new QHBoxLayout; + mainLayout->addWidget(treeSplitter); + setLayout(mainLayout); + +} + +ArchiveTree::ArchiveTree(QWidget *parent) : QTreeView(parent) { + mModel = static_cast<ArchiveModel*>(SmGlobals::instance()->model("ArchiveModel")); + mProxy = new QSortFilterProxyModel; + mProxy->setSourceModel(mModel); + setModel(mProxy); +} + +ArchiveFiles::ArchiveFiles(QWidget *parent) : QTreeView(parent){ +} |