Testers Wanted: GameListView Theming Refactoring
-
@pjft that is really just a brainstorm item, where I tried to tie in this new possibility of many views with the filter functionality. Basically letting the themer set a filter for the user.
Then we could show all games of a certain genre, with a view relevant to that genre.
Would be even better if we would have free text filtering on game-titles...
-
@zigurana Got it.
Sounds interesting, though then those themes would start from a collection of "all games" and filter them out, is that it?
I can certainly see that for non-free text filters. As for free-text filters, it starts being a can of worms - "Mega Man", "Megaman", etc. - but I think there might be something there to explore. On the other hand, with custom collections, we might solve that in a way that doesn't necessarily explicitly tie the view to the data. But we'll see!
We can certainly add free-text filtering on game titles at a later stage - I have just avoided doing anything that requires a physical keyboard for the user to use so far :)
Thanks!
-
@pjft quite, very much in the brainstorm domain for sure!
-
@jdrassa said in Testers Wanted: GameListView Theming Refactoring:
The showSnapshot options for video do not work. This appears to be due to the fact that the image is never being set on the VideoComponent.
Looked at this yesterday and tonight, and the issue is not straightforward to solve.
The way I understand it: Rather than setting a single value, the VideoComponent needs to use two game-dependent values: the video-path and thumbnail path. This is also the reason why the setValue() method is not being used in the current VideoGameListView, but instead two calls are made:mVideo->setVideo(video_path)
, andmVideo->setImage(thumbnail_path);
Currently, the VideoComponent class is the only one with this behavior, the other GuiComponent subclasses can suffice with a single call to
SetValue()
to update the content based on the currently selected game.Now to solve this, there are a couple of solutions:
- make an exception for the VideoComponent while populating its values (hacky)
- change all the implementations of SetValue to take the full metadata, rather than just a single string (muchos effort).
- leave as is, and create an ImageComponent as well as a VideoComponent when we encounter
md_video
in the theme. (simplify videocomponent + thumbnail member becomes obsolete?)
Personally I don't use videoviews, and I am unsure of the difference between the games image and its thumbnail (I guess the thumbnail is a still from the movie?). I'd like some feedback on this, and if people have other suggestions.
-
I like the simplicity and option 3 is probably the best - even if in the worst case themes would need to explicitly add an image element under the video.
Unless we would make the video component contain an image component as well? Would that be an elegant solution?
Or what else could we think of?
-
@pjft said in Testers Wanted: GameListView Theming Refactoring:
Unless we would make the video component contain an image component as well? Would that be an elegant solution?
That is the current design, a single component, where we need to somehow set two values with a single SetValue() call.
I'll think about it some more. See if I can make it work. -
@zigurana but is the problem that we need to set to values with a single call, or is it more that each new object you're defining is meant to have a single "value"?
I was interpreting it to be the latter.
If that's not the case, then we could think of options to make it happen in an elegant manner.
-
Any update on this ? I haven't commented here yet but I'm following this since the beggining and would love to see it happen.
-
Sadly, this has been put on hold for the time being.
-
@Zigurana If you want, maybe I can take a look when my job on the grid view will be "finished". I start to understand well this part of the code base.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.