summaryrefslogtreecommitdiffstats
path: root/src/Applet/CCApplet.cpp
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2009-02-23 17:54:39 +0100
committerJiri Moskovcak <jmoskovc@redhat.com>2009-02-23 17:54:39 +0100
commit9d5c97ca24e32791959b311f0b1eb5e6cec79a3b (patch)
treead7bb91e2480e1de0244c70738d9807e1fb5032e /src/Applet/CCApplet.cpp
parent626938e2d237a00e2ecacd92f94435360d8399c3 (diff)
downloadabrt-9d5c97ca24e32791959b311f0b1eb5e6cec79a3b.tar.gz
abrt-9d5c97ca24e32791959b311f0b1eb5e6cec79a3b.tar.xz
abrt-9d5c97ca24e32791959b311f0b1eb5e6cec79a3b.zip
Added option to run the CC gui from applet.
Diffstat (limited to 'src/Applet/CCApplet.cpp')
-rw-r--r--src/Applet/CCApplet.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/Applet/CCApplet.cpp b/src/Applet/CCApplet.cpp
index 2d54a956..d6de1eef 100644
--- a/src/Applet/CCApplet.cpp
+++ b/src/Applet/CCApplet.cpp
@@ -21,6 +21,7 @@
#include <iostream>
#include <cstdarg>
#include <sstream>
+#include <cstdio>
CApplet::CApplet(DBus::Connection &connection, const char *path, const char *name)
: DBus::ObjectProxy(connection, path, name)
@@ -88,7 +89,34 @@ void CApplet::SetIconTooltip(const char *format, ...)
void CApplet::OnAppletActivate_CB(GtkStatusIcon *status_icon,gpointer user_data)
{
CApplet *applet = (CApplet *)user_data;
- gtk_status_icon_set_visible(applet->m_pStatusIcon,false);
+ //FIXME
+ char cwd[1024];
+ //gtk_status_icon_set_visible(applet->m_pStatusIcon,false);
+ GtkWidget *dialog = NULL;
+ dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ "Do you want to file a report now?");
+ gint result = gtk_dialog_run(GTK_DIALOG(dialog));
+ switch (result)
+ {
+ case GTK_RESPONSE_YES:
+ //FIXME - use fork+exec and absolute paths?
+ getcwd(cwd,1024);
+ if(chdir("../Gui") != -1){
+ popen("./mainwindow.py","r");
+ chdir(cwd);
+ }
+ else{
+ std::cerr << "error changing directory" << std::endl;
+ }
+ gtk_status_icon_set_visible(applet->m_pStatusIcon,false);
+ break;
+ default:
+ gtk_status_icon_set_blinking(applet->m_pStatusIcon,false);
+ break;
+ }
+ gtk_widget_destroy (dialog);
}
void CApplet::OnMenuPopup_cb(GtkStatusIcon *status_icon,