Commit graph

1883 commits

Author SHA1 Message Date
Aidan MacDonald
48b77898dc jztool: portability fixes for Mac
Change-Id: Id01ee4ff0222ebcd56764c90c9a211792aa0f69f
2021-04-29 20:31:32 +01:00
James Buren
f968d6032a ipodpatcher: fix warning for apple stop sign constant
Convert both instances of the apple stop sign constant
to char array instances. This ensures sizeof will work
as expected when applied to the constant.

Change-Id: I8599f7b0a00031e944e654b12a0bc59309926807
2021-04-23 01:01:31 +00:00
Aidan MacDonald
b41d53792c jztool: New utility for installing a bootloader on FiiO M3K
At present, this is just a command line tool for Linux only.

Integrating this with the Rockbox utility and porting to other
platforms should be straightforward; the README contains more
information.

Change-Id: Ie66fc837a02ab13c878925360cabc9805597548a
2021-04-17 20:23:19 +00:00
Solomon Peachy
165d926a63 rbutil: Add a new entry for the Hifiwalker H2 v1.3 variant
Change-Id: I936aacd7c748be85a583a62b3026301ce0796041
2021-02-05 17:27:40 +00:00
Dominik Riebeling
707f77c6a7 rbutil: Update german translation.
Change-Id: I032c25d4794786c417dc75d91f2cf05591c14579
2021-01-02 21:31:20 +01:00
Dominik Riebeling
95cfa9a8c4 rbutil: Rework action texts for ipod6g bootloader installation.
The logging entries do word wrapping, so no need to add hard line
breaks. Those will become problematic for translations and in some cases
on UI scaling. Instead add an empty line after the header to make things
clearer.

Change-Id: Ib774b1ad77abcfa2f5955988f7756e3a510cd1be
2021-01-02 21:31:20 +01:00
Dominik Riebeling
e74cde1c6e rbutil: Remove unused function.
Change-Id: I0ea5094610bcf5ccd9ef6c71a643867a0954dc96
2021-01-02 21:31:20 +01:00
Dominik Riebeling
bf17c347fc rbutil: Fix some texts.
Change-Id: Ia94dbcfb79d823863792637953f578a82ccdf4bb
2021-01-02 21:31:20 +01:00
Dominik Riebeling
f9d23bfd41 rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: If737fe5a8f4ab9f83560511839fdc4ad8b187786
2021-01-02 21:31:20 +01:00
Dominik Riebeling
022bbad762 rbutil: Fix cleaning cache.
As with calculating the size cleaning the cache folder needs to be
recursive.

Change-Id: I05a8e2287bcdf6ed53acde320cb5071e8ed04b91
2021-01-02 21:31:20 +01:00
Dominik Riebeling
ec01c57022 rbutil: Fix cache size calculation.
We're using Qt's caching mechanism since long, which uses subfolders, so
we need to recursively traverse that to get the size of the cache
folder.

Change-Id: I8425016f60d0575013110e708b539833a8098246
2021-01-02 21:31:20 +01:00
Dominik Riebeling
65d0867a25 rbutil: Add option to langstat to pass git hash.
Don't always operate on the remote head, instead default to the local
HEAD, and allow passing a hash to use for calculating statistics.

Change-Id: I420308e66769689c1dfac56e19058b097a0533a2
2021-01-02 21:31:20 +01:00
Dominik Riebeling
eaf86a22d3 rbutil: Add missing Q_OBJECT macro to PlayerBuildInfo.
Needed to make translated strings actually get translated.

Change-Id: I6ab6266c4444b6032a8b976b8219ace30907398d
2021-01-02 21:31:20 +01:00
Solomon Peachy
10e2f53ff5 bspatch: Fix the standalone build
(broken by 1e12990)

Change-Id: Ia572fe27f382fd3e00dfbf100b9f9bc34cdb9911
2020-12-31 08:11:27 -05:00
Dominik Riebeling
0215c37ceb rbutil: Remove logo that isn't used anymore.
Change-Id: I9a448c7ad71dfee6043e76794024c1b0c946b52f
2020-12-14 20:19:53 +01:00
Dominik Riebeling
2b00166a00 rbutil: Always use svg icon for Window icon.
Since we now have svg support enabled (and used) for all platforms we
can simply use the svg one, and bring it in line with the rest of the
icon.

Change-Id: If99f1be0205de1a87eb727c33400811620d9876d
2020-12-14 20:18:52 +01:00
Dominik Riebeling
7ae98845f0 rbutil: Change style to Fusion on Windows.
The default UI style has some issues with HiDPI support. Use the Qt
built-in Fusion instead. This looks somewhat different to the native
Windows UI, but works better on HiDPI displays.

Change-Id: I25f1b038047a11da7492dfbfa1425874f070ab0b
2020-12-14 18:29:55 +01:00
Dominik Riebeling
f3371c1d78 rbutil: Improve HiDPI support.
Since we embed a manifest file on Windows we also need to indicate HiDPI
support in it. Otherwise it will only work partially.

Change-Id: Ie330950a476047982a8f63ec764e5cd352411294
2020-12-14 18:29:26 +01:00
Dominik Riebeling
9ad1ef0e55 rbutil: Fix encoding for themes info data.
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
2020-12-10 21:30:13 +01:00
Dominik Riebeling
0b8c6bd5f0 rbutil: Fix log strings in s5l bootloader installation.
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
2020-12-08 22:13:48 +01:00
Dominik Riebeling
d148afca3b rbutil: Improve HiDPI support.
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
2020-12-08 22:13:48 +01:00
Dominik Riebeling
ae59995553 rbutil: Update changelog.
Add changes that haven't been added yet.

Change-Id: I90e1326e62bb121c7a1242ee76610faae745505c
2020-12-05 19:11:18 +01:00
Dominik Riebeling
731c5db875 rbutil: Fix autodetection messing up with multiple players.
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
2020-12-05 19:11:18 +01:00
Dominik Riebeling
82b53ebf54 rbutil: Merge finding player by USB ID with PlayerBuildInfo.
Remaining rework of player info data handling.

Change-Id: I0e10cdff43e0c9fef43b3b9a30af81f1cd7c4853
2020-12-05 19:11:18 +01:00
Dominik Riebeling
0e315e848a rbutil: Rework handling of available voice languages.
- 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
2020-12-05 13:44:37 +01:00
Dominik Riebeling
ac5fc26085 rbutil: Make target list part of new player info.
Also remove the unused cases.

Change-Id: Ic53c12c68f9d62d9c3e4406641355893e137bcf7
2020-12-05 11:19:32 +01:00
Dominik Riebeling
c51c6c1eb3 rbutil: Add MIDI patchset to plugin data installation.
Add installing the MIDI patchset, and subsequently rename from Game
Files to Plugin Data Files.

Change-Id: Ib71ce4c8992ffc9185d961a60296c9671ebc9709
2020-12-04 21:26:19 +01:00
Dominik Riebeling
7739bb31b3 rbutil: Convert RockboxInfo unit test to data driven QTest.
Change-Id: Ic566f9be3532d327af4916605f0215da636ee7d6
2020-12-03 22:25:12 +01:00
Dominik Riebeling
3300815c44 rbutil: Update and fix unit tests.
- 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
2020-12-03 22:25:12 +01:00
Dominik Riebeling
b064a6cbb5 rbutil: Rework and merge player and build server info handling.
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
2020-12-03 22:25:12 +01:00
Dominik Riebeling
78a01db47c rbutil: Get rid of configure_modelname in rbutil.ini.
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
2020-12-03 22:25:12 +01:00
Dominik Riebeling
c8da2bc145 rbutil: Treat Aigo Eros clones as variant of it.
Fixes installing those builds, since they relied on the broken
buildserver_modelname. Also simplifies internal handling.

Change-Id: I5b67b7d65ee2299e01ea4e009e47f93c3343911a
2020-11-27 21:30:19 +01:00
Dominik Riebeling
8765650fe0 rbutil: Remove buildserver modelname string.
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
2020-11-27 20:54:03 +01:00
Dominik Riebeling
716643572d rbutil: Remove Archos 8MB modded players.
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
2020-11-27 20:48:30 +01:00
Dominik Riebeling
3ee6ce956f rbutil: Remove duplicated enum entry.
SystemInfo::PlatformName and Name actually retrieve the same value.
That's not usefule, so remove one of both.

Change-Id: I8ee429f099588e0e1e8129302542cd0f6f836203
2020-11-26 22:41:51 +01:00
Dominik Riebeling
185dfb42c2 rbutil: Fix wrong format string.
Only caused a warning, but no need to pass format parameters if there is
no format string.

Change-Id: Ifed38d8af3881c40e8609ccda3786cea23a3bc2f
2020-11-23 20:44:46 +01:00
Dominik Riebeling
9a52991bbd rbutil: Add support for installing daily builds.
Change-Id: If6618a4b2b1b0a718374ed8bac6976c4775947e1
2020-11-23 20:44:46 +01:00
Dominik Riebeling
1ba6785e46 rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: I19f179907742092c970c27dd1bbf70f7e00fed76
2020-11-23 20:44:46 +01:00
Dominik Riebeling
ec730f1609 rbutil: Fix selecting the previously selected build type.
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
2020-11-23 20:44:46 +01:00
Dominik Riebeling
f598ef9c27 rbutil: Add support for installing daily builds.
Change-Id: If2bb23adcbd4a441f18846515c609118da8c5b5e
2020-11-22 18:30:01 +01:00
Dominik Riebeling
0ea8f074ed rbutil: Remove Install Voice button from Accessibility tab.
Installing the voice file is now done via the main installation.

Change-Id: I431744467faaf1720b3c82d339a424d67c84e6e6
2020-11-22 18:30:01 +01:00
Dominik Riebeling
0b911b7500 rbutil: Fix wrong section name in installation log.
Change-Id: I7e65d5486298253add0a4a0b5f07d4c979bb2098
2020-11-22 18:30:01 +01:00
Dominik Riebeling
e8f8df4ee0 rbutil: Update Iriver h100 / h300 series bootloader paths.
The patching code now requires the new version 8.0 bootloaders.

Change-Id: I7bf26db2e0858523740c43e57863eb9480a93548
2020-11-22 14:52:46 +01:00
Dominik Riebeling
1b9eebb39d rbutil: Update Windows application icon.
Bring it in line with the other icons and always show the same image,
regardless of size.

Change-Id: I93f562fad168975f58064fdd64c42874f496cce6
2020-11-22 14:43:01 +01:00
Dominik Riebeling
ba2bbd60bd rbutil: Move Manual installation to main tab.
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
2020-11-22 14:43:01 +01:00
Dominik Riebeling
5f36aed4bf rbutil: Unify template parameter for release version.
Don't use different parameter names for the same parameter.

Change-Id: I3800d2ed7dcecf76b111b15945d62449efa70bcc
2020-11-22 14:43:01 +01:00
Dominik Riebeling
dfe9d63640 rbutil: Modernize connect() to new pointer-to-member syntax.
Change-Id: I984ce56b5b45bbe705ac178cfe26cbc8b0d7e9d2
2020-11-22 14:43:01 +01:00
Dominik Riebeling
1a3d12ceea rbutil: Don't try to install voice file if it's not available.
Change-Id: I42f70d6cf76298216bb626fd0fe760c0ce0a9835
2020-11-22 14:43:01 +01:00
Dominik Riebeling
0d2257d1f7 rbutil: Replace stringly types build type handling with enum.
Avoid having to repeat the same strings for lookup again and again and
use an enum instead, which is also less error prone.

Change-Id: I6ee8393948dbce97cb53850a6d8bdc4de12b4167
2020-11-22 14:43:01 +01:00
Dominik Riebeling
c2dacf6736 rbutil: Add voice installation to main widget.
Add checkbox for installing the prerendered voice file to the main
install widget. Current limitations:
- only english for now. The available languages are available from the
  build server but are not yet taken into account.
- only for releases. This is the same limitations we had before. We do
  have voices for daily builds, but that requires adding daily builds
  again (those have been removed some time back.)
- Old voice installation dialog still present.

Change-Id: Ia6443b0f15365196df86cc1b64d5e043dff70c4c
2020-11-22 14:43:01 +01:00