[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