Skip to content
Snippets Groups Projects
Commit 48dabdfd authored by Konstantinos Sideris's avatar Konstantinos Sideris
Browse files

Don't dismiss the loading overlay by clicking

parent 72cba5d9
No related branches found
No related tags found
No related merge requests found
......@@ -28,14 +28,18 @@
class OverlayModal : public OverlayWidget
{
public:
explicit OverlayModal(QWidget *parent, QWidget *content);
OverlayModal(QWidget *parent, QWidget *content);
void fadeIn();
void fadeOut();
public:
inline void setDuration(int duration);
inline void setColor(QColor color);
void setDuration(int duration)
{
duration_ = duration;
animation_->setDuration(duration_);
};
void setColor(QColor color) { color_ = color; }
void setDismissible(bool state) { isDismissible_ = state; }
protected:
void paintEvent(QPaintEvent *event) override;
......@@ -48,19 +52,9 @@ private:
int duration_;
QColor color_;
//! Decides whether or not the modal can be removed by clicking into it.
bool isDismissible_ = true;
QGraphicsOpacityEffect *opacity_;
QPropertyAnimation *animation_;
};
inline void
OverlayModal::setDuration(int duration)
{
duration_ = duration;
animation_->setDuration(duration_);
}
inline void
OverlayModal::setColor(QColor color)
{
color_ = color;
}
......@@ -213,6 +213,7 @@ MainWindow::showChatPage(QString userid, QString homeserver, QString token)
progressModal_ =
QSharedPointer<OverlayModal>(new OverlayModal(this, spinner_.data()),
[=](OverlayModal *modal) { modal->deleteLater(); });
progressModal_->setDismissible(false);
progressModal_->fadeIn();
progressModal_->setDuration(modalOpacityDuration);
}
......
......@@ -64,7 +64,7 @@ OverlayModal::paintEvent(QPaintEvent *event)
void
OverlayModal::mousePressEvent(QMouseEvent *e)
{
if (content_ && !content_->geometry().contains(e->pos()))
if (isDismissible_ && content_ && !content_->geometry().contains(e->pos()))
fadeOut();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment