Commit graph

133 commits

Author SHA1 Message Date
Dominik Riebeling
d5820ff779 rbutil: Qt6: allow building without Multimedia module.
Qt6 beta doesn't include the Multimedia module. Allow building without,
and disable on Qt6 for now.

Change-Id: Ie2ad25c81d9c62c8c6e8efaf8309b3600afce1d0
2020-08-16 12:14:30 +02:00
Dominik Riebeling
9cd37337de rbutil: Fix various warnings.
Replace use of deprecated APIs with their replacements, and fix some
other minor warnings.

Change-Id: I3f63e0bd91b96ce86ce39c087fe0040fc226d16d
2020-08-16 12:13:28 +02:00
Dominik Riebeling
04d289fe02 rbutil: Use SpinBox for Proxy port value.
No need to use a validator on a LineEdit, simply use a SpinBox and
disable the up / down icons.

Change-Id: Ie47c5929a071dc95ed9d6f28c2417fc6dd5323fe
2020-08-06 22:58:19 +02:00
Dominik Riebeling
b820c648c8 rbutil: Always use Qt Multimedia to play TTS preview.
We're using it on Windows and macOS, there's no reason to not do so on
Linux.

Change-Id: I6e4d9006eff22fd4bf6b882407a5497b2f8cdd2f
2020-07-26 15:12:17 +02:00
Dominik Riebeling
5640d0d3c7 rbutil: Call QLocale::setDefault() with QLocale.
QLocale::setDefault() shouldn't be called with a QString but a QLocale
instead. Calling it with a string doesn't work with Qt6 anymore.

Change-Id: I08826095cda8563e4ae9b83d08144da2d0d7f3c7
2020-07-26 11:10:26 +02:00
Dominik Riebeling
b91ec7ec6d Make some missing strings translatable.
Change-Id: I566bb9ea16b9e5e3f46e81393c07d3c13a748a63
2014-01-05 16:31:42 +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
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
fe45f8f090 Show mountpoint on multiple devices found message as well.
Change-Id: I315813646ee3fe3b510510e99e2dbf88c649f4d8
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
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
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
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
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
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
7f76bb48b3 Don't assume success for TTS object creation.
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
2012-10-06 13:53:09 +02:00
Dominik Riebeling
a32cbf3346 Only update mountpoint on Accept when empty.
Always updating the mountpoint overwrites a manually entered mountpoint (only
available in debug builds).

Change-Id: I6298cb873496d66f4836f219e89ca8ae17261de9
2012-04-30 22:11:49 +02:00
Dominik Riebeling
fa6563b7b8 Refresh mountpoint from UI before checking for existence.
Fixes "invalid mountpoint" errors that could happen if the preselected
mountpoint was never changed and no previous configuration available.

Change-Id: Ief5f1b7a0b24267a03028f5d402e8763a5a3fc70
2012-04-24 23:02:24 +02:00
Dominik Riebeling
be0e197190 Split up encoders sources.
Create a separate source / header file for each supported encoder and the base
class and rename classes for better readability. This should also make it
easier adding new encoders.

Remove a few trailing spaces while at it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31592 a1c6a512-1295-4272-9138-f99709370657
2012-01-06 19:19:32 +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
9f2a71bb12 Rockbox Utility: handle layout direction on language changes as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30638 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 15:27:52 +00:00
Dominik Riebeling
9e016c4791 Update cache information after translation change.
Since a translation change can affect the locale the locale-dependent strings
need to be refreshed explicitly.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30634 a1c6a512-1295-4272-9138-f99709370657
2011-10-02 14:36:38 +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
4f56b50df4 Voicefile generation: implement string corrections.
Voicefile generation now can correct strings for the TTS system similar
to what voice.pl does. The current implementation has some limitations:
- only implemented for voicefile creation.
- the corrections file is built in and can't get changed.
- string corrections can be disabled in the configuration dialog.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30628 a1c6a512-1295-4272-9138-f99709370657
2011-10-01 19:48:58 +00:00
Dominik Riebeling
9c9bc1216c Move some helper functions out of Autodetection.
Those functions are rather general, so put them into the Utils class instead.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30146 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 08:08:58 +00:00
Dominik Riebeling
b7fe90aa36 The mountpoint is stored with normalized separators.
Make sure to convert it on reading to avoid not finding it even if stored with
native separators in the configuration. Fix a warning on Windows.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30145 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 08:08:51 +00:00
Dominik Riebeling
99408dd45e Add custom delegate for showing the mountpoint combo box entries.
The delegate will be used for the dropdown list and show both mountpoint (left
aligned) and label / size information (right aligned). This improves
readability compared to the previous implementation. Also, the mountpoint
itself is now the text of the combo box and the additional information is in
the Qt::UserRole to avoid having to handle a user entered mountpoint separately
(since previously the mountpoint was stored in Qt::UserRole, but an edited item
would have the value in Qt::TextRole).

Disable editing the combo box entry for release builds, it shouldn't be needed
by users.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30144 a1c6a512-1295-4272-9138-f99709370657
2011-07-16 22:08:03 +00:00
Dominik Riebeling
c9f70fe304 Show volume labels on Windows.
In mountpoint selection and system info dialog show the volume name to make it
easier to identify a specific device.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30141 a1c6a512-1295-4272-9138-f99709370657
2011-07-15 20:03:05 +00:00
Dominik Riebeling
241f28eefc Replace mountpoint selection with combo box.
Instead of entering the mountpoint via a tree browser or manually use a combo
box that lists all available drives / mountpoints. This also allows to easily
add more information like the free and total size for each mountpoint. For
development this can still be overriden by editing the dropdown value manually.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30140 a1c6a512-1295-4272-9138-f99709370657
2011-07-15 19:14:26 +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
afa6afc3bc Better hilight detected item after autodetection.
To have a better indication what player has been detected and to keep this
information in view make the entry for the detected player bold. This also
(partly) addresses FS#10694.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29761 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 17:39:05 +00:00
Dominik Riebeling
4d25fb8fe1 Fix "Test TTS" button not working.
Make sure the temporary file doesn't get destroyed before it has been played.
Fixes the "Test TTS" button not giving a test playback anymore for TTS systems
that cannot do the playback themselves.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29760 a1c6a512-1295-4272-9138-f99709370657
2011-04-22 15:38:41 +00:00
Dominik Riebeling
86f70de809 Properly remove the configuration dialog.
The configuration dialog isn't needed anymore once the finished() signal is
emitted. In that case schedule it for deletion by the event loop.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29674 a1c6a512-1295-4272-9138-f99709370657
2011-04-03 14:04:21 +00:00
Dominik Riebeling
746f01dd77 Add capability to speak directly from the TTS engine.
The OS X TTS engine (and likely others) allows outputting its speech directly
to the sound system. This avoids the extra step of creating a temporary file to
play for TTS preview. Currently implemented as TTS capability reported.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29672 a1c6a512-1295-4272-9138-f99709370657
2011-04-03 08:06:59 +00:00
Dominik Riebeling
d1098f3100 Fix MTP detection only working on e200v1.
Autodetection only showed an MTP device error for e200v1 and an unspecified
error for all other players (except if the detected player is an Ipod, in which
case the error indicates a WinPod). Consider all non-Ipod errors as MTP error.
Fix wrong MTP USB ID for e200v1 which made that detection fail even for e200v1.
Should fix FS#11563.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29621 a1c6a512-1295-4272-9138-f99709370657
2011-03-20 10:26:05 +00:00
Dominik Riebeling
92183d2dd0 Improve visual feedback when testing TTS.
Disable the "Test TTS" button during a running test and on invalid TTS
configuration.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29581 a1c6a512-1295-4272-9138-f99709370657
2011-03-13 14:57:58 +00:00
Dominik Riebeling
988b3083df Replace list of languages with map.
- Use ISO codes as keys for voice languages instead of enumeration.
- Instead of trying to select a suitable voicefile language from the UI
  language use the ISO codes stored as UI language and match against the
  mapping.
- Always store the selected UI language. Fixes the voicefile creation
  language lookup to fail if the language used is the system language.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29207 a1c6a512-1295-4272-9138-f99709370657
2011-02-04 23:28:34 +00:00
Dominik Riebeling
9fedc8187f Move utils.cpp functions into separate class and split it up.
Move class-less functions in utils.cpp into a new Utils class and make the old
functions static. This prevents clashes with system C functions. Rename some
functions to avoid macro problems (check() is a macro on OS X). Split out the
RockboxInfo class into a separate file.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25441 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 21:24:19 +00:00
Dominik Riebeling
b470303311 Implement system proxy values retrieval on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25439 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 19:22:32 +00:00
Dominik Riebeling
98493fd398 Warn when selecting system proxy settings with invalid values.
Rockbox Utility doesn't support "proxy auto-config" (aka PAC) for system proxy
settings. This can result in users selecting system proxy and expecting it to
work even if their system uses PAC. While the configuration dialog displays the
proxy setting values retrieved from the system this is not totally obvious. Add
a message telling if the retrieved system proxy values are not useable. For now
this only checks if a proxy host and port are set which should catch the usual
cases when PAC is used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25435 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 10:59:38 +00:00
Dominik Wenger
a79fee019e Delete tts objects after use.
Author: Delyan Kratunov
Flyspray: FS#11155 part1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25401 a1c6a512-1295-4272-9138-f99709370657
2010-03-30 17:43:49 +00:00
Dominik Riebeling
8c8703038b Refactor device tree setup a bit.
- reorder value retrieval (display names etc) to cut down the number of
  necessary accesses. While this is not critical it cuts down the noise
  generated in the trace noticably.
- match the old target by its internal name instead of the display name.
- remove two access functions in SystemInfo that are not really needed anymore.
  Accessing the values via platformValue() is much more logical and in line with
  the rest of the value accesses.
- try to scroll to the selected item in the device list after setup and
  detection.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24988 a1c6a512-1295-4272-9138-f99709370657
2010-03-01 22:45:17 +00:00
Dominik Riebeling
7f33b7d9fa Recognize and handle MacPods during autodetection.
Previously MacPods were detected but the mountpoint can't get resolved due to
the different partition layout, thus having a MacPod would only detect the Ipod
itself but not the mountpoint. Rockbox does not support MacPods, so inform the
user as soon as possible.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24799 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 22:11:11 +00:00
Dominik Riebeling
7e91332e39 Use QFileDialog::getExistingDirectory() for path selection.
This makes it possible for native dialogs to get used on Windows and OS X. The
mountpoint selection dialog needs special handling and still uses the
BrowseDirtree class for now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24703 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 21:34:39 +00:00
Dominik Riebeling
a9ab407f84 Add option to show disabled targets in the configuration dialog.
Note that disabled targets support is not intended for use by end users.
This is to make development (and testing of svn) easier and should get
disabled for releases.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24513 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 21:10:20 +00:00
Dominik Wenger
6128bd14e9 rbutil: split RbSettings. use Stable/unstable status from server.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24331 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 21:12:11 +00:00
Tomer Shalev
a398e44680 rbutil: Explicitly set some widgets layout direction to LTR
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24173 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 20:04:45 +00:00