This step should enable the application to handle different camsites.
At the moment only chaturbate is available, but others like MFC can
now be added. There might be still some things to do, like the settings
and HttpClient etc. But this is the first step to support more sites
than only Chatubate.
Chaturbate only contains Model related methods. So it makes sense to
encapsulate that functionality in Model.
Use guava LoadingCache in Chaturbate class to cache resolution and
StreamInfo requests. The entries expire after 5 minutes.
Add possibility to filter for public rooms only.
If the model is not online and the resolution tag is shown, instead of
a zero, display the state (away, offline, private) and change the tag
color to red.
Clicking while holding shift now selects a ThumbCell and allows the
multiple ThumbCells at one. The actions in the context menu are applied
to all selected models. "copy url" is disabled, if multiple models are
selected, because that doesn't make sense.
On startup check if the application is running on the OpenJDK JVM. If that is the case,
check that JavaFX is available (because OpenJDK comes without JavaFX, it has to be installed
separately). If it is not available, log an error what to do and exit.
Add combobox on the bottom of ThumbOverviewTab.
Add integer thumbWidth to the Settings to save and restore the selected
value between sessions. Set the selected value for all thumbnails on
all tabs.
When the manual selection of stream resolution is enabled, the index of
the selected stream is saved in the model object. Don't overwrite this
value, if the model objects get updated, so that the value is persistent
even between sessions.
If the display of stream resolution is enabled in the settings, the filtering now takes the resolution into account.
So you can filter for "1080" and only get streams with a resolution of 1080p.