[vlc-commits] macosx: Correctly save and restore collapsed state of split view

David Fuhrmann git at videolan.org
Mon Feb 19 21:55:08 CET 2018


vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Mon Feb 19 21:49:51 2018 +0100| [b62b868c75b54ccca3a7e7271878abce5253f69b] | committer: David Fuhrmann

macosx: Correctly save and restore collapsed state of split view

This state is saved already with the automatic macOS mechanisms
using the assigned autosave name. Therefore, remove the additional
setting which was interfering with the already correct state.

fixes #19649

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b62b868c75b54ccca3a7e7271878abce5253f69b
---

 modules/gui/macosx/VLCMainMenu.h   |  2 +-
 modules/gui/macosx/VLCMainMenu.m   |  5 ++---
 modules/gui/macosx/VLCMainWindow.m | 11 ++++-------
 modules/gui/macosx/macosx.m        |  5 +----
 4 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/modules/gui/macosx/VLCMainMenu.h b/modules/gui/macosx/VLCMainMenu.h
index 777f681448..926604d474 100644
--- a/modules/gui/macosx/VLCMainMenu.h
+++ b/modules/gui/macosx/VLCMainMenu.h
@@ -214,7 +214,7 @@
 - (void)setupMenus;
 - (void)setSubmenusEnabled:(BOOL)b_enabled;
 - (void)setRateControlsEnabled:(BOOL)b_enabled;
-- (void)updateSidebarMenuItem;
+- (void)updateSidebarMenuItem:(BOOL)show;
 
 - (IBAction)openAddonManager:(id)sender;
 
diff --git a/modules/gui/macosx/VLCMainMenu.m b/modules/gui/macosx/VLCMainMenu.m
index 80e9565676..a63475fab6 100644
--- a/modules/gui/macosx/VLCMainMenu.m
+++ b/modules/gui/macosx/VLCMainMenu.m
@@ -379,7 +379,6 @@
     [_toggleEffectsButton setTitle: _NS("Show Audio Effects Button")];
     [_toggleEffectsButton setState: var_InheritBool(getIntf(), "macosx-show-effects-button")];
     [_toggleSidebar setTitle: _NS("Show Sidebar")];
-    [_toggleSidebar setState: var_InheritBool(getIntf(), "macosx-show-sidebar")];
     [_playlistTableColumns setTitle: _NS("Playlist Table Columns")];
 
     [_controlsMenu setTitle: _NS("Playback")];
@@ -704,9 +703,9 @@
     [[[VLCMain sharedInstance] mainWindow] toggleLeftSubSplitView];
 }
 
-- (void)updateSidebarMenuItem
+- (void)updateSidebarMenuItem:(BOOL)show;
 {
-    [_toggleSidebar setState: var_InheritBool(getIntf(), "macosx-show-sidebar")];
+    [_toggleSidebar setState:show];
 }
 
 #pragma mark - Playback
diff --git a/modules/gui/macosx/VLCMainWindow.m b/modules/gui/macosx/VLCMainWindow.m
index 9b86d427b5..ec638e455c 100644
--- a/modules/gui/macosx/VLCMainWindow.m
+++ b/modules/gui/macosx/VLCMainWindow.m
@@ -277,9 +277,7 @@ static const float f_min_window_height = 307.;
 
     /* restore split view */
     f_lastLeftSplitViewWidth = 200;
-    /* trick NSSplitView implementation, which pretends to know better than us */
-    if (!var_InheritBool(getIntf(), "macosx-show-sidebar"))
-        [self performSelector:@selector(toggleLeftSubSplitView) withObject:nil afterDelay:0.05];
+    [[[VLCMain sharedInstance] mainMenu] updateSidebarMenuItem: ![_splitView isSubviewCollapsed:_splitViewLeft]];
 }
 
 #pragma mark -
@@ -516,7 +514,6 @@ static const float f_min_window_height = 307.;
 
 - (void)applicationWillTerminate:(NSNotification *)notification
 {
-    config_PutInt(getIntf(), "macosx-show-sidebar", ![_splitView isSubviewCollapsed:_splitViewLeft]);
     [self saveFrameUsingName:[self frameAutosaveName]];
 }
 
@@ -833,8 +830,7 @@ static const float f_min_window_height = 307.;
 - (void)mainSplitViewDidResizeSubviews:(id)object
 {
     f_lastLeftSplitViewWidth = [_splitViewLeft frame].size.width;
-    config_PutInt(getIntf(), "macosx-show-sidebar", ![_splitView isSubviewCollapsed:_splitViewLeft]);
-    [[[VLCMain sharedInstance] mainMenu] updateSidebarMenuItem];
+    [[[VLCMain sharedInstance] mainMenu] updateSidebarMenuItem: ![_splitView isSubviewCollapsed:_splitViewLeft]];
 }
 
 - (void)toggleLeftSubSplitView
@@ -844,7 +840,8 @@ static const float f_min_window_height = 307.;
         [_splitView setPosition:f_lastLeftSplitViewWidth ofDividerAtIndex:0];
     else
         [_splitView setPosition:[_splitView minPossiblePositionOfDividerAtIndex:0] ofDividerAtIndex:0];
-    [[[VLCMain sharedInstance] mainMenu] updateSidebarMenuItem];
+
+    [[[VLCMain sharedInstance] mainMenu] updateSidebarMenuItem: ![_splitView isSubviewCollapsed:_splitViewLeft]];
 }
 
 #pragma mark -
diff --git a/modules/gui/macosx/macosx.m b/modules/gui/macosx/macosx.m
index 9adcc2a205..3c93acfcfb 100644
--- a/modules/gui/macosx/macosx.m
+++ b/modules/gui/macosx/macosx.m
@@ -122,9 +122,6 @@ void WindowClose  (vout_window_t *);
 #define EFFECTSBUTTON_TEXT N_("Show Audio Effects Button")
 #define EFFECTSBUTTON_LONGTEXT N_("Shows the audio effects button in the main window.")
 
-#define SIDEBAR_TEXT N_("Show Sidebar")
-#define SIDEBAR_LONGTEXT N_("Shows a sidebar in the main window listing media sources.")
-
 #define ITUNES_TEXT N_("Control external music players")
 #define ITUNES_LONGTEXT N_("VLC will pause and resume supported music players on playback.")
 
@@ -164,7 +161,6 @@ vlc_module_begin()
         add_bool("macosx-show-playback-buttons", false, JUMPBUTTONS_TEXT, JUMPBUTTONS_LONGTEXT, false)
         add_bool("macosx-show-playmode-buttons", false, PLAYMODEBUTTONS_TEXT, PLAYMODEBUTTONS_LONGTEXT, false)
         add_bool("macosx-show-effects-button", false, EFFECTSBUTTON_TEXT, EFFECTSBUTTON_LONGTEXT, false)
-        add_bool("macosx-show-sidebar", true, SIDEBAR_TEXT, SIDEBAR_LONGTEXT, false)
         add_integer_with_range("macosx-max-volume", 125, 60, 200, VOLUME_MAX_TEXT, VOLUME_MAX_TEXT, true)
         add_bool("macosx-large-text", false, LARGE_LISTFONT_TEXT, LARGE_LISTFONT_TEXT, false)
 
@@ -190,6 +186,7 @@ vlc_module_begin()
     add_obsolete_bool("macosx-stretch") /* since 2.0.0 */
     add_obsolete_bool("macosx-eq-keep") /* since 2.0.0 */
     add_obsolete_bool("macosx-autosave-volume") /* since 2.1.0 */
+    add_obsolete_bool("macosx-show-sidebar") /* since 3.0.1 */
 
     add_submodule()
         set_description("Mac OS X Video Output Provider")



More information about the vlc-commits mailing list