[Xfce4-commits] <parole:master> Enable multimedia-button support and fix most of the preferences dialog (visualisation combo is still broken)

Simon Steinbeiss noreply at xfce.org
Mon Jul 23 01:24:52 CEST 2012


Updating branch refs/heads/master
         to 45e8e7c22a54c298c8b0c98b5b71264d069bd200 (commit)
       from 2e38a9893ebe34018db22458d7e4562f74c586d1 (commit)

commit 45e8e7c22a54c298c8b0c98b5b71264d069bd200
Author: Simon Steinbeiss <ochosi at xfce.org>
Date:   Tue Jul 17 02:06:20 2012 +0200

    Enable multimedia-button support and fix most of the preferences dialog
    (visualisation combo is still broken)

 data/interfaces/parole-settings.ui |    2 +-
 src/parole-conf-dialog.c           |  104 +++++++++++++++++++++++++++++++++++-
 src/parole-player.c                |   23 ++++++--
 3 files changed, 122 insertions(+), 7 deletions(-)

diff --git a/data/interfaces/parole-settings.ui b/data/interfaces/parole-settings.ui
index 5914788..19b6d83 100644
--- a/data/interfaces/parole-settings.ui
+++ b/data/interfaces/parole-settings.ui
@@ -382,7 +382,7 @@
                                 <property name="receives_default">True</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="image">image1</property>
-                                <signal name="clicked" handler="reset-color_clicked_cb" swapped="no"/>
+                                <signal name="clicked" handler="reset_color_clicked_cb" swapped="no"/>
                               </object>
                               <packing>
                                 <property name="expand">True</property>
diff --git a/src/parole-conf-dialog.c b/src/parole-conf-dialog.c
index 40784da..7f3dc1c 100644
--- a/src/parole-conf-dialog.c
+++ b/src/parole-conf-dialog.c
@@ -75,6 +75,19 @@ void		saturation_value_changed_cb			(GtkRange *range,
 
 void 	        reset_color_clicked_cb 			        (GtkButton *button, 
 								 ParoleConfDialog *self);
+								 
+void		replace_playlist_toggled_cb			(GtkToggleButton *widget,
+								 ParoleConfDialog *self);
+								 
+void		remove_duplicated_toggled_cb			(GtkToggleButton *widget,
+								 ParoleConfDialog *self);
+
+void		start_playing_opened_toggled_cb			(GtkToggleButton *widget,
+								 ParoleConfDialog *self);
+								 
+void		multimedia_keys_toggled_cb			(GtkToggleButton *widget,
+								 ParoleConfDialog *self);
+								
 /*
  * End of GtkBuilder callbacks
  */
@@ -108,13 +121,40 @@ parole_conf_dialog_destroy (GtkWidget *widget, ParoleConfDialog *self)
     g_object_unref (self);
 }
 
+void replace_playlist_toggled_cb (GtkToggleButton *widget, ParoleConfDialog *self)
+{
+    g_object_set (G_OBJECT (self->priv->conf),
+		  "replace-playlist", gtk_toggle_button_get_active (widget),
+		  NULL);
+}
+								 
+void remove_duplicated_toggled_cb (GtkToggleButton *widget, ParoleConfDialog *self)
+{
+    g_object_set (G_OBJECT (self->priv->conf),
+		  "remove-duplicated", gtk_toggle_button_get_active (widget),
+		  NULL);
+}
+
+void start_playing_opened_toggled_cb (GtkToggleButton *widget, ParoleConfDialog *self)
+{
+    g_object_set (G_OBJECT (self->priv->conf),
+		  "play-opened-files", gtk_toggle_button_get_active (widget),
+		  NULL);
+}
+
+void multimedia_keys_toggled_cb (GtkToggleButton *widget, ParoleConfDialog *self)
+{
+    g_object_set (G_OBJECT (self->priv->conf),
+		  "multimedia-keys", gtk_toggle_button_get_active (widget),
+		  NULL);
+}
+
 void reset_color_clicked_cb (GtkButton *button, ParoleConfDialog *self)
 {
     gtk_range_set_value (GTK_RANGE (self->priv->brightness), 0);
     gtk_range_set_value (GTK_RANGE (self->priv->contrast), 0);
     gtk_range_set_value (GTK_RANGE (self->priv->hue), 0);
     gtk_range_set_value (GTK_RANGE (self->priv->saturation), 0);
-    
 }
 
 void parole_conf_dialog_response_cb (GtkDialog *dialog, gint response_id, ParoleConfDialog *self)
@@ -302,6 +342,65 @@ parole_conf_dialog_set_default_vis_plugin (GtkTreeModel *model, GtkTreePath *pat
 }
 
 static void
+parole_conf_dialog_set_defaults_playlist (ParoleConfDialog  *self, GtkBuilder *builder)
+{
+    GtkWidget *widget;
+    gboolean option;
+    
+    /**
+     * Replace playlist with opened files.
+     **/
+    widget = GTK_WIDGET (gtk_builder_get_object (builder, "replace-playlist"));
+    
+    g_object_get (G_OBJECT (self->priv->conf),
+		  "replace-playlist", &option,
+		  NULL);
+		  
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), option);
+    
+     /**
+     * Start playing opened files
+     **/
+    widget = GTK_WIDGET (gtk_builder_get_object (builder, "start-playing-opened"));
+    
+    g_object_get (G_OBJECT (self->priv->conf),
+		  "play-opened-files", &option,
+		  NULL);
+		  
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), option);
+    
+     /**
+     * Remove duplicated playlist entries
+     **/
+    widget = GTK_WIDGET (gtk_builder_get_object (builder, "remove-duplicated"));
+    
+    g_object_get (G_OBJECT (self->priv->conf),
+		  "remove-duplicated", &option,
+		  NULL);
+		  
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), option);
+}
+
+static void
+parole_conf_dialog_set_defaults_general (ParoleConfDialog *self, GtkBuilder *builder)
+{
+    GtkWidget *widget;
+    gboolean option;
+    
+     /**
+     * Replace playlist with opened files.
+     **/
+    widget = GTK_WIDGET (gtk_builder_get_object (builder, "multimedia-keys"));
+    
+    g_object_get (G_OBJECT (self->priv->conf),
+		  "multimedia-keys", &option,
+		  NULL);
+		  
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), option);
+    
+}
+
+static void
 parole_conf_dialog_set_defaults (ParoleConfDialog *self)
 {
     GtkTreeModel *model;
@@ -372,6 +471,8 @@ void parole_conf_dialog_open (ParoleConfDialog *self, GtkWidget *parent)
     self->priv->vis_combox = combox;
 
     parole_conf_dialog_set_defaults (self);
+    parole_conf_dialog_set_defaults_general (self, builder);
+    parole_conf_dialog_set_defaults_playlist (self, builder);
     
     g_object_get (G_OBJECT (self->priv->conf),
 		  "reset-saver", &reset_saver,
@@ -423,3 +524,4 @@ void parole_conf_dialog_open (ParoleConfDialog *self, GtkWidget *parent)
     
     gtk_widget_show (dialog);
 }
+
diff --git a/src/parole-player.c b/src/parole-player.c
index c47e881..ffb43c9 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -1898,6 +1898,23 @@ parole_player_set_wm_opacity_hint (GtkWidget *widget)
 		     1);
 }
 
+parole_player_setup_multimedia_keys (ParolePlayer *player)
+{
+    #ifdef HAVE_XF86_KEYSYM
+    gboolean enabled;
+    g_object_get (G_OBJECT (player->priv->conf),
+			"multimedia-keys", &enabled,
+			NULL);
+
+    if ( enabled )
+    {
+	player->priv->button = parole_button_new ();
+	g_signal_connect (player->priv->button, "button-pressed",
+	G_CALLBACK (parole_player_button_pressed_cb), player);
+    }
+    #endif
+}
+
 static void
 parole_player_init (ParolePlayer *player)
 {
@@ -2109,11 +2126,7 @@ parole_player_init (ParolePlayer *player)
     
     g_object_unref (builder);
     
-#ifdef HAVE_XF86_KEYSYM
-    player->priv->button = parole_button_new ();
-    g_signal_connect (player->priv->button, "button-pressed",
-		      G_CALLBACK (parole_player_button_pressed_cb), player);
-#endif
+    parole_player_setup_multimedia_keys (player);
     
     g_signal_connect_swapped (player->priv->window, "notify::is-active",
 			      G_CALLBACK (parole_player_window_notify_is_active), player);


More information about the Xfce4-commits mailing list