mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-06-28 22:19:40 -04:00
- Linker now resolves implementation differences - Remove unneeded ifdefs - Better abstractions overall Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3703 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
45 lines
1.6 KiB
C++
45 lines
1.6 KiB
C++
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <QObject>
|
|
|
|
namespace QtCommon::Frontend {
|
|
|
|
class QtProgressDialog : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
QtProgressDialog(const QString& labelText, const QString& cancelButtonText, int minimum,
|
|
int maximum, QObject* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
|
|
|
|
virtual ~QtProgressDialog() = default;
|
|
|
|
virtual bool wasCanceled() const = 0;
|
|
virtual void setWindowModality(Qt::WindowModality modality) = 0;
|
|
virtual void setMinimumDuration(int durationMs) = 0;
|
|
virtual void setAutoClose(bool autoClose) = 0;
|
|
virtual void setAutoReset(bool autoReset) = 0;
|
|
|
|
public slots:
|
|
virtual void setTitle(QString title) = 0;
|
|
virtual void setLabelText(QString text) = 0;
|
|
virtual void setMinimum(int min) = 0;
|
|
virtual void setMaximum(int max) = 0;
|
|
virtual void setValue(int value) = 0;
|
|
|
|
virtual bool close() = 0;
|
|
virtual void show() = 0;
|
|
};
|
|
|
|
std::unique_ptr<QtProgressDialog> newProgressDialog(const QString& labelText,
|
|
const QString& cancelButtonText, int minimum,
|
|
int maximum,
|
|
Qt::WindowFlags f = Qt::WindowFlags());
|
|
|
|
QtProgressDialog* newProgressDialogPtr(const QString& labelText, const QString& cancelButtonText,
|
|
int minimum, int maximum,
|
|
Qt::WindowFlags f = Qt::WindowFlags());
|
|
|
|
} // namespace QtCommon::Frontend
|