Commit graph

1318 commits

Author SHA1 Message Date
Cástor Muñoz
e43ef1f3e7 rbutil: add support for iPod Classic 6G bootloader
Change-Id: I0e237a81098a2d4df8d9f5d6deaaab3863a84fc6
2019-10-28 00:09:35 -04:00
Cástor Muñoz
c353bef3d1 rbutil: add function to suspend/resume processes
Change-Id: I99cfaaa4f853930cea88184496e91589b42859f3
2019-10-28 00:09:35 -04:00
Solomon Peachy
07084f62c4 Fix host build of mkimxboot, mknwzboot, nwztools, and rbutil with crypto++
Necessary to get working builds on my Fedora 29 system.

Change-Id: Ia6232427c959629ade9a85fc412738f688facedb
2019-01-25 12:58:18 +01:00
Pavel Rzehák
533b2da2ab Rockbox Utility: updated Czech translation
translated missing strings and revised existing

Change-Id: I1814b31b18cda700fb34f23f818ccbe031b4251f
2017-09-23 18:46:27 +02:00
Dominik Riebeling
efe3775145 Create local file URL using QUrl.
Don't construct the local file URL from string. On Windows the URL needs to
start with file:/// instead of file://. QUrl handles this.

Change-Id: I3dea29a8d368ebdc20eeff6b1f1cf5058d1b5d05
2016-12-16 19:46:00 +01:00
Dominik Riebeling
14ef6079c0 Fix various unit test compilation.
There's now a dependency on Logger.h, add stub folder to includes to stub it.

Change-Id: I1afdc6bd878182b03cb3c1f3538779eaa9f83f28
2016-12-16 19:44:41 +01:00
Cástor Muñoz
40ce2b4133 rbutil: add abort signal for bootloader install/uninstall
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.

Change-Id: I7f297b8031d7a2d93da0022081aaef03ef041baf
2016-08-15 20:14:25 +02:00
Cástor Muñoz
e4af97300d rbutil: show progress bar during bootloader uninstall
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.

Change-Id: I61be1c4f5cfc2d2f35fa5005962be9703888447d
2016-08-15 20:12:32 +02:00
Cástor Muñoz
5a673d6df2 rbutil: enable "done" signal on bootloader uninstall
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.

Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
2016-08-15 20:10:59 +02:00
Dominik Riebeling
ee567d8579 Fix wrong typecast in test.
Change-Id: I01acae450bcbb9c9e2b45d3ee62817b9256540c3
2016-03-27 12:38:18 +02:00
Dominik Riebeling
bbb46a885d Improve handling of Qt5 subversions on OS X.
Qt 5.6 on OS X requires targeting at least OS X 10.7, while for earlier
versions we can still target 10.6. Handle this case and inform the user about
the used target version.

Change-Id: I78e426037e2966241ab9a63105e04e7366b469ed
2016-03-27 12:38:18 +02:00
Dominik Riebeling
32aaa52ed4 Use Gestalt to get number of CPUs on OS X.
MPProcessors has been deprecated with 10.7. When targeting 10.7 (required when
building with Qt 5.6 on OS X) this causes a warning. Use Gestalt instead
(Gestalt has been deprecated with 10.8, but when targeting 10.7 this doesn't
cause a warning, and Gestalt is used for other values as well).

Change-Id: Iaf82147ad47115e228f5c08f8198a6a7e92102a3
2016-03-27 12:38:17 +02:00
Dominik Riebeling
8624392f7e Fix compile warning on OS X.
Current clang on OS X suggests placing parens so add them
(-Wbitwise-op-parentheses enabled by default).

Change-Id: I31b49386aa184fe27f72f7f58909b97524d96f44
2016-03-27 12:38:17 +02:00
Dominik Riebeling
7cc6d85df9 Fix C++11 compile error with version strings.
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
this.

Change-Id: Ifbedc894a3cef23fc67ed1da75558e92e44d1077
2016-03-27 12:38:17 +02:00
Dominik Riebeling
1015088d90 Fix building with Qt 4.7.
QUrl::isLocalFile() is available starting with Qt 4.8. We can safely check for
a file:// url instead.

Qt 4.8 dropped support for OS X 10.4 / 10.5. Since we're still supporting those
we need to keep using Qt 4.7 on OS X. We might want to consider requiring at
least 10.6 on OS X with the next major release of Rockbox Utility.

Change-Id: I18998fe3c7a38773479bc7a1c32ca6e4966359e9
2016-01-17 20:47:08 +01:00
Dominik Riebeling
5c027e3b5c Fix uninstallation for mi4 based bootloader installs.
On case sensitive systems (i.e. Linux) uninstalling the bootloader could fail
when renaming the original bootloader file back. Fix this by using the
case-resolved filename.

Change-Id: I504656f70e7ccc7c0752f5252ddb14a625131f5b
2016-01-17 19:18:26 +01:00
Dominik Riebeling
537f9a4ab6 Return process IDs in Utils::findRunningProcess().
Rework to return mapping between (filtered) process names and their pid values
(if running). Note that this functionality is not implemented for Linux (but as
it's mostly intended to detect Itunes currently not needed on that platform).

Change-Id: Ie348bfed46bda390f469c37635a96c75e5782616
2016-01-17 19:18:26 +01:00
Dominik Riebeling
3b089b439f Add color to trace debug output.
Change-Id: Id2c90220ab695a8195af50cdea8437b49744f720
2016-01-17 19:18:26 +01:00
Cástor Muñoz
610b80b9ca rbutil: fix writing to rbutil.log after bootloader uninstall
Change-Id: I722d4d5a83fc57bd8df33bfb23a0ab16e5ac4861
2016-01-17 19:16:53 +01:00
Cástor Muñoz
0992092a0f rbutil: fix resolveDevicename() on Windows
Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring
when resolveDevicename() is ejecuted prior to ejectDevice(), tested
with Qt5.

Change-Id: Iff9240abd9d2f71bec1a1070f4ef194916e13b65
2016-01-17 18:47:51 +01:00
Cástor Muñoz
ad65f8cc71 Handle mixed case in Windows USB ID detection.
Windows XP might use mixed case in hardware ID (VID / PID) string.

Cherry-picked from G#1221.

Change-Id: I86fa63e050cd9b9de5a1beac65b81028e0f86a9d
Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-12-20 12:25:41 +01:00
Dominik Riebeling
7d7359ae63 Fix and extend HttpGet unit test again.
Fix wrong initialization (why did that compile?) and add check for progress
signal.

Change-Id: I83a193252afcf66acaa333750b0ac2ef83e38478
2015-12-20 11:10:18 +01:00
Dominik Riebeling
70baf0f7be Fix compiling HttpGet unit test.
Provide a stub for Logger class to make the test compile.

Change-Id: I142eaf443c1f9026506100b82c9341e83b619ab6
2015-12-18 23:42:18 +01:00
Dominik Riebeling
7e7fd0c7b8 Use random port for HttpGet unit tests.
Make local HttpDaemon for testing use a random unused port instead of a fixed
one. Avoids possible issues with the port chosen already being used on the
local machine.

Change-Id: I1ca10b7e5ce198350e14321afc50c36d78b1c0b4
2015-12-18 23:42:18 +01:00
Dominik Riebeling
79d513dd7e Add documentation to HttpGet and remove unnecessary return value.
HttpGet::getFile() always returns the same value. Remove the return value since
it isn't necessary. Add some missing function documentation comments.

Change-Id: I1cee242211272a996437b10dbc8de791b3fc3d67
2015-12-18 23:42:18 +01:00
Dominik Riebeling
d24a9ea3b2 Add support file:// URLs in HttpGet.
QNetworkAccessManager can handle file:// URLs without additional work. Make
HttpGet aware of that so you can now also use it to retrieve file:// URLs. Add
a unit test for it as well.

Change-Id: If64b57453460b70bca9e5b0c725bb78344617bcd
2015-12-18 23:42:17 +01:00
Cástor Muñoz
4627d4b56e Fix static compilation with Qt5.
Qt5 uses a different name for the accessibility plugin. Cherry-picked from
G#1221.

Change-Id: If32eafa053a176ba24b4595826593023ed808164
Signed-off-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2015-12-18 23:42:17 +01:00
Dominik Riebeling
226922efe3 Fix USB IDs for Sansa c200v2.
The wrong IDs made a connected c200v1 get detected as c200v1 and c200v2 in MTP
mode.

Change-Id: I9048910ca9d768b17b9d23e4679c96d9ab8d6831
2015-06-20 20:42:59 +02:00
Dominik Riebeling
4c4c645d82 Win32: fix possible crash when listing USB devices.
Make sure to handle if retrieving the device description ends up with a NULL
data buffer pointer. Also switch handling the retrieved string using QString.

Fixes a crash reported in the forums.

Change-Id: I6e95a411308e85656cd78ddcecb1bcee165864d0
2015-06-07 22:25:54 +02:00
Dominik Riebeling
e606ee42c2 Make lrelease detection work on Windows.
Make sure to expand variable before testing.

Change-Id: I6b6f11782677c178fe3f2209f84887084940976a
2015-05-30 19:16:11 +02:00
Dominik Riebeling
ef21b30454 Make lrelease detection work on Windows.
Windows doesn't have which, so building natively on Windows didn't create
translations anymore. Use a which-less approach instead.

Change-Id: I7b4c40b26d68da54277a148e8e2d76ac81061c8b
2015-05-30 19:01:33 +02:00
Dominik Riebeling
47d053735b Initially scroll to changelog end.
Since currently new entries are at the bottom scroll down when opening the
changelog window.

Change-Id: I3cec84f5d9251e268c34335d8032dd11f42098ae
2015-05-18 22:48:54 +02:00
Dominik Riebeling
a213c1828f Extend project file message output and always run lrelease.
Check for lrelease and always try to run it if found. If not found show a
warning. This avoids build problems for certain setups which previously
required -config dbg to complete.

Change-Id: I60f0f49adc8455743afc5e4d23294ce0729f38d2
2015-05-18 22:44:36 +02:00
Dominik Riebeling
5db55387b9 Fix building with MSVC.
MSVC doesn't like function style call to the logger.

Change-Id: I98480442cafbec6728198e5f3bc40f992d4ea477
2015-05-14 22:18:58 +02:00
Dominik Riebeling
44fcebb988 Fix libs path for building with MSVC.
Change-Id: Iaa0a20c8bff1faaa191de70d6f02c62dafec1591
2015-05-13 23:00:49 +02:00
Dominik Riebeling
d1598cfa85 Add information about compiler used to startup log.
Change-Id: I47442ea0458461d0ae0a1af40e7719f8543b1992
2015-05-02 16:52:14 +02:00
Dominik Riebeling
09a25deeea Apply -Wno-unused-local-typedefs for gcc only.
Change-Id: I098882ea1c1a3f5265a763046400d79aed8eb43f
2015-05-02 16:52:14 +02:00
Dominik Riebeling
9ecfe6151b Separate logger / quazip project file parts.
Move to separate project include file for better readability and reusability.

Change-Id: If75805be8fad4aec8ede600f5c616a9412ac0505
2015-05-02 16:52:14 +02:00
Dominik Riebeling
b230cf3aa2 Update quazip to release 0.7.1.
Update to latest quazip release. Note that quazip is now LGPL and not GPL /
LGPL dual licensed anymore.

Change-Id: Ie1e975b5b546dd31218eef9df472527493fe81e0
2015-05-02 16:52:14 +02:00
Dominik Riebeling
d4fee36971 Remove unnecessary Id line.
Change-Id: I48428eb1e455a841f9f1295cf6a61631bd925977
2015-05-02 16:52:13 +02:00
Dominik Riebeling
4fb4de362c Update german translation.
Change-Id: Ieb9b94d39009db4954df05cc1f54161b76b44f61
2015-05-02 16:52:13 +02:00
Dominik Riebeling
72b81c2559 Improve update check information dialog.
Show the user both the current and updated version.

Change-Id: Ief693cce020a39a0c79bf2705da4a44b7bd15928
2015-05-02 16:52:13 +02:00
Dominik Riebeling
43b1ccffcc Add note to boot OF for update with OF on uninstallation.
Change-Id: Ia2955ecc9616eaa91644970ef81320e23a7970a0
2015-05-02 16:52:13 +02:00
Семён Жуковский
1865efc021 Update Russian and French rbutil translations.
Change-Id: I52a42309b27b44463061f36a98b131d82a58a293
2015-02-22 13:30:48 +01:00
Dominik Riebeling
7de2a364d0 Add note about translations to MSVC build instructions.
Change-Id: I06ed441801f50a7331d7610beaf6535f6ec0c602
2014-06-30 17:57:24 +02:00
Dominik Riebeling
d30c500b96 Make clean target work for MSVC dll Makefile on Windows.
Change-Id: Ifb9a00530720e0997421af9a07ae8c133f0edfd0
2014-06-30 17:57:24 +02:00
Daniel Kluz
1879de7ba3 Update polish translation for Rockbox Utility (FS#12979)
Change-Id: Iaca68eb72e030964b5692d03b03e312b8b05b05a
2014-05-25 15:48:08 +02:00
Dominik Riebeling
896b771710 Fix crash when detecting a player in MTP mode.
Change-Id: I65bf6928584735d6a179750c313fb8e7dcf7add5
2014-05-24 22:57:25 +02:00
Dominik Riebeling
3136465c42 Improve MSVC support in project file.
Enable MSVC specifics by checking QMAKESPEC instead of depending on a qmake
command line switch.

Change-Id: I77f72acd6661d5d7bc5776cc2dc877a11920dc7e
2014-03-23 20:47:45 +01:00
Dominik Riebeling
202717d18f Fix MSVC not knowing inline for C code.
MSVC needs to use __inline instead of inline when compiling C code (the inline
keyword is only avaliable in C++). Use the preprocessor to work around this.

Change-Id: Ic9884a7421cee7dc7c943ab205312f50233fb100
2014-03-22 22:25:21 +01:00
Dominik Riebeling
d85a84fc83 Add msvc qmake config option for building with MSVC.
When building with MSVC we need to add the msvc folder to the include list, and
remove the libraries from the dependencies since they need to get built
separately.

Change-Id: I297787f32495da4541c67bfef549b4d1ad68dd18
2014-03-22 22:20:48 +01:00
Dominik Riebeling
c18908d6bd OS X: update project file for Qt5 support.
- Qt5 doesn't support PPC anymore, so always build for x86 only.
- Qt5 requires the use of the multimedia module (as Windows).

Change-Id: I7d54faffe9d2fb557f55234ba7b81a508d92a38b
2014-03-20 22:26:24 +01:00
Dominik Riebeling
06a2e7c3bb OS X: use FSGetVolumeParms when targeting 10.5+.
PBHGetVolParmsSync() is not available when building with 64bit. The replacement
FSGetVolumeParms() is available on 10.5+ only. Use the latter when building
with target version 10.5+. This requires builds targeting 10.4 to 32bit and
allows building as 64bit when targeting 10.5+.

Change-Id: Ic53217f3090147bea473613335f9482623a470bd
2014-03-20 22:26:23 +01:00
Dominik Riebeling
f8e3b61565 OS X: don't include libusb headers.
We don't use libusb on OS X anymore, so don't include it anymore.

Change-Id: I32b721e097e5958a2e7359ccd79bf2d3b2d0ad9d
2014-03-20 22:26:23 +01:00
Dominik Riebeling
7df8ebf263 Use new ipod6g player image for ipod6g.
Change-Id: Ia010373529df3f9bed3f40f5372d8bc1fd9769fb
2014-01-27 19:55:39 +01:00
Dominik Riebeling
1e1b21591d Bump Rockbox Utility version to 1.4.0.
Change-Id: I56cb05e2367a24341af6a8feb70f291628e78797
2014-01-05 21:44:28 +01:00
Dominik Riebeling
660c8d0eff Add missing german translations and lupdate remaining ones.
Change-Id: I1bf100e17170d3845a54267e74f1a2fa8e84b7e5
2014-01-05 16:31:43 +01:00
Dominik Riebeling
2e40f313cf Update french Rockbox Utility translation.
Thanks to lebellium for updating.

Change-Id: Ic8f14f358a28202d3c6d88b24ec45b8106d590e0
2014-01-05 16:31:43 +01:00
Dominik Riebeling
b91ec7ec6d Make some missing strings translatable.
Change-Id: I566bb9ea16b9e5e3f46e81393c07d3c13a748a63
2014-01-05 16:31:42 +01:00
Dominik Riebeling
ceff06377d Update german Rockbox Utility translation.
Change-Id: Ie2751f3cea518a01b0bd17f69b5d72ece286bc14
2014-01-05 16:31:42 +01:00
Bertrik Sikken
6a3fd9a2bb Dutch (nl) translation update of RockboxUtility
Change-Id: Id0917e12e5e6dfe9360aa58506c6d894e74145de
2014-01-05 15:34:39 +01:00
Dominik Riebeling
473b26f5e2 lupdate all translations.
Change-Id: Iac3462ba5191b3b7e3f2a37c67119685e1931a6f
2014-01-05 14:00:58 +01:00
Dominik Riebeling
72da9be702 Drop year from (c) notice in Rockbox Utility.
Instead of having to update it every year just drop it. We have the build date
in the binaries we provide, and the years it has been developed can be
retrieved via git anyway.

Change-Id: Ib33ee851883146509034c405cd65552a0f67194e
2014-01-05 14:00:58 +01:00
Dominik Riebeling
827a03b12d Fix potentially problematic sprintf statement.
Change-Id: Ice0d7b0d4c042be991cdbca7a390b613b5bdc5a6
2014-01-05 14:00:58 +01:00
Dominik Riebeling
21ff83295e Update changelog.
Change-Id: I81491530d712fde8cc0912d4ede26ce1db55a6df
2013-12-21 13:27:49 +01:00
Dominik Riebeling
587576437a Fix recorderv2 manual.
archosrecorderv2 uses the archosfmrecorder manual.

Change-Id: I015272db750b2fc5054d8259b37f00e0698afbff
2013-12-21 13:27:49 +01:00
Dominik Riebeling
0372a52e39 Add missing entry to changelog.
Add a missing entry and treat changelog file always as UTF-8.

Change-Id: I847c399ddf6d8aacf155864fbd9109121a761bc5
2013-11-12 22:54:22 +01:00
Dominik Riebeling
3c6f3945dd Suppress some unused variable warnings in libmspack.
Change-Id: Iccc98cf2092a5a0101021e24b051c42743b9becf
2013-11-12 22:43:16 +01:00
Dominik Riebeling
c49a447dd0 Update changelog.
Add changes merged via Gerrit to changelog.

Change-Id: I230b1cb17f3ab78bfff6c2ac990735ab05b9a6d5
2013-11-04 23:44:59 +01:00
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