summaryrefslogtreecommitdiff
path: root/plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py
diff options
context:
space:
mode:
authorLeo Moll <leo.moll@dtms.de>2018-01-11 12:16:45 +0100
committerMartijn Kaijser <martijn@xbmc.org>2018-01-15 18:48:50 +0100
commite5d0f50b8d39ab7fd745b8f384ec622f6b0df5d9 (patch)
tree330896b0ec477109bcf87798feb7076a65588c45 /plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py
parent7614cf25cf45728579713777796a41bed914fe05 (diff)
[plugin.video.mediathekview] 0.3.4
Diffstat (limited to 'plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py')
-rw-r--r--plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py b/plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py
new file mode 100644
index 0000000..dee8dbb
--- /dev/null
+++ b/plugin.video.mediathekview/de/yeasoft/kodi/KodiUI.py
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+# Copyright 2017 Leo Moll and Dominik Schlösser
+#
+
+# -- Imports ------------------------------------------------
+import xbmc, xbmcgui
+
+# -- Classes ------------------------------------------------
+class KodiUI( object ):
+
+ def __init__( self ):
+ self.bgdialog = None
+
+ def GetEnteredText( self, deftext = '', heading = '', hidden = False ):
+ keyboard = xbmc.Keyboard( deftext, heading, 1 if hidden else 0 )
+ keyboard.doModal()
+ if keyboard.isConfirmed():
+ return keyboard.getText()
+ return deftext
+
+ def ShowNotification( self, heading, message, icon = xbmcgui.NOTIFICATION_INFO, time = 5000, sound = True ):
+ 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 )
+
+ def ShowError( self, heading, message, time = 5000, sound = True ):
+ xbmcgui.Dialog().notification( 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 )
+
+ def UpdateBGDialog( self, percent, heading = None, message = None ):
+ if self.bgdialog is not None:
+ self.bgdialog.update( percent, heading, message )
+
+ def CloseBGDialog( self ):
+ if self.bgdialog is not None:
+ self.bgdialog.close()
+ del self.bgdialog
+ self.bgdialog = None
+
+class KodiBGDialog( object ):
+ def __init__( self ):
+ self.bgdialog= None
+
+ def __del__( self ):
+ self.Close()
+
+ def Create( 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 )
+
+ def Update( self, percent, heading = None, message = None ):
+ if self.bgdialog is not None:
+ self.bgdialog.update( percent, heading, message )
+
+ def UrlRetrieveHook( self, blockcount, blocksize, totalsize ):
+ downloaded = blockcount * blocksize
+ if totalsize > 0:
+ percent = int( (downloaded * 100) / totalsize )
+ if self.bgdialog is not None:
+ self.bgdialog.update( percent )
+
+ def Close( self ):
+ if self.bgdialog is not None:
+ self.bgdialog.close()
+ del self.bgdialog
+ self.bgdialog = None