diff options
Diffstat (limited to 'plugin.video.mediathekview/resources/lib/kodi/KodiUI.py')
-rw-r--r-- | plugin.video.mediathekview/resources/lib/kodi/KodiUI.py | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/plugin.video.mediathekview/resources/lib/kodi/KodiUI.py b/plugin.video.mediathekview/resources/lib/kodi/KodiUI.py index dee8dbb..138af50 100644 --- a/plugin.video.mediathekview/resources/lib/kodi/KodiUI.py +++ b/plugin.video.mediathekview/resources/lib/kodi/KodiUI.py @@ -3,15 +3,21 @@ # # -- Imports ------------------------------------------------ -import xbmc, xbmcgui +import xbmc +import xbmcgui +import xbmcaddon # -- Classes ------------------------------------------------ class KodiUI( object ): def __init__( self ): - self.bgdialog = None + self.addon = xbmcaddon.Addon() + self.language = self.addon.getLocalizedString + self.bgdialog = KodiBGDialog() - def GetEnteredText( self, deftext = '', heading = '', hidden = False ): + def GetEnteredText( self, deftext = None, heading = None, hidden = False ): + heading = self.language( heading ) if isinstance( heading, int ) else heading if heading is not None else '' + deftext = self.language( deftext ) if isinstance( deftext, int ) else deftext if deftext is not None else '' keyboard = xbmc.Keyboard( deftext, heading, 1 if hidden else 0 ) keyboard.doModal() if keyboard.isConfirmed(): @@ -19,39 +25,39 @@ class KodiUI( object ): return deftext def ShowNotification( self, heading, message, icon = xbmcgui.NOTIFICATION_INFO, time = 5000, sound = True ): + heading = self.language( heading ) if isinstance( heading, int ) else heading + message = self.language( message ) if isinstance( message, int ) else message xbmcgui.Dialog().notification( heading, message, icon, time, sound ) def ShowWarning( self, heading, message, time = 5000, sound = True ): - xbmcgui.Dialog().notification( heading, message, xbmcgui.NOTIFICATION_WARNING, time, sound ) + self.ShowNotification( heading, message, xbmcgui.NOTIFICATION_WARNING, time, sound ) def ShowError( self, heading, message, time = 5000, sound = True ): - xbmcgui.Dialog().notification( heading, message, xbmcgui.NOTIFICATION_ERROR, time, sound ) + self.ShowNotification( heading, message, xbmcgui.NOTIFICATION_ERROR, time, sound ) def ShowBGDialog( self, heading = None, message = None ): - if self.bgdialog is None: - self.bgdialog = xbmcgui.DialogProgressBG() - self.bgdialog.create( heading, message ) - else: - self.bgdialog.update( 0, heading, message ) + self.bgdialog.Create( heading, message ) def UpdateBGDialog( self, percent, heading = None, message = None ): - if self.bgdialog is not None: - self.bgdialog.update( percent, heading, message ) + self.bgdialog.Update( percent, heading, message ) + + def HookBGDialog( self, blockcount, blocksize, totalsize ): + self.bgdialog.UrlRetrieveHook( blockcount, blocksize, totalsize ) def CloseBGDialog( self ): - if self.bgdialog is not None: - self.bgdialog.close() - del self.bgdialog - self.bgdialog = None + self.bgdialog.Close() class KodiBGDialog( object ): def __init__( self ): + self.language = xbmcaddon.Addon().getLocalizedString self.bgdialog= None def __del__( self ): self.Close() def Create( self, heading = None, message = None ): + heading = self.language( heading ) if isinstance( heading, int ) else heading + message = self.language( message ) if isinstance( message, int ) else message if self.bgdialog is None: self.bgdialog = xbmcgui.DialogProgressBG() self.bgdialog.create( heading, message ) @@ -60,6 +66,8 @@ class KodiBGDialog( object ): def Update( self, percent, heading = None, message = None ): if self.bgdialog is not None: + heading = self.language( heading ) if isinstance( heading, int ) else heading + message = self.language( message ) if isinstance( message, int ) else message self.bgdialog.update( percent, heading, message ) def UrlRetrieveHook( self, blockcount, blocksize, totalsize ): |