Use themed file dialogs everywhere. (#4298)
Previously lmms used themed dialogs for project saving/opening, but not when editing settings (edit -> settings). With this change, the settings editor also uses themed dialogs.
This commit is contained in:
@@ -38,6 +38,16 @@ public:
|
||||
const QString &directory = QString(),
|
||||
const QString &filter = QString() );
|
||||
|
||||
static QString getExistingDirectory(QWidget *parent,
|
||||
const QString &caption,
|
||||
const QString &directory,
|
||||
QFileDialog::Options options = QFileDialog::ShowDirsOnly);
|
||||
static QString getOpenFileName(QWidget *parent = 0,
|
||||
const QString &caption = QString(),
|
||||
const QString &directory = QString(),
|
||||
const QString &filter = QString(),
|
||||
QString *selectedFilter = 0,
|
||||
QFileDialog::Options options = 0);
|
||||
void clearSelection();
|
||||
};
|
||||
|
||||
|
||||
@@ -78,6 +78,39 @@ FileDialog::FileDialog( QWidget *parent, const QString &caption,
|
||||
}
|
||||
|
||||
|
||||
QString FileDialog::getExistingDirectory(QWidget *parent,
|
||||
const QString &caption,
|
||||
const QString &directory,
|
||||
QFileDialog::Options options)
|
||||
{
|
||||
FileDialog dialog(parent, caption, directory, QString());
|
||||
dialog.setFileMode(QFileDialog::Directory);
|
||||
dialog.setOptions(dialog.options() | options);
|
||||
if (dialog.exec() == QDialog::Accepted) {
|
||||
return dialog.selectedFiles().value(0);
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString FileDialog::getOpenFileName(QWidget *parent,
|
||||
const QString &caption,
|
||||
const QString &directory,
|
||||
const QString &filter,
|
||||
QString *selectedFilter,
|
||||
QFileDialog::Options options)
|
||||
{
|
||||
FileDialog dialog(parent, caption, directory, filter);
|
||||
dialog.setOptions(dialog.options() | options);
|
||||
if (selectedFilter && !selectedFilter->isEmpty())
|
||||
dialog.selectNameFilter(*selectedFilter);
|
||||
if (dialog.exec() == QDialog::Accepted) {
|
||||
if (selectedFilter)
|
||||
*selectedFilter = dialog.selectedNameFilter();
|
||||
return dialog.selectedFiles().value(0);
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
||||
void FileDialog::clearSelection()
|
||||
{
|
||||
@@ -86,5 +119,3 @@ void FileDialog::clearSelection()
|
||||
view->clearSelection();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user