From eebc2927d4de8456b23915554f8b53f5c33df58d Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 4 Sep 2016 07:24:52 +0200 Subject: Navigate Tabs by ALT+Left+Right --- shemovcleaner.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'shemovcleaner.cpp') diff --git a/shemovcleaner.cpp b/shemovcleaner.cpp index e7c6d07..2484689 100644 --- a/shemovcleaner.cpp +++ b/shemovcleaner.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include "shemovcleaner.h" #include "torrentwidget.h" @@ -43,6 +44,7 @@ ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(p QSettings s; restoreGeometry(s.value("geometry").toByteArray()); + mTorrentTab->torrentFileView()->setFocus(); } void ShemovCleaner::statusBarMessage(const QString &msg){ @@ -81,6 +83,32 @@ void ShemovCleaner::closeEvent(QCloseEvent *e){ QMainWindow::closeEvent(e); } +void ShemovCleaner::keyPressEvent(QKeyEvent *e){ + //Yes, this could be much more terse, but this is readable! + if(e->key() == Qt::Key_Left && (e->modifiers() & Qt::AltModifier)){ + int curTabIdx = mTab->currentIndex(); + if(curTabIdx - 1 < 0){ + curTabIdx = mTab->count() - 1; + }else{ + --curTabIdx; + } + mTab->setCurrentIndex(curTabIdx); + e->accept(); + return; + } + if(e->key() == Qt::Key_Right && (e->modifiers() & Qt::AltModifier)){ + int curTabIdx = mTab->currentIndex(); + if(curTabIdx + 1 >= mTab->count()){ + curTabIdx = 0; + }else{ + ++curTabIdx; + } + mTab->setCurrentIndex(curTabIdx); + e->accept(); + return; + } +} + void ShemovCleaner::createStatusBar(){ QLabel *l1 = new QLabel(tr("Sel.")); mSelected = new QLabel("000/000"); -- cgit v1.2.3-70-g09d2