diff options
Diffstat (limited to 'libs/installer_bsplugins/src/GUI/MessageDialog.h')
| -rw-r--r-- | libs/installer_bsplugins/src/GUI/MessageDialog.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/libs/installer_bsplugins/src/GUI/MessageDialog.h b/libs/installer_bsplugins/src/GUI/MessageDialog.h new file mode 100644 index 0000000..4ea63cb --- /dev/null +++ b/libs/installer_bsplugins/src/GUI/MessageDialog.h @@ -0,0 +1,59 @@ +#ifndef GUI_MESSAGEDIALOG_H +#define GUI_MESSAGEDIALOG_H + +#include <QDialog> + +namespace Ui +{ +class MessageDialog; +} + +namespace GUI +{ + +/** + * borderless dialog used to display short messages that will automatically + * vanish after a moment + **/ +class MessageDialog : public QDialog +{ + Q_OBJECT + +public: + /** + * @brief constructor + * + * @param text the message to display + * @param reference parent widget. This will also be used to position the message at + * the bottom center of the dialog + **/ + + explicit MessageDialog(const QString& text, QWidget* reference); + + ~MessageDialog(); + + /** + * factory function for message dialogs. This can be used as a fire-and-forget. The + * message will automatically positioned to the reference dialog and get a reasonable + * view time + * + * @param text the text to display. The length of this text is used to determine how + * long the dialog is to be shown + * @param reference the reference widget on top of which the message should be + * displayed + * @param true if the message should bring MO to front to ensure this message is + * visible + **/ + static void showMessage(const QString& text, QWidget* reference, + bool bringToFront = true); + +protected: + virtual void resizeEvent(QResizeEvent* event); + +private: + Ui::MessageDialog* ui; +}; + +} // namespace GUI + +#endif // GUI_MESSAGEDIALOG_H |
