vmprotect-3.5.1/VMProtect/progress_dialog.h

53 lines
1.4 KiB
C++

#ifndef PROGRESS_DIALOG_H
#define PROGRESS_DIALOG_H
class WaitCursor;
class ProgressDialog : public QDialog
{
Q_OBJECT
public:
ProgressDialog(QWidget *parent = NULL);
public slots:
void startProgress(const QString &caption, unsigned long long max);
void stepProgress(unsigned long long value);
void notify(MessageType type, IObject *sender, const QString &message);
void cancelClicked();
signals:
void cancel();
protected:
void closeEvent(QCloseEvent *event);
private:
std::auto_ptr<WaitCursor> wait_cursor_;
QProgressBar *progressBar;
QLabel *label;
};
Q_DECLARE_INTERFACE(ILog, "ILog")
class GUILog : public QObject, ILog
{
Q_OBJECT
Q_INTERFACES(ILog)
public:
GUILog(QObject *parent = 0);
virtual void Notify(MessageType type, IObject *sender, const std::string &message);
virtual void StartProgress(const std::string &caption, unsigned long long max);
virtual void StepProgress(unsigned long long value, bool is_project);
virtual void EndProgress();
virtual void set_warnings_as_errors(bool /*value*/) { }
virtual void set_arch_name(const std::string & /*arch_name*/) { }
void reset() { is_canceled_ = false; }
public slots:
void cancel();
signals:
void notify(MessageType type, IObject *sender, const QString &message);
void startProgress(const QString &, unsigned long long);
void stepProgress(unsigned long long);
void endProgress();
private:
void checkCanceled();
bool is_canceled_;
};
#endif