| 2736 | } |
| 2737 | |
| 2738 | void Application::toggleFastForwarding(unsigned extra) |
| 2739 | { |
| 2740 | // get the current fast forward selection |
| 2741 | MENUITEMINFO info; |
| 2742 | memset(&info, 0, sizeof(info)); |
| 2743 | info.cbSize = sizeof(info); |
| 2744 | info.fMask = MIIM_STATE; |
| 2745 | GetMenuItemInfo(_menu, IDM_TURBO_GAME, false, &info); |
| 2746 | const bool checked = (info.fState == MFS_CHECKED); |
| 2747 | |
| 2748 | switch (extra) |
| 2749 | { |
| 2750 | case 0: // FF key released - restore to selection |
| 2751 | _config.setFastForwarding(checked); |
| 2752 | break; |
| 2753 | |
| 2754 | case 1: // FF key pressed - switch to opposite of selection (but don't change selection) |
| 2755 | _config.setFastForwarding(!checked); |
| 2756 | break; |
| 2757 | |
| 2758 | case 2: // FF toggle pressed - switch to opposite of selection (and change selection) |
| 2759 | _config.setFastForwarding(!checked); |
| 2760 | info.fState = checked ? MFS_UNCHECKED : MFS_CHECKED; |
| 2761 | SetMenuItemInfo(_menu, IDM_TURBO_GAME, false, &info); |
| 2762 | break; |
| 2763 | } |
| 2764 | |
| 2765 | updateSpeedIndicator(); |
| 2766 | } |
| 2767 | |
| 2768 | void Application::updateSpeedIndicator() |
| 2769 | { |
nothing calls this directly
no test coverage detected