mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6345 Add wrapper class for QFileDialog
This commit is contained in:
@@ -92,6 +92,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiuAbstractOverlayContentFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuAbstractLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuCategoryLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuScalarMapperLegendFrame.h
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuFileDialogTools.h
|
||||
)
|
||||
|
||||
set (SOURCE_GROUP_SOURCE_FILES
|
||||
@@ -183,6 +184,7 @@ ${CMAKE_CURRENT_LIST_DIR}/RiuAbstractOverlayContentFrame.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuAbstractLegendFrame.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuCategoryLegendFrame.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuScalarMapperLegendFrame.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/RiuFileDialogTools.cpp
|
||||
)
|
||||
|
||||
list(APPEND CODE_HEADER_FILES
|
||||
|
||||
87
ApplicationCode/UserInterface/RiuFileDialogTools.cpp
Normal file
87
ApplicationCode/UserInterface/RiuFileDialogTools.cpp
Normal file
@@ -0,0 +1,87 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2020 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RiuFileDialogTools.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiuFileDialogTools::getSaveFileName( QWidget* parent /*= nullptr*/,
|
||||
const QString& caption /*= QString()*/,
|
||||
const QString& dir /*= QString()*/,
|
||||
const QString& filter /*= QString()*/,
|
||||
QString* selectedFilter /*= nullptr */ )
|
||||
{
|
||||
#ifdef WIN32
|
||||
return QFileDialog::getSaveFileName( parent, caption, dir, filter, selectedFilter, QFileDialog::DontUseNativeDialog );
|
||||
#else
|
||||
auto options = QFileDialog::DontUseNativeDialog;
|
||||
return QFileDialog::getSaveFileName( parent, caption, dir, filter, selectedFilter, options );
|
||||
#endif
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RiuFileDialogTools::getOpenFileNames( QWidget* parent /*= nullptr*/,
|
||||
const QString& caption /*= QString()*/,
|
||||
const QString& dir /*= QString()*/,
|
||||
const QString& filter /*= QString()*/,
|
||||
QString* selectedFilter /*= nullptr */ )
|
||||
{
|
||||
#ifdef WIN32
|
||||
return QFileDialog::getOpenFileNames( parent, caption, dir, filter, selectedFilter );
|
||||
#else
|
||||
auto options = QFileDialog::DontUseNativeDialog;
|
||||
return QFileDialog::getOpenFileNames( parent, caption, dir, filter, selectedFilter, options );
|
||||
#endif
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiuFileDialogTools::getExistingDirectory( QWidget* parent /*= nullptr*/,
|
||||
const QString& caption /*= QString()*/,
|
||||
const QString& dir /*= QString() */ )
|
||||
{
|
||||
#ifdef WIN32
|
||||
return QFileDialog::getExistingDirectory( parent, caption, dir );
|
||||
#else
|
||||
auto options = QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::DontUseNativeDialog;
|
||||
return QFileDialog::getExistingDirectory( parent, caption, dir, options );
|
||||
#endif
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiuFileDialogTools::getOpenFileName( QWidget* parent /*= nullptr*/,
|
||||
const QString& caption /*= QString()*/,
|
||||
const QString& dir /*= QString()*/,
|
||||
const QString& filter /*= QString()*/,
|
||||
QString* selectedFilter /*= nullptr */ )
|
||||
{
|
||||
#ifdef WIN32
|
||||
return getOpenFileName( parent, caption, dir, filter, selectedFilter );
|
||||
#else
|
||||
auto options = QFileDialog::DontUseNativeDialog;
|
||||
return getOpenFileName( parent, caption, dir, filter, selectedFilter, options );
|
||||
#endif
|
||||
}
|
||||
49
ApplicationCode/UserInterface/RiuFileDialogTools.h
Normal file
49
ApplicationCode/UserInterface/RiuFileDialogTools.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2020 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
|
||||
class QWidget;
|
||||
|
||||
namespace RiuFileDialogTools
|
||||
{
|
||||
QString getSaveFileName( QWidget* parent = nullptr,
|
||||
const QString& caption = QString(),
|
||||
const QString& dir = QString(),
|
||||
const QString& filter = QString(),
|
||||
QString* selectedFilter = nullptr );
|
||||
|
||||
QStringList getOpenFileNames( QWidget* parent = nullptr,
|
||||
const QString& caption = QString(),
|
||||
const QString& dir = QString(),
|
||||
const QString& filter = QString(),
|
||||
QString* selectedFilter = nullptr );
|
||||
|
||||
QString
|
||||
getExistingDirectory( QWidget* parent = nullptr, const QString& caption = QString(), const QString& dir = QString() );
|
||||
|
||||
QString getOpenFileName( QWidget* parent = nullptr,
|
||||
const QString& caption = QString(),
|
||||
const QString& dir = QString(),
|
||||
const QString& filter = QString(),
|
||||
QString* selectedFilter = nullptr );
|
||||
|
||||
} // namespace RiuFileDialogTools
|
||||
Reference in New Issue
Block a user