Commit Graph

387 Commits

Author SHA1 Message Date
Bastien Bouclet
5878c618c9 GUI: Remove Dialog::markAsDirty to expose full GUI redraws 2018-01-27 18:12:34 +01:00
Bastien Bouclet
0496ede62f GUI: Implement dirty-checking for widget redraws 2018-01-27 18:12:34 +01:00
rsn8887
e6add01d72 GUI: never enable checkbox if GUI_ONLY_FULLSCREEN is set 2018-01-13 15:21:51 -06:00
Bastien Bouclet
ee4ff8ca08 SDL: Cleanup joystick deadzone handling 2017-12-26 21:11:04 +01:00
Colin Snover
d087c9605f BASE: Remove bad casts between incompatible Plugin types
Previously, a C-style cast was used to convert a
Common::Array<Plugin *>, populated with pointers to StaticPlugin
and DynamicPlugin instances, to a
Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a
*sibling* class to StaticPlugin/DynamicPlugin, so this cast was
invalid and the results undefined. The methods for retrieving
subclasses of plugins can't be easily changed to just generate an
array of temporary wrapper objects that expose an identical API
which dereferences to the preferred PluginObject subclass because
pointers to these objects are retained by other parts of ScummVM,
so the wrappers would needed to be persisted or they would need to
just re-expose the underlying Plugin object again. This indicated
that a way to solve this problem is to have the callers receive
Plugin objects and get the PluginObject from the Plugin by
explicitly stating their desired type, in a similar manner to
std::get(std::variant), so that the pattern used by this patch to
solve the problem.

Closes gh-1051.
2017-12-03 20:26:38 -06:00
Colin Snover
eb4e9fe1d4 GUI: Remove mostly-broken audio output sample rate control
Removing this GUI control was suggested as far back as 2011 at
<http://lists.scummvm.org/pipermail/scummvm-devel/2011-November/010416.html>.
There were no objections, but it was never removed. When working
on audio latency bugs, I independently rediscovered that the GUI
option was broken: the per-game options would *never* work, and the
option would not take effect until ScummVM was restarted because
there is no API for interacting with the backend audio mixer. So
now, it is finally gone.

Primarily for the sake of future troubleshooting, configurability
of the audio sample frequency within SdlMixerManager is maintained
for the moment, but now users will need to edit their ScummVM
configuration file manually to change it.
2017-09-12 11:27:45 -05:00
Bastien Bouclet
9bb9c0d58e GUI: Focus the first 'focusable' widget when rebuilding dialogs
Fixes Trac#9838.
2017-06-13 07:21:34 +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
D G Turner
7843e12cad GUI: Fix GCC Warnings. 2017-03-20 11:11:54 +00: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
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
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
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
af831f26b9 GUI: Clean up GlobalOptionsDialog reflow changing visible tabs 2017-02-28 15:55:51 +01:00
rsn8887
5934c05bca SDL: Fix value range checking for kbdMouseSpeedSlider 2017-02-27 16:20:09 -06: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
lubomyr
f8c4274f1a ANDROIDSDL: code refactoring... 2017-02-07 16:35:41 +02: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
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
Thierry Crozat
0f9655bfe0 GUI: Allow changing the GUI language without restarting ScummVM 2016-10-30 18:59:47 +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
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
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
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
Eugene Sandulenko
ecd40513a3 GUI: Do not disable Aspect ratio checkbox with only-fullscreen option 2016-10-09 11:05:01 +02:00
Thierry Crozat
a87a702eb2 ALL: Homogeneize use of 'saved game' in messages 2016-09-18 16:40:34 +01:00
Thierry Crozat
7ad922fb19 CLOUD: Improve some labels 2016-09-04 23:25:54 +01: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
Peter Bozsó
9665719b66 GUI: Set tooltip of local webserver button according to server state 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