[Xfce4-commits] [apps/parole] 01/01: Add mini mode
noreply at xfce.org
noreply at xfce.org
Sun Feb 5 01:07:05 CET 2017
This is an automated email from the git hooks/post-receive script.
bluesabre pushed a commit to branch master
in repository apps/parole.
commit aa6e2c36d12b68c5af8039d8a7432129c35ca89a
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Sat Feb 4 19:06:59 2017 -0500
Add mini mode
---
data/interfaces/parole.ui | 37 ++++++++++++++--------
src/parole-conf.c | 1 -
src/parole-player.c | 78 ++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 96 insertions(+), 20 deletions(-)
diff --git a/data/interfaces/parole.ui b/data/interfaces/parole.ui
index 2a1fc8a..53ea1eb 100644
--- a/data/interfaces/parole.ui
+++ b/data/interfaces/parole.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.1 -->
+<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.2"/>
<object class="GtkAdjustment" id="adjustment1">
@@ -328,8 +328,8 @@
<property name="label" translatable="yes">Volume _Up</property>
<property name="use_underline">True</property>
<signal name="activate" handler="parole_player_volume_up" swapped="no"/>
- <accelerator key="plus" signal="activate"/>
<accelerator key="equal" signal="activate"/>
+ <accelerator key="plus" signal="activate"/>
</object>
</child>
<child>
@@ -620,7 +620,7 @@
</child>
<child>
<object class="GtkEventBox" id="content_area">
- <property name="width_request">380</property>
+ <property name="width_request">256</property>
<property name="height_request">256</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -670,7 +670,7 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="box5">
+ <object class="GtkBox" id="audio_text">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@@ -679,11 +679,11 @@
<object class="GtkLabel" id="audio_title">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">1</property>
<property name="label" translatable="yes"><span color='#F4F4F4'><b><big>Unknown Song</big></b></span></property>
<property name="use_markup">True</property>
<property name="ellipsize">end</property>
+ <property name="xalign">0</property>
+ <property name="yalign">1</property>
</object>
<packing>
<property name="expand">True</property>
@@ -695,10 +695,10 @@
<object class="GtkLabel" id="audio_album">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes"><big><span color='#BBBBBB'><i>on</i></span> <span color='#F4F4F4'>Unknown Album</span></big></property>
<property name="use_markup">True</property>
<property name="ellipsize">end</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -710,11 +710,11 @@
<object class="GtkLabel" id="audio_artist">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
<property name="label" translatable="yes"><big><span color='#BBBBBB'><i>by</i></span> <span color='#F4F4F4'>Unknown Artist</span></big></property>
<property name="use_markup">True</property>
<property name="ellipsize">end</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
</object>
<packing>
<property name="expand">True</property>
@@ -857,6 +857,20 @@
</packing>
</child>
<child>
+ <object class="GtkLabel" id="media_time_divider">
+ <property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
+ <property name="margin_left">6</property>
+ <property name="margin_right">6</property>
+ <property name="label" translatable="yes">/</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">6</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkLabel" id="media_time_duration">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -866,7 +880,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">6</property>
+ <property name="position">7</property>
</packing>
</child>
</object>
@@ -880,17 +894,16 @@
<object class="GtkVolumeButton" id="media_volumebutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="focus_on_click">False</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="relief">none</property>
- <property name="focus_on_click">False</property>
<property name="orientation">vertical</property>
<property name="size">menu</property>
<property name="icons">audio-volume-muted-symbolic
audio-volume-high-symbolic
audio-volume-low-symbolic
audio-volume-medium-symbolic</property>
- <property name="use_symbolic">True</property>
<signal name="scroll-event" handler="parole_player_volume_scroll_event_cb" swapped="no"/>
<signal name="value-changed" handler="parole_player_volume_value_changed_cb" swapped="no"/>
<child internal-child="plus_button">
diff --git a/src/parole-conf.c b/src/parole-conf.c
index 2d86955..14eb438 100644
--- a/src/parole-conf.c
+++ b/src/parole-conf.c
@@ -1131,4 +1131,3 @@ parole_conf_xfconf_init_failed (void)
{
no_xfconf = TRUE;
}
-
diff --git a/src/parole-player.c b/src/parole-player.c
index faeb289..51476a8 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -362,6 +362,7 @@ struct ParolePlayerPrivate
/* Parole Player layouts */
gboolean embedded;
gboolean full_screen;
+ gboolean mini_mode;
/* Remembered window sizes */
gint last_h, last_w;
/* HPaned handle-width for calculating size with playlist */
@@ -387,6 +388,7 @@ struct ParolePlayerPrivate
GtkWidget *fullscreen_menu_item;
GtkWidget *label_elapsed;
GtkWidget *label_duration;
+ GtkWidget *label_divider;
GtkWidget *range;
GtkWidget *progressbar_buffering;
GtkWidget *volume;
@@ -426,6 +428,7 @@ struct ParolePlayerPrivate
/* AudioBox (Artwork, Title, Track, Album) Widgets */
GtkWidget *audiobox;
GtkWidget *audiobox_cover;
+ GtkWidget *audiobox_text;
GtkWidget *audiobox_title;
GtkWidget *audiobox_album;
GtkWidget *audiobox_artist;
@@ -2029,8 +2032,12 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
gboolean show_playlist;
gboolean always_hide_menubar = FALSE;
+ gint h, w;
+
g_object_get (G_OBJECT (player->priv->conf),
"always-hide-menubar", &always_hide_menubar,
+ "window-height", &h,
+ "window-width", &w,
NULL);
if ( player->priv->full_screen != fullscreen )
@@ -2080,6 +2087,40 @@ parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
gtk_widget_hide (player->priv->fullscreen_button);
gtk_widget_hide (player->priv->showhide_playlist_button);
}
+
+ else
+ {
+ if ( player->priv->mini_mode )
+ {
+ gtk_widget_hide (player->priv->menu_bar);
+ gtk_widget_hide (player->priv->playlist_nt);
+ gtk_widget_hide (player->priv->fullscreen_button);
+ gtk_widget_hide (player->priv->showhide_playlist_button);
+ gtk_widget_hide (player->priv->audiobox_text);
+ gtk_widget_set_halign (player->priv->audiobox_cover, GTK_ALIGN_CENTER);
+
+ gtk_widget_hide(player->priv->range);
+ gtk_widget_show(player->priv->label_divider);
+
+ gtk_window_resize (GTK_WINDOW (player->priv->window), 256, 256);
+ }
+
+ else
+ {
+ gtk_widget_show (player->priv->audiobox_text);
+ gtk_widget_show (player->priv->fullscreen_button);
+ gtk_widget_hide(player->priv->label_divider);
+ gtk_widget_show(player->priv->range);
+ gtk_widget_set_halign (player->priv->audiobox_cover, GTK_ALIGN_FILL);
+
+ if ( !player->priv->full_screen )
+ {
+ gtk_widget_show (player->priv->menu_bar);
+ gtk_widget_show (player->priv->showhide_playlist_button);
+ gtk_window_resize (GTK_WINDOW (player->priv->window), w, h);
+ }
+ }
+ }
}
void
@@ -2114,6 +2155,13 @@ static void parole_player_hide_menubar_cb (GtkWidget *widget, ParolePlayer *play
gtk_widget_set_visible (player->priv->menu_bar, player->priv->show_menubar);
}
+static void parole_player_toggle_mini_mode_cb (GtkWidget *widget, ParolePlayer *player)
+{
+ gboolean active = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM(widget));
+ player->priv->mini_mode = active;
+ parole_player_reset_controls(player, FALSE);
+}
+
static void
parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time)
{
@@ -2184,8 +2232,21 @@ parole_player_show_menu (ParolePlayer *player, guint button, guint activate_time
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
- }
+ if ( player->priv->mini_mode ) {
+ gtk_widget_set_sensitive(GTK_WIDGET(mi), FALSE);
+ }
+
+ mi = gtk_separator_menu_item_new();
+ gtk_widget_show(GTK_WIDGET(mi));
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+ mi = gtk_check_menu_item_new_with_label(_("Mini Mode"));
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mi), player->priv->mini_mode);
+ g_signal_connect (mi, "activate",
+ G_CALLBACK (parole_player_toggle_mini_mode_cb), player);
+ gtk_widget_show (mi);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
+ }
g_signal_connect_swapped (menu, "selection-done",
G_CALLBACK (gtk_widget_destroy), menu);
@@ -2266,7 +2327,7 @@ parole_player_gst_widget_motion_notify_event (GtkWidget *widget, GdkEventMotion
hide_timeout = 0;
}
- gtk_widget_show_all (gtk_widget_get_parent(player->priv->control));
+ gtk_widget_show (gtk_widget_get_parent(player->priv->control));
parole_player_set_cursor_visible (player, TRUE);
@@ -3029,10 +3090,12 @@ parole_player_configure_event_cb (GtkWidget *widget, GdkEventConfigure *ev, Paro
{
player->priv->last_w = old_w;
player->priv->last_h = old_h;
- g_object_set (G_OBJECT (player->priv->conf),
- "window-width", new_w,
- "window-height", new_h,
- NULL);
+
+ if ( !player->priv->mini_mode )
+ g_object_set (G_OBJECT (player->priv->conf),
+ "window-width", new_w,
+ "window-height", new_h,
+ NULL);
}
}
@@ -3387,6 +3450,7 @@ parole_player_init (ParolePlayer *player)
// Audio Box
player->priv->audiobox = GTK_WIDGET (gtk_builder_get_object (builder, "audio_output"));
player->priv->audiobox_cover = GTK_WIDGET (gtk_builder_get_object (builder, "audio_cover"));
+ player->priv->audiobox_text = GTK_WIDGET (gtk_builder_get_object (builder, "audio_text"));
player->priv->audiobox_title = GTK_WIDGET (gtk_builder_get_object (builder, "audio_title"));
player->priv->audiobox_album = GTK_WIDGET (gtk_builder_get_object (builder, "audio_album"));
player->priv->audiobox_artist = GTK_WIDGET (gtk_builder_get_object (builder, "audio_artist"));
@@ -3603,6 +3667,7 @@ parole_player_init (ParolePlayer *player)
/* Elapsed/Duration labels */
player->priv->label_duration = GTK_WIDGET(gtk_builder_get_object(builder, "media_time_duration"));
player->priv->label_elapsed = GTK_WIDGET(gtk_builder_get_object(builder, "media_time_elapsed"));
+ player->priv->label_divider = GTK_WIDGET(gtk_builder_get_object(builder, "media_time_divider"));
/* Time Slider */
player->priv->range = GTK_WIDGET (gtk_builder_get_object (builder, "media_progress_slider"));
@@ -4105,4 +4170,3 @@ static gboolean parole_player_dbus_play_disc (ParolePlayer *player,
return TRUE;
}
-
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list