commit c78bffce3277596aaf3fb7567ed931332bb8c41c
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Sun Feb 20 00:08:43 2011 +0000

    Migrate media player glade to gtkbuilder

 .gitignore                                         |    2 +-
 plugins/media_player/Makefile.am                   |    2 +-
 plugins/media_player/media_player.c                |   52 +++++++------
 .../{media_player.glade => media_player.xml}       |   82 ++++++++++---------
 plugins/media_player/plugin.c                      |   30 -------
 po/POTFILES.in                                     |    2 +-
 po/POTFILES.skip                                   |    2 +-
 7 files changed, 75 insertions(+), 97 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6c9a75d..678723c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -87,7 +87,7 @@ version
 /data/glade/playlist_display_toolbar.xml
 /data/glade/core_prefs.xml
 /data/glade/photo_editor.glade
-/data/glade/media_player.glade
+/data/glade/media_player.xml
 /data/glade/playlist_display.xml
 /data/glade/mserv.xml
 
diff --git a/plugins/media_player/Makefile.am b/plugins/media_player/Makefile.am
index 92a54c8..06a9321 100644
--- a/plugins/media_player/Makefile.am
+++ b/plugins/media_player/Makefile.am
@@ -7,7 +7,7 @@ media_player_ui_DATA = $(plugin_name).ui
 
 # Plugin Glade file
 media_player_gladedir = $(gtkpod_glade_dir)
-media_player_glade_DATA =  $(plugin_name).glade
+media_player_glade_DATA =  $(plugin_name).xml
 
 # Plugin Icon file
 media_player_pixmapsdir = $(gtkpod_image_dir)
diff --git a/plugins/media_player/media_player.c 
b/plugins/media_player/media_player.c
index cd5160a..44e1fa0 100644
--- a/plugins/media_player/media_player.c
+++ b/plugins/media_player/media_player.c
@@ -115,11 +115,17 @@ static void update_volume(gdouble value) {
     if (!player)
         return;
 
+    if (value < 0) {
+        value = 0;
+    }
+
     player->volume_level = value / 10;
     prefs_set_double(MEDIA_PLAYER_VOLUME_KEY, player->volume_level);
     prefs_set_double(MEDIA_PLAYER_VOLUME_MUTE, player->volume_level == 0 ? 1 : 
0);
 
-    g_object_set(player->play_element, "volume", player->volume_level, NULL);
+    if (player->play_element) {
+        g_object_set(player->play_element, "volume", player->volume_level, 
NULL);
+    }
 }
 
 static void set_song_label(Track *track) {
@@ -437,27 +443,25 @@ void set_selected_tracks(GList *tracks) {
 
 void init_media_player(GtkWidget *parent) {
     GtkWidget *window;
-    GladeXML *xml;
+    GtkBuilder *builder;
     gst_init_check(0, NULL, NULL);
     srand(time(NULL));
 
     player = g_new0(MediaPlayer, 1);
-    player->glade_path = g_build_filename(get_glade_dir(), 
"media_player.glade", NULL);
-    xml = glade_xml_new(player->glade_path, "media_window", NULL);
+    player->glade_path = g_build_filename(get_glade_dir(), "media_player.xml", 
NULL);
+    builder = gtkpod_builder_xml_new(player->glade_path);
 
-    window = gtkpod_xml_get_widget(xml, "media_window");
-    player->media_panel = gtkpod_xml_get_widget(xml, "media_panel");
-    player->song_label = gtkpod_xml_get_widget(xml, "song_label");
-    player->song_time_label = gtkpod_xml_get_widget(xml, "song_time_label");
-    player->media_toolbar = gtkpod_xml_get_widget(xml, "media_toolbar");
+    window = gtkpod_builder_xml_get_widget(builder, "media_window");
+    player->media_panel = gtkpod_builder_xml_get_widget(builder, 
"media_panel");
+    player->song_label = gtkpod_builder_xml_get_widget(builder, "song_label");
+    player->song_time_label = gtkpod_builder_xml_get_widget(builder, 
"song_time_label");
+    player->media_toolbar = gtkpod_builder_xml_get_widget(builder, 
"media_toolbar");
 
-    player->play_button = gtkpod_xml_get_widget(xml, "play_button");
-    player->stop_button = gtkpod_xml_get_widget(xml, "stop_button");
-    player->previous_button = gtkpod_xml_get_widget(xml, "previous_button");
-    player->next_button = gtkpod_xml_get_widget(xml, "next_button");
-    player->song_scale = gtkpod_xml_get_widget(xml, "song_scale");
-
-    glade_xml_signal_autoconnect(xml);
+    player->play_button = gtkpod_builder_xml_get_widget(builder, 
"play_button");
+    player->stop_button = gtkpod_builder_xml_get_widget(builder, 
"stop_button");
+    player->previous_button = gtkpod_builder_xml_get_widget(builder, 
"previous_button");
+    player->next_button = gtkpod_builder_xml_get_widget(builder, 
"next_button");
+    player->song_scale = gtkpod_builder_xml_get_widget(builder, "song_scale");
 
     g_object_ref(player->media_panel);
     gtk_container_remove(GTK_CONTAINER (window), player->media_panel);
@@ -468,6 +472,8 @@ void init_media_player(GtkWidget *parent) {
     else
         gtk_container_add(GTK_CONTAINER (parent), player->media_panel);
 
+    gtk_builder_connect_signals(builder, NULL);
+
     player->thread = NULL;
     player->loop = NULL;
     player->shuffle = FALSE;
@@ -495,7 +501,7 @@ void init_media_player(GtkWidget *parent) {
 
     gtk_widget_show_all(player->media_panel);
 
-    g_object_unref(xml);
+    g_object_unref(builder);
 }
 
 void destroy_media_player() {
@@ -517,17 +523,15 @@ G_MODULE_EXPORT gboolean 
on_volume_window_focus_out(GtkWidget *widget, GdkEventF
 }
 
 G_MODULE_EXPORT void on_volume_button_clicked_cb(GtkToolButton *toolbutton, 
gpointer *userdata) {
-    GladeXML *xml;
+    GtkBuilder *builder;
     GtkWidget *vol_window;
     GtkWidget *vol_scale;
 
-    xml = glade_xml_new(player->glade_path, "volume_window", NULL);
-    vol_window = gtkpod_xml_get_widget(xml, "volume_window");
-    vol_scale = gtkpod_xml_get_widget(xml, "volume_scale");
+    builder = gtkpod_builder_xml_new(player->glade_path);
+    vol_window = gtkpod_builder_xml_get_widget(builder, "volume_window");
+    vol_scale = gtkpod_builder_xml_get_widget(builder, "volume_scale");
     g_object_set_data(G_OBJECT(vol_window), "scale", vol_scale);
 
-    g_message("Volume level: %f", player->volume_level);
-
     gtk_range_set_value(GTK_RANGE(vol_scale), (player->volume_level * 10));
     g_signal_connect(G_OBJECT (vol_scale),
             "change-value",
@@ -542,7 +546,7 @@ G_MODULE_EXPORT void 
on_volume_button_clicked_cb(GtkToolButton *toolbutton, gpoi
     gtk_widget_show_all(vol_window);
     gtk_widget_grab_focus(vol_window);
 
-    g_object_unref(xml);
+    g_object_unref(builder);
 }
 
 G_MODULE_EXPORT void on_previous_button_clicked_cb(GtkToolButton *toolbutton, 
gpointer *userdata) {
diff --git a/plugins/media_player/media_player.glade 
b/plugins/media_player/media_player.xml
similarity index 81%
rename from plugins/media_player/media_player.glade
rename to plugins/media_player/media_player.xml
index 8f6d75f..99b06cb 100644
--- a/plugins/media_player/media_player.glade
+++ b/plugins/media_player/media_player.xml
@@ -1,32 +1,32 @@
 <?xml version="1.0"?>
-<glade-interface>
-  <!-- interface-requires gtk+ 2.12 -->
+<interface>
+  <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkWindow" id="media_window">
+  <object class="GtkWindow" id="media_window">
     <property name="window_position">mouse</property>
     <child>
-      <widget class="GtkVBox" id="media_panel">
+      <object class="GtkVBox" id="media_panel">
         <property name="visible">True</property>
         <property name="orientation">vertical</property>
         <child>
-          <widget class="GtkHBox" id="song_label_box">
+          <object class="GtkHBox" id="song_label_box">
             <property name="visible">True</property>
             <property name="spacing">10</property>
             <child>
-              <widget class="GtkLabel" id="song_label">
+              <object class="GtkLabel" id="song_label">
                 <property name="visible">True</property>
                 <property name="xalign">0</property>
                 <property name="xpad">6</property>
-              </widget>
+              </object>
               <packing>
                 <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkLabel" id="song_time_label">
+              <object class="GtkLabel" id="song_time_label">
                 <property name="visible">True</property>
                 <property name="label">00:00:00</property>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="padding">5</property>
@@ -34,7 +34,7 @@
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="padding">5</property>
@@ -42,64 +42,64 @@
           </packing>
         </child>
         <child>
-          <widget class="GtkHBox" id="media_toolbar">
+          <object class="GtkHBox" id="media_toolbar">
             <property name="visible">True</property>
             <property name="spacing">30</property>
             <child>
-              <widget class="GtkHBox" id="button_box">
+              <object class="GtkHBox" id="button_box">
                 <property name="visible">True</property>
                 <property name="homogeneous">True</property>
                 <child>
-                  <widget class="GtkToolButton" id="previous_button">
+                  <object class="GtkToolButton" id="previous_button">
                     <property name="width_request">35</property>
                     <property name="visible">True</property>
                     <property name="label" 
translatable="yes">Previous</property>
                     <property name="use_underline">True</property>
                     <property name="stock_id">gtk-media-previous</property>
                     <signal name="clicked" 
handler="on_previous_button_clicked_cb"/>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkToolButton" id="play_button">
+                  <object class="GtkToolButton" id="play_button">
                     <property name="width_request">35</property>
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Play</property>
                     <property name="use_underline">True</property>
                     <property name="stock_id">gtk-media-play</property>
                     <signal name="clicked" 
handler="on_play_button_clicked_cb"/>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkToolButton" id="stop_button">
+                  <object class="GtkToolButton" id="stop_button">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Stop</property>
                     <property name="use_underline">True</property>
                     <property name="stock_id">gtk-media-stop</property>
                     <signal name="clicked" 
handler="on_stop_button_clicked_cb"/>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">2</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkToolButton" id="next_button">
+                  <object class="GtkToolButton" id="next_button">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Next</property>
                     <property name="use_underline">True</property>
                     <property name="stock_id">gtk-media-next</property>
                     <signal name="clicked" 
handler="on_next_button_clicked_cb"/>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">3</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
@@ -107,52 +107,51 @@
               </packing>
             </child>
             <child>
-              <widget class="GtkHScale" id="song_scale">
+              <object class="GtkHScale" id="song_scale">
                 <property name="width_request">150</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="adjustment">0 0 100 1 10 10</property>
                 <property name="digits">0</property>
                 <property name="draw_value">False</property>
                 <property name="value_pos">left</property>
                 <signal name="change_value" 
handler="on_song_scale_change_value_cb"/>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkHBox" id="volume_box">
+              <object class="GtkHBox" id="volume_box">
                 <property name="visible">True</property>
                 <child>
-                  <widget class="GtkToolButton" id="volume_button">
+                  <object class="GtkToolButton" id="volume_button">
                     <property name="visible">True</property>
                     <property name="label" translatable="yes">Volume</property>
                     <property 
name="stock_id">media_player-volume-control-icon</property>
                     <signal name="clicked" 
handler="on_volume_button_clicked_cb"/>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">False</property>
                 <property name="position">2</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
             <property name="fill">False</property>
             <property name="position">1</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-  <widget class="GtkWindow" id="volume_window">
+  </object>
+  <object class="GtkWindow" id="volume_window">
     <property name="width_request">30</property>
     <property name="height_request">150</property>
     <property name="resizable">False</property>
@@ -166,22 +165,27 @@
     <property name="urgency_hint">True</property>
     <property name="decorated">False</property>
     <property name="deletable">False</property>
-    <property name="transient_for">media_window</property>
     <child>
-      <widget class="GtkVScale" id="volume_scale">
+      <object class="GtkVScale" id="volume_scale">
         <property name="visible">True</property>
         <property name="can_focus">True</property>
         <property name="is_focus">True</property>
         <property name="events">GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK 
| GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | 
GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | 
GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | 
GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | 
GDK_SCROLL_MASK</property>
         <property name="orientation">vertical</property>
-        <property name="adjustment">5 0 10 1 1 0</property>
+        <property name="adjustment">volume_adjustment</property>
         <property name="inverted">True</property>
         <property name="lower_stepper_sensitivity">off</property>
         <property name="upper_stepper_sensitivity">off</property>
         <property name="restrict_to_fill_level">False</property>
-        <property name="fill_level">100</property>
+        <property name="fill_level">10</property>
         <property name="digits">0</property>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+  </object>
+  <object class="GtkAdjustment" id="volume_adjustment">
+    <property name="value">5</property>
+    <property name="upper">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">2</property>
+  </object>
+</interface>
diff --git a/plugins/media_player/plugin.c b/plugins/media_player/plugin.c
index 6f9abc5..1553e85 100644
--- a/plugins/media_player/plugin.c
+++ b/plugins/media_player/plugin.c
@@ -134,36 +134,6 @@ static void media_player_plugin_class_init(GObjectClass 
*klass) {
     plugin_class->deactivate = deactivate_plugin;
 }
 
-//static void ipreferences_merge(IAnjutaPreferences* ipref, AnjutaPreferences* 
prefs, GError** e) {
-//    GdkPixbuf *pixbuf;
-//    GError *error = NULL;
-//
-//    MediaPlayerPlugin* plugin = MEDIA_PLAYER_PLUGIN(ipref);
-//    plugin->prefs = init_media_player_preferences(plugin->glade_path);
-//    if (plugin->prefs == NULL)
-//        return;
-//
-//    pixbuf = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), 
PREFERENCE_ICON, 48, 0, &error);
-//
-//    if (!pixbuf) {
-//        g_warning ("Couldn't load icon: %s", error->message);
-//        g_error_free(error);
-//    }
-//    anjuta_preferences_dialog_add_page(ANJUTA_PREFERENCES_DIALOG 
(anjuta_preferences_get_dialog (prefs)), "gtkpod-media_player-settings", 
_(TAB_NAME), pixbuf, plugin->prefs);
-//    g_object_unref(pixbuf);
-//}
-//
-//static void ipreferences_unmerge(IAnjutaPreferences* ipref, 
AnjutaPreferences* prefs, GError** e) {
-//    anjuta_preferences_remove_page(prefs, _(TAB_NAME));
-//    MediaPlayerPlugin* plugin = MEDIA_PLAYER_PLUGIN(ipref);
-//    gtk_widget_destroy(plugin->prefs);
-//}
-//
-//static void ipreferences_iface_init(IAnjutaPreferencesIface* iface) {
-//    iface->merge = ipreferences_merge;
-//    iface->unmerge = ipreferences_unmerge;
-//}
-
 static void track_command_iface_init(TrackCommandInterface *iface) {
     iface->id = "media_player_play_track_command";
     iface->text = _("Play");
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 25df1d2..dfafdcb 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -72,7 +72,7 @@ plugins/info_display/info.c
 plugins/info_display/infoview.c
 plugins/info_display/plugin.c
 plugins/media_player/media_player.c
-plugins/media_player/media_player.glade
+[type: gettext/glade]plugins/media_player/media_player.xml
 [type: gettext/ini]plugins/media_player/media_player.plugin.in
 plugins/media_player/plugin.c
 plugins/mserv/mserv.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index f43e79b..3c4b279 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -3,7 +3,7 @@ data/glade/cover_display.xml
 data/glade/coverweb.xml
 data/glade/details_editor.xml
 data/glade/exporter.xml
-data/glade/media_player.glade
+data/glade/media_player.xml
 data/glade/mserv.xml
 data/glade/photo_editor.glade
 data/glade/playlist_display.xml

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to