[vlc-commits] macosx: Parse HTML descriptions in addons manager
    Marvin Scholz 
    git at videolan.org
       
    Thu Jul  7 14:28:46 CEST 2016
    
    
  
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Thu Jul  7 03:29:47 2016 +0200| [5cc28ae9c55bcbd3ac3d250ecb8830ef758d9fcb] | committer: Marvin Scholz
macosx: Parse HTML descriptions in addons manager
With this commit, HTML descriptions in the addons manager
are parsed correctly and formatting is applied using a
NSAttributedString and a little bit of CSS to make it use
the system font.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5cc28ae9c55bcbd3ac3d250ecb8830ef758d9fcb
---
 modules/gui/macosx/AddonsWindowController.m |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/modules/gui/macosx/AddonsWindowController.m b/modules/gui/macosx/AddonsWindowController.m
index b770a32..784ade3 100644
--- a/modules/gui/macosx/AddonsWindowController.m
+++ b/modules/gui/macosx/AddonsWindowController.m
@@ -205,7 +205,13 @@ static void addonsEventsCallback( const vlc_event_t *event, void *data )
     [_name setStringValue:[currentItem name]];
     [_author setStringValue:[currentItem author]];
     [_version setStringValue:[currentItem version]];
-    [_description setString:[currentItem description]];
+
+    // Parse HTML description properly
+    NSMutableString *htmlDescription = [NSMutableString stringWithFormat:@"<style>body{ font-family: -apple-system-body, -apple-system, HelveticaNeue, Arial, sans-serif; }</style>%@", [currentItem description]];
+    [htmlDescription replaceOccurrencesOfString:@"\n" withString:@"<br />" options:NSLiteralSearch range:NSMakeRange(0, [htmlDescription length])];
+    NSAttributedString *attributedDescription = [[NSAttributedString alloc] initWithHTML:[htmlDescription dataUsingEncoding:NSUTF8StringEncoding]
+                                                                      documentAttributes:NULL];
+    [[_description textStorage] setAttributedString:attributedDescription];
 
     [self updateInstallButton:[currentItem isInstalled]];
 }
    
    
More information about the vlc-commits
mailing list