Commit graph

204 commits

Author SHA1 Message Date
Dominik Riebeling
2dab7c9775 Create Qt5 compatible version of trace event handler.
Qt5 deprecates the way this was done before.

Change-Id: Ic66bce2d1ffcb572a9ed9345abbbbc6bb6475af0
2013-02-08 22:38:57 +01:00
Dominik Riebeling
189148e701 Set global cache immediately on startup.
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.

Change-Id: I1623330013d387a966015edd0e1d278c922d9475
2013-01-27 20:11:18 +01:00
Dominik Riebeling
7184980dca Update Qt includes for compatibility with Qt5.
Change-Id: Ibe400700f6bce0335a2975c6d635e10ae940f932
2013-01-27 20:11:17 +01:00
Dominik Riebeling
1f1826e39c Remove Rockbox Utility Offline Mode.
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.

Change-Id: Ib2af4892708e0440bd0a7940c131f04182ddb39a
2013-01-13 19:45:29 +01:00
Dominik Riebeling
d608fd604b Remove HttpGet::error() function.
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.

Change-Id: I54b9b6026969f8108f779b02a04477f0ad9201ab
2013-01-13 18:48:28 +01:00
Dominik Riebeling
1c975eefd3 Support "eject" on OS X.
Change-Id: I103587f2fad2b8b31a1bc53afbd107bf55f62c93
2012-09-16 21:08:18 +02:00
Dominik Riebeling
328ff6d979 Add "Eject" button to main window.
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
selected player.

Currently only implemented for Windows.

Change-Id: I785ac1482cda03a1379cf6d0fd0d9a0ff8130092
2012-09-08 20:34:36 +02:00
Dominik Riebeling
e7fdf80c17 Do some minor cleanup.
- 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
  anymore.

Change-Id: I7384c5601de36bc48f858fe5c7b009653d439d94
2012-07-01 15:02:32 +02:00
Dominik Riebeling
d0f7a8181b Be more specific on bootloader uninstallation errors.
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.

Change-Id: I8e1eae4bdba30da87d10d2dc11fb9d48e176de2a
2012-07-01 12:34:59 +02:00
Dominik Riebeling
fa17cb904c Rework Installation and remove Quick Start tab.
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.

Current limitations:
- 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.

Change-Id: I1929bb7045e382fcbba431cca057d3121607d3a9
2012-06-26 20:11:41 +02:00
Dominik Riebeling
f419128a6b Show player picture left of device configuration.
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
size.

Change-Id: I8f62f3292c62f820309157db73741b57fd6371ef
2012-06-26 18:30:27 +02:00
Dominik Riebeling
40e306ba37 Make Rockbox logo smaller and move device information up.
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.

Change-Id: I790ffc423135e02e28cc963b0b565284b75bf98c
2012-06-26 18:30:27 +02:00
Dominik Riebeling
362f447ede Create dedicated backup dialog.
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.

Change-Id: I1d2c6c8f646672d1b66bb442408fbfc2eeec700d
2012-06-26 18:30:27 +02:00
Dominik Riebeling
46a57b8ece Make Info widget update independent from tab index.
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
it.

Change-Id: I40c18387aacc780ac2051bb894db36247171c268
2012-06-26 18:30:27 +02:00
Dominik Riebeling
388014567f Add missing class name to System Trace log.
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
spaces.

Change-Id: I3179bb206e96de8b5a1c05c0fc0958936e4513f3
2012-06-25 00:04:44 +02:00
Dominik Riebeling
94555a0b08 Move download URL construction to ServerInfo.
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.

Change-Id: I87277cd61f8b164bdbcd914c9873d674661a786c
2012-06-17 10:30:19 +02:00
Dominik Riebeling
f4b0e316c3 Update for single build-info file.
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.

Change-Id: If3b949f4d78eecb54e47622da887f51005f6d155
2012-06-03 00:50:01 +02:00
Dominik Riebeling
b73c961683 Fix a comment and improve message box title.
Change-Id: I10a37be97b1000fcee5a47f13dc8ba7ee6b31b36
2012-06-03 00:46:33 +02:00
Dominik Riebeling
96e7cc9e80 Only support pregenerated voice file for releases.
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
their PC.

Change-Id: I17817da8a14dc5f8b0ef208579d8d75fa86ab610
2012-06-02 00:07:30 +02:00
Dominik Riebeling
87bb7471bb Use server timestamp for development build fonts.
The server timestamp is more meaningful as version identification than using
the revision of the currently installed build.

Change-Id: Ib57766f8e0f57ea9a4f805929acb589c2560fbd5
2012-06-02 00:00:19 +02:00
Dominik Riebeling
968448c9cd ZipIntaller: use file timestamp if version string is missing.
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.

Change-Id: I0c751fabe7bb516edca93a5f73f077a611d4ef87
2012-05-23 21:10:38 +02:00
Dominik Riebeling
9b363c6ced Bootloader installation: set file filter.
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.

Change-Id: Ic3643c3601f6d849e6563f8753ae80a168ec0a45
2012-05-01 10:49:48 +02:00
Dominik Riebeling
92ef7bd328 Move bootloader class initialiation into helper.
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.

Change-Id: I2a156d70fd1cff6c48bdd46d10c33d75c953ea90
2012-05-01 10:49:48 +02:00
Dominik Riebeling
3aec87c009 Move Info tab content to a separate widget.
Change-Id: I39a4e035372920f05f5fb3ab5bfc9459314997ad
2012-02-19 18:54:03 +01:00
Dominik Riebeling
f7fdf13468 Move manual tab contents to separate widget.
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
duplicated code.

Change-Id: I5721d2a95ebeaf80481c1fd149eda22cf1328501
2012-02-14 21:10:54 +01:00
Dominik Riebeling
3933afcc09 Make configuration check reusable.
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.

Change-Id: I72fa53a7e8a83d527c22b698dfa434c24100ac29
2012-02-14 21:10:54 +01:00
Dominik Riebeling
250a73317f Check running processes at startup.
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.

Change-Id: I5ce8a85da52e0ed8f523b5ae6fb5d8f14f6a14c9
2012-01-22 22:26:01 +01:00
Dominik Riebeling
b45cc0a13a Support reading OF files from zip.
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.

Change-Id: Ic4e89053456d8f7d6adc294f6657aceddbc354ba
2012-01-15 23:32:15 +01:00
Dominik Riebeling
ade55fd3d4 Fix "invalid settings" dialog appearing twice.
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
opened twice.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31593 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 19:26:56 +00:00
Dominik Riebeling
f36f7825d7 Update displayed settings on startup.
Update the target values in the main window immediately on startup. Downloading
the target information might not complete successfully, and in that case a
previously selected target will not be shown. If the target information
download finishes the displayed values are updated again (to show target status
information).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31546 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:52:19 +00:00
Dominik Riebeling
b7547e5868 Fix manual URL in Rockbox Utility (FS#12346)
Targets with special case URL for the manual (i.e. targets that share the
manual with another target, f.e. h100 series) have been forgotten during the
target renaming. Update those names and convert the manual URL handling to
be template based.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30848 a1c6a512-1295-4272-9138-f99709370657
2011-10-28 20:21:41 +00:00
Dominik Riebeling
e28f8225f5 Rockbox Utility: add Speex license to About dialog.
The Speex codec has a special license requiring it to be reproduced with any
distribution.  Add the license as a separate tab in the About dialog to satisfy
this.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30816 a1c6a512-1295-4272-9138-f99709370657
2011-10-21 19:46:36 +00:00
Dominik Riebeling
7263ccb105 Remove svn keyword lines from sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30806 a1c6a512-1295-4272-9138-f99709370657
2011-10-19 20:51:16 +00:00
Dominik Riebeling
d1e5c74ca8 Rockbox Utility: refresh some more dynamic strings after translation change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30710 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 18:30:27 +00:00
Dominik Riebeling
2e3de70401 Rockbox Utility: listen to translation change events.
When changing the language don't require a restart anymore. Instead listen to
the appropriate changeEvent and retranslate the UI. Designer generated UI files
already provide such a function.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30633 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 14:30:05 +00:00
Dominik Riebeling
e86423a97f Rockbox Utility: add some more icon sizes to the window icon on Windows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30631 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 08:57:10 +00:00
Dominik Riebeling
981af6d3e1 Rockbox Utility: make the window icon also include a larger one.
On Windows extend the QIcon used as window icon with the bigger Rockbox icon as
well. W7 wants a larger one for the taskbar if large icons are enabled, and for
the task switcher. Scaling the small one up looks ugly.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30630 a1c6a512-1295-4272-9138-f99709370657
2011-10-01 21:00:09 +00:00
Dominik Riebeling
e0d4a6f82f OS X: remove translation for menu entries handled separately.
On OS X Configure and Quit menu entries are not placed in the File menu. Qt
handles that for us if they are not translated, and translations are then
handled automatically (as well as setting the OS X specific accelerator keys).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30147 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 08:58:55 +00:00
Dominik Riebeling
94bc289cd0 Show drive label in main dialog.
When its possible to retrieve the label of the selected mountpoint display it
in the main window too. Right now this only affects Windows.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30143 a1c6a512-1295-4272-9138-f99709370657
2011-07-16 22:07:52 +00:00
Dominik Riebeling
a3875d7dfe Rockbox Utility: fix proxy password getting lost (FS#12166).
The proxy settings are stored as string representation in the configuration
file. If username / password contains characters used as separators parsing the
string again will cause wrong results. Percent-encode them before storing, and
parse it as percent-encoded string when reading it back.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30071 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 17:21:06 +00:00
Dominik Riebeling
dfd4183a7d Fix bootloader uninstallation on Gigabeat F / X.
The "file" bootloader installation method usually can uninstall the bootloader.
Some upgrade methods (like the Iaudio players) remove the bootloader file
placed on the player after upgrading so those can't uninstall the bootloader.
Instead of rejecting uninstallation for all players using this method check the
current bootloader and only display an error if no suitable bootloader is
found (which would happen in the Iaudio case).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30070 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 17:21:01 +00:00
Dominik Riebeling
c891ddb506 Fix a source string whitespace error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30069 a1c6a512-1295-4272-9138-f99709370657
2011-06-25 17:20:56 +00:00
Dominik Riebeling
b5feacfaac Fix some gcc 4.6 warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29933 a1c6a512-1295-4272-9138-f99709370657
2011-05-29 19:46:20 +00:00
Dominik Riebeling
d955dc4ead Rockbox Utility: fix some names missing from the CREDITS.
The regexp used when displaying the names didn't take into account that names
could start with non-ASCII letters. Use a different approach when filtering the
header to make them not disappear.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29803 a1c6a512-1295-4272-9138-f99709370657
2011-04-30 21:09:15 +00:00
Dominik Riebeling
8c1d114dcf Rockbox Utility: Replace OSDaB Zip with QuaZip.
This change fixes problems with zip files created with newer zip utilities (a
known issue is the iLike theme). QuaZip also allows better feedback during
operations without changing the imported code. Additionally Rockbox Utility and
the Theme Editor are now both using QuaZip; currently Rockbox Utility uses a
copy of the sources, merging them later is planned.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29645 a1c6a512-1295-4272-9138-f99709370657
2011-03-25 22:16:12 +00:00
Dominik Riebeling
fa565048f6 Fix Rockbox Utility update detection on Linux 64bit.
Remove the "64bit" part of the filename before comparing. We're checking for
that in the filename explicitly but the version number doesn't contain it, so
the comparison will otherwise misinterpret it as additional version
information.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29617 a1c6a512-1295-4272-9138-f99709370657
2011-03-19 11:47:10 +00:00
Dominik Riebeling
13d8649a34 Rework Rockbox Utility update version number check.
The version check failed on subrelease versions (as the 1.2.5-1 rebuild done
for Mac) and detected an updated version that is in fact an outdated one.
Rework the comparison completely, move it to the Utils class and display some
more information in the status bar upon update check. Especially keep a notice
in the status bar if an updated version was found.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26788 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 19:18:13 +00:00
Dominik Riebeling
a1209350d4 Convert uninstallation to use signals / slots for logging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26782 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 17:14:00 +00:00
Dominik Riebeling
18b350c972 Distinguish between release and current build when installing fonts.
As with the voice file installation changed in r26637 the same issue exists for
fonts.  While the fonts package rarely changes and therefore this shouldn't
have had a negative impact in the past use the correct font package anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26667 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 17:04:02 +00:00
Dominik Riebeling
2a90375c12 Sort rbutil.ini general section and rename voice_url for clarity.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26638 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 18:41:02 +00:00