path: root/rbutil/rbutilqt/base
AgeCommit message (Collapse)AuthorFilesLines
2021-12-24rbutil: Merge rbutil with utils folder.Dominik Riebeling86-12727/+0
rbutil uses several components from the utils folder, and can be considered part of utils too. Having it in a separate folder is an arbitrary split that doesn't help anymore these days, so merge them. This also allows other utils to easily use libtools.make without the need to navigate to a different folder. Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21
2021-01-02rbutil: Rework action texts for ipod6g bootloader installation.Dominik Riebeling1-24/+24
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-02rbutil: Remove unused function.Dominik Riebeling1-1/+0
Change-Id: I0ea5094610bcf5ccd9ef6c71a643867a0954dc96
2021-01-02rbutil: Modernize connect() to new pointer-to-member syntax.Dominik Riebeling5-30/+31
Change-Id: If737fe5a8f4ab9f83560511839fdc4ad8b187786
2021-01-02rbutil: Fix cache size calculation.Dominik Riebeling2-0/+15
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-02rbutil: Add missing Q_OBJECT macro to PlayerBuildInfo.Dominik Riebeling1-0/+2
Needed to make translated strings actually get translated. Change-Id: I6ab6266c4444b6032a8b976b8219ace30907398d
2020-12-08rbutil: Fix log strings in s5l bootloader installation.Dominik Riebeling1-8/+16
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-05rbutil: Fix autodetection messing up with multiple players.Dominik Riebeling1-10/+7
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-05rbutil: Merge finding player by USB ID with PlayerBuildInfo.Dominik Riebeling5-154/+60
Remaining rework of player info data handling. Change-Id: I0e10cdff43e0c9fef43b3b9a30af81f1cd7c4853
2020-12-05rbutil: Rework handling of available voice languages.Dominik Riebeling5-32/+29
- 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-05rbutil: Make target list part of new player info.Dominik Riebeling4-54/+45
Also remove the unused cases. Change-Id: Ic53c12c68f9d62d9c3e4406641355893e137bcf7
2020-12-04rbutil: Add MIDI patchset to plugin data installation.Dominik Riebeling2-2/+2
Add installing the MIDI patchset, and subsequently rename from Game Files to Plugin Data Files. Change-Id: Ib71ce4c8992ffc9185d961a60296c9671ebc9709
2020-12-03rbutil: Rework and merge player and build server info handling.Dominik Riebeling12-373/+395
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-03rbutil: Get rid of configure_modelname in rbutil.ini.Dominik Riebeling3-3/+1
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-11-27rbutil: Remove buildserver modelname string.Dominik Riebeling2-2/+0
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-26rbutil: Remove duplicated enum entry.Dominik Riebeling3-4/+2
SystemInfo::PlatformName and Name actually retrieve the same value. That's not usefule, so remove one of both. Change-Id: I8ee429f099588e0e1e8129302542cd0f6f836203
2020-11-23rbutil: Add support for installing daily builds.Dominik Riebeling1-0/+5
Change-Id: If6618a4b2b1b0a718374ed8bac6976c4775947e1
2020-11-22rbutil: Add support for installing daily builds.Dominik Riebeling2-0/+6
Change-Id: If2bb23adcbd4a441f18846515c609118da8c5b5e
2020-11-22rbutil: Move Manual installation to main tab.Dominik Riebeling5-33/+12
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-22rbutil: Add voice installation to main widget.Dominik Riebeling4-4/+11
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-22rbutil: Use pattern replacement for SystemInfo build type.Dominik Riebeling3-34/+49
Use pattern replacement for lookup instead of expanded values. Will allow simplifying things later for better handling of different build types. Change-Id: Iaad67a6c8654d27c3206cf95a379acab169565bc
2020-11-21rbutil: Modernize connect() to new pointer-to-member syntax.Dominik Riebeling13-26/+26
Change-Id: I6bb86e34438eef10813f0d19e910599156a876e6
2020-11-19rbutil: Modernize code to use C++11 nullptr.Dominik Riebeling39-66/+66
Change-Id: I112cf95122a896cdb30a823b4c1f49831273dc7e
2020-11-19rbutil: Convert ServerInfo to singleton.Dominik Riebeling2-10/+25
Change-Id: I29d94eb6bae084754e5e3f337c41de8354ba123c
2020-11-19rbutil: Rework server info data handling.Dominik Riebeling2-4/+0
Remove map that isn't used anymore. Change-Id: I771a98c9b64f3dac36e71041c566b89fbea51e06
2020-11-15rbutil: Rework server info data handling.Dominik Riebeling1-15/+13
Return status as int, not as string, and provide a separate function for converting to string. This allows to filter based on the actual status, not a (localized) status string, which is more robust. Fix a regression that made players with missing status value show up as retired. Change-Id: I15f83ae0df484199b1b3b5b95069db8b4d425987
2020-11-15rbutil: Fix style warnings.Dominik Riebeling1-4/+4
Change-Id: I1ddcff60488b2926206309c9ef62f5f9d330da33
2020-11-15rbutil: Rework server info data handling.Dominik Riebeling3-7/+8
Allow constructing release candidate URL from configuration the same way we construct the URL for releases. Note that the server path used does not exist, taken from old release candidate builds not available anymore. Change-Id: I7332f08df05ed39724b4900556aaa1f5e0ba463b
2020-11-15rbutil: Rework server info data handling.Dominik Riebeling1-7/+1
Allow extracting release candidate version even if no URL is present. Avoids a special case for version handling. Change-Id: If496d30059c3181899ab9337a35a07b39eaef52e
2020-11-15rbutil: Rework server info data handling.Dominik Riebeling2-157/+125
Don't create our own in-memory map with server data. Instead use the configuration file retrieved from the download server, and do the resolve / replacement on the fly. Simplifies things, and prepares for cleaner handling for different build types. Change-Id: Ifd027b21486e402fda3df9c2f7a30264651f733d
2020-11-14rbutil: Rework player configuration.Dominik Riebeling9-60/+56
Rename config entries and remove now unnecessary default value handling. Change-Id: I5c60ef9769fc01f45f45290dafffb80c1962e674
2020-11-14rbutil: Rework player configuration.Dominik Riebeling9-55/+48
- Split internal configuration into player specific and common parts. Always require passing the player for player specific data instead of implicitly assuming the currently selected one; only use the currently selected one if the player name is explicitly passed as empty. - Similarly adjust handling of server info data; prepare for splitting into build type specific values so the naming becomes cleaner. Change-Id: I894e694f83bd9fe2d22ad46b3f8f7df3e2c68033
2020-11-14rbutil: Show HTTP error string on download failure.Dominik Riebeling1-2/+3
Also show the error string, which usually is more helpful than just showing the HTTP error code. Change-Id: I0652d240147c0f64a7a9ea58765af9eb197a03b1
2020-11-07rbutil: Modernize HttpGet implementation.Dominik Riebeling2-21/+25
- Change signal-slot connections to new style, and fix renamed signal for Qt6. - Make more use of RAII. Change-Id: I14e52eb6bfdbb89bccafb33e4988af25b5d82713
2020-11-06rbutil: Enable use of libmp3lame on macOS.Dominik Riebeling1-5/+0
Since we're now automatically falling back to using the command line lame if we cannot load the library we can enable it on macOS as well. Change-Id: I0df1bb4a011d019a340fe54f1db6fc4645f9081b
2020-11-06rbutil: Command line fallback on libmp3lame failure.Dominik Riebeling3-10/+22
When loading libmp3lame fails fall back to using the command line lame. Avoids an unresolvable error when trying to create voice / talk files for Archos. Modernize code a bit. Change-Id: I2e8fd5786fda972cb24adbcb9ced531e08093b4f
2020-11-01rbutil: Remove unneeded includes.Dominik Riebeling2-9/+0
Change-Id: I20cde7201617481124905334e2adfb7f00f4fd21
2020-11-01rbutil: Simplify extenal encoder binary handling.Dominik Riebeling2-37/+19
We only use lame as external encoder for voice on the Archos targets. Simplify the implementation by removing (unused) handling of (potential) other encoders. Change-Id: I175cc21868fb7ef9524247d78cfb7bdf65e9e162
2020-10-29rbutil: Simplify search.Dominik Riebeling1-1/+1
No need to get keys from the map to search a key, we can check directly. Change-Id: Ia96286e441c3d03864bd7b152065576d26acad87
2020-10-29rbutil: More Qt6 compatibility.Dominik Riebeling1-1/+1
Replace QProcess::pid() which has been replaced with QProcess::processId() starting with Qt5.3 and removed from Qt6. Change-Id: I9b2d38f8e490e2e4c0afb5cbb409f6a17a98efbd
2020-10-04rbutil: Replace sysinfo filesystem cluster size with type.Dominik Riebeling3-12/+50
The cluster size isn't too useful. Show the filesystem type instead, since that makes it easier to identify a device not showing up because of its filesystem type. Change-Id: I8f58ea23ab90808ab0c37978b211a5470ed8bb8e
2020-09-30rbutil: Fix unnecessary implicit cast.Dominik Riebeling1-2/+2
Change-Id: Id05220a700eb826d38023575b02f568b1c1a7580
2020-09-30rbutil: Add postinstall hint for rocker and xduoo player.Dominik Riebeling1-2/+3
Change-Id: I4f679228a354019d830afbbd402db566abd743d3
2020-09-27rbutil: Fix some minor issues found by clazy.Dominik Riebeling6-8/+7
Change-Id: I0e63df09caf959dcb325c6ad2297c4348388a831
2020-09-27rbutil: Code cleanup.Dominik Riebeling2-25/+31
- Fix naming. - Remove non-functional functionality to set cache folder. - Use URL filename part when copying the file if target filename is not set. Change-Id: Ic9af59300f06d4309c6a4c9542d4f6079dd841c3
2020-08-23rbutil: Fix Xduoo bootloader installation.Dominik Riebeling2-3/+11
- Don't try to unzip the bootloader file if we're actually looking for a zip file. - Fix wrong bootloader file name for X3. - There's no QThread::terminated() signal, don't connect it. Change-Id: Iebfcc61d644c8443b60d9b37f4932d7b46098465
2020-08-21rbutil: Use a non-zero default value for status.Dominik Riebeling1-1/+1
When resolving the status values downloaded from the server use a negative value as default. Since 0 is the default in QSettings but now considered as "retired" a missing status value would make that target appear as retired instead of unknown status. Change-Id: I23567413c5c3d5828fca7f9c5a29e2037e8614cf
2020-08-16rbutil: QString::split() changed with Qt 5.14.Dominik Riebeling3-1/+25
Avoid a deprecated warning, and make it compile with Qt6, which removes the old version. Change-Id: Iaad10660a0c8bda9d7aa52ee250489ed135bd8a8
2020-08-16rbutil: Initial Qt6 support.Dominik Riebeling2-0/+8
Qt6 replaces QTextStream::setCodec() with QTextStream::setEncoding(). Change-Id: I4cfa90d89f54ad49d061ad859585a2a74b5f9786
2020-08-16rbutil: Fix various warnings.Dominik Riebeling4-6/+7
Replace use of deprecated APIs with their replacements, and fix some other minor warnings. Change-Id: I3f63e0bd91b96ce86ce39c087fe0040fc226d16d