Commit graph

1199 commits

Author SHA1 Message Date
Dominik Riebeling
bd874c00e1 Fix changelog showing up too often.
- 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-Id: I049be3c38a57b2559f2a78392b785fa51ec99dc1
2013-11-04 23:43:34 +01:00
Dominik Riebeling
dd0d52ee0f Handle conversion to text in Sysinfo::getInfo().
When saving the system info from the progresslogger it shouldn't have knowledge
about the format of the data provided by getInfo(). Instead of relying on the
output being HTML formatted make getInfo() accept a parameter that indicates if
the data is to be formatted as HTML or text.

Change-Id: I733fe1a148e51b70ea1361d8feccffd7cbccd3d7
2013-11-04 23:32:57 +01:00
Dominik Riebeling
646f74937f Fix compiling with MSVC.
MSVC doesn't understand the gcc specific -Wno-unused-local-typedefs option.
Don't add it in this case.

Change-Id: I7ffb6c0c9c797eaad85975199c386020c464ca7b
2013-11-04 23:32:57 +01:00
Dominik Riebeling
2b054e6135 Fix cutelogger with MSVC.
We're compiling cutelogger directly, not as DLL. Therefore we must not add
__declspec attributes to the header.

Change-Id: I41b87fd4ba34dfbcd0d37245ff1c1f279139bb33
2013-11-04 23:32:57 +01:00
Dominik Riebeling
4d2ce949b3 Use cutelogger for Rockbox Utility internal trace.
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.

Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
2013-11-04 23:32:52 +01:00
Amaury Pouly
335ec75d60 Add support for the ZEN X-Fi3 to rbutil
Change-Id: I086bc2fbdaf29fad3f6f08b198eb13d21e09dd78
Reviewed-on: http://gerrit.rockbox.org/419
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 23:06:46 +01:00
Amaury Pouly
6375c47f03 Add support for CAB archives to rbutil
Change-Id: Ia8b4953343caf8bc2b3c5a6cfd53c921c6d082b1
Reviewed-on: http://gerrit.rockbox.org/418
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 23:00:23 +01:00
Amaury Pouly
289acf3333 Fix libmspack to compile with rbutil
The build system used by rbutil is not very robust: all the files
are eventually compiled to the same directory so we cannot have
two files with the same name (system.c would conflicts with
system.cpp) so rename one file to avoid this. Also change all
include directives to local ones because we don't have to expose
the entire mspack source to inclusion.

Change-Id: I3fe0638d69fdc30566eb9425abfe33c807678b28
Reviewed-on: http://gerrit.rockbox.org/417
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 22:15:00 +01:00
Amaury Pouly
739a7ae0e9 Add libmspack to rbutil
Change-Id: I520c14131ec1e12013f106c13cba00aac058ad83
Reviewed-on: http://gerrit.rockbox.org/391
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2013-11-04 22:14:17 +01:00
Lorenzo Miori
5ab4e90ac4 fwpatcher/rbutil - added support for H300 v1.31K
Change-Id: I4e0801f136f9b9e490209c0808eabfc334f46643
Reviewed-on: http://gerrit.rockbox.org/630
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-10-01 14:01:15 +02:00
Dominik Riebeling
8df12c63b8 Implement a first, simple changelog dialog.
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.

Change-Id: Ic223e092a09d31ccbbfcd9b973355225cac27632
2013-09-30 23:42:21 +02:00
Dominik Riebeling
1977281bb3 Use function for updating detected device entry.
Use a function instead of looking for an existing entry and creating a new one
if necessary every time.

Change-Id: I7b385dad7366f27370545a7d1a9f7052510cca11
2013-09-30 23:42:21 +02:00
Dominik Riebeling
5d9086bcbe Handle ambiguous state in configuration dialog.
If a single player is detected it might still have ambiguous as state due to
the mountpoint not being found. Make sure to display a sensible error message
in that case.

Change-Id: I7d62e739019b26a583fe6aab502d0f870e67587e
2013-09-18 23:37:39 +02:00
Dominik Riebeling
5c31063a3f Add "FAT" as supported filesystem on Windows.
In some cases Windows reports the string "FAT" (without any type number).
Accept that as well.

Change-Id: Ia278ccc574913106cb5ca6751af70125f769c59c
2013-09-18 23:37:39 +02:00
Dominik Riebeling
b943c59f35 Rework autodetection to better handle ambiguous cases.
The old detection code simply assumed only one player to be connected and threw
all information it could find together, causing wrong results in various cases.
Rewrite it to better handle this.

- Don't expect only a single player to be attached. Return a list of players
  found instead. The configuration dialog can then show the user a list to
  select from. This is not implemented yet, the configuration dialog will only
  show the devices found and tell the user to disconnect all but one.

- Handle ambiguous cases better. A player found that is ambiguous is treated as
  such, and if refining the result didn't lead to a single match for each
  possible player a single entry is created that indicates it being ambiguous.

The current code needs a bit of additional cleanup (the result exposes internal
data to the caller it shouldn't) to be done later.

Change-Id: I22dc2f73cdd6a9d90c34f3a0703aa9e0a2d2087a
2013-09-18 23:37:39 +02:00
Dominik Riebeling
fe45f8f090 Show mountpoint on multiple devices found message as well.
Change-Id: I315813646ee3fe3b510510e99e2dbf88c649f4d8
2013-09-18 23:37:39 +02:00
Dominik Riebeling
f3b56eba58 Handle multiple devices with identical USB IDs correctly when listing.
Use insertMulti() instead of insert() when adding found USB devices to the
list. This means the keys of the list will now be ambiguous. This is not a
problem since the value is only used to display the user a nice string.
Previously we'd loose two identical devices attached to the system since the
second one would overwrite the first.

This does not apply for Windows, since Windows will list each function of a
composite device. This results in a device running Rockbox (with HID enabled)
showing up twice, which isn't wanted.

Change-Id: I1306b71122a210c55871ff8e14d2b5a04012cc4e
2013-09-18 23:37:39 +02:00
Dominik Riebeling
935c7fbff7 List detected devices if multiple are found.
In preparation of giving the user a list to choose from add displaying a list
of all devices connected. Since devices might be ambiguous (multiple devices
share the same USB ID but detecting by other means failed) the listed devices
might exceed the number of actually attached ones.

Change-Id: Ice52da15523e5f3493a6fb687392301c4d5b8a36
2013-09-18 23:37:38 +02:00
Dominik Riebeling
3dcf833edd langstat: improve code style a bit.
Change-Id: Ide53de01282fa49640e490a02a6e20abf4d6605a
2013-09-18 23:37:38 +02:00
Dominik Riebeling
ce714cb023 Note skipped mountpoints to log when populating dropdown list.
Helps in cases the dropdown list doesn't show an expected entry.

Change-Id: I7236c6dd8504dc3a6889443efd7de7bcda90b8a3
2013-08-18 18:59:06 +02:00
Dominik Riebeling
ee55acdc93 Fix typo in source string.
Change-Id: Iaa3f3c34b6f6931a6620dfbe3d24cf6a57b96e77
2013-08-18 18:49:08 +02:00
Dominik Riebeling
67e1de7b43 Only show mountpoints containing a supported filesystem in dropdown.
Change configuration to use filtered mountpoints list. Add HFS+ to the list of
supported filesystems -- while Rockbox doesn't run on HFS+ MacPods will use
that format, and not having them in the list will then make OS X users wonder
why their Ipod isn't showing up. This might need to get revised later.

Change-Id: I5eeeb05be6780cb3952a0081df0ce782eca01589
2013-06-09 19:51:08 +02:00
Dominik Riebeling
a2c3e3fd0d Add note to AMS bootloader installation about OF file.
Some devices contain a bin file in the root folder of the player. This caused
confusion a couple of times, since the installer asks for a bin file. Add a
note that the required file is not present on the player and will get removed
automatically.

Change-Id: I6cd5c25b319770555c3939377a3ed86ed3181dad
2013-06-09 19:51:08 +02:00
Dominik Riebeling
11280e20cc Don't pass -Wno-unused-local-typedefs on OS X.
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.

Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
2013-06-09 19:45:16 +02:00
Dominik Riebeling
280a0eb27e Fix temporary files stored in current folder on first start.
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.

Change-Id: I7724a82af403955786798c7380198086837e128f
2013-06-09 16:55:15 +02:00
Dominik Riebeling
9edc63b0d4 Suppress unused-local-typedefs warning with Qt4.
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.

Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
2013-06-09 16:54:59 +02:00
Dominik Riebeling
6b3c4beba4 Rework langstat.
- Generally improve code and make it compliant to PEP8.
- Make it work with Python3 as well.

Change-Id: I9e99999c59dc501664c36dd38fcb85fb60d6d9e6
2013-06-09 16:54:59 +02:00
Dominik Riebeling
8568a8de13 Set APPVERSION globally for extralibs Makefile.
Make sure its value quotes are properly escaped. Otherwise make on Windows
causes problems. Also, expand CPPDEFINES only once.

Change-Id: I52e91f17626b2596f389811b22abc12d94f721d1
2013-05-10 17:48:01 +02:00
Dominik Riebeling
7ab7f865dc Restructure options passed to libs Makefile.
Setup AR before checking for ccache to avoid adding ccache to ar. Setup CC and
CFLAGS in the beginning as well. Quote ar and system speex options to fix
building with ccache enabled.

Change-Id: I21714f0849e990abeac72dcda52c81474e090934
2013-05-10 12:02:18 +02:00
Dominik Riebeling
f7d8b2db93 Only pass AR to extralibs Makefile if the compiler is gcc.
We need this only for cross compiling. Trying to figure the compiler prefix
fails if the compiler isn't gcc (i.e. clang), and we only support gcc when
cross compiling.

Change-Id: I822e1b47ec7e9d7e9fdeae8ccf3b8d417a472ef9
2013-05-09 17:23:42 +02:00
Dominik Riebeling
9e9f692678 Fix Rockbox Utility building on OS X.
Fix a typo that broke building. Also extend the extralibs Makefile to allow
calling it directly.

Change-Id: I2d4dd1689a8654a6b092dfcc58d2753423831816
2013-05-09 16:11:00 +02:00
Dominik Riebeling
8a1cd81b3a Move building libraries to separate Makefile.
Previously several additional rules were added by qmake to build the required
libraries. This has a couple of problems on Windows, requiring the use of a
msys shell.

Additional variables are passed as environment variables. Windows doesn't
understand this. Passing the variables via make command line argument works but
make won't be able to change those variables anymore, breaking things. Use
intermediate variables passed via make command line that are then exported by
the called Makefile. This doesn't work in the generated Makefile since the
export lines must not be part of a rule.

Also cleans up the project file a bit.

Change-Id: Iaffb059ce8bafe17a35bd1e0a74ae7acd966c138
2013-05-04 21:41:50 +02:00
Dominik Riebeling
9a19a22d85 Add missing USB IDs.
The new autodetection will always use USB IDs to identify players (among other
means). Add missing IDs for players the current implementation relies on other
means for detection only.

Change-Id: I037c23705518210b6ed93b4d13ccb96d933aa198
2013-04-09 22:55:55 +02:00
Dominik Riebeling
e30b3d84e8 Change autodetection result to a list.
Both autodetection functionality and the configuration dialog assumed detection
to only return one found device. This isn't necessarily true, especially since
some players can be detected but detecting their mountpoint might be ambiguous
(only if no previous Rockbox installation is present).

Instead of returning individual results (found "ok" player, found "error"
player etc.) return a list containing an entry for each player. Current
autodetection code will never return more than one entry since it doesn't
handle multiple devices yet, and the configuration dialog will show an error if
multiple devices are found. Thus there is no user visible change yet. Both
autodetection and configuration dialog can now get extended to handle multiple
devices.

Change-Id: I79b763dbd6e7111783194bcc22ab7cc06a4061c1
2013-04-09 22:39:13 +02:00
Dominik Riebeling
891351db60 Fix Qt5 / MinGW problems.
Add missing multimedia module and update some includes.

Change-Id: I98c65c4f2e21e6a63d552669468b1da313520499
2013-04-04 22:42:22 +02:00
Dominik Riebeling
801f3bbec4 Rename "interface" parameter.
Current MinGW #defines interface, causing the preprocessor messing up the
function parameter. Rename it to avoid this.

Change-Id: Id49edbfc056a42456d88c9e260e54844e8b1ca07
2013-04-04 22:42:22 +02:00
Dominik Riebeling
5ce21366d7 Extend Utils::mountpoints() to allow filtering for supported types.
Instead of trying every mountpoint during autodetection allow filtering out
filesystems that are not supported when retrieving the system mountpoints.

Change-Id: Ic23a5c804cb7c78c146dbc1af7443c67ce12464e
2013-04-04 22:42:22 +02:00
Dominik Riebeling
aa898d65fe Encode the password using base64 before storing it to the configuration file.
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.

Change-Id: I6ac49d68211236e540b6ca16481e0e1c196532b7
2013-03-19 22:47:50 +01:00
Dominik Riebeling
9965849765 Add option to temporarily show proxy password.
Change-Id: I9c4394dbe679584a0b0f9b6105714176354adfe6
2013-03-19 22:47:50 +01:00
Dominik Riebeling
9e7bd64f5a Remove keyword line.
Change-Id: Ic118b14170bb3eb0237a921f1ffe5c3f50569cc4
2013-03-13 22:05:58 +01:00
Dominik Riebeling
d94ce51462 Default to non-GUI configuration for tests.
Change-Id: Iae0cd3ec7a4bb173bf4032b557f9ae7efb64c67d
2013-03-09 19:40:57 +01:00
Dominik Riebeling
af58d04e35 ZipInstaller: rename some member variables to be in line with the rest.
Also change the double inclusion protection to match the filename.

Change-Id: I5bb64afdb62c87057867f9f9d683f0df239d2efc
2013-03-09 19:38:08 +01:00
Dominik Riebeling
e50066718c Don't leak HttpGet objects in ZipInstaller.
When creating a new HttpGet object schedule any old one for deletion instead of
dropping its reference and relying on Qt to clean it up once the parent object
is removed.

Change-Id: I66f2a6f01c6b6ad3a0dce0eb4fd3eacfaf7e733d
2013-03-09 19:34:45 +01:00
Dominik Riebeling
ef9eea7fd2 Don't delete ZipInstaller instances directly.
Schedule them for deletion instead of deleting them. That way pending events
can still be handled before the main loop deletes them. Fixes crashes on the
second download during installation.

Change-Id: I7c718dbb0200a64d1aa3bbb6c2839282fb965dec
2013-03-09 19:31:35 +01:00
Dominik Riebeling
6aeecf5e2c TTS encoders: allow volume range between 0.0 and 2.0.
SAPI only allowed values from 1.0 to 10.0, making it impossible to turn down
the volume of the voice. Increasing the volume by a factor of 10.0 is nothing
that is likely to be useful, so change the upper limit to 2.0 and decrease the
lower limit to 0.0.

Lame allowed values from 0.0 to 1.0, making it impossible to increase the
volume of the voice. Change the upper limit to 2.0 as well.

Change-Id: I8add103f6e4b3c8f1b11ee2c0ea478727bdc99c1
2013-03-07 20:42:02 +01:00
Dominik Riebeling
02a02efee0 Update copyright information for 2013.
We're still working on this.

Change-Id: I218d9ad0125950076ef3502e123e75d6f0f1de1e
2013-02-08 22:38:57 +01:00
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
Amaury Pouly
42a725f7ec mkimxboot: add a switch to force version
Add a switch to override the product and component version of the
sb file. This can usually for target like the Zen X-Fi2 where the
upader allows to drop any file named firmware.sb and prints the
version: by using a funky version the users can check they got it
right. This should not be used on the fuze+ or zenxfi3 because the
OF prevents downgrade.
Also make rbutil always zero out the option structure passed to
mkimxboot, this has already created bugs in the past.

Change-Id: I175c5def52c40c2132e11300e2f037d60a4f040e
2013-01-29 11:53:07 +00: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
e96df430c4 Implement test for HttpGet class.
Change-Id: I1df793fd32dafdea999b875452ee832b773d8156
2013-01-27 20:11:18 +01:00