fix src
authorTuomo Tanskanen <tumi@tumi.fi>
Wed, 16 Dec 2009 11:37:22 +0000 (13:37 +0200)
committerTuomo Tanskanen <tumi@tumi.fi>
Wed, 16 Dec 2009 11:37:22 +0000 (13:37 +0200)
src/Makefile.am
src/item.c [deleted file]
src/item.h [deleted file]
src/la_status_area_item.c

index b79153d..d75e36f 100644 (file)
@@ -1,32 +1,15 @@
 hildondesktoplib_LTLIBRARIES= \
-       status_menu_load_applet.la \
-       status_area_load_applet.la
+       status_area_cpumem_applet.la
        
+status_area_cpumem_applet_la_CPPFLAGS = \
+        $(CPUMEM_APPLET_CFLAGS)
 
-status_menu_load_applet_la_CPPFLAGS = \
-        $(MAEMO5_LOADAPPLET_CFLAGS)
-
-status_menu_load_applet_la_LDFLAGS = \
-        -module -avoid-version
-
-status_menu_load_applet_la_LIBADD = \
-        $(MAEMO5_LOADAPPLET_LIBS)
-               
-status_menu_load_applet_la_SOURCES = \
-       item.c \
-       item.h
-
-
-
-status_area_load_applet_la_CPPFLAGS = \
-        $(MAEMO5_LOADAPPLET_CFLAGS)
-
-status_area_load_applet_la_LDFLAGS = \
+status_area_cpumem_applet_la_LDFLAGS = \
         -module -avoid-version
 
-status_area_load_applet_la_LIBADD = \
-        $(MAEMO5_LOADAPPLET_LIBS)
+status_area_cpumem_applet_la_LIBADD = \
+        $(CPUMEM_APPLET_LIBS)
                
-status_area_load_applet_la_SOURCES = \
+status_area_cpumem_applet_la_SOURCES = \
        la_status_area_item.c \
        la_status_area_item.h
diff --git a/src/item.c b/src/item.c
deleted file mode 100644 (file)
index 6eb507a..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
-  Load applet - Maemo5 edition
-
-*/
-
-#include <gtk/gtk.h>
-#include <hildon/hildon.h>
-#include <glib/gerror.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <string.h>
-#include <osso-log.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <dbus/dbus.h>
-#include <dbus/dbus.h>
-#include <dbus/dbus-glib.h>
-#include <dbus/dbus-glib-lowlevel.h>
-#include <sched.h>
-#include "item.h"
-
-#define LOAD_APPLET_STATUS_MENU_ITEM_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE (obj, LOAD_APPLET_TYPE_STATUS_MENU_ITEM, LoadAppletStatusMenuItemPrivate))
-
-struct _LoadAppletStatusMenuItemPrivate {
-       gulong screenshot_h;
-       gulong video_h;
-       pid_t rec_pid;
-       gboolean recording;
-
-       DBusError error;
-       GMainLoop *loop;
-       DBusConnection *conn;
-       guint timeout;
-
-};
-
-HD_DEFINE_PLUGIN_MODULE (LoadAppletStatusMenuItem, load_applet_status_menu_item, HD_TYPE_STATUS_MENU_ITEM)
-
-
-
-#define SHUTTER_SOUND "/usr/share/sounds/camera_snd_title_1.wav"
-#define BEEP_SOUND    "/usr/share/sounds/ui-default_beep.wav" 
-#define MAX_SSHOT_NAME_LEN 64
-static gchar *sshotfilename = NULL;
-static char sshotname[MAX_SSHOT_NAME_LEN];
-static guint screenshot_delay = 20;
-static guint beeps = 0;
-static gint sshotn = 0;
-static gint scastn = 0;
-static gboolean taking = FALSE;
-
-#define MATCH_CAMERA_KEY "type='signal',"        \
-       "interface='org.freedesktop.Hal.Device'," 
-
-
-static void
-load_applet_status_menu_item_class_finalize(LoadAppletStatusMenuItemClass * klass)
-{
-}
-
-static void
-load_applet_status_menu_item_dispose(GObject * object)
-{
-       G_OBJECT_CLASS(load_applet_status_menu_item_parent_class)->dispose(object);
-}
-
-static void
-load_applet_status_menu_item_class_init(LoadAppletStatusMenuItemClass * klass)
-{
-       GObjectClass *object_class = G_OBJECT_CLASS(klass);
-
-       object_class->dispose = load_applet_status_menu_item_dispose;
-
-       g_type_class_add_private(klass, sizeof(LoadAppletStatusMenuItemPrivate));
-}
-
-/*
- * Get the filename for next screen-shot. Start with nr.
- * 
- */
-static int
-get_next_sshot(gint nr, const gchar *suffix)
-{
-       FILE *f;
-       gint n;
-
-       n = nr;
-       f = NULL;
-       do {
-               g_snprintf (sshotname, MAX_SSHOT_NAME_LEN-1, "%s/MyDocs/.images/%s%02d.%s", getenv("HOME"), sshotfilename, n, suffix);
-               f = g_fopen(sshotname, "r");
-               if (f) {
-                       fclose(f); 
-                       n++;
-               }
-       }
-       while(f != NULL);
-               
-       return n;
-}
-
-
-/*
- * Get the filename for next screen-cast. Start with nr.
- * 
- */
-static int
-get_next_scast(gint nr, const gchar *suffix)
-{
-       FILE *f;
-       gint n;
-
-       n = nr;
-       f = NULL;
-       do {
-               g_snprintf (sshotname, MAX_SSHOT_NAME_LEN-1, "%s/MyDocs/.videos/%s%02d.%s", getenv("HOME"), "screencast", n, suffix);
-               f = g_fopen(sshotname, "r");
-               if (f) {
-                       fclose(f); 
-                       n++;
-               }
-       }
-       while(f != NULL);
-               
-       return n;
-}
-
-
-
-/*
- * Close the menu, make sure it is closed and redrawn
- */
-static void
-do_little_dance (void)
-{
-       while (gtk_events_pending())
-       {
-               gtk_main_iteration();
-       }
-
-       usleep(1000);
-       sched_yield();
-}
-
-
-/*
- *  Take screeshot using the root window drawable
- */
-static gboolean
-take_screenshot(void)
-{
-       int width, height;
-       GdkDrawable *root_window;
-       GdkPixbuf *pixbuf;
-       gboolean ret;
-       GError *error = NULL;
-       
-       do_little_dance();
-       sshotn = get_next_sshot(sshotn, "png");
-
-
-       root_window = gdk_get_default_root_window();
-       gdk_drawable_get_size(root_window, &width, &height);
-       pixbuf = gdk_pixbuf_get_from_drawable(NULL,
-                                           root_window,
-                                           gdk_drawable_get_colormap (root_window),
-                                           0, 0,
-                                           0, 0,
-                                           width, height);
-      
-
-       ret = gdk_pixbuf_save(pixbuf, sshotname, "png", &error, NULL);
-       g_object_unref(pixbuf);
-
-       //DEBUG
-       //printf("\tSaving %s\n", sshotname);
-
-       return FALSE;
-}
-
-
-/*
- * Either beep or play shutter sound and make the screenshot
- */
-static gboolean
-beep_or_shoot(gpointer data)
-{
-       beeps++;
-       if (beeps >= screenshot_delay) {
-               hildon_play_system_sound(SHUTTER_SOUND);
-               take_screenshot();
-               return FALSE; 
-       } else {
-               hildon_play_system_sound(BEEP_SOUND);
-               return TRUE;  
-       }
-}
-
-
-static DBusHandlerResult
-handle_dbus_events(DBusConnection *connection, DBusMessage *msg, void *user_data)
-{
-       if (taking == FALSE) 
-               return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-       gint message_type = -1;
-       const gchar *interface = dbus_message_get_interface(msg);
-        const gchar *method = dbus_message_get_member(msg);
-       LoadAppletStatusMenuItem *item = (LoadAppletStatusMenuItem*)user_data;
-       item->priv = LOAD_APPLET_STATUS_MENU_ITEM_GET_PRIVATE (item);
-
-       if (!(message_type = dbus_message_get_type(msg)) || !interface || !method) 
-               return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-
-       switch (message_type) {
-       case DBUS_MESSAGE_TYPE_SIGNAL:
-               if ((g_strcmp0(interface, "org.freedesktop.Hal.Device") == 0) &&
-                    (g_strcmp0(method, "PropertyModified") == 0)) {
-                       //Camera key pressed. Take screenshot, cancel the waiting loop, remove D-Bus listener
-                       gtk_timeout_remove(item->priv->timeout);
-                       taking = FALSE;
-                       hildon_play_system_sound(SHUTTER_SOUND);
-                       take_screenshot();
-                       dbus_bus_remove_match(item->priv->conn, MATCH_CAMERA_KEY, &item->priv->error);
-                       dbus_connection_unref(item->priv->conn);
-                       item->priv->conn = 0;
-                       g_main_loop_unref(item->priv->loop);
-                       item->priv->loop = NULL;
-               }
-               break;
-       default:
-               break;
-       }
-       return DBUS_HANDLER_RESULT_HANDLED;
-}
-
-
-#ifdef SHOW_PROCESS_INFO
-/*
- * Show the details dialog (FAKE)
- *
- */
-static void
-activate_status_item(GtkMenuItem *item, gpointer data)
-{
-       GtkWidget *dialog;
-       GtkWidget *selector;
-       GtkWidget *content_area;
-       gint i;
-
-       dialog = gtk_dialog_new();
-
-       selector = hildon_touch_selector_new_text ();
-       hildon_touch_selector_set_column_selection_mode (HILDON_TOUCH_SELECTOR (selector),HILDON_TOUCH_SELECTOR_SELECTION_MODE_SINGLE);
-
-       for (i = 1; i <= 10 ; i++) {
-               gchar *label = g_strdup_printf ("Item %d", i);
-               hildon_touch_selector_append_text (HILDON_TOUCH_SELECTOR (selector), label);
-               g_free (label);
-    }
-
-       hildon_touch_selector_unselect_all(HILDON_TOUCH_SELECTOR (selector), 0);
-
-       content_area = GTK_DIALOG(dialog)->vbox;
-       gtk_container_add(GTK_CONTAINER(content_area), selector);
-       gtk_window_set_default_size(GTK_WINDOW(dialog), -1, 480);
-       
-       gtk_window_set_title(GTK_WINDOW(dialog), "Select process to kill - FAKE FEATURE");
-       gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
-       gtk_dialog_add_button(GTK_DIALOG(dialog), "Kill it", 1);
-       
-       gtk_widget_show_all(GTK_WIDGET(dialog));
-       //gtk_dialog_run(GTK_DIALOG(dialog)); <- blocks and won't close status menu
-}
-#endif
-
-
-
-/*
- * Answer the callback by setting delayed screenshot
- */
-static void
-activate_delayed_screenshot_item(GtkMenuItem *item, gpointer data)
-{
-       if (taking)
-               return;
-       
-       LoadAppletStatusMenuItem *menu_item = (LoadAppletStatusMenuItem*)data;
-       menu_item->priv = LOAD_APPLET_STATUS_MENU_ITEM_GET_PRIVATE (menu_item);
-
-       hildon_banner_show_information(NULL, NULL, "You have 20s to press the camera capture key to take screenshot.");
-       beeps = 0;
-       taking = TRUE;
-       menu_item->priv->timeout = gtk_timeout_add(1000, beep_or_shoot, NULL);
-
-       menu_item->priv->loop = g_main_loop_new(NULL, FALSE);
-       dbus_error_init(&menu_item->priv->error);
-       if ((menu_item->priv->conn = dbus_bus_get(DBUS_BUS_SYSTEM, &menu_item->priv->error)) == NULL) {
-               DLOG_CRIT("LA:Failed to open connection to system bus");
-                dbus_error_free(&menu_item->priv->error);
-                return;
-        }
-       if (!dbus_connection_add_filter(menu_item->priv->conn, handle_dbus_events, (void *)data, 0)) {
-                ULOG_CRIT("LA:Failed to add dbus filter");
-                dbus_error_free(&menu_item->priv->error);
-                return;
-        }
-       dbus_bus_add_match(menu_item->priv->conn, MATCH_CAMERA_KEY, &menu_item->priv->error);
-        if (dbus_error_is_set(&menu_item->priv->error)) {
-                ULOG_WARN("LA:Unable to add match for my key");
-                dbus_error_free(&menu_item->priv->error);
-        }
-       dbus_connection_setup_with_g_main(menu_item->priv->conn, NULL);
-}
-
-
-/*
- * Answer the callback on video button
- * If idle, start recording
- * If already recording, stop
- */
-static void
-activate_video_item(GtkMenuItem *item, gpointer data)
-{      
-       LoadAppletStatusMenuItem *la_item = (LoadAppletStatusMenuItem*)data;
-       pid_t rec_pid;
-       gchar *savefile;
-               
-       if (la_item->priv->recording == FALSE) {
-               // We are not recording. Start recording by exec
-               scastn = get_next_scast(scastn, "avi");
-               savefile = g_strdup_printf("location=%s", sshotname);
-               rec_pid = fork();
-               if (rec_pid == 0) {
-                       execl("/usr/bin/gst-launch", "/usr/bin/gst-launch", "ximagewsrc", "!", "video/x-raw-rgb,framerate=5/1", "!", "ffmpegcolorspace", "!", "jpegenc", "quality=30", "!", "queue", "!", "mux.", "autoaudiosrc", "!", "audioconvert", "!", "audioresample", "!", "queue", "!", "mux.", "avimux", "name=mux", "!", "filesink", savefile, NULL); 
-                       exit(0);
-               } else {
-                       la_item->priv->recording = TRUE;
-                       la_item->priv->rec_pid = rec_pid;
-               }
-       } else {
-               // We are already recording     
-               kill(la_item->priv->rec_pid, SIGTERM);
-               la_item->priv->recording = FALSE;
-       }
-}
-
-
-
-
-static void
-load_applet_status_menu_item_init (LoadAppletStatusMenuItem * menu_item)
-{
-       #define ICON_DIR        "/usr/share/pixmaps/"
-       #define ICON_VIDEO      ICON_DIR"la_video.png"
-       #define ICON_PICTURE    ICON_DIR"la_picture.png"
-       #define ICON_PROCESS    ICON_DIR"la_process.png"        
-
-       GtkWidget *hbox, *icon, *b;
-
-       menu_item->priv = LOAD_APPLET_STATUS_MENU_ITEM_GET_PRIVATE (menu_item);
-
-       hbox = gtk_hbox_new(FALSE, 0);
-
-       sshotfilename = g_strdup("screenshot");
-
-#ifdef SHOW_PROCESS_INFO
-       // Button status
-       b = hildon_button_new(HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL); 
-       hildon_button_set_style(HILDON_BUTTON(b), HILDON_BUTTON_STYLE_PICKER);
-       gtk_widget_show(b);
-       icon = gtk_image_new_from_file(ICON_PROCESS);
-       gtk_widget_show(icon);
-       gtk_button_set_image(GTK_BUTTON(b), GTK_WIDGET(icon));
-       gtk_box_pack_start(GTK_BOX(hbox), b, TRUE, TRUE, 1);
-       g_signal_connect(b, "clicked", G_CALLBACK(activate_status_item), menu_item);
-#endif
-       // Button Video
-       b = gtk_toggle_button_new();
-       gtk_widget_show(b);
-       icon = gtk_image_new_from_file(ICON_VIDEO);
-       gtk_widget_show(icon);
-       gtk_button_set_image(GTK_BUTTON(b), GTK_WIDGET(icon));
-       gtk_box_pack_start(GTK_BOX(hbox), b, TRUE, TRUE, 1);
-       menu_item->priv->screenshot_h = g_signal_connect(b, "clicked", G_CALLBACK(activate_video_item), menu_item);
-       // Button Picture
-       b = hildon_button_new(HILDON_SIZE_FINGER_HEIGHT, HILDON_BUTTON_ARRANGEMENT_VERTICAL);
-       gtk_widget_show(b);
-       icon = gtk_image_new_from_file(ICON_PICTURE);
-       gtk_widget_show(icon);
-       gtk_button_set_image(GTK_BUTTON(b), GTK_WIDGET(icon));
-       gtk_box_pack_start(GTK_BOX(hbox), b, TRUE, TRUE, 1);  
-       menu_item->priv->screenshot_h = g_signal_connect(b, "clicked", G_CALLBACK(activate_delayed_screenshot_item), menu_item);
-
-       // Pack widgets to menu
-       gtk_widget_show(hbox);
-       gtk_container_add(GTK_CONTAINER(menu_item), hbox);
-       gtk_widget_show(GTK_WIDGET(menu_item));
-       
-       // More init
-       menu_item->priv->recording = FALSE;
-}
-
-
-
diff --git a/src/item.h b/src/item.h
deleted file mode 100644 (file)
index 2defba7..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __LOAD_APPLET_STATUS_MENU_ITEM_H__
-#define __LOAD_APPLET_STATUS_MENU_ITEM_H__
-
-#include <libhildondesktop/libhildondesktop.h>
-
-G_BEGIN_DECLS
-#define LOAD_APPLET_TYPE_STATUS_MENU_ITEM            (load_applet_status_menu_item_get_type ())
-#define LOAD_APPLET_STATUS_MENU_ITEM(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), LOAD_APPLET_TYPE_STATUS_MENU_ITEM, LoadAppletStatusMenuItem))
-#define LOAD_APPLET_STATUS_MENU_ITEM_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  LOAD_APPLET_TYPE_STATUS_MENU_ITEM, LoadAppletStatusMenuItemClass))
-#define LOAD_APPLET_IS_STATUS_MENU_ITEM(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LOAD_APPLET_TYPE_STATUS_MENU_ITEM))
-#define LOAD_APPLET_IS_STATUS_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  LOAD_APPLET_TYPE_STATUS_MENU_ITEM))
-#define LOAD_APPLET_STATUS_MENU_ITEM_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  LOAD_APPLET_TYPE_STATUS_MENU_ITEM, LoadAppletStatusMenuItemClass))
-typedef struct _LoadAppletStatusMenuItem LoadAppletStatusMenuItem;
-
-typedef struct _LoadAppletStatusMenuItemClass
- LoadAppletStatusMenuItemClass;
-
-typedef struct _LoadAppletStatusMenuItemPrivate
- LoadAppletStatusMenuItemPrivate;
-
-struct _LoadAppletStatusMenuItem {
-       HDStatusMenuItem parent;
-
-       LoadAppletStatusMenuItemPrivate *priv;
-};
-
-struct _LoadAppletStatusMenuItemClass {
-       HDStatusMenuItemClass parent;
-};
-
-GType load_applet_status_menu_item_get_type (void);
-
-G_END_DECLS
-#endif
index e1e1ff3..3925fd4 100644 (file)
@@ -341,7 +341,7 @@ load_applet_status_area_item_init (LoadAppletStatusAreaItem *item)
        gdk_pixbuf_fill(item->priv->pixbuf_off, 0x777777ff);
        load_applet_status_area_item_set_area_icon(item);
 
-       item->priv->osso = osso_initialize ("load_applet_status_area_item", "Maemo5", TRUE, NULL);
+       item->priv->osso = osso_initialize ("cpumem_applet_status_area_item", "Maemo5", TRUE, NULL);
        item->priv->timeout_id = gtk_timeout_add(1000, la_check_load, item);
        osso_hw_set_display_event_cb (item->priv->osso, load_applet_status_area_item_display_cb, item);
 }