summaryrefslogtreecommitdiff
path: root/apps/plugins/sudoku/sudoku.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sudoku/sudoku.c')
-rw-r--r--apps/plugins/sudoku/sudoku.c42
1 files changed, 10 insertions, 32 deletions
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 413be298ea..da41a6986b 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -60,7 +60,6 @@ Example ".ss" file, and one with a saved state:
60 60
61#include "plugin.h" 61#include "plugin.h"
62#include "lib/configfile.h" 62#include "lib/configfile.h"
63#include "lib/oldmenuapi.h"
64 63
65#ifdef HAVE_LCD_BITMAP 64#ifdef HAVE_LCD_BITMAP
66 65
@@ -1167,30 +1166,20 @@ enum {
1167 1166
1168bool sudoku_menu(struct sudoku_state_t* state) 1167bool sudoku_menu(struct sudoku_state_t* state)
1169{ 1168{
1170 int m;
1171 int result; 1169 int result;
1172 1170
1173 static const struct menu_item items[] = { 1171 MENUITEM_STRINGLIST(menu, "Sudoku Menu", NULL,
1174 [SM_AUDIO_PLAYBACK] = { "Audio Playback", NULL }, 1172 "Audio Playback",
1175#ifdef HAVE_LCD_COLOR 1173#ifdef HAVE_LCD_COLOR
1176 [SM_NUMBER_DISPLAY] = { "Number Display", NULL }, 1174 "Number Display",
1177#endif 1175#endif
1178#ifdef SUDOKU_BUTTON_POSSIBLE 1176#ifdef SUDOKU_BUTTON_POSSIBLE
1179 [SM_SHOW_MARKINGS] = { "Show Markings", NULL }, 1177 "Show Markings",
1180#endif 1178#endif
1181 [SM_SAVE] = { "Save", NULL }, 1179 "Save", "Reload", "Clear", "Solve",
1182 [SM_RELOAD] = { "Reload", NULL }, 1180 "Generate", "New", "Quit");
1183 [SM_CLEAR] = { "Clear", NULL },
1184 [SM_SOLVE] = { "Solve", NULL },
1185 [SM_GENERATE] = { "Generate", NULL },
1186 [SM_NEW] = { "New", NULL },
1187 [SM_QUIT] = { "Quit", NULL },
1188 };
1189
1190 m = menu_init(items, sizeof(items) / sizeof(*items),
1191 NULL, NULL, NULL, NULL);
1192 1181
1193 result=menu_show(m); 1182 result = rb->do_menu(&menu, NULL, NULL, false);
1194 1183
1195 switch (result) { 1184 switch (result) {
1196 case SM_AUDIO_PLAYBACK: 1185 case SM_AUDIO_PLAYBACK:
@@ -1235,7 +1224,6 @@ bool sudoku_menu(struct sudoku_state_t* state)
1235 1224
1236 case SM_QUIT: 1225 case SM_QUIT:
1237 save_sudoku(state); 1226 save_sudoku(state);
1238 menu_exit(m);
1239 return true; 1227 return true;
1240 break; 1228 break;
1241 1229
@@ -1243,26 +1231,18 @@ bool sudoku_menu(struct sudoku_state_t* state)
1243 break; 1231 break;
1244 } 1232 }
1245 1233
1246 menu_exit(m);
1247
1248 return (result==MENU_ATTACHED_USB); 1234 return (result==MENU_ATTACHED_USB);
1249} 1235}
1250 1236
1251/* Menu used when user is in edit mode - i.e. creating a new game manually */ 1237/* Menu used when user is in edit mode - i.e. creating a new game manually */
1252int sudoku_edit_menu(struct sudoku_state_t* state) 1238int sudoku_edit_menu(struct sudoku_state_t* state)
1253{ 1239{
1254 int m;
1255 int result; 1240 int result;
1256 1241
1257 static const struct menu_item items[] = { 1242 MENUITEM_STRINGLIST(menu, "Edit Menu", NULL,
1258 { "Save as", NULL }, 1243 "Save as", "Quit");
1259 { "Quit", NULL },
1260 };
1261
1262 m = menu_init(items, sizeof(items) / sizeof(*items),
1263 NULL, NULL, NULL, NULL);
1264 1244
1265 result=menu_show(m); 1245 result = rb->do_menu(&menu, NULL, NULL, false);
1266 1246
1267 switch (result) { 1247 switch (result) {
1268 case 0: /* Save new game */ 1248 case 0: /* Save new game */
@@ -1281,8 +1261,6 @@ int sudoku_edit_menu(struct sudoku_state_t* state)
1281 break; 1261 break;
1282 } 1262 }
1283 1263
1284 menu_exit(m);
1285
1286 return result; 1264 return result;
1287} 1265}
1288 1266