summaryrefslogtreecommitdiffstats
path: root/kbiff/notify.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kbiff/notify.cpp')
-rw-r--r--kbiff/notify.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/kbiff/notify.cpp b/kbiff/notify.cpp
new file mode 100644
index 0000000..2289372
--- /dev/null
+++ b/kbiff/notify.cpp
@@ -0,0 +1,95 @@
+/*
+ * notify.cpp
+ * Copyright (C) 1999-2008 Kurt Granroth <granroth@kde.org>
+ *
+ * This file contains the implementation of the KBiffNotify
+ * widget
+ */
+#include "notify.h"
+#include "notify.moc"
+
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qpixmap.h>
+#include <qpushbutton.h>
+
+#include <kapp.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <kprocess.h>
+#include <kwin.h>
+
+KBiffNotify::KBiffNotify(QWidget *parent_, const int num_new,
+ const QString& mailbx)
+ : QDialog(parent_, 0, false, 0)
+{
+ KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
+ setCaption(i18n("You have new mail!"));
+
+ QLabel *pixmap = new QLabel(this);
+ pixmap->setPixmap(kapp->icon());
+ pixmap->setFixedSize(pixmap->sizeHint());
+
+ QLabel *congrats = new QLabel(i18n("You have new mail!"), this);
+ QFont the_font(congrats->font());
+ the_font.setBold(true);
+ congrats->setFont(the_font);
+
+ QString msg;
+ msg = i18n("New Messages: %1").arg(num_new);
+ msgLabel = new QLabel(msg, this);
+
+ msg = i18n("Mailbox: %1").arg(mailbx);
+ QLabel *which_one = new QLabel(msg, this);
+
+ QPushButton *ok = new QPushButton(i18n("OK"), this);
+ ok->setDefault(true);
+
+ QPushButton *launch = new QPushButton(i18n("Mailer"), this);
+
+ // connect the signals to slots
+ connect(ok, SIGNAL(clicked()), SLOT(accept()));
+ connect(launch, SIGNAL(clicked()), SLOT(slotLaunchMailClient()));
+ connect(launch, SIGNAL(clicked()), this, SLOT(accept()));
+
+ // Now do the layout
+ QVBoxLayout *info_layout = new QVBoxLayout(12);
+ info_layout->addWidget(congrats);
+ info_layout->addWidget(msgLabel);
+ info_layout->addWidget(which_one);
+
+ QHBoxLayout *upper_layout = new QHBoxLayout;
+ upper_layout->addWidget(pixmap);
+ upper_layout->addLayout(info_layout, 1);
+
+ QHBoxLayout *button_layout = new QHBoxLayout;
+ button_layout->addStretch(1);
+ button_layout->addWidget(launch);
+ button_layout->addWidget(ok);
+ button_layout->addStretch(1);
+
+ QVBoxLayout *top_layout = new QVBoxLayout(this, 12);
+ top_layout->addLayout(upper_layout);
+ top_layout->addLayout(button_layout);
+
+ mailbox = mailbx;
+ messages = num_new;
+}
+
+KBiffNotify::~KBiffNotify()
+{
+}
+
+void KBiffNotify::setNew(const int num_new)
+{
+ QString msg;
+ msg = i18n("New Messages: %1").arg(num_new);
+ msgLabel->setText(msg);
+ messages = num_new;
+}
+
+void KBiffNotify::slotLaunchMailClient()
+{
+ emit(signalLaunchMailClient());
+}