summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivebrowser.cpp17
-rw-r--r--archivebrowser.h7
-rw-r--r--shemov.cpp2
3 files changed, 24 insertions, 2 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp
index 5eda9d6..c39805b 100644
--- a/archivebrowser.cpp
+++ b/archivebrowser.cpp
@@ -28,8 +28,25 @@ ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent){
mTree->setItemDelegateForColumn(ArchiveBrowserModel::FileType, new FileTypeDelegate(this));
mTree->setSelectionMode(QAbstractItemView::ExtendedSelection);
+ //connect
+ connect(mTree->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(browserSelectionChanged(QItemSelection,QItemSelection)));
+
//make widget
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(mTree);
setLayout(mainLayout);
}
+
+void ArchiveBrowser::browserSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) {
+ Q_UNUSED(selected);
+ Q_UNUSED(deselected);
+ QModelIndexList sel = mTree->selectionModel()->selectedRows();
+ qint64 size = 0;
+ int selItems = 0;
+ foreach(QModelIndex idx, sel){
+ size += idx.data(ArchiveBrowserModel::TotalSizeRole).toDouble();
+ ++selItems;
+ }
+ emit sizeChanged(size);
+ emit itemCountChanged(selItems);
+}
diff --git a/archivebrowser.h b/archivebrowser.h
index cd43415..78bec23 100644
--- a/archivebrowser.h
+++ b/archivebrowser.h
@@ -21,9 +21,12 @@ class ArchiveBrowser : public QWidget {
public:
explicit ArchiveBrowser(QWidget *parent = 0);
- signals:
-
public slots:
+ void browserSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
+
+ signals:
+ void sizeChanged(qint64 size);
+ void itemCountChanged(int items);
private:
SmTreeView *mTree;
diff --git a/shemov.cpp b/shemov.cpp
index cae9ee1..4c3f5cd 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -82,6 +82,8 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
qApp->processEvents();
ArchiveBrowser *mArchiveBrowser = new ArchiveBrowser;
mTab->addTab(mArchiveBrowser, tr("Archive Browser"));
+ connect(mArchiveBrowser, SIGNAL(sizeChanged(qint64)), this, SLOT(setSize(qint64)));
+ connect(mArchiveBrowser, SIGNAL(itemCountChanged(int)), this, SLOT(updateSelectedCount(int)));
//newmoviewizard + dbanalyzer + newpicsdialog
splash.showMessage(tr("Creating misc. Dialogs..."), Qt::AlignHCenter, Qt::yellow);