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