Página 1 de 1

Pelisealacarta-ui mouse click

Publicado: 06 Sep 2015, 20:33
por fenice82
Hi all,

I don't know if is something introduced by developers or a bug, but the version in subject miss the mouse input.

now this is not a big issue using a pc or a tv with remote but is a big issue when you try to use this version with a smartphone or tablet (there are not input commands).

So, could someone tell me how to activate the mouse input?

thanks

Fenice82

Re: Pelisealacarta-ui mouse click

Publicado: 06 Sep 2015, 21:53
por fenice82
found a workaroud by myself...

in windowtools.py add:

Código: Seleccionar todo

ACTION_MOUSE_LEFT_CLICK = 100
in window_menu.py and channels_menu.py
search and comment

Código: Seleccionar todo

plugintools.log("MenuWindow.onAction action.id="+repr(action.getId())+" action.buttonCode="+repr(action.getButtonCode()))
search:

Código: Seleccionar todo

    def onClick( self, control_id ):
        plugintools.log("MenuWindow.onClick "+repr(control_id))
        pass
change in:

Código: Seleccionar todo

    def onClick( self, control_id ):
        plugintools.log("ChannelWindow.onClick "+repr(control_id))
        if control_id == ACTION_MOUSE_LEFT_CLICK:
			self.onAction(ACTION_SELECT_ITEM)
Ciao

Fenice82

Re: Pelisealacarta-ui mouse click

Publicado: 07 Sep 2015, 21:02
por robalo
hola fenice

He estado probando los cambios que dices y sí, funciona el click izquierdo del ratón en las listas de inicio pero cuando llega a la lista de menús de los canales ya no es efectivo.

He estado ojeando para ver dónde encajar mejor el '100' (action = 100) ya que me resultaba raro que fuese necesario comentar 'plugintools.log("MenuWindow.onAction .....' para que no diera un error que antes no existía. También me resultaba raro que al llegar a la lista de menús de los canales dejara de tener efecto.

Al final creo que he encontrado el sitio ideal, en realidad dos.

Descartando las modificaciones anteriores, osea, con el código tal está en el repositorio oficial, se insertarán un par de líneas en dos archivos, una por archivo. Las dos líneas son iguales. En el primer archivo aceptará el click del botón izquierdo del ratón desde el inicio hasta la lista de canales y en el segundo archivo aceptará el click del botón izquierdo del ratón desde la lista de canales hasta el visionado o la descarga pasando por todos los niveles del canal.

La línea a insertar:

Código: Seleccionar todo

if action == 100: action = ACTION_SELECT_ITEM
Primer archvo, window_channels.py:

Código: Seleccionar todo

    def onAction(self, action):
        plugintools.log("ChannelWindow.onAction action.id="+repr(action.getId())+" action.buttonCode="+repr(action.getButtonCode()))

        ## Botón izquierdo del ratón para las listas del inicio hasta la primera lista de menú de los canales.
        if action == 100: action = ACTION_SELECT_ITEM
Segundo archvo, window_menu.py:

Código: Seleccionar todo

    def onAction(self, action):
        plugintools.log("MenuWindow.onAction action.id="+repr(action.getId())+" action.buttonCode="+repr(action.getButtonCode()))

        pos = self.control_list.getSelectedPosition()
        item = self.itemlist[pos]
        if item.thumbnail!="" and not "thumb_error" in item.thumbnail and not "thumb_folder" in item.thumbnail and not "thumb_nofolder" in item.thumbnail:
            self.getControl(301).setImage(item.thumbnail)
            self.getControl(302).setText(item.title)
            self.getControl(303).setText(item.plot)

        ## Botón izquierdo del ratón para la lista de menús de los canales y todos los sus niveles hasta el visionado o descarga.
        if action == 100: action = ACTION_SELECT_ITEM
Es evidente que podemos colocar la entrada o hacer que acepte el '100' como '7' un poca más abajo o un poco más arriba o con otro formato de línea, eso ya al gusto :) pero lo que sí se debe hacer es que el '100' y el '7' sean la misma acción.

PD: Referente a los mensajes privados, déjame que los lea bien para ver si puedo ayudarte.

Re: Pelisealacarta-ui mouse click

Publicado: 07 Sep 2015, 23:24
por fenice82
robalo escribió:hola fenice

He estado probando los cambios que dices y sí, funciona el click izquierdo del ratón en las listas de inicio pero cuando llega a la lista de menús de los canales ya no es efectivo.

He estado ojeando para ver dónde encajar mejor el '100' (action = 100) ya que me resultaba raro que fuese necesario comentar 'plugintools.log("MenuWindow.onAction .....' para que no diera un error que antes no existía. También me resultaba raro que al llegar a la lista de menús de los canales dejara de tener efecto.

Al final creo que he encontrado el sitio ideal, en realidad dos.

Descartando las modificaciones anteriores, osea, con el código tal está en el repositorio oficial, se insertarán un par de líneas en dos archivos, una por archivo. Las dos líneas son iguales. En el primer archivo aceptará el click del botón izquierdo del ratón desde el inicio hasta la lista de canales y en el segundo archivo aceptará el click del botón izquierdo del ratón desde la lista de canales hasta el visionado o la descarga pasando por todos los niveles del canal.

La línea a insertar:

Código: Seleccionar todo

if action == 100: action = ACTION_SELECT_ITEM
Primer archvo, window_channels.py:

Código: Seleccionar todo

    def onAction(self, action):
        plugintools.log("ChannelWindow.onAction action.id="+repr(action.getId())+" action.buttonCode="+repr(action.getButtonCode()))

        ## Botón izquierdo del ratón para las listas del inicio hasta la primera lista de menú de los canales.
        if action == 100: action = ACTION_SELECT_ITEM
Segundo archvo, window_menu.py:

Código: Seleccionar todo

    def onAction(self, action):
        plugintools.log("MenuWindow.onAction action.id="+repr(action.getId())+" action.buttonCode="+repr(action.getButtonCode()))

        pos = self.control_list.getSelectedPosition()
        item = self.itemlist[pos]
        if item.thumbnail!="" and not "thumb_error" in item.thumbnail and not "thumb_folder" in item.thumbnail and not "thumb_nofolder" in item.thumbnail:
            self.getControl(301).setImage(item.thumbnail)
            self.getControl(302).setText(item.title)
            self.getControl(303).setText(item.plot)

        ## Botón izquierdo del ratón para la lista de menús de los canales y todos los sus niveles hasta el visionado o descarga.
        if action == 100: action = ACTION_SELECT_ITEM
Es evidente que podemos colocar la entrada o hacer que acepte el '100' como '7' un poca más abajo o un poco más arriba o con otro formato de línea, eso ya al gusto :) pero lo que sí se debe hacer es que el '100' y el '7' sean la misma acción.

PD: Referente a los mensajes privados, déjame que los lea bien para ver si puedo ayudarte.
Thank you so much robalo! :)

If you download and test the version in my signature (I didn't fixed it yet) everythings works good, also in channel section, buscador etc...

Your knowledge in python are better than mine so for sure the solution proposed is better!

thank you! :D

Fenice82

Re: Pelisealacarta-ui mouse click

Publicado: 08 Sep 2015, 06:06
por robalo
Gracias a tí fenice.
fenice82 escribió:Your knowledge in python are better than mine so for sure the solution proposed is better!
Las contribuciones de los usuarios amateurs como tu y como yo, desde mi punto de vista, no se debe menospreciar o auto-menospreciar por la apariencia de carecer de conocimientos sobre algún tema, en este caso python. Lo que se debe valorar ( yo al menos lo intento siempre y cuando no me toquen los caramelitos :) ) la intención, el esfuerzo y el empeño que ofrecemos todos los usuarios amateurs que visitamos el foro.

Depués de releer bastantes veces tu segundo post por fin he visto por qué dejaba de ser efectivo al entrar en el menú de los canales. Modificaba window_channels.py por que si modificaba window_menu.py no funcionaba. Entendía que la modidción sólo se aplicaba a un archivo independientemente del archivo windowtools.py.

La razón de mi razonamiento es por
fenice82 escribió:[....]
in window_menu.py and channels_menu.py
search and comment
[....]
Pensé que el error tipográfico hacía referencia al archivo window_channels.py ya que modificando window_menu.py no me funcionaba.

Como dije antes, después de releer y entendiendo que el error tipográfico "in window_menu.py and channels_menu.py" hace referencia a "in window_menu.py and window_channels.py" entonces la "sugerencia" anterior sería diferente aunque dudo de que la hiciera viendo que funcionaba :) El post anterior sólo contendría "Gracias".

Pero bueno, como estamos en faena mi propuesta para la inserción de la 'action = 100 as action = 7' pasa por ser más simple para no provocar el error

Código: Seleccionar todo

AttributeError: 'int' object has no attribute 'getId'
Después de añadir la constante 'ACTION_MOUSE_LEFT_CLICK = 100' en el archivo windowtools.py, modificar 'if action == ACTION_SELECT_ITEM:' por 'if action == ACTION_SELECT_ITEM or action == ACTION_MOUSE_LEFT_CLICK:' en los archivos window_channels.py y window_menu.py.

Re: Pelisealacarta-ui mouse click

Publicado: 08 Sep 2015, 22:34
por fenice82
:? yes now I undestand, there was a typo :?

however your way is easier and work good!

thanks you!

ciao

Fenice82

Re: Pelisealacarta-ui mouse click

Publicado: 12 Sep 2015, 11:21
por welin77
Buenas, a mí me pasaba que en la tablet no podía pulsar desde el táctil, aunque sí con el mando de la ps3. He probado la solución de robalo y funciona perfecto, muchas gracias!! :D