|Age||Commit message (Collapse)||Author||Files||Lines|
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
Rename config entries and remove now unnecessary default value handling.
- 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.
Replace the Speex license tab in the about dialog with one that lists
all used libraries and their respective licenses, including Speex.
Previously only Speex required including the license in binary
distribution; the recently added bspatch also wants this. Show
the license for all used libraries so we can more easily add new ones in
Qt6 replaces QTextStream::setCodec() with QTextStream::setEncoding().
Replace use of deprecated APIs with their replacements, and fix some
other minor warnings.
During the bootloader install/uninstall process, a signal
is emitted when "Abort" button is pressed, the installers
can attach this signal and cancel the process.
Useful for targets that needs multi-stage uninstall. On current
targets (with Uninstall capability) the progress is updated to
100% when bootloader uninstall is successfully finished.
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.
C++11 requires a space between literal and identifier. When compiling with Qt
5.6 on OS X C++11 support is automatically enabled, causing an error due to
MSVC doesn't like function style call to the logger.
Show the user both the current and updated version.
- Prevent the Changelog showing up when closing the configuration dialog if
"Show on startup" is enabled.
- Increase dialog size a bit.
- Detect and link Gerrit IDs.
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.
When Rockbox Utility is started for the first time, a new version is started or
the user selected to do so on startup a changelog window is shown.
If Rockbox Utility has no configuration file on the machine updateSettings()
will overwrite the global cache folder settings with an empty string before the
value is set properly by the user confirming the configuration dialog. QDir()
getting an empty string will result in the current working directory getting
used, and thus the temporary files ending up there.
On Windows most users are unlikely to have noticed this since running the
executable from within the distribution zip file will make Windows execute it
in the systems temporary path.
There are two reasons for this:
- QUrl::toEncoded() has problems with some characters like the colon and @.
Those are not percent encoded, causing the string getting parsed wrongly when
reading it back (see FS#12166).
- The password is cleartext in the configuration file.
While using base64 doesn't provide any real security either it's at
least better than plaintext.
Since this program is open source any fixed mechanism to obfuscate /
encrypt the password isn't much help either since anyone interested in
the password can look at the sources. The best way would be to
eventually use host OS functionality to store the password.
Qt5 deprecates the way this was done before.
Setting the cache later can result in the system trying to create cache files
in the current working directory, since an empty cache path will be treated as
current directory. If this happens set the system temporary path.
Offline Mode was intended to allow performing an installation without network
access. However, to get the required files cached the same installation has to
be performed with network access, which is a rather strange prerequisite. A
better way would be a way to direct Rockbox Utility to some local "repository"
that holds the required files.
Furthermore, Offline Mode hasn't been tested since long and is likely to be
broken since the caching mechanism has been extended.
For now remove this functionality. As far as I know it's been rarely used (if
at all) anyway.
This function returns an internal enum value of QHttp (which is also
deprecated). It was only used for showing an error to the user / showing it in
the system trace. Since it is an enum value it doesn't have much value. Log /
show the error string instead.
Since especially Windows puts the eject functionality behind an icon in the
systray which is usually hidden and doesn't complain if a USB drive is
unplugged without ejecting it first ejecting such a device might not be
obvious to everyone. Add a button to the main window allowing to eject the
Currently only implemented for Windows.
- Move a GUI-only implementation class around.
- Make some strings non-translatable which don't make sense translating.
- Rename internal state in installation class. There is no current build
When Rockbox Utility can't figure if the installed bootloader is a Rockbox
bootloader don't tell the user that it can't uninstall the bootloader but be
more specific stating that no Rockbox bootloader has been found.
The Quick Start tab turned out to be used a lot but not explaining what its
functionality actually does, leading to various amount of confusion. The Quick
Start tab and its functionality have been completely removed.
As replacement the reworked Installation tab now includes both the entries from
the old Installation tab (Bootloader and Rockbox) and the Extras tab (Fonts,
Themes, Game files). Each of the items can be enabled or disabled individually,
and the selection is saved in the configuration. The only exception is the
bootloader option, since installing the bootloader is only needed once. To help
with this the bootloader checkbox is automatically enabled if no Rockbox
installation is found, and disabled if one is found. While it would be nicer to
check if the bootloader is actually installed this is not possible for various
players so the implementation simply relies on a Rockbox installation.
This should also make it much easier to update an existing installation.
- the selected themes are not saved.
- it is not possible to detect if the target has the plugins that require
additional game files prior to installation. Thus the "Game files" option is
available for all targets but simply skipped if the plugins are not found.
After shrinking the size of the Rockbox logo shown and making the selected
device display two lines there is now enough room to also show an icon of the
player. The icon is scaled depending on the application font size, so for
setups configured with a larger font it still should show up in a reasonable
The original way of including the Rockbox logo wastes quite a bit of space.
Make it smaller and move it to the left, so the information about the
configured device can go next to it.
The "Installation" dialog allows backing up the current installation by
creating a zip file from the .rockbox folder since quite a while. However, this
has the drawback that you need to update your build to create a backup, but
creating a backup might be desireable in other cases as well (before updating
themes, or just for backup reasons). Since the functionality is somewhat hidden
it's also not obvious to users such a functionality exists (most users are
likely to use the "Quick Start" instead).
Implement backup functionality as dedicated dialog placed on the Uninstall tab.
Rename the Uninstall tab to accommodate this.
Since the Info widget is now a separate widget ask the tab widget about its
index instead of hard coding it. Rename a variable to avoid shadowing while at
To identify the source for System Trace entries qDebug() calls usually add the
class name at the beginning. Add some missing ones and remove some trailing
Centralize creating the URLs so it's not duplicated in two places. This also
allows to change the representation on the server more easily, since it only
requires changes in one place.
Currently only changes URLs for Rockbox builds.
The server now provides a single build-info file (instead of two separate ones
for development builds and stable releases). Update to use the new file, since
it simplifies things.
The voice file installed needs to match the Rockbox version installed. If not
the voice might not match the actual entries.
Rockbox Utility always was sloppy on this and installed the latest archived
(previously "daily") builds voice file for the latest development (previously
"current") build. Archived builds aren't supported anymore in Rockbox Utility,
so remove support for installing archived voice files as well.
There are no pregenerated voice files for development versions provided, and
Rockbox Utility can generate voice files anyway. Also, those files are only
provided and most users seem to prefer to use the voices they have installed on
The server timestamp is more meaningful as version identification than using
the revision of the currently installed build.
Instead of using some arbitrary and not really useful string use the timestamp
of the downloaded file if version string is provided by the caller. This also
makes it possible to check if the downloaded file is actually a different one.
Use it for manual and game file downloads, as this gives more reasonable values
than using the date transmitted for daily (archived) build and as support for
archived builds will be removed shortly.
When requesting an original firmware file from the user set the filter for the
file chooser dialog to only show files with matching file extension to simplify
selection. Allow the user to select "all files" in case the file for whatever
reason has the wrong extension.
Create a BootloaderInstallHelper class for handling post installation hints and
creating the installation instance depending on the player model. This removes
the base class handling its derived classes which always has been weird, and
removes the need to change the base class when adding a new installation
method, since the base shouldn't be affected.
Create a new widget which holds the contents of the manual tab and its logic.
Unify its display / download code. Fixes FS#12587, which was caused by
Instead of passing a parameter to decide if a dialog box should be shown pass a
pointer to the parent widget and make it static. This allows calling it from
outside while keeping the possibility to not show a warning.
Retrieve the processes running at startup and compare with a list of
potentially problematic ones. Right now this is Itunes which is known to be
able to cause problems when trying to install the bootloader on an Ipod. No
user notification yet.
This adds the implementation for Windows.
Several devices require the original firmware to be able installing the
bootloader. Most vendors distribute the firmware file in zip format. Extend
reading the original firmware file to support reading the file from the zip
directly instead of requiring the user to separately extract it.
Instead of checking the settings on startup set only the device display.
Otherwise the settings are checked directly on startup and after finishing the
build information download, which leads to the configuration dialog getting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31593 a1c6a512-1295-4272-9138-f99709370657