While using Rockbox for a while on my 1st-gen iPod mini I noticed that
the first entry of a list sometimes displays a wrong character at the
18th column. For example, the ':' character would display as 'z', the
'-' character as 'm', 0x00 would display '@' and so on. Oddly enough
this only occurred when the scrollbar was enabled.
I figured that the call to `display->set_viewport(list_text_vp);` in the
for loop inside `list_draw(...)` causes this. Digging deeper I noticed
that in the `lcd-bitmap-common.c` driver the `current_viewport` was
pointing to the start of the line's text. From what I can tell the
cause of this was that the viewport was set to a struct with a shorter
scope than the entire function.
The actual fix for this is quite straightforward -- once the scrollbar
has been drawn the viewport is now changed back to the default one.
Change-Id: Id6a7bd8f74864641ea1670fedea9d12d764e78c0
It ended up inside the 'langs/voicestrings.zip' with an absolute path
when it should of landed in langs/ directly.
Change-Id: I308b551e627d63142ec8871ccfb72b6036eff3d2
The themes info data uses utf-8 encoding, while QSettings defaults to
ASCII and uses escape sequences, resulting in non-ASCII characters being
garbled. Use the correct encoding.
Change-Id: Ibee58b51926f6d7c3885dead0b42579e21bfb1db
We can't use a ternary expression within the tr() function. While this
initially might work as expected it completely breaks translating the
actual string -- we need to use separate strings here, and replacing a
single word in a sentence will also not work for translations.
Change-Id: I556ff2a3bd0dc476b312a59c47d4e0dcd3b743e1
Replace the Rockbox logo with an svg version. Since the file size (i.e.
the page size in the svg) that isn't intended for use as icon we need to
enable scaling, and since scaling the label content doesn't keep the
aspect ratio we need to explicitly set the desired values.
Notably improves representation on HiDPI monitors. Now only the player
icons are still raster images.
Change-Id: I03216391a4b0ac982b16f5bec2b48c073369a3f6
This adds a resync.sh script that handles most of the resyncing process:
copying new sources, regenerating help, and staging for commit. I also took
this opportunity to make the process more efficient and consistent by only
selecting the types of files that we care about and ignoring any
autogenerated temporary files that may be in the upstream tree.
Change-Id: Ib0803462684b8ae3b40eec3742944e5bdb28508e
This updates the upstream sources to include a modified get_cursor_location
patch that I anticipate Simon will merge shortly. Also, I've streamlined
the resync process to only copy the exact files we need to reduce clutter.
Change-Id: I6a5ac60821fce346c500b101c363ae0c63c2ee95
When multiple players are connected, and at least one of them has a USB
ID that is shared between multiple targets the resulting list would be
off. Fix that by avoiding to modify a list while iterating over it,
that's usually not a good idea.
Change-Id: I0c1fc5e1a3264f269de2d71c3a7f2b82877636ba
- Move Rockbox voice language names handling to PlayerBuildInfo, and
handle it similarly to the rest of the device specific values. Rework
internal handling to simplify things.
- Enable language list from build server for installing prerendered
voice files other than english.
- Extend unit tests.
Change-Id: I1a1a717fa4409fa965dabc86f52d52a4fc516315
- Fix changed dependencies and provide real stubs.
- Update to use QTest global data for test table, so individual test
vector entries show up as individual tests. That way a single
comparison failing doesn't make all appear as failed and provide
better indication what went wrong.
Change-Id: I69681c3acd5ceceb4c8ceb1feb341e90a65dd603
Handling the data for players from rbutil.ini and the build-info data
from the server is closely related. Splitting things up into different
classes only creates tightly coupling, which is unnecessary, and the
need to differentiate between them in the application.
Merge both classes into a single one and rework handling so the
application doesn't have to deal with two separate classes anymore.
Furthermore, change URL templates to use new values from build-info
instead of hard coding them.
Change-Id: Ica550973ce23d1559110782add52bc214eba552d
The target selection string used for configure is the same as the
internally used player string, minus the (optional) variant suffix.
Don't duplicate things, simply strip the suffix.
Change-Id: Ic34bd5f933fab0d837adce0d0ae9c403868d720d
Fixes installing those builds, since they relied on the broken
buildserver_modelname. Also simplifies internal handling.
Change-Id: I5b67b7d65ee2299e01ea4e009e47f93c3343911a
This isn't needed anymore, and the only player it was actually used for
were the 8MB modded Archos ones, for which the usage was broken.
Change-Id: I2aa235113be2e6ae88973711bd8ee4734cbc266a
The Archos Recorder has 2MB RAM and can be modded to 8MB. While we
previously had separate builds for those the last release which it was
built for is 3.4; installing for 8MB modded players was broken and
installed the normal 2MB build.
Since we never provided builds for other hardware mods (like Ondio
backlight mod, h100 series RTC mod) there isn't much reason to do so for
the 8MB mod. Furthermore, given that the current state is broken and
nobody complained the number of users of the mod can be assumed to be
very low, and people with a modded player also building Rockbox on their
own.
Change-Id: Ia200651773a2f5b58321299bad30d539fe1a5ada
SystemInfo::PlatformName and Name actually retrieve the same value.
That's not usefule, so remove one of both.
Change-Id: I8ee429f099588e0e1e8129302542cd0f6f836203
When starting Rockbox Utility select the same build type that was used
during the previous run. This broke during refactoring, fix it.
Change-Id: Ibbca3431cbfe65daedd3e5783e0940d83d1594a6
The manual tab didn't show the manual, so it's clearer to have that as
part of the main tab.
Also fixes the wrong manual getting downloaded for releases.
Change-Id: I5d4a287102af037f94f0de8464e025d9ff5f76ed