wiRedPanda
Logic Circuit Simulator
Loading...
Searching...
No Matches
FileDialogProvider.h
Go to the documentation of this file.
1// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
2// SPDX-License-Identifier: GPL-3.0-or-later
3
6
7#pragma once
8
9#include <QString>
10
11class QWidget;
12
15{
16 QString fileName;
18};
19
26{
27public:
28 virtual ~FileDialogProvider() = default;
29
32 virtual QString getOpenFileName(QWidget *parent, const QString &caption,
33 const QString &dir, const QString &filter) = 0;
34
37 virtual FileDialogResult getSaveFileName(QWidget *parent, const QString &caption,
38 const QString &dir, const QString &filter) = 0;
39};
40
43{
44public:
45 QString getOpenFileName(QWidget *parent, const QString &caption,
46 const QString &dir, const QString &filter) override;
47
48 FileDialogResult getSaveFileName(QWidget *parent, const QString &caption,
49 const QString &dir, const QString &filter) override;
50};
51
53namespace FileDialogs {
54
57
61
62} // namespace FileDialogs
virtual FileDialogResult getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter)=0
virtual QString getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter)=0
virtual ~FileDialogProvider()=default
Production implementation that delegates to QFileDialog.
QString getOpenFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter) override
FileDialogResult getSaveFileName(QWidget *parent, const QString &caption, const QString &dir, const QString &filter) override
Global accessor for the current FileDialogProvider.
FileDialogProvider * provider()
Returns the active provider. Never null.
FileDialogProvider * setProvider(FileDialogProvider *newProvider)
Result from a save file dialog operation.
QString selectedFilter
The name filter the user chose (e.g. "CSV files (*.csv)").
QString fileName
Selected file path, empty if cancelled.