mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-24 03:10:52 +01:00
improve waiting dialog when open a project
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5295 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#define DIALOGWAITING_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QMutex>
|
||||
|
||||
namespace Ui {
|
||||
class DialogWaiting;
|
||||
@@ -28,19 +29,56 @@ namespace Ui {
|
||||
class DialogWaiting : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DialogWaiting(QWidget *parent = nullptr);
|
||||
~DialogWaiting() override;
|
||||
|
||||
void setProgressBar(int val);
|
||||
void setProgressBarRange(int min, int max);
|
||||
void setProgressReset();
|
||||
void setTitle(const QString& val);
|
||||
void setDetail(const QString& val);
|
||||
|
||||
public:
|
||||
static DialogWaiting* instance(QWidget *parent = nullptr)
|
||||
{
|
||||
static QMutex mutex;
|
||||
if(!m_static_dialog)
|
||||
{
|
||||
mutex.lock();
|
||||
if(!m_static_dialog)
|
||||
m_static_dialog = new DialogWaiting(parent);
|
||||
mutex.unlock();
|
||||
}
|
||||
return m_static_dialog;
|
||||
}
|
||||
|
||||
static bool hasInstance()
|
||||
{
|
||||
if(m_static_dialog == nullptr)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
static void dropInstance()
|
||||
{
|
||||
static QMutex mutex;
|
||||
if(m_static_dialog)
|
||||
{
|
||||
mutex.lock();
|
||||
m_static_dialog->deleteLater();
|
||||
m_static_dialog = nullptr;
|
||||
mutex.unlock();
|
||||
}
|
||||
}
|
||||
private:
|
||||
Ui::DialogWaiting *ui;
|
||||
static DialogWaiting *m_static_dialog;
|
||||
|
||||
|
||||
public:
|
||||
explicit DialogWaiting(QWidget *parent = nullptr);
|
||||
~DialogWaiting() override;
|
||||
|
||||
void setProgressBar(int val);
|
||||
void setProgressBarRange(int min, int max);
|
||||
void setProgressReset();
|
||||
void setTitle(const QString& val);
|
||||
void setDetail(const QString& val);
|
||||
int progressBarValue() const;
|
||||
|
||||
private:
|
||||
Ui::DialogWaiting *ui;
|
||||
};
|
||||
|
||||
#endif // DIALOGWAITING_H
|
||||
|
||||
Reference in New Issue
Block a user