Commit Graph
3228 Commits
Author SHA1 Message Date
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