Coder Social home page Coder Social logo

Enhancement - game filtering about mamesaver HOT 14 CLOSED

mika76 avatar mika76 commented on May 24, 2024
Enhancement - game filtering

from mamesaver.

Comments (14)

mika76 avatar mika76 commented on May 24, 2024 1

Wow I ❤️ it! I think the checkboxes are fine - although if it's easy you could compare to that filter icon you were talking about. One other thing - I suggest a clear filters button somewhere (maybe on the right side in line with Rebuild List...

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

I never knew about catver.ini - that's really cool - yeah I love this idea! 💯 ❤️

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

So what are you thinking - filter the list with some dropdowns at the top or a button which pops open a filter dialog?

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

I need to have a play. It is nicer if the filter was applied dynamically and was in the same window, but there's very little real-estate (particularly if there are two drop-downs, two input fields, potentially some help text if catver.ini isn't present, and a download button).

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Here's an example of my PoC thus far. Key points:

  • Select all / deselect all are via the header checkbox
  • If the user deselects individual games, this updates to partial state
  • The checkbox for filters updates based on the filter state

I should change the select all / deselect all to be based on the filtered set; currently its over the whole collection.

mameselection

Thoughts? Do you think the checkboxes in the headers are clear enough? The 'standard' approach is to add ugly little funnel icons, with additional indicators to display whether filters are applied per column.

@andyvans, for your inevitable feedback.

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Updated version:

  • New decade filter
  • Clear filters button added
  • Changing selection for list affects filtered items only

Even though I was initially reluctant to use a filter icon, there are now an awful lot of checkboxes, meaning subtly different things... I will add filter icons later today or tomorrow.

mameselection2

PS. There isn't anything weird going on with my row colouring; just an artifact of the GIF conversion process.

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Out of the box styles with this library are... not great. Very easy to customise though. The filter icon itself is alright(ish). I think the dot is meant to indicate that the filter has been applied.

Turns out the sample code was wrapped in a ToggleButton. Just needed to style that guy.

image

What do you think? It's a little less intimidating Checkbox City...

Also, I tried to use a standard Windows style for the alternative rows. Does it look a bit heavy to you, or am I just being far too picky?

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

Heh you're as pedantic about UIs as I am 😆 this never ends well hehe

The icons look great but I wonder - could you highlight them (maybe use SystemColors.HighlightColor) when a filter is used? I think they might be more visible - otherwise they are awesome.

I think that the even/odd row coloring is very mac specific and not very Windows personally...

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

By the way how are you handling the category xml? Mamesaver downloading itself?

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Heh you're as pedantic about UIs as I am 😆 this never ends well hehe

No, it's great! It's fantastic to work with someone with opinions - provided they're not diametrically opposed to mine 😉

The icons look great but I wonder - could you highlight them (maybe use SystemColors.HighlightColor) when a filter is used? I think they might be more visible - otherwise they are awesome.

I was wondering that. I'll see if I can coerce the existing styling.

I think that the even/odd row coloring is very mac specific and not very Windows personally...

Easy fix for that!

By the way how are you handling the category xml? Mamesaver downloading itself?

I'm not, yet. The WPF app is currently standalone with dummy data, while I focus on the UI. I was intending for it to be downloaded automatically on first rebuild and perhaps after a 'Refresh category on next rebuild' checkbox on the Advanced tab?

catver.ini is around 330Kb and https://github.com/mamesupport/catver.ini gzips responses, so this automatic approach should be fine.

FWIW, here's the current state, showing an active filter for Manufacturer:

image

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

Looks awesome! Is there any way to make the rest of the grid white - looks a bit strange currently - like something's not drawing 😆

Maybe we should take a copy of the category file and include an initial one on install and then allow it to be updated? Otherwise the other way might be to give all the games a generic category until it's downloaded or to hide the category column?

Loving the direction...

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Is there any way to make the rest of the grid white - looks a bit strange currently - like something's not drawing

Oops, I stopped noticing that! Yes, it's awful and keep meaning to fix.

Maybe we should take a copy of the category file and include an initial one on install and then allow it to be updated?

Not a bad idea. The screensaver isn't too huge. I would like to make the whole process transparent unless users care - an 'update categories' button on the Advanced tab (or goodness, a section in README.md noting the path on disk - how often do these things change?)

This is just a dummy project currently, so I think enough is bedded in now to properly integrate it and migrate the configuration WinForms code?

from mamesaver.

mika76 avatar mika76 commented on May 24, 2024

sounds good to me

from mamesaver.

nullpainter avatar nullpainter commented on May 24, 2024

Resolved by PR #49

from mamesaver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.