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
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
This allows to implement multi-stage uninstallers. Should not affect
the behaviour on current targets.
Change-Id: Idf8aec5caf76cf9317798890d094a7cebdbcabec
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
Current clang on OS X suggests placing parens so add them
(-Wbitwise-op-parentheses enabled by default).
Change-Id: I31b49386aa184fe27f72f7f58909b97524d96f44
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
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
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
Solves some eject issues (FSCTL_LOCK_VOLUMEN ioctl failures) ocurring
when resolveDevicename() is ejecuted prior to ejectDevice(), tested
with Qt5.
Change-Id: Iff9240abd9d2f71bec1a1070f4ef194916e13b65
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>
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
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
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
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
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
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
Use a function instead of looking for an existing entry and creating a new one
if necessary every time.
Change-Id: I7b385dad7366f27370545a7d1a9f7052510cca11
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
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
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
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
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
Instead of trying every mountpoint during autodetection allow filtering out
filesystems that are not supported when retrieving the system mountpoints.
Change-Id: Ic23a5c804cb7c78c146dbc1af7443c67ce12464e
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
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
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
HttpGet used to use QHttp which has been deprecated since a while and has been
removed from Qt5. Rewrite the class based on QNetworkAccessManager which is the
recommended way these days.
Change-Id: I4902309c433a85ec18e157ef3a9f5e60fd0f4b1f
RFC850 timeformat isn't y2k compliant. Furthermore, parsing turned out to be
broken and it doesn't seem supporting the format is necessary anyway.
Change-Id: I062e636a9e016ff1ac49d2a55f00adb1af182576
If a file is not available in the cache immediately sent a GET request. Using a
HEAD request to retrieve the file timestamp on the server is not necessary and
only creates an unnecessary network request.
Change-Id: I358507dcc0c6b837ff47e5fd710b5262d03cb7b0
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
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
On Windows the sector buffer is allocated using VirtualAlloc, thus releasing
this buffer should be done using VirtualFree. Provide an additional function
for deallocating the buffer so users of ipodpatcher do not need to know about
this.
Change-Id: Ibb0fc575a185148a389e63935e86a392bf8d180d
Similar as the ipod_t structure for ipodpatcher the sansa_t structure holds all
relevant information for sansapatcher. Put the global sansa_sectorbuf pointer
into it as well.
Change-Id: Iad08ef6aafc49609c3d0d556914246f230ee0179
The ipod_t structure holds all relevant information for ipodpatcher. Put the
global ipod_sectorbuf pointer into it as well. Allows the Rockbox Utility Ipod
class to be instanciated multiple times since each instance can now have its
own buffer.
Change-Id: Ie319cbadbc20c367ceadba9a46b4dc34b57a79a7
Similar as done with SAPI / MSSP make the current implementation for executable
based TTS engines a base class and create derived classes for each supported
TTS. Removes the need for the implementation to know about the individual TTS
engines.
Add support for speaking directly (i.e. without going through a temporary wave
file, currently only used by espeak).
Change-Id: I59bbbd6ee4c2c009b2a8d8e0ab4a9b39ea723d6e
While the current implementation of getTTS() will always return an object this
might change later. Check the returned object before using it to be on the safe
side.
Change-Id: Ic949cae7cfbe6f3086dee6aab741b0acafe14640
When retrieving USB IDs create a list of players matching to a USB ID instead
of assuming only one player. This prevents non-unique IDs overwriting each
other and will be used for improved autodetection later.
Currently only the first ID is used during detection, and no additional IDs
have been added yet.
Change-Id: Ieac5594108bae708e364bd2c8df88f61fcdcbdcd