[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kate] part/view: integrate fade effect as bool parameter in KateMessageWidget constructor
From: Dominik Haumann <dhaumann () kde ! org>
Date: 2013-03-31 20:20:00
Message-ID: 20130331202000.AAB8FA605E () git ! kde ! org
[Download RAW message or body]
Git commit becac549655ce97f04031f55d69e5aa5d5c8db91 by Dominik Haumann.
Committed on 31/03/2013 at 13:32.
Pushed by dhaumann into branch 'master'.
integrate fade effect as bool parameter in KateMessageWidget constructor
M +2 -1 part/view/katefadeeffect.cpp
M +18 -5 part/view/katemessagewidget.cpp
M +4 -1 part/view/katemessagewidget.h
http://commits.kde.org/kate/becac549655ce97f04031f55d69e5aa5d5c8db91
diff --git a/part/view/katefadeeffect.cpp b/part/view/katefadeeffect.cpp
index 36262e8..cd28d2b 100644
--- a/part/view/katefadeeffect.cpp
+++ b/part/view/katefadeeffect.cpp
@@ -24,6 +24,7 @@
#include <QWidget>
#include <QTimeLine>
#include <QGraphicsOpacityEffect>
+#include <QDebug>
static const int frameRange = 40;
@@ -31,7 +32,7 @@ KateFadeEffect::KateFadeEffect(QWidget* widget)
: QObject(widget)
, m_widget(widget)
{
- m_timeLine = new QTimeLine(10000, this);
+ m_timeLine = new QTimeLine(500, this);
m_timeLine->setFrameRange(0, frameRange);
m_effect = new QGraphicsOpacityEffect(this);
m_effect->setOpacity(1.0);
diff --git a/part/view/katemessagewidget.cpp b/part/view/katemessagewidget.cpp
index 31a3760..b203197 100644
--- a/part/view/katemessagewidget.cpp
+++ b/part/view/katemessagewidget.cpp
@@ -20,6 +20,7 @@
#include "katemessagewidget.h"
#include "katemessagewidget.moc"
+#include "katefadeeffect.h"
#include <messageinterface.h>
#include <kmessagewidget.h>
@@ -30,8 +31,9 @@
#include <QtCore/QTimer>
#include <QtGui/QVBoxLayout>
-KateMessageWidget::KateMessageWidget(QWidget* parent)
+KateMessageWidget::KateMessageWidget(QWidget* parent, bool applyFadeEffect)
: QWidget(parent)
+ , m_fadeEffect(0)
{
QVBoxLayout* l = new QVBoxLayout();
l->setMargin(0);
@@ -51,6 +53,10 @@ KateMessageWidget::KateMessageWidget(QWidget* parent)
// by default, hide widgets
m_messageWidget->hide();
hide();
+
+ if (applyFadeEffect) {
+ m_fadeEffect = new KateFadeEffect(m_messageWidget);
+ }
}
bool KateMessageWidget::eventFilter(QObject *obj, QEvent *event)
@@ -102,12 +108,15 @@ void KateMessageWidget::showMessage(KTextEditor::Message* message)
// finally show us
show();
+ if (m_fadeEffect) {
+ m_fadeEffect->fadeIn();
+ } else {
#if KDE_VERSION >= KDE_MAKE_VERSION(4,10,0) // work around KMessageWidget bugs
- m_messageWidget->animatedShow();
+ m_messageWidget->animatedShow();
#else
- QTimer::singleShot(0, m_messageWidget, SLOT(animatedShow()));
+ QTimer::singleShot(0, m_messageWidget, SLOT(animatedShow()));
#endif
-
+ }
// start auto-hide timer, if requrested
const int autoHide = message->autoHide();
if (autoHide >= 0) {
@@ -170,7 +179,11 @@ void KateMessageWidget::messageDestroyed(KTextEditor::Message* message)
// start hide animation, or show next message
if (m_messageWidget->isVisible()) {
- m_messageWidget->animatedHide();
+ if (m_fadeEffect) {
+ m_fadeEffect->fadeOut();
+ } else {
+ m_messageWidget->animatedHide();
+ }
} else if (i == 0 && m_messageList.count()) {
showMessage(m_messageList[0]);
}
diff --git a/part/view/katemessagewidget.h b/part/view/katemessagewidget.h
index 934badb..dc17922 100644
--- a/part/view/katemessagewidget.h
+++ b/part/view/katemessagewidget.h
@@ -30,6 +30,7 @@ namespace KTextEditor
}
class KMessageWidget;
+class KateFadeEffect;
/**
* This class implements a message widget based on KMessageWidget.
@@ -43,7 +44,7 @@ class KateMessageWidget : public QWidget
/**
* Constructor. By default, the widget is hidden.
*/
- KateMessageWidget(QWidget* parent = 0);
+ KateMessageWidget(QWidget* parent, bool applyFadeEffect = false);
/**
* Post a new incoming message. Show either directly, or queue
@@ -75,6 +76,8 @@ class KateMessageWidget : public QWidget
QHash<KTextEditor::Message*, QList<QSharedPointer<QAction> > > m_messageHash;
// the message widget, showing the actual contents
KMessageWidget* m_messageWidget;
+ // the fade effect to show/hide the widget, if wanted
+ KateFadeEffect* m_fadeEffect;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic