diff --git a/docs/index.html b/docs/index.html index 12b22ccf4..f1807cf3e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1953,7 +1953,13 @@ - Emulate 'frying' effect (*) + Emulate 'frying' effect (TIA mode) (*) + Backspace + Backspace + + + + Go to parent directory (UI mode) (*) Backspace Backspace diff --git a/src/common/Version.hxx b/src/common/Version.hxx index 5836a507a..9d457cd96 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -19,7 +19,7 @@ #ifndef VERSION_HXX #define VERSION_HXX -#define STELLA_BASE_VERSION "2.8.4" +#define STELLA_BASE_VERSION "2.8.5_svn" #ifdef NIGHTLY_BUILD #define STELLA_VERSION STELLA_BASE_VERSION "pre-" NIGHTLY_BUILD diff --git a/src/emucore/Event.hxx b/src/emucore/Event.hxx index 0b72aa36b..0a0b8fd66 100644 --- a/src/emucore/Event.hxx +++ b/src/emucore/Event.hxx @@ -73,7 +73,7 @@ class Event Fry, VolumeDecrease, VolumeIncrease, UIUp, UIDown, UILeft, UIRight, UIHome, UIEnd, UIPgUp, UIPgDown, - UISelect, UINavPrev, UINavNext, UIOK, UICancel, + UISelect, UINavPrev, UINavNext, UIOK, UICancel, UIPrevDir, LastType }; diff --git a/src/emucore/EventHandler.cxx b/src/emucore/EventHandler.cxx index deb41f6ad..9f15923ae 100644 --- a/src/emucore/EventHandler.cxx +++ b/src/emucore/EventHandler.cxx @@ -1544,6 +1544,8 @@ void EventHandler::setDefaultKeymap(EventMode mode) myKeyTable[ SDLK_RETURN ][mode] = Event::UISelect; myKeyTable[ SDLK_ESCAPE ][mode] = Event::UICancel; + + myKeyTable[ SDLK_BACKSPACE ][mode] = Event::UIPrevDir; break; default: @@ -2311,7 +2313,9 @@ EventHandler::ActionList EventHandler::ourMenuActionList[kMenuActionListSize] = { Event::UISelect, "Select item", 0 }, { Event::UINavPrev, "Previous object", 0 }, - { Event::UINavNext, "Next object", 0 } + { Event::UINavNext, "Next object", 0 }, + + { Event::UIPrevDir, "Parent directory", 0 } }; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/emucore/EventHandler.hxx b/src/emucore/EventHandler.hxx index 21aab8057..d868c2f62 100644 --- a/src/emucore/EventHandler.hxx +++ b/src/emucore/EventHandler.hxx @@ -402,7 +402,7 @@ class EventHandler private: enum { kEmulActionListSize = 75, - kMenuActionListSize = 13 + kMenuActionListSize = 14 }; // Structure used for action menu items diff --git a/src/gui/BrowserDialog.cxx b/src/gui/BrowserDialog.cxx index bd875ea19..8604528b0 100644 --- a/src/gui/BrowserDialog.cxx +++ b/src/gui/BrowserDialog.cxx @@ -211,6 +211,7 @@ void BrowserDialog::handleCommand(CommandSender* sender, int cmd, break; case kGoUpCmd: + case kListPrevDirCmd: _node = _node.getParent(); updateListing(); break; diff --git a/src/gui/LauncherDialog.cxx b/src/gui/LauncherDialog.cxx index 521d5ea87..a18161e95 100644 --- a/src/gui/LauncherDialog.cxx +++ b/src/gui/LauncherDialog.cxx @@ -522,6 +522,7 @@ void LauncherDialog::handleCommand(CommandSender* sender, int cmd, break; case kPrevDirCmd: + case kListPrevDirCmd: myCurrentNode = myCurrentNode.getParent(); updateListing(); break; diff --git a/src/gui/ListWidget.cxx b/src/gui/ListWidget.cxx index 2973f37c3..b53f4b6da 100644 --- a/src/gui/ListWidget.cxx +++ b/src/gui/ListWidget.cxx @@ -345,6 +345,10 @@ bool ListWidget::handleEvent(Event::Type e) _selectedItem = _list.size() - 1; break; + case Event::UIPrevDir: + sendCommand(kListPrevDirCmd, _selectedItem, _id); + break; + default: handled = false; } diff --git a/src/gui/ListWidget.hxx b/src/gui/ListWidget.hxx index 96fe302b2..c95a2ff34 100644 --- a/src/gui/ListWidget.hxx +++ b/src/gui/ListWidget.hxx @@ -38,7 +38,8 @@ enum { kListItemDataChangedCmd = 'LIch', // item data changed - 'data' will be item index kListItemRClickedCmd = 'LIrc', // right click on item - 'data' will be item index kListSelectionChangedCmd = 'Lsch', // selection changed - 'data' will be item index - kListScrolledCmd = 'Lscl' // list scrolled - 'data' will be current position + kListScrolledCmd = 'Lscl', // list scrolled - 'data' will be current position + kListPrevDirCmd = 'Lpdr' // request to go to parent list, if applicable }; /** ListWidget */