[vlc-commits] macosx/library management: make sure to show decoded URLs
Felix Paul Kühne
git at videolan.org
Mon Apr 29 19:27:07 CEST 2019
vlc | branch: master | Felix Paul Kühne <felix at feepk.net> | Sun Apr 28 15:41:20 2019 +0200| [e2e2b636162c221b84740193242c5a3672c25d05] | committer: Felix Paul Kühne
macosx/library management: make sure to show decoded URLs
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e2e2b636162c221b84740193242c5a3672c25d05
---
modules/gui/macosx/UI/VLCLibraryFolderManagementWindow.xib | 6 +++---
modules/gui/macosx/library/VLCLibraryDataTypes.h | 1 +
modules/gui/macosx/library/VLCLibraryDataTypes.m | 4 ++++
modules/gui/macosx/library/VLCLibraryFolderManagementWindow.m | 7 +++++--
4 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/modules/gui/macosx/UI/VLCLibraryFolderManagementWindow.xib b/modules/gui/macosx/UI/VLCLibraryFolderManagementWindow.xib
index bfb18204fa..aea4d05f9a 100644
--- a/modules/gui/macosx/UI/VLCLibraryFolderManagementWindow.xib
+++ b/modules/gui/macosx/UI/VLCLibraryFolderManagementWindow.xib
@@ -24,11 +24,11 @@
<scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cN4-CV-0ZY">
<rect key="frame" x="0.0" y="40" width="638" height="335"/>
<clipView key="contentView" id="iBY-dM-gpy">
- <rect key="frame" x="1" y="0.0" width="636" height="334"/>
+ <rect key="frame" x="1" y="0.0" width="636" height="319"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="qUX-xV-r50" id="yXW-Oh-c8y">
- <rect key="frame" x="0.0" y="0.0" width="874" height="309"/>
+ <rect key="frame" x="0.0" y="0.0" width="874" height="294"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -95,7 +95,7 @@
</subviews>
</clipView>
<scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="AbQ-Qa-KFB">
- <rect key="frame" x="1" y="318" width="636" height="16"/>
+ <rect key="frame" x="1" y="319" width="636" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="wbF-0g-t3S">
diff --git a/modules/gui/macosx/library/VLCLibraryDataTypes.h b/modules/gui/macosx/library/VLCLibraryDataTypes.h
index 2b366ffee8..c92b76480f 100644
--- a/modules/gui/macosx/library/VLCLibraryDataTypes.h
+++ b/modules/gui/macosx/library/VLCLibraryDataTypes.h
@@ -125,6 +125,7 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithEntryPoint:(struct vlc_ml_entry_point_t *)p_entryPoint;
@property (readonly) NSString *MRL;
+ at property (readonly) NSString *decodedMRL;
@property (readonly) BOOL isPresent;
@property (readonly) BOOL isBanned;
diff --git a/modules/gui/macosx/library/VLCLibraryDataTypes.m b/modules/gui/macosx/library/VLCLibraryDataTypes.m
index e4e20a944c..9d682cff0c 100644
--- a/modules/gui/macosx/library/VLCLibraryDataTypes.m
+++ b/modules/gui/macosx/library/VLCLibraryDataTypes.m
@@ -24,6 +24,8 @@
#import "extensions/NSString+Helpers.h"
+#import <vlc_url.h>
+
@implementation VLCMediaLibraryFile
- (instancetype)initWithFile:(struct vlc_ml_file_t *)p_file
@@ -194,7 +196,9 @@
{
self = [super init];
if (self && p_entryPoint != NULL) {
+
_MRL = toNSStr(p_entryPoint->psz_mrl);
+ _decodedMRL = toNSStr(vlc_uri_decode(p_entryPoint->psz_mrl));
_isPresent = p_entryPoint->b_present;
_isBanned = p_entryPoint->b_banned;
}
diff --git a/modules/gui/macosx/library/VLCLibraryFolderManagementWindow.m b/modules/gui/macosx/library/VLCLibraryFolderManagementWindow.m
index 84c7b54459..097ab18c0d 100644
--- a/modules/gui/macosx/library/VLCLibraryFolderManagementWindow.m
+++ b/modules/gui/macosx/library/VLCLibraryFolderManagementWindow.m
@@ -93,6 +93,7 @@
[_libraryController addFolderWithFileURL:url];
}
+ _cachedFolderList = nil;
[self.libraryFolderTableView reloadData];
}
}
@@ -106,6 +107,7 @@
[_libraryController banFolderWithFileURL:[NSURL URLWithString:entryPoint.MRL]];
}
+ _cachedFolderList = nil;
[self.libraryFolderTableView reloadData];
}
@@ -114,6 +116,7 @@
VLCMediaLibraryEntryPoint *entryPoint = _cachedFolderList[self.libraryFolderTableView.selectedRow];
[_libraryController removeFolderWithFileURL:[NSURL URLWithString:entryPoint.MRL]];
+ _cachedFolderList = nil;
[self.libraryFolderTableView reloadData];
}
@@ -129,13 +132,13 @@
{
VLCMediaLibraryEntryPoint *entryPoint = _cachedFolderList[row];
if (tableColumn == self.nameTableColumn) {
- return [entryPoint.MRL lastPathComponent];
+ return [entryPoint.decodedMRL lastPathComponent];
} else if (tableColumn == self.presentTableColumn) {
return entryPoint.isPresent ? @"✔" : @"✘";
} else if (tableColumn == self.bannedTableColumn) {
return entryPoint.isBanned ? @"✔" : @"✘";
} else {
- return entryPoint.MRL;
+ return entryPoint.decodedMRL;
}
}
More information about the vlc-commits
mailing list