window update
This commit is contained in:
		
							parent
							
								
									6f7e0548a8
								
							
						
					
					
						commit
						85c27690ad
					
				| @ -34,6 +34,9 @@ __root__ = __settings__.getAddonInfo('path') | ||||
| 
 | ||||
| log('SYS ARGV: ' + str(sys.argv)) | ||||
| 
 | ||||
| #https://github.com/xbmc/xbmc/blob/8d4a5bba55638dfd0bdc5e7de34f3e5293f99933/xbmc/input/Key.h | ||||
| ACTION_STOP = 13 | ||||
| ACTION_PLAYER_PLAY = 79 | ||||
| 
 | ||||
| class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|     __settings__ = sys.modules["__main__"].__settings__ | ||||
| @ -48,7 +51,6 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|     def __init__(self, title=""): | ||||
|         super(MultiChoiceDialog, self).__init__(title) | ||||
|         self.setGeometry(1280, 720, 9, 16) | ||||
|         self.selected = [] | ||||
|         self.set_controls() | ||||
|         self.connect_controls() | ||||
|         self.set_navigation() | ||||
| @ -63,27 +65,30 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|         self.placeControl(self.button_search, 0, 5, 1, 2) | ||||
|         self.button_history = pyxbmct.Button("History") | ||||
|         self.placeControl(self.button_history, 0, 7, 1, 2) | ||||
|         self.button_controlcenter = pyxbmct.Button("Control\r\nCenter") | ||||
|         self.placeControl(self.button_controlcenter, 0, 9, 1, 2) | ||||
|         self.right_menu() | ||||
| 
 | ||||
|         self.listing = pyxbmct.List(_imageWidth=40, _imageHeight=40, _itemTextXOffset=10, _itemTextYOffset=2, _itemHeight=40, _space=2, _alignmentY=4) | ||||
|         self.placeControl(self.listing, 1, 0, 8, 14) | ||||
| 
 | ||||
| 
 | ||||
|     def connect_controls(self): | ||||
|         self.connect(self.listing, self.press) | ||||
|         self.connect(self.listing, self.right_press1) | ||||
|         self.connect(self.button_history, self.history) | ||||
|         self.connect(self.button_search, self.search) | ||||
|         self.connect(self.button_controlcenter, self.controlCenter) | ||||
|         #self.connectEventList([ACTION_ENTER], self.search) | ||||
| 
 | ||||
|     def set_navigation(self): | ||||
|         #Top menu | ||||
|         self.input_search.setNavigation(self.listing, self.listing, self.button_right1, self.button_search) | ||||
|         self.button_search.setNavigation(self.listing, self.listing, self.input_search, self.button_history) | ||||
|         self.button_history.setNavigation(self.listing, self.listing, self.button_search, self.button_right1) | ||||
|         self.button_history.setNavigation(self.listing, self.listing, self.button_search, self.button_controlcenter) | ||||
|         self.button_controlcenter.setNavigation(self.listing, self.listing, self.button_history, self.button_right1) | ||||
|         #Listing | ||||
|         self.listing.setNavigation(self.input_search, self.input_search, self.input_search, self.button_right1) | ||||
|         #Right menu | ||||
|         self.button_right1.setNavigation(self.button_history, self.button_right2, self.listing, self.input_search) | ||||
|         self.button_right1.setNavigation(self.button_controlcenter, self.button_right2, self.listing, self.input_search) | ||||
|         self.button_right2.setNavigation(self.button_right1, self.button_right3, self.listing, self.input_search) | ||||
|         self.button_right3.setNavigation(self.button_right2, self.button_right4, self.listing, self.input_search) | ||||
|         self.button_right4.setNavigation(self.button_right3, self.button_right5, self.listing, self.input_search) | ||||
| @ -95,8 +100,6 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|         else: | ||||
|             self.setFocus(self.input_search) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     def setAnimation(self, control): | ||||
|         # Set fade animation for all add-on window controls | ||||
|         control.setAnimations([('WindowOpen', 'effect=fade start=0 end=100 time=500',), | ||||
| @ -126,9 +129,10 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|                 #log(title) | ||||
|                 self.drawItem(title, 'search_item', link, image) | ||||
| 
 | ||||
|     def press(self): | ||||
|     def right_press1(self): | ||||
|         item = self.listing.getSelectedItem() | ||||
|         params = json.loads(item.getLabel2()) | ||||
|         log('right_press1 params: ' + str(params)) | ||||
|         mode = params.get('mode') | ||||
|         filename = item.getfilename() | ||||
|         label = item.getLabel() | ||||
| @ -142,12 +146,35 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|             self.last_action() | ||||
|         elif mode == 'torrent_play': | ||||
|             action = 'playTorrent' | ||||
|             log('params: '+str(params)) | ||||
|             url = self.form_link(action, params) | ||||
|             log('url: '+url) | ||||
|             xbmc.executebuiltin('xbmc.RunPlugin("%s")' % (url)) | ||||
|             self.close() | ||||
| 
 | ||||
|     def right_press2(self): | ||||
|         item = self.listing.getSelectedItem() | ||||
|         params = json.loads(item.getLabel2()) | ||||
|         log('right_press2 params: ' + str(params)) | ||||
|         mode = params.get('mode') | ||||
|         if mode == 'torrent_play': | ||||
|             action = 'downloadFilesList' | ||||
|             link = {'ind': str(params.get('url'))} | ||||
|             url = self.form_link(action, link) | ||||
|             log('url: ' + url) | ||||
|             xbmc.executebuiltin('xbmc.RunPlugin("%s")' % (url)) | ||||
| 
 | ||||
|     def right_press3(self): | ||||
|         item = self.listing.getSelectedItem() | ||||
|         params = json.loads(item.getLabel2()) | ||||
|         log('right_press3 params: ' + str(params)) | ||||
|         mode = params.get('mode') | ||||
|         if mode == 'torrent_play': | ||||
|             action = 'downloadLibtorrent' | ||||
|             link = {'ind': str(params.get('url'))} | ||||
|             url = self.form_link(action, link) | ||||
|             log('url: ' + url) | ||||
|             xbmc.executebuiltin('xbmc.RunPlugin("%s")' % (url)) | ||||
| 
 | ||||
|     def open_torrent(self, link, tdir = None): | ||||
|         #cache | ||||
|         if link != self.last_link: | ||||
| @ -194,20 +221,25 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
|             self.button_right4 = pyxbmct.Button("Empty") | ||||
|             self.button_right5 = pyxbmct.Button("Empty") | ||||
|             self.button_right6 = pyxbmct.Button("Empty") | ||||
|             self.connect(self.button_right1, self.right_press1) | ||||
|             self.connect(self.button_right2, self.right_press2) | ||||
|             self.connect(self.button_right3, self.right_press3) | ||||
|             #self.connect(self.button_right4, self.right_press2) | ||||
|             #self.connect(self.button_right5, self.right_press2) | ||||
|             #self.connect(self.button_right6, self.right_press2) | ||||
| 
 | ||||
|         elif mode == 'search': | ||||
|             self.right_buttons_count = 3 | ||||
|             self.button_right1.setLabel("Open") | ||||
|             self.connect(self.button_right1, self.press) | ||||
|             self.connect(self.button_right1, self.press) | ||||
|             self.button_right2.setLabel("Open2") | ||||
|             self.button_right3.setLabel("Open3") | ||||
|             self.connect(self.button_right1, self.right_press1) | ||||
|             self.button_right2.setLabel(self.localize('Download via T-client')) | ||||
|             self.connect(self.button_right2, self.right_press2) | ||||
|             self.button_right3.setLabel(self.localize('Download via Libtorrent')) | ||||
|             self.connect(self.button_right3, self.right_press3) | ||||
| 
 | ||||
|         elif mode == 'history': | ||||
|             self.right_buttons_count = 5 | ||||
|             self.button_right1.setLabel("Search") | ||||
|             self.connect(self.button_right1, self.history_search) | ||||
|             self.connect(self.button_right1, self.history_search) | ||||
|             self.button_right2.setLabel("Open2") | ||||
|             self.button_right3.setLabel("Open3") | ||||
|             self.button_right4.setLabel("Open2") | ||||
| @ -249,6 +281,10 @@ class MultiChoiceDialog(pyxbmct.AddonDialogWindow): | ||||
| 
 | ||||
|         return url | ||||
| 
 | ||||
|     def controlCenter(self): | ||||
|         xbmc.executebuiltin( | ||||
|             'xbmc.RunScript(%s,)' % os.path.join(__root__, 'controlcenter.py')) | ||||
| 
 | ||||
| def log(msg): | ||||
|     try: | ||||
|         xbmc.log("### [%s]: %s" % (__plugin__,msg,), level=xbmc.LOGNOTICE ) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user