[rhythmbox] shell: implement 'jump to playing' for queue as side pane



commit a1246eb1b483cab4ba47a8c6e4d8ec0a48f377fa
Author: Jonathan Matthew <jonathan d14n org>
Date:   Sun May 4 13:40:11 2014 +1000

    shell: implement 'jump to playing' for queue as side pane
    
    Focus the side pane and scroll to the playing entry rather than trying the
    normal code path, which leads to an assertion failure.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729373

 shell/rb-shell.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/shell/rb-shell.c b/shell/rb-shell.c
index e350c00..e7d1645 100644
--- a/shell/rb-shell.c
+++ b/shell/rb-shell.c
@@ -2652,11 +2652,17 @@ rb_shell_jump_to_current (RBShell *shell, gboolean select_page)
        if (source == NULL)
                return;
 
-       if (select_page) {
-               rb_shell_select_page (shell, RB_DISPLAY_PAGE (source));
+       if (source == RB_SOURCE (shell->priv->queue_source) &&
+           g_settings_get_boolean (shell->priv->settings, "queue-as-sidebar")) {
+               gtk_widget_grab_focus (shell->priv->queue_sidebar);
+               songs = RB_ENTRY_VIEW (shell->priv->queue_sidebar);
+       } else {
+               if (select_page) {
+                       rb_shell_select_page (shell, RB_DISPLAY_PAGE (source));
+               }
+               songs = rb_source_get_entry_view (source);
        }
 
-       songs = rb_source_get_entry_view (source);
        if (songs != NULL) {
                entry = rb_shell_player_get_playing_entry (shell->priv->player_shell);
                if (entry != NULL) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]