diff options
Diffstat (limited to 'desktop-widgets/notificationwidget.cpp')
-rw-r--r-- | desktop-widgets/notificationwidget.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/desktop-widgets/notificationwidget.cpp b/desktop-widgets/notificationwidget.cpp new file mode 100644 index 000000000..103c0d068 --- /dev/null +++ b/desktop-widgets/notificationwidget.cpp @@ -0,0 +1,42 @@ +#include "notificationwidget.h" + +NotificationWidget::NotificationWidget(QWidget *parent) : KMessageWidget(parent) +{ + future_watcher = new QFutureWatcher<void>(); + connect(future_watcher, SIGNAL(finished()), this, SLOT(finish())); +} + +void NotificationWidget::showNotification(QString message, KMessageWidget::MessageType type) +{ + if (message.isEmpty()) + return; + setText(message); + setCloseButtonVisible(true); + setMessageType(type); + animatedShow(); +} + +void NotificationWidget::hideNotification() +{ + animatedHide(); +} + +QString NotificationWidget::getNotificationText() +{ + return text(); +} + +void NotificationWidget::setFuture(const QFuture<void> &future) +{ + future_watcher->setFuture(future); +} + +void NotificationWidget::finish() +{ + hideNotification(); +} + +NotificationWidget::~NotificationWidget() +{ + delete future_watcher; +} |