improve callutilsdialog and qualitydialog
- adds a fancy shape to callutilsdialog/qualitydialog.
- adds few animation.
- keeps the overlay rendered while callutilsdialog/qualitydialog is open.
- adds the file used as mask for the spike.
Change-Id: I51362f986376d57634c9ded2e548043da7da1384
Tuleap: #148
diff --git a/qualitydialog.cpp b/qualitydialog.cpp
index 44ea91f..7859fe3 100644
--- a/qualitydialog.cpp
+++ b/qualitydialog.cpp
@@ -20,24 +20,42 @@
#include "qualitydialog.h"
#include "ui_qualitydialog.h"
+#include <QSortFilterProxyModel>
+#include <QBitmap>
+#include <QPropertyAnimation>
+#include <QGraphicsOpacityEffect>
+
#include "callmodel.h"
#include "account.h"
#include "codecmodel.h"
-#include <QSortFilterProxyModel>
-
QualityDialog::QualityDialog(QWidget *parent) :
QDialog(parent),
- ui(new Ui::QualityDialog)
+ ui(new Ui::QualityDialog),
+ spikeMask_(new QPixmap(":/images/spikeMask.png"))
{
ui->setupUi(this);
this->setWindowFlags(Qt::CustomizeWindowHint);
- this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup);
+ this->setWindowFlags(Qt::FramelessWindowHint | Qt::Popup | Qt::NoDropShadowWindowHint);
+
+ ui->spike->setMask(spikeMask_->mask());
+
+ effect_ = new QGraphicsOpacityEffect(this);
+ effect_->setOpacity(1.0);
+ setGraphicsEffect(effect_);
+ fadeAnim_ = new QPropertyAnimation(effect_, "opacity");
+ fadeAnim_->setDuration(fadeOverlayTime_);
+ fadeAnim_->setStartValue(0.0);
+ fadeAnim_->setEndValue(1.0);
+ fadeAnim_->setEasingCurve(QEasingCurve::InExpo);
}
QualityDialog::~QualityDialog()
{
+ delete effect_;
+ delete spikeMask_;
+ delete fadeAnim_;
delete ui;
}
@@ -75,6 +93,18 @@
}
}
ui->autoCheckBox->blockSignals(false);
+
+ emit(isVisible(true));
+
+ fadeAnim_->setDirection(QAbstractAnimation::Forward);
+ fadeAnim_->start();
+}
+
+void
+QualityDialog::closeEvent(QCloseEvent* event)
+{
+ Q_UNUSED(event)
+ emit(isVisible(false));
}
void