summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2015-02-14 16:34:02 +0100
committerArno <am@disconnect.de>2015-02-14 16:34:02 +0100
commitafdb93e180808af02995053eb973d593a3545d55 (patch)
tree93a23ab7f847b5d51098c244253d27b304118075
parent61345c3d52ab2e5d8243596e9368753477180968 (diff)
downloadSheMov-afdb93e180808af02995053eb973d593a3545d55.tar.gz
SheMov-afdb93e180808af02995053eb973d593a3545d55.tar.bz2
SheMov-afdb93e180808af02995053eb973d593a3545d55.zip
Center QFileDialog
Center Filedialog in NewMovieWizard::infoPage when adding source files. Also switch to the directory from FSWidget.
-rw-r--r--filesystemwidget.cpp4
-rw-r--r--filesystemwidget.h1
-rw-r--r--newmoviewizard.cpp20
-rw-r--r--newmoviewizard.h3
-rw-r--r--shemov.cpp2
5 files changed, 26 insertions, 4 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index ac840bd..2dd8076 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -149,6 +149,10 @@ bool FilesystemWidget::isMounted(){
return false;
}
+const QString FilesystemWidget::currentDir() const {
+ return mFileModel->dir().absolutePath();
+}
+
void FilesystemWidget::directoryChanged(const QModelIndex &selected, const QModelIndex &deselected){
QModelIndex real = mDirProxy->mapToSource(selected);
if(!real.isValid()){
diff --git a/filesystemwidget.h b/filesystemwidget.h
index 108d00a..23f8572 100644
--- a/filesystemwidget.h
+++ b/filesystemwidget.h
@@ -42,6 +42,7 @@ class FilesystemWidget : public QWidget {
PictureViewer2 *pictureViewer() { return mPicViewer; }
QToolBar *toolBar() { return mToolBar; }
bool isMounted();
+ const QString currentDir() const;
signals:
void windowTitle(const QString &);
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp
index 1c84f5f..137f7c2 100644
--- a/newmoviewizard.cpp
+++ b/newmoviewizard.cpp
@@ -405,6 +405,14 @@ void MovieInfoPage::addFile(const QString &file){
mFileView->resizeColumnToContents(2);
}
+void MovieInfoPage::selectFirst(){
+ QModelIndex fIdx = mFileModel->rootIndex().child(0, 0);
+ if(fIdx.isValid()){
+ mFileView->selectionModel()->select(fIdx, QItemSelectionModel::Rows | QItemSelectionModel::ClearAndSelect);
+ }
+
+}
+
void MovieInfoPage::initCompleters(){
QSqlDatabase db = QSqlDatabase::database("treedb");
db.open();
@@ -417,12 +425,15 @@ void MovieInfoPage::initCompleters(){
}
void MovieInfoPage::addOld(){
- QSettings s;
- QString startDir = s.value("paths/addfilespath", QDir::homePath()).toString();
- QString oldFile = QFileDialog::getOpenFileName(this, tr("Select files"), startDir);
- if(oldFile.isEmpty()){
+ QFileDialog *oldFileDlg = new QFileDialog(this, tr("Select source"), mCurrentDir);
+ Helper::centerWidget(oldFileDlg);
+ int retval = oldFileDlg->exec();
+ if(retval != QDialog::Accepted || oldFileDlg->selectedFiles().isEmpty()){
+ oldFileDlg->deleteLater();
return;
}
+ QStringList files = oldFileDlg->selectedFiles();
+ QString oldFile = files.first();
QFileInfo fi(oldFile);
qint64 oldSize = fi.size();
QString fullPath = fi.absoluteFilePath();
@@ -438,6 +449,7 @@ void MovieInfoPage::addOld(){
mFileModel->appendRow(itemData, realIdx);
mFileView->expandAll();
}
+ oldFileDlg->deleteLater();
}
void MovieInfoPage::addFiles(){
diff --git a/newmoviewizard.h b/newmoviewizard.h
index af185ae..b65551b 100644
--- a/newmoviewizard.h
+++ b/newmoviewizard.h
@@ -55,6 +55,8 @@ class MovieInfoPage : public QWizardPage {
WizardTreeModel *model() { return mFileModel; }
virtual void initializePage();
void addFile(const QString &file);
+ void setCurrentDir(const QString &dir) { mCurrentDir = dir; }
+ void selectFirst();
public slots:
void initCompleters();
@@ -80,6 +82,7 @@ class MovieInfoPage : public QWizardPage {
QCompleter *mSeriesCompleter;
QStringListModel *mSeriesCompleterModel;
QSortFilterProxyModel *mProxy;
+ QString mCurrentDir;
};
class MovieMappingPage : public QWizardPage {
diff --git a/shemov.cpp b/shemov.cpp
index c56ed58..74352b0 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -298,6 +298,7 @@ void SheMov::newMovieWizardWithFiles(){
return;
}
mNewMovieWizard->restart();
+ mNewMovieWizard->infoPage()->setCurrentDir(mFSWidget->currentDir());
foreach(QModelIndex sel, selected){
mNewMovieWizard->infoPage()->addFile(sel.data(SmDirModel::FullPathRole).toString());
}
@@ -310,6 +311,7 @@ void SheMov::newMovieWizardWithFiles(){
mNewMovieWizard->infoPage()->addFile(fi.absoluteFilePath());
}
}
+ mNewMovieWizard->infoPage()->selectFirst();
mNewMovieWizard->show();
}