Ctrl-H shortcut to toggle hidden files' visibility
authorLukas Hrazky <lukkash@email.cz>
Mon, 19 Jul 2010 21:58:52 +0000 (23:58 +0200)
committerLukas Hrazky <lukkash@email.cz>
Mon, 19 Jul 2010 21:58:52 +0000 (23:58 +0200)
Signed-off-by: Lukas Hrazky <lukkash@email.cz>

src/case.cpp
src/case.h
src/filelist.cpp
src/filelist.h
src/pane.cpp
src/pane.h

index 6770447..231e230 100644 (file)
@@ -97,6 +97,15 @@ void Case::switchActivePane() {
 }
 
 
+void Case::keyPressEvent(QKeyEvent *e) {
+    if(e->key() == Qt::Key_H && e->modifiers() == Qt::ControlModifier) {
+        activePane->toggleShowHiddenFiles();
+    } else {
+        QMainWindow::keyPressEvent(e);
+    }
+}
+
+
 void Case::clonePane() {
     inactivePane->changePath(activePane->path());
 }
index b8f2919..7e55fd0 100644 (file)
@@ -23,7 +23,7 @@
 #include "button.h"
 
 #include <QMainWindow>
-#include <QEvent>
+#include <QKeyEvent>
 
 
 class Case : public QMainWindow {
@@ -38,12 +38,14 @@ public:
 public slots:
     void switchActivePane();
 
-private:
+protected:
+    void keyPressEvent(QKeyEvent *e);
+
     Pane *leftPane, *rightPane, *activePane, *inactivePane;
     Button *cloneBtn, *swapBtn, *copyBtn, *moveBtn, *delBtn;
     FileOperator *fileOperator;
 
-private slots:
+protected slots:
     void clonePane();
     void swapPanes();
     void copyFiles();
index 6b1749f..3d9c8c4 100644 (file)
@@ -75,6 +75,13 @@ bool FileList::goUp() {
 }
 
 
+void FileList::toggleShowHiddenFiles() {
+    clearSelection();
+    scrollToTop();
+    fileSystemModel->setFilter(fileSystemModel->filter() ^ QDir::Hidden);
+}
+
+
 void FileList::activateItem(QModelIndex index) {
     const QFileInfo &file = fileSystemModel->fileInfo(index);
 
index 6d211f3..dd6fda9 100644 (file)
@@ -39,6 +39,7 @@ public:
 public slots:
     bool changePath(QString path);
     bool goUp();
+    void toggleShowHiddenFiles();
 
 protected:
     QFileSystemModel *fileSystemModel;
index ac3d553..34ec244 100644 (file)
@@ -92,6 +92,11 @@ void Pane::toggleActive() {
 }
 
 
+void Pane::toggleShowHiddenFiles() {
+    fileList->toggleShowHiddenFiles();
+}
+
+
 const QFileInfoList Pane::selection() const {
     return fileList->selection();
 }
index 0d49815..a565b8d 100644 (file)
@@ -38,6 +38,7 @@ public:
 public slots:
     bool changePath(QString path);
     void toggleActive();
+    void toggleShowHiddenFiles();
 
 protected:
     void paintEvent(QPaintEvent *);