From 3ac6968ebaf087aeb4bb3deeb1ded2bbbd54dfa5 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 7 Feb 2014 03:31:24 +0100 Subject: Update status bar from ArchiveBrowser Update item selection count and selected size in statusBar. --- archivebrowser.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'archivebrowser.cpp') 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); +} -- cgit v1.2.3-70-g09d2