summaryrefslogtreecommitdiffstats
path: root/src/Applet
diff options
context:
space:
mode:
Diffstat (limited to 'src/Applet')
-rw-r--r--src/Applet/Applet.cpp2
-rw-r--r--src/Applet/CCApplet.cpp8
-rw-r--r--src/Applet/CCApplet.h2
-rw-r--r--src/Applet/Makefile.am4
4 files changed, 12 insertions, 4 deletions
diff --git a/src/Applet/Applet.cpp b/src/Applet/Applet.cpp
index 788faa6d..0f957ceb 100644
--- a/src/Applet/Applet.cpp
+++ b/src/Applet/Applet.cpp
@@ -28,9 +28,9 @@ crash_notify_cb(const char* progname)
#ifdef DEBUG
std::cerr << "Application " << progname << " has crashed!" << std::endl;
#endif
- applet->ShowIcon();
//applet->AddEvent(uid, std::string(progname));
applet->SetIconTooltip("A crash in package %s has been detected!", progname);
+ applet->ShowIcon();
}
int main(int argc, char **argv)
diff --git a/src/Applet/CCApplet.cpp b/src/Applet/CCApplet.cpp
index 80964887..13c734ea 100644
--- a/src/Applet/CCApplet.cpp
+++ b/src/Applet/CCApplet.cpp
@@ -27,13 +27,17 @@ CApplet::CApplet(DBus::Connection &connection, const char *path, const char *nam
: DBus::ObjectProxy(connection, path, name)
{
m_pStatusIcon = gtk_status_icon_new_from_stock(GTK_STOCK_DIALOG_WARNING);
+ char notify_title[5] = "ABRT";
+ notify_init(notify_title);
+ m_pNotification = notify_notification_new_with_status_icon("Warning!",NULL, NULL,m_pStatusIcon);
+ notify_notification_set_urgency (m_pNotification,NOTIFY_URGENCY_CRITICAL);
+ notify_notification_set_timeout(m_pNotification, 5000);
gtk_status_icon_set_visible(m_pStatusIcon,FALSE);
// LMB click
//TODO add some actions!
g_signal_connect(G_OBJECT(m_pStatusIcon),"activate",GTK_SIGNAL_FUNC(CApplet::OnAppletActivate_CB), this);
g_signal_connect(G_OBJECT(m_pStatusIcon),"popup_menu",GTK_SIGNAL_FUNC(CApplet::OnMenuPopup_cb), this);
SetIconTooltip("Pending events: %i",m_mapEvents.size());
-
}
CApplet::~CApplet()
@@ -79,6 +83,7 @@ void CApplet::SetIconTooltip(const char *format, ...)
va_end (args);
if (n != -1)
{
+ notify_notification_update (m_pNotification, "Warning!",buf, NULL);
gtk_status_icon_set_tooltip(m_pStatusIcon,buf);
}
else
@@ -109,6 +114,7 @@ void CApplet::OnMenuPopup_cb(GtkStatusIcon *status_icon,
void CApplet::ShowIcon()
{
gtk_status_icon_set_visible(m_pStatusIcon,true);
+ notify_notification_show(m_pNotification,NULL);
}
void CApplet::HideIcon()
diff --git a/src/Applet/CCApplet.h b/src/Applet/CCApplet.h
index ed5d36d0..98472b46 100644
--- a/src/Applet/CCApplet.h
+++ b/src/Applet/CCApplet.h
@@ -24,6 +24,7 @@
#include <map>
#include <string>
#include <DBusClientProxy.h>
+#include<libnotify/notify.h>
class CApplet
: public CDBusClient_proxy,
@@ -32,6 +33,7 @@ class CApplet
{
private:
GtkStatusIcon* m_pStatusIcon;
+ NotifyNotification *m_pNotification;
std::map<int, std::string > m_mapEvents;
public:
CApplet(DBus::Connection &connection, const char *path, const char *name);
diff --git a/src/Applet/Makefile.am b/src/Applet/Makefile.am
index 1bdb5519..c80daef8 100644
--- a/src/Applet/Makefile.am
+++ b/src/Applet/Makefile.am
@@ -2,7 +2,7 @@ bin_PROGRAMS = abrt-applet
abrt_applet_SOURCES = Applet.cpp CCApplet.cpp CCApplet.h DBusClientProxy.h
abrt_applet_CPPFLAGS = -Wall -Werror -I../Daemon/ \
-DDEBUG_DUMPS_DIR=\"$(DEBUG_DUMPS_DIR)\" \
- $(DBUS_GLIB_CFLAGS) $(GTK_CFLAGS) $(DBUSCPP_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) $(GTK_CFLAGS) $(DBUSCPP_CFLAGS) $(LIBNOTIFY_CFLAGS)\
-I../../lib/MiddleWare -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-abrt_applet_LDADD = $(DL_LIBS) $(GTK_LIBS) -lglib-2.0 -lgthread-2.0 $(DBUSCPP_LIBS)
+abrt_applet_LDADD = $(DL_LIBS) $(GTK_LIBS) -lglib-2.0 -lgthread-2.0 $(DBUSCPP_LIBS) $(LIBNOTIFY_LIBS)