Commit Graph

3230 Commits

Author SHA1 Message Date
Thierry Crozat
41398761ba I18N: Regenerate translations data file 2017-07-17 05:05:02 +02:00
Eugene Sandulenko
940b2a20f1 Revert "COMMON: Change way the Singleton instances are instantiated"
This reverts commit eefa72afa1.

With this patch ConfigManager is broken.
2017-07-10 21:17:41 +02:00
Thierry Crozat
eefa72afa1 COMMON: Change way the Singleton instances are instantiated
This fixes tons of warnings with clang from a recent xcode version on
macOS (and possibly other systems) complaining that an instantiation
of _singleton is required but no definition is available.
2017-07-10 21:11:20 +02:00
Thierry Crozat
afc0ac65c9 I18N: Regenerate translations data file 2017-07-10 05:05:08 +02:00
Thierry Crozat
db0728970c I18N: Regenerate translations data file 2017-06-26 05:05:03 +02:00
Thierry Crozat
3213c426a5 GUI: Separate bevel and shadow effect when extending widget rect
When widget::draw() is called it asks the ThemeEngine to redraw the background
first and then the widget gets redrawn in drawWidget(). The ThemeEngine uses
an extended rect to restore the background to include bevel and shadow effects.
However if this extended rect overlaps with other widgets, since those other
widgets are not redrawn, a part of those will be missing. See for example
bug #6394: GUI: List View save page drawns over font.

In case we get overlap we might need to change the way widgets are drawn so
that all widgets intersecting the area where the backgroud is restored are
redrawn. This commit simply seperate the bevel and shadow effects, and uses
the shadow offset only to extend the bottom and right sides of the rectangle
(while the bevel offset is still used to extend all four sides). This
results in a smaller extended rectangle (if the shadow offset is bigger than
the bevel offset, which is the case of the list view) and thus decrease the
risk of the issue happening. The particular cases described in bug #6394
are all fixed with this change.
2017-06-20 19:36:56 +01:00
Thierry Crozat
64c82e7e0e I18N: Regenerate translations data file 2017-06-19 05:05:03 +02:00
Bastien Bouclet
9bb9c0d58e GUI: Focus the first 'focusable' widget when rebuilding dialogs
Fixes Trac#9838.
2017-06-13 07:21:34 +02:00
Tarek Soliman
2977ae546e GUI: Improve calculation for savegame thumbnail labels
Instead of shrinking the rect based on how many labels aren't there,
expand the rect based on how many labels are there.

Closes gh-958
2017-06-09 13:17:09 -05:00
Tarek Soliman
7de8be411d GUI: Fix savegame thumbnail label layout
The Save/Load screen has a preview area with labels for date and time.
The bottom label was drawing past the bottom of the rect.
2017-06-09 13:17:09 -05:00
Tarek Soliman
231c263f70 GUI: Use dashes in default save description
Closes gh-956
2017-06-09 13:16:46 -05:00
Thierry Crozat
a614638747 I18N: Regenerate translations data file 2017-05-29 05:05:06 +02:00
Thierry Crozat
8983a82741 I18N: Regenerate translations data file 2017-05-22 05:05:03 +02:00
Thierry Crozat
5c31db0594 I18N: Regenerate translations data file 2017-05-15 05:05:08 +02:00
Thierry Crozat
dba9ef4fa4 I18N: Regenerate translations data file 2017-05-01 05:05:08 +02:00
Thierry Crozat
e0539dd0e5 I18N: Regenerate translations data file 2017-04-24 05:05:10 +02:00
Thierry Crozat
571f608192 I18N: Regenerate translations data file 2017-04-17 05:05:09 +02:00
Thierry Crozat
82540e6363 I18N: Regenerate translations data file 2017-04-10 05:05:14 +02:00
Thierry Crozat
05bd770ea9 Merge pull request #921 from Joefish/PR_9711
GUI: Restore previous settings if GUI cannot be rendered
2017-04-09 21:09:10 +01:00
Joseph-Eugene Winzer
7ff4641d5d GUI: Restore settings if GUI cannot be rendered
PR#921 changes the behavior of the client that if the GUI fails to be
rendered the previously applied settings in the misc category are
restored. Error messages were altered according to the changes.

Bug: #9717 GUI: Indirectly changing 'GUI Language' can produce
                inconsistent behaviour when changing some options.
2017-04-06 23:08:28 +02:00
Thierry Crozat
78561ca94d GUI: Fix access to deleted widget after rebuilding a dialog
The issue was with the focus or mouse widget as it may not be a
direct child of the dialog (it may for example be a child of the tab
widget in the options dialog) and removing a widget was not
resetting the mouse of focus widget if that widget was not a
direct child.
2017-04-06 21:55:28 +01:00
Thierry Crozat
91125bcbcd GUI: Add method to know if a widget contains a given widget 2017-04-06 21:55:28 +01:00
Thierry Crozat
2dac196370 I18N: Regenerate translations data file 2017-04-03 05:05:09 +02:00
Thierry Crozat
8054869161 CREDITS: Add credits for Lab 2017-03-29 23:38:08 +01:00
Thierry Crozat
11fda24477 CREDITS: Add snover as contributor for the SCI engine 2017-03-29 23:24:16 +01:00
Thierry Crozat
de1a1ee7b3 CREDITS: Move access engine credits to its proper place 2017-03-29 23:10:10 +01:00
Thierry Crozat
8d3b84ae1c CREDITS: Add credits for Fullpipe 2017-03-29 23:05:55 +01:00
Thierry Crozat
c36a945449 CREDITS: Add credits for ADL engine 2017-03-29 22:00:49 +01:00
Peter Kohaut
d7080148c3 BLADERUNNER: Added credits for Blade Runner 2017-03-25 23:51:35 +01:00
D G Turner
7843e12cad GUI: Fix GCC Warnings. 2017-03-20 11:11:54 +00:00
Bastien Bouclet
4ca6f58264 GUI: Fix a signed vs unsigned comparison warning 2017-03-18 16:17:10 +01:00
rsn8887
ef992f26bb PSP2: Add credits for Vita port 2017-03-14 19:02:40 -05:00
Eugene Sandulenko
121cb80696 JANITORIAL: Remove trailing spaces 2017-03-13 08:59:22 +01:00
Eugene Sandulenko
1ffb661853 GUI: Fix warnings 2017-03-13 08:59:10 +01:00
Thierry Crozat
a9d60aeb99 I18N: Regenerate translations data file 2017-03-13 05:05:07 +01:00
Thierry Crozat
1a874f9c07 GUI: Delay deletion of child widgets when rebuilding launcher and options dialog
This is to avoid writing in deleted memory in the ButtonWidget::sendCommand
when the sent command results in the parent dialog being rebuilt.
2017-03-10 02:05:27 +00:00
Thierry Crozat
cc75d17e9c GUI: Allow delayed deletion of GuiObject
This is achieved by adding a list of GuiObject to delete to GuiManager
and doing the deletion in GuiManager::runLoop.

The main purpose of this is to avoid the deletion of ButtonWidget object
while their ButtonWidget::sendCommand function is being called. For
example the sendCommand of the Apply button of the OptionsDialog
may cause a rebuild (if the GUI language was changed) which tries to
delete the widgets inside the OptionsDialog, including the Apply button.
2017-03-10 02:02:58 +00:00
Joseph-Eugene Winzer
f39412fcec GUI: Fix Theme Label in Options->Misc
The theme label in the Misc tab will not change to the correct theme
when current language and theme is changed and 'apply' pressed.
loadNewTheme() does not do a rebuild of all widgets, including the
theme label, like it is explicitly done in the 'language section'.
The problem is that rebuild() uses the currently applied settings to
rebuild all widgets. Although a new theme was selected by the user the
label will be overwritten with the name of the still active theme.

By rearranging the logic a complete rebuild of the GUI is done and
updates the widgets correctly.
2017-03-09 04:26:20 +01:00
Joseph-Eugene Winzer
66c2ae244f GUI: Fix resolution of theme filename to id
getThemeId() returned "builtin" for valid filenames because FSNode only
searches for the theme filename, like "scummmodern.zip" in the current
directory. listUsableThemes() searches SearchMan default directories
for theme files.
2017-03-09 04:26:20 +01:00
Thierry Crozat
d00cac1824 I18N: Regenerate translations data file 2017-03-06 05:05:08 +01:00
Eugene Sandulenko
852126d599 GUI: Regenerated built-in theme 2017-03-04 22:49:21 +01:00
Eugene Sandulenko
547e5846a1 Merge pull request #915 from rsn8887/vita
PSP2: Add Playstation Vita support
2017-03-04 22:45:01 +01:00
cpasjuste
70988527c6 PSP2: Add Playstation Vita (PSP2) support 2017-03-04 15:42:19 -06:00
Eugene Sandulenko
dbc4ae70bf GUI: Remove useless translations 2017-03-04 11:23:00 +01:00
Eugene Sandulenko
7c259fe129 Merge pull request #911 from wjp/tabs
GUI: Improve tab widget
2017-03-01 08:17:34 +01:00
Willem Jan Palenstijn
7dd1a1e4f5 GUI: Increase tab title spacing 2017-03-01 00:24:06 +01:00
D G Turner
55d761a56a GUI: Fix Enumeral vs. Non-Enumeral In Conditional GCC Warning. 2017-02-28 20:22:38 +00:00
Willem Jan Palenstijn
c64d91833f GUI: Check rect validity for popup/radio drawing 2017-02-28 15:55:52 +01:00
Willem Jan Palenstijn
5510640dbc GUI: Give each tab in TabWidget its own width
The width of each tab is now computed from its title, independently of
the other tabs. This increases the number of tabs that fit on the
screen.

This rewrite also fixes a bug where if the window size increased while
_firstVisibleTab > 0, some tabs would become inaccessible when the
scroll buttons were hidden.

The layout key Globals.TabWidget.Tab.Width is now treated as minimal
tab width. This is set so that the tabs fit reasonably well in lowres
layouts.

At the same time, this reduces the lowres scroll buttons heights to fit.

This patch makes the Nintento DS hacks in TabWidget obsolete.
(Hopefully! I'm not able to test.)
2017-02-28 15:55:52 +01:00
Willem Jan Palenstijn
af831f26b9 GUI: Clean up GlobalOptionsDialog reflow changing visible tabs 2017-02-28 15:55:51 +01:00
Willem Jan Palenstijn
69e311b789 Merge pull request #912 from rsn8887/upstream
SDL: fix options control tab ordering and labels
2017-02-28 15:54:40 +01:00
rsn8887
5934c05bca SDL: Fix value range checking for kbdMouseSpeedSlider 2017-02-27 16:20:09 -06:00
Thierry Crozat
64b05a8693 I18N: Regenerate translations data file 2017-02-27 05:05:11 +01:00
rsn8887
afff429261 SDL: fix options control tab ordering and labels
- control options tab is moved past graphics options tab
- control tab is not the default anymore
- changed label of "Mouse Speed" option to "Pointer Speed"
- changed Pointer Speed infotip description to make it more clear
2017-02-26 12:04:37 -06:00
rsn8887
45bd7a8b75 SDL: Fix erratic analog pointer + control options
Fixes erratic speeds in analog pointer motion
Implemented option to set analog/keyboard pointer speed
and control the analog joystick deadzone. The deadzone option appears
only if the build supports analog joystick (via JOY_ANALOG define)
2017-02-22 16:52:09 -06:00
Eugene Sandulenko
8458e3deb7 Merge pull request #905 from lubomyr/master
ANDROIDSDL: added tab Control in main Options menu for switching some features
2017-02-21 23:29:51 +01:00
lubomyr
3f921c1195 ANDROIDSDL: config feature swap_menu_and_back renamed to swap_menu_and_back_buttons 2017-02-18 18:02:46 +02:00
Alexander
92c9f0274f GUI: Fix CID #1362505
The case probably would never show up, just fixed so it'd disappear from Coverity.
2017-02-15 18:37:46 +06:00
lubomyr
2412502eee ANDROIDSDL: implemented checkbox for swap menu and back buttons 2017-02-14 17:38:44 +02:00
lubomyr
216f9c4f11 ANDROIDSDL: backend related checking in options.cpp replaced with hasFeature... condition, renamed some fields and methods 2017-02-14 15:13:58 +02:00
Thierry Crozat
ada88fa0fe I18N: Regenerate translations data file 2017-02-13 05:05:05 +01:00
Eugene Sandulenko
3d5d279bed Merge pull request #895 from csnover/gui-volume-options
GUI: Add three new options for volume slider controls
2017-02-11 08:56:16 +01:00
lubomyr
f8c4274f1a ANDROIDSDL: code refactoring... 2017-02-07 16:35:41 +02:00
Thierry Crozat
ec3e3e3ae3 I18N: Regenerate translations data file 2017-02-06 05:05:02 +01:00
Colin Snover
d1fe6476fe GUI: Add three new options for volume slider controls
GUIO_NOSPEECHVOLUME can be used for games that allow toggling of
speech but do not provide the ability for users to control speech
volume.

GUIO_LINKMUSICTOSFX and GUI_LINKSPEECHTOSFX can be used for games
that allow control of music, sfx, and speech in combinations, like
games that provide control of digital audio separately from MIDI,
or games that only control all three audio types through a single
volume control.
2017-02-05 10:41:28 -06:00
lubomyr
9cdda5c045 ANDROIDSDL: implemented checkbox for show/hide on-screen control in Options menu 2017-01-31 22:44:50 +02:00
lubomyr
2aa0cdcff6 ANDROIDSDL: fixed in-game menu crash, removed unused method 2017-01-31 20:36:54 +02:00
lubomyr
15acee29f1 ANDROIDSDL: implemented checkbox for change mouse mode in Options menu 2017-01-30 22:35:40 +02:00
Thierry Crozat
ea31af2a1e I18N: Regenerate translations data file 2017-01-30 05:05:03 +01:00
Thierry Crozat
262c5659a8 I18N: Regenerate translations data file 2017-01-23 05:05:13 +01:00
Thierry Crozat
16da2614fd I18N: Regenerate translations data file 2017-01-16 05:05:04 +01:00
D G Turner
d5f0d1fdb2 GUI: Fix Unused Variable Compiler Warning when USE_PNG not set. 2017-01-12 10:00:17 +00:00
D G Turner
72dbd12811 GUI: Replace sprintf() with safer String::format() in KeysDialog. 2017-01-12 09:46:14 +00:00
D G Turner
2ab0927407 GUI: Suppress Unused Variable Warning For Some Build Configurations.
This fix is not totally clean as it spuriously uses the
serverLabelPosition variable in one case of the preprocessor ifdef
configuration, but with the current structure, this is a simple hack to
fix.

A better solution would be to rewrite some of these functions to remove
some of the preprocessor usage if possible.
2017-01-10 06:27:09 +00:00
Eugene Sandulenko
ab7a152c3a ALL: Bump copyright year to 2017 2017-01-01 10:58:56 +01:00
Thierry Crozat
9755109fdd I18N: Regenerate translations data file 2016-12-26 05:05:02 +01:00
Thierry Crozat
23050227a6 I18N: Regenerate translations data file 2016-12-19 05:05:10 +01:00
Thierry Crozat
1c721ed512 I18N: Regenerate translations data file 2016-12-12 05:05:11 +01:00
Thierry Crozat
5c60a75f94 I18N: Regenerate translations data file 2016-12-05 05:05:09 +01:00
Colin Snover
94e2c67418 GUI: Fix crash when slider values are out-of-bounds
Out-of-bounds values are always indicative of a bug somewhere else,
but at least not crashing here allows the user to recover by
interacting with the slider control. The error will still be
obvious because the associated text field will display the
original weird value.
2016-12-01 13:04:55 -06:00
Ben Castricum
6f38c1e55d ALL: game state => saved game 2016-11-29 20:15:20 +01:00
Thierry Crozat
c5a7fba8d1 I18N: Regenerate translations data file 2016-11-28 11:51:55 +01:00
Thierry Crozat
d9a102e3bf I18N: Regenerate translations data file 2016-11-28 10:05:41 +01:00
Thierry Crozat
e47e4b5d5c I18N: Regenerate translations data file 2016-11-28 10:04:37 +01:00
Thierry Crozat
90478b3240 I18N: Regenerate translations data file 2016-11-28 10:04:19 +01:00
Thierry Crozat
de92af7e50 I18N: Regenerate translations data file 2016-11-28 09:57:23 +01:00
Thierry Crozat
b032443740 I18N: Regenerate translations data file 2016-11-28 09:56:57 +01:00
Thierry Crozat
19f06cb907 I18N: Regenerate translations data file 2016-11-28 09:55:32 +01:00
Thierry Crozat
4d8d921f4e I18N: Regenerate translations data file 2016-11-28 09:54:19 +01:00
Thierry Crozat
f8c17b2ac8 I18N: Regenerate translations data file 2016-11-28 09:36:37 +01:00
Thierry Crozat
d63d5ae05b I18N: Regenerate translations data file 2016-11-28 09:32:06 +01:00
Thierry Crozat
579dfd1679 I18N: Regenerate translations data file 2016-11-28 09:19:57 +01:00
Thierry Crozat
0acbad3f6a I18N: Regenerate translations data file 2016-11-28 09:13:23 +01:00
Thierry Crozat
13ee822920 I18N: Regenerate translations data file 2016-11-28 06:43:22 +01:00
Thierry Crozat
2a0ff4fb39 I18N: Regenerate translations data file 2016-11-27 22:25:04 +01:00
Thierry Crozat
50839a116a I18N: Regenerate translations data file 2016-11-27 21:07:04 +01:00
Thierry Crozat
17c01a1891 I18N: Regenerate translations data file 2016-11-27 18:48:01 +01:00
Thierry Crozat
fa05b65db3 I18N: Regenerate translations data file 2016-11-27 18:37:25 +01:00
Thierry Crozat
eadddd63cf I18N: Regenerate translations data file 2016-11-27 18:08:15 +01:00
Thierry Crozat
358ed30ce7 I18N: Regenerate translations data file 2016-11-27 13:16:45 +01:00
Thierry Crozat
40377304c0 I18N: Regenerate translations data file 2016-11-27 13:15:53 +01:00
Thierry Crozat
ad0e11dd44 I18N: Regenerate translations data file 2016-11-27 13:13:36 +01:00
Thierry Crozat
bb5b732adb I18N: Regenerate translations data file 2016-11-27 13:01:14 +01:00
Eugene Sandulenko
cd7bddf644 Merge pull request #720 from ottogin/gui-events-fix
GUI: Fix "eaten" event by dialog which was closed
2016-11-12 12:09:14 +01:00
Thierry Crozat
e9a1abb4f2 I18N: Regenerate translations data file 2016-11-08 02:21:16 +00:00
rootfather
3b1bb73357 I18N: Regenerate translations.dat 2016-11-06 08:53:31 +01:00
Eugene Sandulenko
6f614c350e I18N: Regenerate translations.dat 2016-11-06 01:06:27 +01:00
rootfather
f7381c23aa I18N: Regenerate translations.dat 2016-11-05 13:11:18 +01:00
Eugene Sandulenko
e2f58be77f Merge pull request #859 from criezy/gui-apply
GUI: apply changes functionality
2016-11-03 23:46:46 +01:00
Eugene Sandulenko
1b037c413b I18N: Regenerate translations.dat 2016-11-03 10:06:25 +01:00
Thierry Crozat
0f9655bfe0 GUI: Allow changing the GUI language without restarting ScummVM 2016-10-30 18:59:47 +00:00
Thierry Crozat
8b5317e05d GUI: Add possibility to rebuild the launcher dialog 2016-10-30 18:56:35 +00:00
Thierry Crozat
df3299ebb2 GUI: Add possibility to rebuild the options dialog
This will be needed to allow changing the GUI language and applying
the change without having to close the dialog.
2016-10-30 18:36:22 +00:00
Thierry Crozat
50847f9e03 GUI: Setting the active tab also ensures it is visible in the tab bar 2016-10-30 18:22:56 +00:00
Thierry Crozat
54230af9fd GUI: Only change theme when applying new options
Unlike other options in the OptionsDialog, the theme change was
done when selecting a new theme and not when clicking on OK or
Apply. This commit makes it consistent with other options
2016-10-30 16:25:42 +00:00
Thierry Crozat
59675d2e4c GUI: Add Apply button in global options dialog 2016-10-30 15:43:14 +00:00
Thierry Crozat
aee3599e6b I18N: Regenerate translations data file 2016-10-28 23:29:56 +01:00
rootfather
7de9f4e6d8 I18N: Regenerate translations.dat 2016-10-27 21:32:33 +02:00
Thierry Crozat
ca52f16e08 I18N: Regenerate translations data file 2016-10-26 18:53:06 +01:00
Thierry Crozat
74b3b45c61 GUI: Fix possible access to free'ed memory or double deletion in tab widget
The issue could occur when adding or removing widgets to a tab, and then
not switching to a different tab before the destructor or reflowLayout() were
called. In such a case the firstWidget of the current widget in the _tabs list
could be out of date. Accessing this first widget from the destructor or from
reflowLayout() could then cause a crash, or random issues caused to access
to free'ed memory. In theory this could also lead to a memory leak, although
I don't think this could occur in our current code.

Usually we add several tabs to a TabWidget and then switch back to the first
tab after building all the tabs. So in such a case the issue would not occur.
But because we are deleting and reconstructing the clear buttons for the
MIDI and Path tabs of the options dialog from reflowLayout(), if the current
tab is the Path tab, it would be kept as active tab after adding and removing
widget to it and the issue would occur.

This fixes bug #9618.
2016-10-22 21:32:16 +01:00
Thierry Crozat
9f94294d80 GUI: Fix incorrect initialisation of some tab Ids in OptionsDialog
A value of 0 is valid for tab ids, so the correct initialisation at this
stage is -1. However only one constructor properly initialized all the
tab ids to -1 in its initialisation list, but it was then changed to 0 in
init(). I have added the missing ones to the other constructors and
removed the incorrect ones in init(). But maybe all tab ids should be
initialised in init() rather than in the constructors initialisation lists.
2016-10-22 21:32:16 +01:00
rootfather
8e328647dc I18N: Regenerate translations.dat 2016-10-22 17:12:45 +02:00
Thierry Crozat
8b1bb08a6e GUI: Increase theme version
This should have been done when making changes to it but I forgot.
2016-10-21 21:33:53 +01:00
Thierry Crozat
6051bafecc I18N: Regenerate translations data file 2016-10-17 20:40:20 +01:00
Eugene Sandulenko
c5e233b66b ALL: Fix compilation with enabled sdl_net and disabled cloud 2016-10-17 18:55:22 +02:00
Eugene Sandulenko
e8b70a4686 ALL: Fix compilation with disabled cloud but enabled libcurl 2016-10-17 18:55:22 +02:00
Thierry Crozat
873515a7be GUI: Fix compilation when cloud is disabled but libcurl is not 2016-10-16 23:29:01 +01:00
Thierry Crozat
3e08c33c35 GUI: Add checkbox and config option to enable/disable graphics filtering 2016-10-13 01:45:01 +01:00
Thierry Crozat
eef7d91fe1 GUI: Fix wrong error messages when failing to change some graphics settings 2016-10-12 19:59:00 +01:00
Willem Jan Palenstijn
95424d770f I18N: Fix fuzzy Dutch translation 2016-10-09 22:00:36 +02:00
Thierry Crozat
d4c8b787d2 I18N: Regenerate translation data file 2016-10-09 14:43:00 +01:00
Eugene Sandulenko
355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Eugene Sandulenko
2a903b60f7 I18N: Regenerate translations.dat 2016-10-09 14:31:53 +02:00
Eugene Sandulenko
c7188dc05c I18N: Regenerate translations.dat 2016-10-09 13:54:48 +02:00
Eugene Sandulenko
ecd40513a3 GUI: Do not disable Aspect ratio checkbox with only-fullscreen option 2016-10-09 11:05:01 +02:00
Eugene Sandulenko
c04e5a8497 I18N: Regenerate translations.dat 2016-10-08 11:50:10 +02:00
Thierry Crozat
dff5da9b49 I18N: Regenerate translation data file 2016-10-06 20:22:59 +01:00
Eugene Sandulenko
ed44ddafba I18N: Regenerate translations.dat 2016-10-04 17:54:30 +02:00
Eugene Sandulenko
9e9617b4e9 I18N: Regenerate translations.dat 2016-10-04 13:46:08 +02:00
Lothar Serra Mari
84ea02e29f I18N: Regenerate translations.dat 2016-10-03 18:01:03 +02:00
Lothar Serra Mari
195b6d8a4f I18N: Regenerate translations.dat 2016-10-02 21:27:37 +02:00
Thierry Crozat
92bd10ff28 CREDITS: Core team has been disbanded and LordHoto retired 2016-09-26 21:33:55 +01:00
Thierry Crozat
8b282eff6c I18N: Regenerate translations data file 2016-09-25 22:56:13 +01:00
Bastien Bouclet
1a1a5b5f69 CLOUD: Change the cloud icon to be updated by the main thread
The cloud manager registers itself as an event source as a mean to be polled
periodically by the GUI or engine code. The periodical polling is used to
update the OSD icon indicating background sync activity.

Also move the cloud icon from ConnectionManager to CloudManager,
allowing to decouple icon handling from network connections updates.
2016-09-18 17:54:12 +02:00
Thierry Crozat
361d84ca74 I18N: Regenerate translations data file 2016-09-18 16:40:35 +01:00
Thierry Crozat
a87a702eb2 ALL: Homogeneize use of 'saved game' in messages 2016-09-18 16:40:34 +01:00
Eugene Sandulenko
05d85b1e4e I18N: Regenerate translations.dat 2016-09-17 22:40:08 +02:00
Thierry Crozat
358f2d4845 I18N: Regenerate translation data file 2016-09-17 19:30:34 +01:00
Eugene Sandulenko
c9dfcea680 I18N: Regenerated translations.dat 2016-09-16 18:09:52 +02:00
Bastien Bouclet
cd803d7ca7 GUI: Fix a typo in the low resolution theme layouts
This caused a crash when opening to options dialog in low resolution.
2016-09-13 14:25:37 +02:00
Bastien Bouclet
10fd5046c2 GUI: Regenerate the built-in theme 2016-09-13 07:58:00 +02:00
Bastien Bouclet
ff217ea033 GUI: Don't show the "Open URL" button if there is no backend support 2016-09-10 07:46:52 +02:00
Thierry Crozat
1f2a50bcd3 CLOUD: Move openUrl to OSystem 2016-09-10 01:12:42 +01:00
Thierry Crozat
aa879ec307 I18N: Regenerate translations data file 2016-09-08 09:14:09 +01:00
Thierry Crozat
bd66e005c2 I18N: Regenerate translations data file 2016-09-05 21:42:09 +01:00
Torbjörn Andersson
d527a16e2f GUI: Fix indentation to silence GCC 6 warning 2016-09-05 18:08:51 +02:00
Lothar Serra Mari
f5ce9c167c I18N: Regenerate translations.dat 2016-09-05 10:22:01 +02:00
Lothar Serra Mari
265ff03459 GUI: Enable translation for download speed string in cloud feature 2016-09-05 10:17:03 +02:00
Lothar Serra Mari
460b786635 I18N: Regenerate translations.dat 2016-09-05 09:15:49 +02:00
Eugene Sandulenko
92452a4bba GUI: Fix warnings 2016-09-05 08:18:22 +02:00
Thierry Crozat
0bb84fb1e5 I18N: Improve French translation for cloud feature 2016-09-05 00:43:24 +01:00
Thierry Crozat
ed92175bf7 I18N: Initial French translation for cloud storage 2016-09-04 23:25:54 +01:00
Thierry Crozat
7ad922fb19 CLOUD: Improve some labels 2016-09-04 23:25:54 +01:00
Lothar Serra Mari
a7d1cc91da GUI: Replace _s() with _() in storagewizarddialog.cpp
This allows the translation of a few more strings
in the Cloud settings tab.

Thanks to sev- for the fix.
2016-09-04 19:56:26 +02:00
Lothar Serra Mari
30cf057cc8 I18N: Regenerate translations.dat 2016-09-04 19:56:26 +02:00
Eugene Sandulenko
58e38be05c GUI: Initialize the PicButtonWidget class properly 2016-09-04 12:41:05 +02:00
Eugene Sandulenko
3c619d8589 CREDITS: Regenerate 2016-09-02 23:36:11 +02:00
Thierry Crozat
1c0e4e8206 CLOUD: Disable the connect button initially as the code is empty
The connect button is enabled/disabled whenever the text in the
code widget is changed and it's validity assessed. But the initial
state was not correct.
2016-08-30 21:37:34 +01:00
Thierry Crozat
7edc96803e CLOUD: Fix crash when trying to connect without entering a code first 2016-08-30 21:37:34 +01:00
Bastien Bouclet
dac70196f0 GUI: Fix hidden files visibility getting out of sync in the files browser
- The checkbox state was not initialized when opening the dialog.
- The visibility state was initialized from ConfMan too early resuling
  in the value being incorrect when multiple file browsers are used.
2016-08-30 21:19:59 +02:00
Alexander Tkachev
faf849012c CLOUD: Add GUI for "rootpath" selection
Cloud tab now contains a button to select path, path label and a clear
button.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
126fe9c845 CLOUD: Add "minimal mode" in LocalWebserver
StorageWizardDialog now runs LocalWebserver in "minimal mode" for
security reasons. In this mode server uses only those handlers which
state to support it.

There are two handlers which support minimal mode: IndexPageHandler
(which handles `code` requests needed by StorageWizardDialog) and
ResourceHandler (which provides inner resources like `style.css` or
`logo.png` from `wwwroot.zip` archive).
2016-08-24 16:07:55 +06:00
Peter Bozsó
9665719b66 GUI: Set tooltip of local webserver button according to server state 2016-08-24 16:07:55 +06:00
Alexander Tkachev
b9bba9bd4b ALL: Move Clipboard support to OSystem
Commit adds kFeatureClipboardSupport. hasTextInClipboard() and
getTextFromClipboard().

OSystem_SDL has this feature if SDL2 is used.

EditableWidget and StorageWizardDialog use g_system to access clipboard
now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
527ab4cdf6 GUI: Fix StorageWizardDialog warning
Removed extra comma in the enum.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
091ff83ed6 GUI: Add Storage providers logos
StorageWizardDialog now shows logo of the Storage being connected (in
modern highres theme).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f39b6ed4ac GUI: Add Container in StorageWizardDialog
It now looks fine in both 640x400 and 320x200!
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c74ba4652d GUI: Add "Paste" button in StorageWizardDialog
It pastes clipboard contents as code into 8 fields of that dialog.
(Clipboard support works with SDL2 only.)

"Open URL" and "Paste" buttons are placed in the left column under the
picture (because there is no room for 4 buttons in the bottom row).

Commit also adds "dropbox.bmp", which is just a square 115x115 picture.
Such pictures are would be used as Storages logos in that dialog.

In lowres there is no left column, so all 4 buttons are in the same row.
None of them are visible, because they are overflowed. Container has to
be added to continue working on them.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b665fc933d ALL: Make simpleSaveNames() a MetaEngineFeature
Added it into hasFeature() of all engines which returned `true` in
simpleSaveNames() before.

As mentioned in #788, SCI is not always using simple names, so it
doesn't have such feature now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
86f7b75dd7 GUI: Fix SDL_Net-related errors
Checked by rebuilding ScummVM without SDL_Net in MinGW.

Also fixes StorageWizardDialog's warning about _stopServerOnClose.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c9b819b577 GUI: Make Options dialog stop LocalServer on close
Commit also adds a fix for StorageWizardDialog, where LocalServer was
used even if USE_SDL_NET was undefined.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
15c6772ff7 ALL: Fix debug, warning and error usage
Added prefixes, used debug(9).
2016-08-24 16:07:55 +06:00
Eugene Sandulenko
53aa0c46f1 GUI: JANITORIAL: Fix code formatting 2016-08-24 16:07:55 +06:00
Eugene Sandulenko
e114d1a697 GUI: Fix format warning 2016-08-24 16:07:55 +06:00
Eugene Sandulenko
a65682a828 GUI: Fix warnings 2016-08-24 16:07:55 +06:00
Eugene Sandulenko
409dd27e76 GUI: Regenerate themes 2016-08-24 16:07:55 +06:00
Alexander Tkachev
772d8ee42b CLOUD: Fix redirect_uri selection code
Now it's not hardcoded based on USE_SDL_NET, but one or another value is
used depending on currently selected LocalWebserver's port.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
438ba985a4 JANITORIAL: Remove spaces at the end of the line
I knew there were some, but I wanted to fix them once, instead of doing
it all the time.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c7fe842f9a GUI: Fix texts clipping
If it was completely clipped out (empty rectangle), it was drawing the
whole text ("empty means no clipping"), so I had to detect such cases
and change textArea to one small pixel.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
52503a2713 GUI: Add "Clear port" button in Cloud tab 2016-08-24 16:07:55 +06:00
Alexander Tkachev
85f4c69fc9 CLOUD: Update StorageWizardDialog
It now hides code fields not just when built with SDL_Net, but also when
LocalWebserver's using default port.

So that's why NETWORKING_LOCALWEBSERVER_ENABLE_PORT_OVERRIDE is defined
in localwebserver.h now.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
39865e6e6c CLOUD: Add port override for LocalWebserver
It's enabled only when NETWORKING_LOCALWEBSERVER_ENABLE_PORT_OVERRIDE is
defined.

It's not defined, because override means we have to reconfigure our
redirect links somehow to use the override port.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b1264df120 CLOUD: Check whether Storage is working when replacing it
We do that in CloudManager::replaceStorage(), but I've tried to
eliminate such possibility by adding a check in the StorageWizardDialog.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
63311bac26 GUI: Add error callback in Options' Cloud tab
Shows OSD message.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a11b004b6b GUI: Show warning in DownloadDialog
If user's connection seems limited, ScummVM shows a warning message to
prevent using that by accident.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
8de753b68a GUI: Add Cloud-related dialogs in classic theme's stx
Looks fine.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
75fbecf616 GUI: Add Ctrl+V handling in EditableWidget
In SDL2 there is SDL_GetClipboardText(), so EditableWidget could support
pasting into it.

No copying yet, as there is no selecting.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
40dfb0b4f1 GUI: Fix Cloud-related dialogs a little
Minor mistakes which lead to build failure in some cases.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
1b56f59add GUI: Update DownloadDialog
It now has download size and speed labels.

Commit also fixes minor mistake in ConnMan.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c431ae6d84 CLOUD: Calculate FolderDownload download speed 2016-08-24 16:07:55 +06:00
Alexander Tkachev
0ca7917093 CLOUD: Update FolderDownloadRequest
It now keeps track of downloaded bytes.
2016-08-24 16:07:55 +06:00
Peter Bozsó
cdf8ab7949 GUI: Change 'OK' to 'Hide' on close button of DownloadDialog 2016-08-24 16:07:55 +06:00
Alexander Tkachev
33ca8d485c GUI: Fix StorageWizardDialog
It now shows a MessageDialog (its message label is hidden in some
cases).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
2ae438327b GUI: Add "Open URL" button in StorageWizardDialog
It uses Networking::Browser::openUrl().
2016-08-24 16:07:55 +06:00
Alexander Tkachev
dfd68306de CLOUD: Upgrade FolderDownloadRequest::getProgress()
Now NetworkReadStream, which is used in DownloadRequest, which is used
in FolderDownloadRequest, returns progress information provided by
libcurl.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b37b392fa0 CLOUD: Add BoxStorage sketch 2016-08-24 16:07:55 +06:00
Alexander Tkachev
03f33be54c GUI: Fix Options Cloud tab widgets visibility
As it's controlled by ScrollContainer also, we have to explicitly
setVisible(true) for "always" visible widgets.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d795c77ef5 GUI: Fix DownloadDialog detection
Now it calls Launcher directly, so it updates games list on success.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
2f5138f795 GUI: Minor Container fixes
I should've done these in PR, I guess.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f01402f4d8 GUI: Remove unnecessary DownloadDialog's flag 2016-08-24 16:07:55 +06:00
Alexander Tkachev
9975307caf GUI: Fix Container's visibility issue
Now it respects outer code's decision to hide or move some widgets
around. Outer code must be CommandReceiver which is set as
ScrollContainer's target.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ee3ce47606 GUI: Use Container in the Cloud tab
It has a visibility issue, but we're already working on it.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
d5753a4847 CLOUD: Add auto-detect for downloaded game
If that's the game, that is.

Method is copy-pasted from Launcher, but fixed not to ask the directory
and thus doesn't contain the loop.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e601c39802 CLOUD: Make "Run server" button active
It should show the real server's IP over there, but that doesn't work
yet.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3da38ca60b CLOUD: Replace USE_CLOUD with USE_LIBCURL
In most cases that's the right one to check. USE_CLOUD is defined when
either USE_LIBCURL or USE_SDL_NET are, which means if there is no curl,
USE_CLOUD still could be defined and linking errors would appear.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
211d9ed5f6 GUI: Fix Options' Cloud tab reflowing 2016-08-24 16:07:55 +06:00
Alexander Tkachev
81c85b6651 CLOUD: Fix SaveLoadDialogs to check USE_CLOUD
Linking was failing when disabling curl support.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ad069f442c GUI: Add "Run server" button in Cloud tab 2016-08-24 16:07:55 +06:00
Alexander Tkachev
2284333b1c GUI: Add lowres support for DownloadDialog's button
No actual translations, though. Should be just "Cancel", because "Cancel
download" is too long for lowres mode.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a5765a339e GUI: Update DownloadDialog
It now less empty, because if there is no download in progress, user
sees the RemoteBrowser instead of empty dialog. The cancel button is now
in the left bottom corner.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
659dcd9702 GUI: Fix SaveLoadDialog
It was SavesSyncRequest's target even when closed.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
052d8bf0ae GUI: Forbid using download directory in "Add Game" 2016-08-24 16:07:55 +06:00
Alexander Tkachev
458bfcec79 GUI: Fix DownloadDialog path creation
Was adding a path separator even when none is required.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ddb1a6ccb6 GUI: Upgrade DownloadDialog
It now shows the remote and local directories and a progress bar.

Storage now shows OSD messages on download success and failure.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
b8ee9d4e7d CLOUD: Add FolderDownload-related methods in Storage
CloudManager's shortcuts are added too.

The idea is to keep FolderDownload request within Storage, and provide
necessary means to access it. The download is started and cancelled
through the DownloadDialog.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
71a326493b GUI: Initiate download in DownloadDialog 2016-08-24 16:07:55 +06:00
Alexander Tkachev
d776b53971 GUI: Use RemoteBrowser's result in DownloadDialog
It now checks the selected local directory, and shows different
MessageDialogs to notify user of mistake or ambiguous situation.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c32d6fa047 GUI: Add error message in RemoteBrowser
For the error callback case.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
8972f28bc1 GUI: Add RemoteBrowser file list sorting
Because Dropbox has no means to specify files order.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
6faf2c2617 GUI: Add RemoteBrowser parent directories remembering
No wait when "Go up" is pressed. These contents could be invalid,
though. In order to refresh contents, one has to go up one more time and
then get back inside (in root folder - just press "Go up" to refresh
it).
2016-08-24 16:07:55 +06:00
Alexander Tkachev
51a7232c73 GUI: Fix RemoteBrowser Request handling
Init with NULL, ignore callbacks, and such.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
73bb2e20af GUI: Clean up in RemoteBrowser 2016-08-24 16:07:55 +06:00
Alexander Tkachev
4aa8e23ea2 GUI: Make RemoteBrowser show "Loading..." 2016-08-24 16:07:55 +06:00
Alexander Tkachev
e388accda3 GUI: Fix "Go up"
OneDrive and Google Drive paths do not start with '/', so one was unable
to go up to root.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
72b82bd2aa GUI: Add RemoteBrowserDialog
WIP. Tested with Dropbox.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
97c0bbd238 GUI: Add DownloadDialog sketch 2016-08-24 16:07:55 +06:00
Alexander Tkachev
b908b286b9 CLOUD: Fix "signed/unsigned integers" warning
The "comparison between signed and unsigned integer expressions" one.

Note that in UploadRequests size() and pos() are acutally signed,
because they could return -1. This commit implies that Requests are
working with such Streams which doesn't.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
c2c2ba908f GUI: Hide StorageWizardDialog fields if server present 2016-08-24 16:07:55 +06:00
Alexander Tkachev
5ac3adbd4f CLOUD: Add IndexPageHandler
This commit also adds LocalWebserver's stopOnIdle().
That means server is not stopped immediately, but only when all clients
are served.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
ceb86a0dd8 CLOUD: Clarify calculatedChecksum's initial value 2016-08-24 16:07:55 +06:00
Peter Bozsó
434b740f4d CLOUD: Remove a couple of unnecessary whitespaces 2016-08-24 16:07:55 +06:00
Alexander Tkachev
0af97e59bc CLOUD: Add LocalWebserver
Available as LocalServer singleton. It's being started and stopped by
StorageWizardDialog. It doesn't handle clients yet, though.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
f571f3dd28 CLOUD: Add comments for StorageWizardDialog methods 2016-08-24 16:07:55 +06:00
Alexander Tkachev
a83e91e1ca CLOUD: Update StorageWizardDialog's code check
Now the code contains its own crc16 in it, plus the way checksum is
calculated has changed.

Some online tool calls this exact way of calculating crc16
"CRC16_CCITT_FALSE".
2016-08-24 16:07:55 +06:00
Alexander Tkachev
3db4915b66 CLOUD: Add checks in StorageWizardDialog
It now calculates the checksums for code pieces to determine whether
it's correct and CRC-32 for user to compare with one shown on site.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
a651a983dd GUI: Add warning message for game's savepath 2016-08-24 16:07:55 +06:00
Alexander Tkachev
9ee2eb4e60 GUI: Add EditText in StorageWizardDialog
One can enter the code, press 'Connect' button and get a working
Storage!
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e6242b0be8 GUI: Add Refresh button in Options Cloud tab
Commit changes CloudManager and Storages so they would automatically
refresh the fields when the could.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
beb168a3a5 GUI: Add Cloud tab StorageWizardDialog
This is a dialog which guides user through Storage connection procedure.
2016-08-24 16:07:55 +06:00
Alexander Tkachev
e1e48968b4 GUI: Replace Cloud tab's StorageBrowser with PopUp 2016-08-24 16:07:55 +06:00