[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