Commit graph

271 commits

Author SHA1 Message Date
John Rassa 99f7330475 fix for several small issues in Windows build 2018-04-13 16:53:39 -07:00
Koerty deeaf438c7 Clean ImageGridComponent code
- Separated private methods and attributes in 3 groups :
  - images & entries
  - tiles
  - miscellaneous
- Renamed some methods :
  - buildImages -> buildTiles
  - updateImages -> updateTiles
- Moved private methods implementation so they respect the same order as their declaration
- Changed some methods internal variable names and other smalls clean
2018-04-13 15:24:32 +02:00
John Rassa c7c828e47a
Merge pull request #412 from Koerty/crop-image-and-minsize
Add cropping and minSize to ImageComponent
2018-04-12 19:15:13 -07:00
Koerty f946801006 Add scroll direction to the grid
Vertical by default, but can be set to horizontal by the theme
2018-04-13 03:41:50 +02:00
Koerty d23d5dbc59 Add cropping and minSize to ImageComponent
- A call to cropTop(0.2) will crop 20% of the top of the image
- A call to minSIze(0.2, 0.2) will resize the image smallest side to 0.2 without breaking aspect ratio, but crop the extra lenght of the biggest side.
- Call minSize(0.2, 0.2) and then uncrop() to define an image size by its smallest side
2018-04-13 02:57:43 +02:00
Koerty 3993ace607 Add GridTileComponent and base theming syntax
- Add the GridTileComponent which hold the image and its background
- Add base theming syntax for the ImageGrid and GridTIle
- Numerous refactoring/cleaning in ImageGridComponent
2018-04-11 14:20:59 +02:00
Koerty 82e5c21da6 Add base theming syntax for the grid
- The themes can now configure following elements : pos, size
- Change some default values for them
2018-04-07 10:37:09 +02:00
John Rassa 016956703a
Merge pull request #404 from Koerty/grid-metadata
[GRID 4] Add metadata from the detailed view to the grid view
2018-04-06 19:34:21 -07:00
John Rassa e82895ffca
Merge pull request #403 from Koerty/grid-display-bottom-row
[GRID FIX] Bad tile position when close to the last row and last row is full
2018-04-06 19:18:44 -07:00
Benjamin D a006650c1c Add metadata from the detailed view to the grid view
- Add the metadata from the detailed view to the grid view (minus the image, as it doesn't make sens in the grid view)
- Add a callback to the ImageGridComponent to update the metadata info panel when cursor changed
2018-04-06 15:54:34 +02:00
Koerty 37a16fe3ed Update the grid's help prompt
- Add a left+right shoulder button icon
- Update the outdated help prompt to match the one from the Basic view
2018-04-05 15:37:35 +02:00
Koerty c25eaab7fb Fix bad tile position when close to the last row and last row is full 2018-04-04 20:11:47 +02:00
Koerty 87a9c7318a Fix ImageComponent flipY 2018-04-01 17:18:12 +02:00
Koerty 8d9c4a20ec Rewrite the grid display code
- Grid tile number of columns and rows is now controlled by the grid size, mMargin and mTileMaxSize
- Add a variable mSelectedTileMaxSize to control the size of the selected tile
- Update the render function to display the selected tile on top of the other
2018-03-30 18:15:54 +02:00
John Rassa 9382507e17
Merge pull request #392 from Koerty/grid-enable-for-developers
[GRID 2] Enable the grid for developers
2018-03-27 16:39:31 -07:00
Koerty b4feb69980 Enable the grid view for developers
- Add the remove function to GridGameListView
- Enable the grid view in ViewController
- The grid view will not be available in the menu yet, but can be enable by tweaking es_settings.cfg
2018-03-27 16:11:50 +02:00
Koerty 41729f8cb8 Rename gridSize to gridDimension in ImageGridComponent.h 2018-03-23 10:25:33 +01:00
Jools Wills 99cc97680d
Merge pull request #387 from pjft/fix-paths
Fixing path generation on the Pi for getDirContents
2018-03-09 18:11:38 +00:00
pjft f6649ec070 Fixing path generation on the Pi for getDirContents 2018-03-09 17:06:39 +00:00
pjft b73d38a781 Fixing common path detection 2018-03-02 10:07:58 +00:00
Tomas Jakobsson 33086042f9 Fix getHomePath crash when the environment variable isn't set 2018-02-20 19:15:34 +01:00
Tomas Jakobsson 5c6b29705a Suggest vector access methods to be inlined 2018-02-15 15:05:47 +01:00
Tomas Jakobsson dbcd749ae7 Add Utils::String::toLower and Utils::String::format 2018-02-15 15:04:46 +01:00
Tomas Jakobsson 267e547122 Rename MameNames::names to MameNAmes::mNamePairs 2018-02-15 15:03:42 +01:00
Tomas Jakobsson e6df25074b Fix double // 2018-02-10 11:35:24 +01:00
Tomas Jakobsson 3f3e1ceb16 Move MameNameMap out of the source and into mamenames.xml 2018-02-09 18:32:05 +01:00
Tomas Jakobsson 1a4d13b6b3 Remove builtin resources 2018-02-08 19:27:44 +01:00
Jools Wills 3adadc9377
Merge pull request #364 from tomaz82/fix_thumbnails
Fix mStaticImage to use setResize
2018-02-02 18:38:00 +00:00
Tomas Jakobsson 6054cb673d Fix start and offset not being reset for each invalidChar tested in Utils::FileSystem::GetEscapedPath 2018-02-02 16:45:21 +01:00
Tomas Jakobsson e52e63cf9c Fix mStaticImage to use setResize 2018-02-01 22:14:54 +01:00
Tomas Jakobsson 421e4a23df The final traces of boost has been eliminated 2018-01-30 19:21:09 +01:00
Tomas Jakobsson 403b798572 Remove the last traces of boost::filesystem::operational, this is PR 4 of 5 in the boost::filesystem removal quest 2018-01-27 22:52:14 +01:00
Tomas Jakobsson 3d3fb2c277 Switched over the last functions in Utils.cpp to Utils::String, step 3 of 5 in the quest to remove boost::filesystem 2018-01-27 18:04:28 +01:00
Tomas Jakobsson ed2eb3d4d0 Move more functionality from Util.cpp to utils/StringUtil.cpp in the quest too remove the need for boost 2018-01-27 02:12:16 +01:00
John Rassa 33e7a36163
set default value for ImageDebug option 2018-01-26 19:11:32 -05:00
John Rassa 0686b4690a
Merge pull request #352 from tomaz82/boost_filesystem
boost::filesystem replacement, step 1
2018-01-25 19:38:32 -05:00
Tomas Jakobsson c1f8e7294c Update and rename some Utils::FileSystem functions
Replace boost::filesystem::is_directory
with    Utils::FileSystem::isDirectory

Replace boost::filesystem::is_regular_file
with    Utils::FileSystem::isRegularFile

Replace boost::filesystem::is_symlink
with    Utils::FileSystem::isSymlink

Replace boost::filesystem::exists
with    Utils::FileSystem::exists

Replace boost::filesystem::create_directory
with    Utils::FileSystem::createDirectory

Replace boost::filesystem::remove
with    Utils::FileSystem::removeFile
2018-01-23 12:07:20 +01:00
jrassa e9403b6b00 implement horizontal wheel for system carousel. fix image rotation bug in carousel 2018-01-22 19:34:30 -05:00
jrassa b41118fe92 implement debug rects for images similar to text components 2018-01-22 19:31:18 -05:00
Tomas Jakobsson 4428ddaa6d Fix omxplayer when using --screensize, --screenoffset and --screenrotate 2018-01-19 02:09:49 +01:00
Tomas Jakobsson ec8ebf07f3 Fix --screenrotate to work with --screensize and --screenoffset 2018-01-19 00:50:15 +01:00
Tomas Jakobsson e2fc3b325c Add support for --screenrotate 2018-01-18 18:30:00 +01:00
Tomas Jakobsson 7d7ebd5124 Minor misc fixes and warning silencers 2018-01-11 18:12:23 +01:00
jrassa 27e91e78b4 fix resolvePlaceholders to handle multiple variables in a single string 2018-01-07 21:43:18 -05:00
Tomas Jakobsson 18d6b9341e Add getDirContent, getHomePath, getCWDPath, canonicalPath, absolutePath, resolvePath, resolveSymlink, getExtension, removeFile, isAbsolute, isRegularFile, isDirectory, isSymlink, isHidden and isEquivalent
Rename makeGeneric to genericPath and escapePath to escapedPath

Add toUpper
2017-12-30 20:04:18 +01:00
Tomas Jakobsson 05caef2f28 Remove all namespace fs = boost::filesystem; 2017-12-28 15:03:11 +01:00
Tomas Jakobsson 5e8d6b7f45 Eliminated the need for boost::xpressive, boost::algorithm and boost::variant 2017-12-27 18:22:26 +01:00
Christopher Martin d1d622bd93 fix audio mute during loop 2017-12-22 14:54:28 -05:00
John Rassa 5e9c296fe9
Merge pull request #324 from tomaz82/custom_viewport
Implement --screensize and --screenoffset
2017-12-05 08:17:09 -05:00
Tomas Jakobsson 4425ea0165 Implement --screensize and --screenoffset 2017-12-02 19:16:08 +01:00
Tomas Jakobsson 11b8dbfc43 Replaced boost::posix_time with Utils::Time 2017-12-01 18:49:56 +01:00
Jools Wills 190e963285
Merge pull request #301 from tomaz82/cec_update
Log everything CEC does
2017-12-01 17:40:07 +00:00
Tomas Jakobsson b6b6f73a24 Log everything CEC does
Only support libcec4
2017-11-29 21:00:36 +01:00
Tomas Jakobsson cfaa7c19d4 Cleanup a couple of classes 2017-11-25 23:15:55 +01:00
D. Polders 1ed075a5e4 * Add ConfirmationPopUp when switching UIMode.
* Split out UIMode controller in separate class (in es-app).
* Fix passphrase input for wX360 controllers by ignoring hat-inputs
* Fix font fallback mechanism on rpi for non ascii characters using new Unicode2Chars() method.
* Fix UIMode not being saved due to popup window.
2017-11-19 00:28:36 +01:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Jools Wills 094c9ccd09
Merge pull request #308 from tomaz82/utils
Add String and FilesSystem utils
2017-11-16 18:38:15 +00:00
Tomas Jakobsson ae5f9a0342 Move StringUtil to utils subfolder
Added utils/FileSystemUtils which will replace some boost::filesystem functions in the future
2017-11-16 19:18:20 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Jools Wills e94fb5c36d
Merge pull request #300 from psyke83/cec4fix
Implement libcec4 compatibility
2017-11-12 06:26:41 +00:00
Conn O'Griofa 223b68b949 Implement libcec4 compatibility & fix debug logging
Needed for Raspbian stretch.
2017-11-12 00:40:37 +00:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Jools Wills b63a2835ba
Merge pull request #298 from tomaz82/clean_pugi
Clean up pugixml.hpp includes
2017-11-10 21:39:56 +00:00
Tomas Jakobsson 7719bff8ae Clean up pugixml.hpp includes 2017-11-10 20:16:42 +01:00
Tomas Jakobsson 232f36f866 Implement StringUtil which has stolen some functions from Font and added unicode2Chars 2017-11-10 19:54:03 +01:00
Tomas Jakobsson 074e22ee37 CEC Support 2017-11-08 23:22:15 +01:00
Tomas Jakobsson dbdf6ed054 Add math/Misc.h 2017-11-06 12:07:32 +01:00
Tomas Jakobsson ac01e8fcd4 Removed all boost::assign::list_of 2017-11-03 01:33:08 +01:00
D. Polders 189eb05fee * Introduce KidMode: Prevent collection editing
* Introduce FileData Filtering for Kiosk and  Kid Modes to:
1. In Kiosk mode: Hide items with metadata tag `<hidden>true</hidden>`
2. In Kid mode: only show items with metadata tag `<kidgame>true</kidgame>`
* ES will auto-revert UI mode back to Full  when there is nothing at all to show.
* Changing the setting hideQuitMenuOnKidUI to true will hide this menu.
2017-11-02 21:22:41 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 8f5fbb0b26 Got rid of Matrix3x3f, Matrix4x4f, Rotation3x3f and Scale3x3f
Everything is now handled by Transform4x4f which now does it way more optimized than previous version
2017-11-01 15:02:48 +01:00
Tomas Jakobsson 226c9fe923 Fix #endif comment 2017-11-01 14:09:38 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Tomas Jakobsson d3966da2b7 Replace boost::locale with std::locale 2017-10-30 10:35:58 +01:00
Conn O'Griofa 9a8b9c7413 Implement missed inhouse vector replacements
Needed to fix build on Pi after https://github.com/RetroPie/EmulationStation/pull/263.
2017-10-28 23:44:09 +00:00
Jools Wills e5847c5343
Merge pull request #273 from pjft/OMX-warnings
Video String Formatting Warning Fixes
2017-10-28 22:19:09 +01:00
pjft 1cc6059420 Warning Fixes 2017-10-28 22:16:53 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
Jools Wills 997ee7b940
Merge pull request #271 from tomaz82/fixWarnings
Fix warnings
2017-10-28 21:10:15 +01:00
Tomas Jakobsson d3e87739e3 fix warnings 2017-10-28 22:07:31 +02:00
Jools Wills d57dee245c
Merge pull request #242 from psyke83/PSFixes
Power Saving enhancements
2017-10-28 20:18:38 +01:00
Conn O'Griofa cdda38d05b Pi: use vsync by default and fix vsync on case
* Now that vsync off explicitly sets swap interval, it's clear that
  we've been using driver defaults (vsync on) up until now.
* Try to enable normal vsync before late swap tearing. The latter
  doesn't constrain framerate and looks basically identical to vsync
  off.
2017-10-27 01:37:09 +00:00
Jools Wills de42e1c2bd Merge pull request #257 from raelgc/master
Alow to select a system to go directly to the game list (Fixes #253)
2017-10-26 15:27:08 +01:00
Rael Gugelmin Cunha c1f836c713 Add an UI option to automatically load a system gamelist (Fixes #253) 2017-10-25 10:29:39 -02:00
Tomas Jakobsson ee4d0d95fa Fix vsync off, SDL_GL_SetSwapInterval(0) is not always default 2017-10-24 12:30:17 +02:00
D. Polders fd40e84ba5 Fix build warnings (mostly adding explicit type casting) 2017-10-18 16:22:27 +02:00
Jools Wills 5f7aec71dc Merge pull request #256 from jrassa/default-image
add support for default image path in themes
2017-10-12 03:51:43 +01:00
Jools Wills 80953960ac Merge pull request #255 from pjft/OMX-Volume
Second stab at normalizing volume scale for OMX Player
2017-10-09 14:52:22 +01:00
pjft a5655ed040 Second stab at normalizing volume scale for OMX Player 2017-10-07 08:58:09 +01:00
jrassa 24f1b969bf add support for default image path in themes 2017-10-05 21:34:32 -04:00
Conn O'Griofa 98c170f829 AudioManager: don't initialize when unnecessary
If navigation sounds are disabled, don't initialize AudioManager
unnecessarily.
2017-09-28 20:37:02 +01:00
Conn O'Griofa 1bfcfb1f16 PowerSaver: close audio during PS when possible
If SDL audio device is paused, deinit audio when PS mode kicks in
so that full power savings can be achieved.
2017-09-28 20:32:37 +01:00
Conn O'Griofa c08c24e615 Remove explicit calls to AudioManager::init() and fix deinit() behaviour
Ensure that deinit() removes the current sInstance so that the next call
to AudioManager::getInstance() will re-initialize audio correctly.

Remove explicit calls to AudioManager::init() and instead rely on
Sound::play() to initialize audio when needed.
2017-09-28 20:32:37 +01:00
Jools Wills 99c1ddb260 Merge pull request #235 from zigurana/KioskMode
Introducing Kiosk Mode, hiding certain menu items from the UI.
2017-09-28 18:55:14 +01:00
hex007 8d4a69cacf Handle longclick in PS:Instant mode 2017-09-21 10:44:00 -07:00
D. Polders 7a7550cde9 Introducing Kiosk UI mode, allowing users to hide menu items that might change system configuration settings. 2017-09-12 21:07:18 +02:00
sal ddf94786f4 Add image slideshow screensaver mode
This change adds an image slideshow screensaver mode with optional
background audio.  The existing menu and video screensaver have been
refactored to include this new mode.

By default, the slideshow screensaver will show images from the
game list, but it can be configured in the menu to use a custom
directory instead.
2017-09-08 21:45:50 -06:00
Jools Wills 85ebeb524e Merge pull request #239 from hex007/feature-powersaver
Disable PS when swap timeout less than PS mode
2017-09-04 18:52:41 +01:00
hex007 da81347dfc Disable PS when swap timeout < PS mode 2017-09-03 19:55:37 -07:00
Jools Wills ffec737d95 Merge pull request #226 from mooware/utf8-assert-fix
fix delete-after-use issue with temporary string
2017-08-30 18:20:27 +01:00