summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filesystemwidget.cpp17
-rw-r--r--filesystemwidget.h3
-rw-r--r--newpicsdialog.cpp5
-rw-r--r--newpicsdialog.h2
-rw-r--r--pictureviewer2.cpp1
-rw-r--r--shemov.cpp1
-rw-r--r--smdialog.cpp1
7 files changed, 29 insertions, 1 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index 461780f..619944a 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -22,6 +22,7 @@
#include <QProgressDialog>
#include <QToolBar>
#include <QInputDialog>
+#include <QKeyEvent>
#include "filesystemwidget.h"
#include "filesystemdirproxy.h"
@@ -689,6 +690,22 @@ const QString FilesystemWidget::selectedDir(){
return QString();
}
+void FilesystemWidget::keyPressEvent(QKeyEvent *e){
+ if(e->key() == Qt::Key_Left && (e->modifiers() & Qt::ControlModifier)){
+ goBack();
+ return;
+ }
+ if(e->key() == Qt::Key_Up && (e->modifiers() & Qt::ControlModifier)){
+ parentDir();
+ return;
+ }
+ if(e->key() == Qt::Key_U && (e->modifiers() & Qt::ControlModifier)){
+ unpack();
+ return;
+ }
+ QWidget::keyPressEvent(e);
+}
+
void FilesystemWidget::dirExpanded(const QModelIndex &idx){
QModelIndex real = mDirProxy->mapToSource(idx);
if(real.isValid()){
diff --git a/filesystemwidget.h b/filesystemwidget.h
index c909811..1229962 100644
--- a/filesystemwidget.h
+++ b/filesystemwidget.h
@@ -75,6 +75,9 @@ class FilesystemWidget : public QWidget {
void selectUnpackDir();
void centerCurrent();
+ protected:
+ void keyPressEvent(QKeyEvent *e);
+
private slots:
void dirExpanded(const QModelIndex &idx);
void dirCollapsed(const QModelIndex &idx);
diff --git a/newpicsdialog.cpp b/newpicsdialog.cpp
index bdf6453..6aba6b9 100644
--- a/newpicsdialog.cpp
+++ b/newpicsdialog.cpp
@@ -162,6 +162,11 @@ void NewPicsDialog::clearFiles(){
mFilesV->setSortingEnabled(true);
}
+void NewPicsDialog::setFocusToMappings(){
+ mTab->setCurrentIndex(1);
+ mMappingEditWidget->treeWidget()->mappingTreeView()->setFocus();
+}
+
void NewPicsDialog::removeFiles(){
QModelIndexList selected = mFilesV->selectionModel()->selectedRows();
if(selected.isEmpty()){
diff --git a/newpicsdialog.h b/newpicsdialog.h
index 90873f4..1f0e587 100644
--- a/newpicsdialog.h
+++ b/newpicsdialog.h
@@ -36,6 +36,7 @@ class NewPicsDialog : public QDialog {
void addFiles(const QStringList &files);
void setFile(const QString &file);
void clearFiles();
+ void setFocusToMappings();
void accept();
private slots:
@@ -59,7 +60,6 @@ class NewPicsDialog : public QDialog {
QPushButton *mRemoveFiles;
QPushButton *mOk;
QPushButton *mCancel;
- MappingTreeWidget *mMappingTreeWidget;
QLabel *mPosL;
QMenu *mPresetMenu;
QSqlDatabase mDb;
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 3f8c8ff..fcdf4b7 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -321,6 +321,7 @@ void PictureViewer2::showNewPicsDialog(){
}
}
mNewPicsDlg->addFiles(fileList);
+ mNewPicsDlg->setFocusToMappings();
mNewPicsDlg->exec();
}
diff --git a/shemov.cpp b/shemov.cpp
index efaa973..2655bd3 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -147,6 +147,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
// craptastic... We can't center until it's painted,
// hence this indirection :(
mFSWidget->centerCurrent();
+ setWindowState(Qt::WindowMaximized);
}
void SheMov::closeEvent(QCloseEvent *event){
diff --git a/smdialog.cpp b/smdialog.cpp
index 50f26be..e5ca13c 100644
--- a/smdialog.cpp
+++ b/smdialog.cpp
@@ -141,4 +141,5 @@ void UnpackDialog::newPackage(const QString &package){
void UnpackDialog::unpackDone(){
setCloseEnabled(true);
emit workFinished();
+ close();
}