diff options
author | Arno <am@disconnect.de> | 2014-02-07 03:31:24 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2014-02-07 03:31:24 +0100 |
commit | 3ac6968ebaf087aeb4bb3deeb1ded2bbbd54dfa5 (patch) | |
tree | e9cf1265bee25dc6ef26b8f441f6070dd46a01d2 | |
parent | e0b8f04b18ababa819e2e0f019c76dcca971b51a (diff) | |
download | SheMov-3ac6968ebaf087aeb4bb3deeb1ded2bbbd54dfa5.tar.gz SheMov-3ac6968ebaf087aeb4bb3deeb1ded2bbbd54dfa5.tar.bz2 SheMov-3ac6968ebaf087aeb4bb3deeb1ded2bbbd54dfa5.zip |
Update status bar from ArchiveBrowser
Update item selection count and selected size in statusBar.
-rw-r--r-- | archivebrowser.cpp | 17 | ||||
-rw-r--r-- | archivebrowser.h | 7 | ||||
-rw-r--r-- | shemov.cpp | 2 |
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; @@ -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); |