ui: Start from home directory instead of working directory in first file dialog (issue #448)

bug id = 448
This commit is contained in:
Eberhard Graether
2017-08-31 16:30:37 +02:00
parent 64efa00054
commit 4700cb802e
7 changed files with 148 additions and 87 deletions
+4 -31
View File
@@ -1,17 +1,15 @@
#include "qt/element/QtDirectoryListBox.h"
#include <QBoxLayout>
#include <QFileDialog>
#include <QMimeData>
#include <QScrollBar>
#include <QTimer>
#include <QTreeView>
#include "qt/element/QtIconButton.h"
#include "qt/utility/utilityQt.h"
#include "qt/utility/QtFileDialog.h"
#include "qt/window/QtTextEditDialog.h"
#include "utility/ResourcePaths.h"
#include "utility/utilityApp.h"
#include "utility/utilityString.h"
QtListItemWidget::QtListItemWidget(QtDirectoryListBox* list, QListWidgetItem* item, QWidget *parent)
@@ -77,37 +75,12 @@ void QtListItemWidget::setFocus()
void QtListItemWidget::handleButtonPress()
{
QFileDialog dialog(this);
if (utility::getOsType() != OS_MAC)
QStringList list = QtFileDialog::getFileNamesAndDirectories(this, m_data->text());
for (int i = 0; i < list.size(); i++)
{
dialog.setFileMode(QFileDialog::Directory);
setText(list.at(i));
}
if (m_data->text().size())
{
dialog.setDirectory(m_data->text());
}
QListView *l = dialog.findChild<QListView*>("listView");
if (l)
{
l->setSelectionMode(QAbstractItemView::SingleSelection);
}
QTreeView *t = dialog.findChild<QTreeView*>();
if (t)
{
t->setSelectionMode(QAbstractItemView::SingleSelection);
}
if (dialog.exec())
{
QStringList list = dialog.selectedFiles();
for (int i = 0; i < list.size(); i++)
{
setText(list.at(i));
}
}
handleFocus();
}
+3 -3
View File
@@ -1,7 +1,6 @@
#include "qt/element/QtLocationPicker.h"
#include <QEvent>
#include <QFileDialog>
#include <QHBoxLayout>
#include <QLabel>
#include <QPainter>
@@ -10,6 +9,7 @@
#include "utility/ResourcePaths.h"
#include "qt/element/QtIconButton.h"
#include "qt/utility/QtFileDialog.h"
QtLocationPicker::QtLocationPicker(QWidget *parent)
: QWidget(parent)
@@ -101,11 +101,11 @@ void QtLocationPicker::handleButtonPress()
QString fileName;
if (m_pickDirectory)
{
fileName = QFileDialog::getExistingDirectory(this, tr("Select Directory"), m_data->text());
fileName = QtFileDialog::getExistingDirectory(this, tr("Select Directory"), m_data->text());
}
else
{
fileName = QFileDialog::getOpenFileName(this, tr("Open File"), m_data->text(), m_fileFilter);
fileName = QtFileDialog::getOpenFileName(this, tr("Open File"), m_data->text(), m_fileFilter);
}
if (!fileName.isEmpty())