PIVX Core  5.6.99
P2P Digital Currency
snackbar.h
Go to the documentation of this file.
1 // Copyright (c) 2019-2020 The PIVX Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef PIVX_QT_SNACKBAR_H
6 #define PIVX_QT_SNACKBAR_H
7 
8 #include <QDialog>
9 #include <QResizeEvent>
10 
11 class PIVXGUI;
12 
13 namespace Ui {
14 class SnackBar;
15 }
16 
17 class SnackBar : public QDialog
18 {
19  Q_OBJECT
20 
21 public:
22  explicit SnackBar(PIVXGUI* _window = nullptr, QWidget *parent = nullptr);
23  ~SnackBar();
24 
25  virtual void showEvent(QShowEvent *event) override;
26  void setText(const QString& text);
27 
28 private Q_SLOTS:
29  void hideAnim();
30  void windowResizeEvent(QResizeEvent* event);
31 private:
32  Ui::SnackBar *ui;
33  PIVXGUI* window = nullptr;
34  int timeout;
35  // timeout based on message length, always between 2 (default) and 10 seconds.
36  static const int MIN_TIMEOUT = 2000; // < 40 chars
37  static const int MAX_TIMEOUT = 10000; // > 200 chars
38  static int GetTimeout(const QString& message);
39  void setTimeoutForText(const QString& text);
40 };
41 
42 #endif // PIVX_QT_SNACKBAR_H
PIVX GUI main class.
Definition: pivxgui.h:46
virtual void showEvent(QShowEvent *event) override
Definition: snackbar.cpp:40
void hideAnim()
Definition: snackbar.cpp:45
void windowResizeEvent(QResizeEvent *event)
Definition: snackbar.cpp:35
void setText(const QString &text)
Definition: snackbar.cpp:51
void setTimeoutForText(const QString &text)
Definition: snackbar.cpp:57
Ui::SnackBar * ui
Definition: snackbar.h:32
static const int MAX_TIMEOUT
Definition: snackbar.h:37
PIVXGUI * window
Definition: snackbar.h:33
int timeout
Definition: snackbar.h:34
~SnackBar()
Definition: snackbar.cpp:68
static int GetTimeout(const QString &message)
Definition: snackbar.cpp:62
SnackBar(PIVXGUI *_window=nullptr, QWidget *parent=nullptr)
Definition: snackbar.cpp:13
static const int MIN_TIMEOUT
Definition: snackbar.h:36