summaryrefslogtreecommitdiff
path: root/plugin.video.mediathekview/resources/lib/kodi/KodiUI.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.video.mediathekview/resources/lib/kodi/KodiUI.py')
-rw-r--r--plugin.video.mediathekview/resources/lib/kodi/KodiUI.py40
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 ):