diff options
-rw-r--r-- | filesystemwidget.cpp | 2 | ||||
-rw-r--r-- | fileview.cpp | 4 | ||||
-rw-r--r-- | fileview.h | 2 | ||||
-rw-r--r-- | shemov.cpp | 19 | ||||
-rw-r--r-- | shemov.h | 9 |
5 files changed, 35 insertions, 1 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 6d711ce..24e769b 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -70,6 +70,7 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent) { connect(mDirView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(directoryChanged(const QModelIndex &, const QModelIndex &))); connect(mFileView, SIGNAL(activated(const QModelIndex &)), this, SLOT(fileViewActivated(const QModelIndex &))); connect(mFileView, SIGNAL(upDir()), this, SLOT(parentDir())); + //connect(mFileView, SIGNAL(show()), this, SLOT(showItem())); connect(mDirEdit, SIGNAL(returnPressed()), this, SLOT(directoryEdited())); QSettings s; @@ -123,6 +124,7 @@ void FilesystemWidget::directoryEdited(){ } void FilesystemWidget::fileViewActivated(const QModelIndex &idx){ + qDebug() << "trying to activate elem"; QModelIndex real = mFileProxy->mapToSource(idx); if(mModel->isDir(real)){ mDirView->setCurrentIndex(mDirProxy->mapFromSource(real)); diff --git a/fileview.cpp b/fileview.cpp index db34e0a..decf8e5 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -71,6 +71,10 @@ void FileView::keyPressEvent(QKeyEvent *e){ emit upDir(); e->accept(); break; + /*case Qt::Key_Enter: + emit showItem(); + e->accept(); + break;*/ default: QTreeView::keyPressEvent(e); } @@ -14,6 +14,7 @@ class QContextMenuEvent; class QKeyEvent; class QResizeEvent; class MessageDialog; +class QModelIndex; class FileView : public QTreeView { Q_OBJECT @@ -23,6 +24,7 @@ class FileView : public QTreeView { signals: void upDir(); + void show(); public slots: void markFiles(); @@ -11,6 +11,9 @@ #include <QAction> #include <QMenuBar> #include <QMenu> +#include <QStatusBar> +#include <QLabel> +#include <QItemSelection> #include <QDebug> #include "shemov.h" @@ -26,9 +29,12 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(mTab); + createStatusbar(); createActions(); createMenus(); + connect(mFSWidget->fileView()->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(updateSelectionCount(const QItemSelection &, const QItemSelection &))); + QWidget *centralWidget = new QWidget; centralWidget->setLayout(mainLayout); setCentralWidget(centralWidget); @@ -36,8 +42,19 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla } +void SheMov::updateSelectionCount(const QItemSelection & /* sel */, const QItemSelection & /* prev */){ + mSelectedItems->setText(QString::number(mFSWidget->fileView()->selectionModel()->selectedRows().count())); +} + +void SheMov::createStatusbar(){ + QLabel *selCountL = new QLabel(tr("Sel. Items")); + mSelectedItems = new QLabel("0"); + mSelectedItems->setFrameStyle(QFrame::Panel | QFrame::Sunken); + statusBar()->addPermanentWidget(selCountL); + statusBar()->addPermanentWidget(mSelectedItems); +} + void SheMov::createActions(){ - qDebug() << "Creating Actions"; mQuitA = new QAction(tr("Quit"), this); mQuitA->setShortcut(tr("CTRL+q")); connect(mQuitA, SIGNAL(triggered()), qApp, SLOT(quit())); @@ -13,6 +13,8 @@ class QTabWidget; class FilesystemWidget; class QAction; +class QLabel; +class QItemSelection; class SheMov : public QMainWindow { Q_OBJECT @@ -20,10 +22,17 @@ class SheMov : public QMainWindow { SheMov(QWidget *parent = 0, Qt::WindowFlags flags = 0); ~SheMov() {}; + private slots: + void updateSelectionCount(const QItemSelection &sel, const QItemSelection &prev); + private: + void createStatusbar(); void createActions(); void createMenus(); + //Statusbar Items + QLabel *mSelectedItems; + //Actions QAction *mQuitA; QAction *mMarkFilesA; |