[gnac/devel] Cleaned up the code



commit 4b051072288ff15c68af9e287a8c1330918eae82
Author: Benoît Dupasquier <bdupasqu src gnome org>
Date:   Sat Jul 10 12:22:59 2010 +0100

    Cleaned up the code

 src/gnac-bars.c        |  208 +++++++++++++++++++++---------------------------
 src/gnac-bars.h        |   19 +++--
 src/gnac-main.c        |   44 +++++------
 src/gnac-stock-items.c |    2 +-
 src/gnac-ui.c          |   62 +++++++-------
 src/gnac-ui.h          |    7 +-
 6 files changed, 155 insertions(+), 187 deletions(-)
---
diff --git a/src/gnac-bars.c b/src/gnac-bars.c
index 692c09f..dc90584 100644
--- a/src/gnac-bars.c
+++ b/src/gnac-bars.c
@@ -37,23 +37,22 @@
 #include "gnac-stock-items.h"
 #include "gnac-ui.h"
 
+
 extern gint nb_files_total;
 
-void
-gnac_bars_on_row_inserted(void)
-{
-  gboolean   activate;
-  GtkWidget *convert_button;
-  GtkAction *action;
 
-  activate = (nb_files_total != 0);
+static void
+gnac_bars_update_convert_label(const gchar *label);
 
-  action = gnac_ui_get_action("convert_item");
-  gtk_action_set_sensitive(action, activate);
+static void
+gnac_bars_update_pause_label(const gchar *label);
 
-  convert_button = gnac_ui_get_widget("convert_button");
-  gtk_widget_set_sensitive(convert_button, activate);
 
+void
+gnac_bars_on_row_inserted(void)
+{
+  gboolean activate = (nb_files_total != 0);
+  gnac_bars_activate_convert(activate);
   gnac_bars_activate_clear(activate);
 }
 
@@ -61,79 +60,40 @@ gnac_bars_on_row_inserted(void)
 void
 gnac_bars_on_row_deleted(void)
 {
-  GtkWidget *convert_button;
-  GtkAction *action;
-
-  action = gnac_ui_get_action("convert_item");
-  gtk_action_set_sensitive(action, FALSE);
-
-  convert_button = gnac_ui_get_widget("convert_button");
-
-  gtk_widget_set_sensitive(convert_button, FALSE);
-
+  gnac_bars_activate_convert(FALSE);
   gnac_bars_activate_remove(FALSE);
   gnac_bars_activate_clear(FALSE);
 }
 
+
 void 
 gnac_bars_on_add_files(void)
 {
-  GtkWidget *convert_button;
-  GtkAction *action;
-
-  convert_button = gnac_ui_get_widget("convert_button");
-  action = gnac_ui_get_action("convert_item");
-
-  gtk_action_set_sensitive(action, TRUE);
-  gtk_widget_set_sensitive(convert_button, TRUE);
-
-  gtk_button_set_label(GTK_BUTTON(convert_button), GTK_STOCK_CANCEL);
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_CANCEL, NULL);
-
-  gnac_ui_disable_profiles();
-
+  gnac_bars_update_convert_label(GTK_STOCK_CANCEL);
+  gnac_ui_activate_profiles(FALSE);
   gnac_bars_activate_add(FALSE);
   gnac_bars_activate_clear(FALSE);
   gnac_bars_activate_remove(FALSE);
 }
 
+
 void 
 gnac_bars_on_add_files_finished(void)
 {
-  GtkWidget *convert_button;
-  GtkAction *action;
-
-  convert_button = gnac_ui_get_widget("convert_button");
-  action = gnac_ui_get_action("convert_item");
-
-  gtk_button_set_label(GTK_BUTTON(convert_button), GTK_STOCK_CONVERT);
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_CONVERT, NULL);
-
-  gnac_ui_enable_profiles();
-
+  gnac_bars_update_convert_label(GTK_STOCK_CONVERT);
+  gnac_ui_activate_profiles(TRUE);
   gnac_bars_activate_add(TRUE);
   gnac_bars_activate_clear(TRUE);
   gnac_bars_activate_remove(TRUE);
 }
 
+
 void
 gnac_bars_on_convert(void)
 {
-  GtkWidget *file_list;
-  GtkWidget *convert_button;
-  GtkAction *action;
-
-  file_list = gnac_ui_get_widget("file_list");
-  convert_button = gnac_ui_get_widget("convert_button");
-  action = gnac_ui_get_action("convert_item");
-
-  gtk_widget_set_sensitive(file_list, FALSE);
-
-  gtk_button_set_label(GTK_BUTTON(convert_button), GTK_STOCK_STOP);
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_STOP, NULL);
-
-  gnac_ui_disable_profiles();
-
+  gnac_bars_activate_file_list(FALSE);
+  gnac_bars_update_convert_label(GTK_STOCK_STOP);
+  gnac_ui_activate_profiles(FALSE);
   gnac_bars_activate_add(FALSE);
   gnac_bars_activate_clear(FALSE);
   gnac_bars_activate_remove(FALSE);
@@ -142,24 +102,13 @@ gnac_bars_on_convert(void)
   gnac_bars_activate_preferences(FALSE);
 }
 
+
 void
 gnac_bars_on_convert_stop(void)
 {
-  GtkWidget *file_list;
-  GtkWidget *convert_button;
-  GtkAction *action;
-
-  file_list = gnac_ui_get_widget("file_list");
-  convert_button = gnac_ui_get_widget("convert_button");
-  action = gnac_ui_get_action("convert_item");
-
-  gtk_widget_set_sensitive(file_list, TRUE);
-
-  gtk_button_set_label(GTK_BUTTON(convert_button), GTK_STOCK_CONVERT);
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_CONVERT, NULL);
-
-  gnac_ui_enable_profiles();
-
+  gnac_bars_activate_file_list(TRUE);
+  gnac_bars_update_convert_label(GTK_STOCK_CONVERT);
+  gnac_ui_activate_profiles(TRUE);
   gnac_bars_activate_add(TRUE);
   gnac_bars_activate_clear((nb_files_total != 0));
   gnac_bars_activate_pause(FALSE);
@@ -170,18 +119,7 @@ gnac_bars_on_convert_stop(void)
 void
 gnac_bars_on_convert_pause(void)
 {
-  GtkAction *action;
-  GtkWidget *button;
-
-  action = gnac_ui_get_action("pause_item");
-  g_object_set(G_OBJECT(action), "stock-id", GNAC_STOCK_RESUME, NULL);
-
-  action = gnac_ui_get_action("tray_pause_item");
-  g_object_set(G_OBJECT(action), "stock-id", GNAC_STOCK_RESUME, NULL);
-
-  button = gnac_ui_get_widget("pause_button");
-  gtk_button_set_label(GTK_BUTTON(button), GNAC_STOCK_RESUME);
-
+  gnac_bars_update_pause_label(GNAC_STOCK_RESUME);
   /* update the status bar */
   gnac_ui_append_status(_("paused"));
 }
@@ -190,17 +128,7 @@ gnac_bars_on_convert_pause(void)
 void
 gnac_bars_on_convert_resume(void)
 {
-  GtkAction *action;
-  GtkWidget *button;
-
-  action = gnac_ui_get_action("pause_item");
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_MEDIA_PAUSE, NULL);
-
-  action = gnac_ui_get_action("tray_pause_item");
-  g_object_set(G_OBJECT(action), "stock-id", GTK_STOCK_MEDIA_PAUSE, NULL);
-
-  button = gnac_ui_get_widget("pause_button");
-  gtk_button_set_label(GTK_BUTTON(button), GTK_STOCK_MEDIA_PAUSE);
+  gnac_bars_update_pause_label(GTK_STOCK_MEDIA_PAUSE);
 }
 
 
@@ -231,15 +159,47 @@ gnac_bars_on_plugin_installed(void)
 
 
 void
-gnac_bars_activate_properties(gboolean activate)
+gnac_bars_activate_add(gboolean activate)
 {
   GtkAction *action;
-  action = gnac_ui_get_action("properties_item");
+  action = gnac_ui_get_action("add_item");
   gtk_action_set_sensitive(action, activate);
 }
 
 
 void
+gnac_bars_activate_clear(gboolean activate)
+{
+  GtkAction *action;
+  action = gnac_ui_get_action("clear_item");
+  gtk_action_set_sensitive(action, activate);
+}
+
+
+void
+gnac_bars_activate_convert(gboolean activate)
+{
+  GtkAction *action;
+  GtkWidget *widget;
+
+  action = gnac_ui_get_action("convert_item");
+  gtk_action_set_sensitive(action, activate);
+
+  widget = gnac_ui_get_widget("convert_button");
+  gtk_widget_set_sensitive(widget, activate);
+}
+
+
+void
+gnac_bars_activate_file_list(gboolean activate)
+{
+  GtkWidget *file_list;
+  file_list = gnac_ui_get_widget("file_list");
+  gtk_widget_set_sensitive(file_list, activate);
+}
+
+
+void
 gnac_bars_activate_pause(gboolean activate)
 {
   GtkAction *action;
@@ -254,59 +214,71 @@ gnac_bars_activate_pause(gboolean activate)
 
 
 void
-gnac_bars_activate_add(gboolean activate)
+gnac_bars_activate_preferences(gboolean activate)
 {
   GtkAction *action;
-  action = gnac_ui_get_action("add_item");
+  action = gnac_ui_get_action("prefs_item");
   gtk_action_set_sensitive(action, activate);
 }
 
 
 void
-gnac_bars_activate_remove(gboolean activate)
+gnac_bars_activate_properties(gboolean activate)
 {
   GtkAction *action;
-  action = gnac_ui_get_action("remove_item");
+  action = gnac_ui_get_action("properties_item");
   gtk_action_set_sensitive(action, activate);
 }
-        
+
 
 void
-gnac_bars_activate_clear(gboolean activate)
+gnac_bars_activate_remove(gboolean activate)
 {
   GtkAction *action;
-  action = gnac_ui_get_action("clear_item");
+  action = gnac_ui_get_action("remove_item");
   gtk_action_set_sensitive(action, activate);
 }
 
 
 void
-gnac_bars_activate_preferences(gboolean activate)
+gnac_bars_activate_quit(gboolean activate)
 {
   GtkAction *action;
-  action = gnac_ui_get_action("prefs_item");
+  action = gnac_ui_get_action("quit_item");
   gtk_action_set_sensitive(action, activate);
 }
 
 
-void
-gnac_bars_activate_convert(gboolean activate)
+static void
+gnac_bars_update_convert_label(const gchar *label)
 {
+  g_return_if_fail(label);
+
   GtkAction *action;
   GtkWidget *widget;
 
   action = gnac_ui_get_action("convert_item");
-  gtk_action_set_sensitive(action, activate);
+  g_object_set(G_OBJECT(action), "stock-id", label, NULL);
 
   widget = gnac_ui_get_widget("convert_button");
-  gtk_widget_set_sensitive(widget, activate);
+  gtk_button_set_label(GTK_BUTTON(widget), label);
 }
 
 
-void
-gnac_bars_activate_quit(gboolean activate)
+static void
+gnac_bars_update_pause_label(const gchar *label)
 {
+  g_return_if_fail(label);
+
   GtkAction *action;
-  action = gnac_ui_get_action("quit_item");
-  gtk_action_set_sensitive(action, activate);
+  GtkWidget *widget;
+
+  action = gnac_ui_get_action("pause_item");
+  g_object_set(G_OBJECT(action), "stock-id", label, NULL);
+
+  action = gnac_ui_get_action("tray_pause_item");
+  g_object_set(G_OBJECT(action), "stock-id", label, NULL);
+
+  widget = gnac_ui_get_widget("pause_button");
+  gtk_button_set_label(GTK_BUTTON(widget), label);
 }
diff --git a/src/gnac-bars.h b/src/gnac-bars.h
index 78e0514..2d1699a 100644
--- a/src/gnac-bars.h
+++ b/src/gnac-bars.h
@@ -66,26 +66,29 @@ gnac_bars_on_plugin_install(void);
 void
 gnac_bars_on_plugin_installed(void);
 
-void 
-gnac_bars_activate_properties(gboolean activate);
+void
+gnac_bars_activate_add(gboolean activate);
 
 void
-gnac_bars_activate_pause(gboolean activate);
+gnac_bars_activate_clear(gboolean activate);
 
 void
-gnac_bars_activate_add(gboolean activate);
+gnac_bars_activate_convert(gboolean activate);
 
-void 
-gnac_bars_activate_remove(gboolean activate);
+void
+gnac_bars_activate_file_list(gboolean activate);
 
 void
-gnac_bars_activate_clear(gboolean activate);
+gnac_bars_activate_pause(gboolean activate);
 
 void
 gnac_bars_activate_preferences(gboolean activate);
 
 void
-gnac_bars_activate_convert(gboolean activate);
+gnac_bars_activate_properties(gboolean activate);
+
+void
+gnac_bars_activate_remove(gboolean activate);
 
 void
 gnac_bars_activate_quit(gboolean activate);
diff --git a/src/gnac-main.c b/src/gnac-main.c
index a7818be..2ffe2be 100644
--- a/src/gnac-main.c
+++ b/src/gnac-main.c
@@ -29,46 +29,49 @@
 
 #include <gio/gio.h>
 #include <glib/gi18n.h>
-#include <gst/gst.h>
 #include <glib/gstdio.h>
+#include <gst/gst.h>
 #include <gst/pbutils/pbutils.h>
 #include <stdlib.h>
 
 #include "gnac-bars.h"
 #include "gnac-file-list.h"
 #include "gnac-gconf.h"
-#include "gnac-ui.h"
 #include "gnac-main.h"
 #include "gnac-options.h"
 #include "gnac-playlist.h"
 #include "gnac-prefs.h"
 #include "gnac-properties.h"
+#include "gnac-ui.h"
 #include "gnac-utils.h"
+
 #include "libgnac-converter.h"
+#include "libgnac-debug.h"
 #include "libgnac-error.h"
 #include "libgnac-metadata.h"
-#include "libgnac-debug.h"
 
 #include "profiles/gnac-profiles.h"
 #include "profiles/gnac-profiles-utils.h"
 
 
 static LibgnacConverter *converter;
-static gboolean          conversion_errors;
-static guint64           prev_time_left;
-static guint             timeout_id; 
+
+static gboolean   conversion_errors = FALSE;
+static guint64    prev_time_left = -1;
+static guint      timeout_id;
 //volatile?
-static gboolean          continue_files_action;
-static gboolean          quit_app = FALSE;
-static GThread          *file_action_thread = NULL;
+static gboolean   continue_files_action;
+static gboolean   quit_app = FALSE;
+static GThread   *file_action_thread = NULL;
 /* TODO add an option overwrite in gnac-prefs? */
-static gboolean          overwrite = FALSE;
-static gboolean          remember_overwrite = FALSE;
-gint                     nb_files_total;
-guint                    nb_files_added;
+static gboolean   overwrite = FALSE;
+static gboolean   remember_overwrite = FALSE;
+gint              nb_files_total;
+guint             nb_files_added;
+
+GnacState state      = GNAC_AUDIO_EMPTY_STATE;
+GnacState prev_state = GNAC_AUDIO_EMPTY_STATE;
 
-GnacState        state;
-GnacState        prev_state;
 LibgnacMetadata *metadata;
 
 static const gchar *states[] = {
@@ -101,7 +104,6 @@ gnac_change_state(GnacState new_state)
       if (gnac_gconf_get_boolean(GNAC_GCONF_TRAY_ICON)) gnac_ui_hide_trayicon();
       gnac_ui_show_progress(FALSE);
       gnac_ui_show_pause(FALSE);
-      // TODO this activates clear button
       gnac_bars_on_convert_stop();
       if (timeout_id != 0) {
         g_source_remove(timeout_id);
@@ -111,7 +113,6 @@ gnac_change_state(GnacState new_state)
       gnac_ui_set_progress_text("");
       prev_time_left = -1;
       gnac_utils_moving_avg_reset();
-      gnac_bars_activate_clear(FALSE);
     break;
 
     case GNAC_AUDIO_FILE_ACTION_STATE:
@@ -993,15 +994,10 @@ main(gint    argc,
   /* Initialisation of libraries */
   gdk_threads_init();
 
-  gnac_ui_init_unique(&options);
-
-  conversion_errors = FALSE;
-  prev_time_left = -1;
-  state = prev_state = GNAC_AUDIO_EMPTY_STATE;
-
-  /* Init gstreamer plugins helper*/
+  /* Init gstreamer plugins helper (XXX should be moved to libgnac) */
   gst_pb_utils_init();
 
+  gnac_ui_init();
   gnac_gconf_init();
   gnac_profiles_init();
 
diff --git a/src/gnac-stock-items.c b/src/gnac-stock-items.c
index 222b361..08c17ca 100644
--- a/src/gnac-stock-items.c
+++ b/src/gnac-stock-items.c
@@ -54,7 +54,7 @@ gnac_stock_items_register_icons(void)
   {
     if (g_str_equal(gnac_stock_items[i].stock_id, GNAC_STOCK_RESUME))
     {
-      GtkIconSet     *icon_set;
+      GtkIconSet *icon_set;
       icon_set = gtk_icon_factory_lookup_default(GTK_STOCK_MEDIA_PLAY);
       gtk_icon_factory_add(factory, gnac_stock_items[i].stock_id, icon_set);
       gtk_icon_set_unref(icon_set);
diff --git a/src/gnac-ui.c b/src/gnac-ui.c
index 4f95328..0d618e3 100644
--- a/src/gnac-ui.c
+++ b/src/gnac-ui.c
@@ -34,11 +34,12 @@
 
 #include "gnac-bars.h"
 #include "gnac-file-list.h"
+#include "gnac-gconf.h"
 #include "gnac-main.h"
+#include "gnac-options.h"
 #include "gnac-stock-items.h"
 #include "gnac-ui.h"
 #include "gnac-utils.h"
-#include "gnac-gconf.h"
 #include "libgnac-debug.h"
 #include "profiles/gnac-profiles.h"
 
@@ -616,18 +617,10 @@ gnac_ui_new(void)
 
 
 void
-gnac_ui_disable_profiles(void)
+gnac_ui_activate_profiles(gboolean activate)
 {
-  gtk_widget_set_sensitive(audio_profile_chooser_combo, FALSE);   
-  gtk_widget_set_sensitive(audio_profile_edit_button, FALSE);
-}
-
-
-void
-gnac_ui_enable_profiles(void)
-{
-  gtk_widget_set_sensitive(audio_profile_chooser_combo, TRUE);   
-  gtk_widget_set_sensitive(audio_profile_edit_button, TRUE);
+  gtk_widget_set_sensitive(audio_profile_chooser_combo, activate);
+  gtk_widget_set_sensitive(audio_profile_edit_button, activate);
 }
 
 
@@ -667,6 +660,7 @@ gnac_ui_show_progress(gboolean show)
   else gtk_widget_hide(progress_bar);
 }
 
+
 gboolean 
 gnac_ui_pulse_progress(void)
 {
@@ -820,8 +814,8 @@ gnac_ui_message_received_cb(UniqueApp         *app,
 }
 
 
-void
-gnac_ui_init_unique(GnacCmdLineOptions *options)
+static void
+gnac_ui_init_unique(void)
 {
   /* We only want a single instance of gnac to be running */
   app = unique_app_new_with_commands("org.gnome.Gnac", NULL,
@@ -833,7 +827,7 @@ gnac_ui_init_unique(GnacCmdLineOptions *options)
       G_CALLBACK(gnac_ui_message_received_cb), NULL);
 
   if (unique_app_is_running(app)) {
-    g_print(_("An instance of Gnac is already running\n"));
+    libgnac_info(_("An instance of Gnac is already running"));
 
     UniqueResponse response;
 
@@ -841,39 +835,39 @@ gnac_ui_init_unique(GnacCmdLineOptions *options)
     response = unique_app_send_message(app, UNIQUE_ACTIVATE, NULL);
 
     /* Transmit the debug option */
-    if (options->debug) {
+    if (options.debug) {
       response = unique_app_send_message(app, UNIQUE_CMD_DEBUG, NULL);
       if (response != UNIQUE_RESPONSE_OK) {
-        g_printerr(_("Failed to transmit the debug option\n"));
+        libgnac_warning(_("Failed to transmit the debug option"));
       }
     }
 
     /* Transmit the verbose option */
-    if (options->verbose) {
+    if (options.verbose) {
       response = unique_app_send_message(app, UNIQUE_CMD_VERBOSE, NULL);
       if (response != UNIQUE_RESPONSE_OK) {
-        g_printerr(_("Failed to transmit the verbose option\n"));
+        libgnac_warning(_("Failed to transmit the verbose option"));
       }
     }
 
     /* Transmit filenames */
-    if (options->filenames) {
+    if (options.filenames) {
       gchar **uris;
       UniqueMessageData *message;
 
       message = unique_message_data_new();
-      uris = gnac_utils_get_filenames_from_cmd_line(options->filenames);
-      g_strfreev(options->filenames);
+      uris = gnac_utils_get_filenames_from_cmd_line(options.filenames);
+      g_strfreev(options.filenames);
       if (!unique_message_data_set_uris(message, uris)) {
-        g_printerr(_("Failed to convert some uris\n"));
+        libgnac_warning(_("Failed to convert some uris"));
       }
       g_strfreev(uris);
       response = unique_app_send_message(app, UNIQUE_CMD_ADD, message);
       unique_message_data_free(message);
       if (response != UNIQUE_RESPONSE_OK) {
-        g_printerr(_("Failed to transmit filenames\n"));
+        libgnac_warning(_("Failed to transmit filenames"));
       } else {
-        g_print(_("Filenames transmitted to the running instance\n"));
+        libgnac_info(_("Filenames transmitted to the running instance"));
       }
     }
 
@@ -884,23 +878,29 @@ gnac_ui_init_unique(GnacCmdLineOptions *options)
 }
 
 
+void
+gnac_ui_init(void)
+{
+  gnac_ui_init_unique();
+}
+
+
 void 
 gnac_ui_show(void)
 {
   GtkWidget *main_window;
-  GtkProgressBar *progress_bar;
 
-  if (gnac_main_builder == NULL) 
-  {
+  if (gnac_main_builder == NULL) {
     gnac_ui_new();
   }
 
-  progress_bar = GTK_PROGRESS_BAR(
-    gtk_builder_get_object(gnac_main_builder, "progressbar"));
+  main_window = GTK_WIDGET(
+      gtk_builder_get_object(gnac_main_builder, "main_window"));
 
-  main_window = GTK_WIDGET(gtk_builder_get_object(gnac_main_builder, "main_window"));
   unique_app_watch_window(app, GTK_WINDOW(main_window));
+
   gtk_widget_show_all(main_window);
+
   gnac_ui_show_progress(FALSE);
   gnac_ui_show_pause(FALSE);
   gnac_bars_activate_pause(FALSE);
diff --git a/src/gnac-ui.h b/src/gnac-ui.h
index 2380300..b7fdcf7 100644
--- a/src/gnac-ui.h
+++ b/src/gnac-ui.h
@@ -60,10 +60,7 @@ void
 gnac_ui_append_status(const gchar *message);
 
 void
-gnac_ui_disable_profiles(void);
-
-void
-gnac_ui_enable_profiles(void);
+gnac_ui_activate_profiles(gboolean activate);
 
 void
 gnac_ui_show_about_dialog(void);
@@ -98,7 +95,7 @@ gnac_ui_file_chooser_key_press_event_cb(GtkWidget   *widget,
                                         GdkEventKey *event,
                                         gpointer     user_data);
 void
-gnac_ui_init_unique(GnacCmdLineOptions *options);
+gnac_ui_init(void);
 
 void
 gnac_ui_new(void);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]