From 9952b46b92cc9e030d564ca77712cff96b0a5612 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 28 Jul 2007 13:03:13 +0000 Subject: [PATCH] - Load and save game settings. - Disable unused dialog controls and menu items. svn path=/trunk/; revision=27949 --- .../games/solitaire/lang/bg-BG.rc | 6 +- .../games/solitaire/lang/de-DE.rc | 6 +- .../games/solitaire/lang/el-GR.rc | 6 +- .../games/solitaire/lang/en-US.rc | 6 +- .../games/solitaire/lang/es-ES.rc | 6 +- .../games/solitaire/lang/fr-FR.rc | 6 +- .../games/solitaire/lang/id-ID.rc | 6 +- .../games/solitaire/lang/it-IT.rc | 6 +- .../games/solitaire/lang/nb-NO.rc | 6 +- .../games/solitaire/lang/pl-PL.rc | 6 +- .../games/solitaire/lang/ru-RU.rc | 6 +- .../games/solitaire/lang/sk-SK.rc | 6 +- .../games/solitaire/lang/th-TH.rc | 6 +- .../games/solitaire/lang/uk-UA.rc | 6 +- .../games/solitaire/lang/zh-CN.rc | 6 +- .../applications/games/solitaire/solgame.cpp | 2 +- .../games/solitaire/solitaire.cpp | 89 ++++++++++++++----- .../applications/games/solitaire/solitaire.h | 2 +- 18 files changed, 115 insertions(+), 68 deletions(-) diff --git a/reactos/base/applications/games/solitaire/lang/bg-BG.rc b/reactos/base/applications/games/solitaire/lang/bg-BG.rc index 3087a526791..b62e017829b 100644 --- a/reactos/base/applications/games/solitaire/lang/bg-BG.rc +++ b/reactos/base/applications/games/solitaire/lang/bg-BG.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "Изтегли &една", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Изтегли &три", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Показване на времето", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "Лента &състояние", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Показване на времето", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "Лента &състояние", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "Добре", IDOK, 35, 97, 50, 14 PUSHBUTTON "Отказ", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Раздаване\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Тесте...", IDM_GAME_DECK + MENUITEM "&Тесте...", IDM_GAME_DECK, GRAYED MENUITEM "&Настройки...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "Из&ход", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/de-DE.rc b/reactos/base/applications/games/solitaire/lang/de-DE.rc index 616c57b5f7b..8344d5bbd9f 100644 --- a/reactos/base/applications/games/solitaire/lang/de-DE.rc +++ b/reactos/base/applications/games/solitaire/lang/de-DE.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "&Eine ziehen", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Drei ziehen", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Zeit anzeigen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatusleiste", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Zeit anzeigen", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatusleiste", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK",IDOK,35,97,50,14 PUSHBUTTON "Abbrechen",IDCANCEL,101,97,50,14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Karten geben\t F2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Deckblatt...", IDM_GAME_DECK + MENUITEM "&Deckblatt...", IDM_GAME_DECK, GRAYED MENUITEM "&Optionen...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Beenden", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/el-GR.rc b/reactos/base/applications/games/solitaire/lang/el-GR.rc index 4efe8338d76..0dea814459a 100644 --- a/reactos/base/applications/games/solitaire/lang/el-GR.rc +++ b/reactos/base/applications/games/solitaire/lang/el-GR.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "СЯое ё&нб", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "СЯое &ФсЯб", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&ЕмцЬнйуз їсбт", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "Г&сбммЮ кбфЬуфбузт", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&ЕмцЬнйуз їсбт", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "Г&сбммЮ кбфЬуфбузт", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Бкэсщуз", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Deal\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "De&ck...", IDM_GAME_DECK + MENUITEM "De&ck...", IDM_GAME_DECK, GRAYED MENUITEM "&ЕрйлпгЭт...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "ё&опдпт", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/en-US.rc b/reactos/base/applications/games/solitaire/lang/en-US.rc index 62c58bca83a..47dc4401436 100644 --- a/reactos/base/applications/games/solitaire/lang/en-US.rc +++ b/reactos/base/applications/games/solitaire/lang/en-US.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancel", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Deal\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "De&ck...", IDM_GAME_DECK + MENUITEM "De&ck...", IDM_GAME_DECK, GRAYED MENUITEM "&Options...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Exit", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/es-ES.rc b/reactos/base/applications/games/solitaire/lang/es-ES.rc index 0a65033c870..45deb4474b2 100644 --- a/reactos/base/applications/games/solitaire/lang/es-ES.rc +++ b/reactos/base/applications/games/solitaire/lang/es-ES.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "Aceptar", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Repartir\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Barajar...", IDM_GAME_DECK + MENUITEM "&Barajar...", IDM_GAME_DECK, GRAYED MENUITEM "&Opciones...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Salir", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/fr-FR.rc b/reactos/base/applications/games/solitaire/lang/fr-FR.rc index 5edb8862e21..3c0eaf0ac69 100644 --- a/reactos/base/applications/games/solitaire/lang/fr-FR.rc +++ b/reactos/base/applications/games/solitaire/lang/fr-FR.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "En tirer une", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "En tirer trois", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "Afficher le temp&s", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "Barre de s&tatus", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "Afficher le temp&s", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "Barre de s&tatus", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Annuler", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Donne\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Jeux...", IDM_GAME_DECK + MENUITEM "&Jeux...", IDM_GAME_DECK, GRAYED MENUITEM "&Options...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Quitter", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/id-ID.rc b/reactos/base/applications/games/solitaire/lang/id-ID.rc index 408544f86c1..7be4c054ce5 100644 --- a/reactos/base/applications/games/solitaire/lang/id-ID.rc +++ b/reactos/base/applications/games/solitaire/lang/id-ID.rc @@ -22,8 +22,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Batal", IDCANCEL, 101, 97, 50, 14 @@ -49,7 +49,7 @@ BEGIN BEGIN MENUITEM "&Giliran\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Dek...", IDM_GAME_DECK + MENUITEM "&Dek...", IDM_GAME_DECK, GRAYED MENUITEM "&Opsi...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Keluar", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/it-IT.rc b/reactos/base/applications/games/solitaire/lang/it-IT.rc index 539f7352d54..fbfbac73ec6 100644 --- a/reactos/base/applications/games/solitaire/lang/it-IT.rc +++ b/reactos/base/applications/games/solitaire/lang/it-IT.rc @@ -22,8 +22,8 @@ BEGIN AUTORADIOBUTTON "Girane &Una", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Girane &Tre", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Visualizza il tempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "&Barra di stato", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Visualizza il tempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "&Barra di stato", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Annulla", IDCANCEL, 101, 97, 50, 14 @@ -49,7 +49,7 @@ BEGIN BEGIN MENUITEM "&Dai carte\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "Maz&zo...", IDM_GAME_DECK + MENUITEM "Maz&zo...", IDM_GAME_DECK, GRAYED MENUITEM "O&pzioni...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Esci", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/nb-NO.rc b/reactos/base/applications/games/solitaire/lang/nb-NO.rc index bfa164cb064..5b9fae8db42 100644 --- a/reactos/base/applications/games/solitaire/lang/nb-NO.rc +++ b/reactos/base/applications/games/solitaire/lang/nb-NO.rc @@ -22,8 +22,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Avbryt", IDCANCEL, 101, 97, 50, 14 @@ -49,7 +49,7 @@ BEGIN BEGIN MENUITEM "&Del ut\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "Kort&stokk...", IDM_GAME_DECK + MENUITEM "Kort&stokk...", IDM_GAME_DECK, GRAYED MENUITEM "&Valg...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Avslutt", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/pl-PL.rc b/reactos/base/applications/games/solitaire/lang/pl-PL.rc index 895113519e2..a584aca0dc4 100644 --- a/reactos/base/applications/games/solitaire/lang/pl-PL.rc +++ b/reactos/base/applications/games/solitaire/lang/pl-PL.rc @@ -20,8 +20,8 @@ BEGIN AUTORADIOBUTTON "Rozdaj &jedn№", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Rozdaj &dwie", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Pokazuj czas gry", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "Pokazuj pa&sek stanu", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Pokazuj czas gry", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "Pokazuj pa&sek stanu", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Anuluj", IDCANCEL, 101, 97, 50, 14 @@ -47,7 +47,7 @@ BEGIN BEGIN MENUITEM "&Rozdaj\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Talia...", IDM_GAME_DECK + MENUITEM "&Talia...", IDM_GAME_DECK, GRAYED MENUITEM "&Opcje...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Zakoсcz", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/ru-RU.rc b/reactos/base/applications/games/solitaire/lang/ru-RU.rc index 90a1b337bfb..8b77a49c6cc 100644 --- a/reactos/base/applications/games/solitaire/lang/ru-RU.rc +++ b/reactos/base/applications/games/solitaire/lang/ru-RU.rc @@ -16,8 +16,8 @@ BEGIN AUTORADIOBUTTON "По &одной", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "По &три", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Показывать время", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "&Строка состояния", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Показывать время", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "&Строка состояния", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Отмена", IDCANCEL, 101, 97, 50, 14 @@ -43,7 +43,7 @@ BEGIN BEGIN MENUITEM "Н&овая игра\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Покрыть...", IDM_GAME_DECK + MENUITEM "&Покрыть...", IDM_GAME_DECK, GRAYED MENUITEM "&Настройки...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&Выход", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/sk-SK.rc b/reactos/base/applications/games/solitaire/lang/sk-SK.rc index 910fc03057d..c5bf5ad3005 100644 --- a/reactos/base/applications/games/solitaire/lang/sk-SK.rc +++ b/reactos/base/applications/games/solitaire/lang/sk-SK.rc @@ -23,8 +23,8 @@ BEGIN AUTORADIOBUTTON "Ќahaќ &jednu", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Ќahaќ &tri", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "Иa&sovэ limit", IDC_OPT_SHOWTIME, 7 ,51 ,64 ,10, WS_TABSTOP - AUTOCHECKBOX "Stavovэ riad&ok", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "Иa&sovэ limit", IDC_OPT_SHOWTIME, 7 ,51 ,64 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "Stavovэ riad&ok", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Zruљiќ", IDCANCEL, 101, 97, 50, 14 @@ -50,7 +50,7 @@ BEGIN BEGIN MENUITEM "&Rozdaќ\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Balниek...", IDM_GAME_DECK + MENUITEM "&Balниek...", IDM_GAME_DECK, GRAYED MENUITEM "&Moћnosti...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "Sk&onиiќ", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/th-TH.rc b/reactos/base/applications/games/solitaire/lang/th-TH.rc index eb26f8ba4bf..d83a551fcf0 100644 --- a/reactos/base/applications/games/solitaire/lang/th-TH.rc +++ b/reactos/base/applications/games/solitaire/lang/th-TH.rc @@ -22,8 +22,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "µЎЕ§", IDOK, 35, 97, 50, 14 PUSHBUTTON "ВЎаЕФЎ", IDCANCEL, 101, 97, 50, 14 @@ -49,7 +49,7 @@ BEGIN BEGIN MENUITEM "б&ЁЎдѕи\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "б&µи§дѕи...", IDM_GAME_DECK + MENUITEM "б&µи§дѕи...", IDM_GAME_DECK, GRAYED MENUITEM "&µСЗаЕЧНЎ...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "&ННЎ", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/uk-UA.rc b/reactos/base/applications/games/solitaire/lang/uk-UA.rc index fcac22aa47b..a15347be4b2 100644 --- a/reactos/base/applications/games/solitaire/lang/uk-UA.rc +++ b/reactos/base/applications/games/solitaire/lang/uk-UA.rc @@ -21,8 +21,8 @@ BEGIN AUTORADIOBUTTON "&По одній", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "П&о три", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Гра за часом", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "&Рядок стану", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Гра за часом", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "&Рядок стану", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "OK", IDOK, 35, 97, 50, 14 PUSHBUTTON "Скасувати", IDCANCEL, 101, 97, 50, 14 @@ -48,7 +48,7 @@ BEGIN BEGIN MENUITEM "&Роздати карти\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "&Колода...", IDM_GAME_DECK + MENUITEM "&Колода...", IDM_GAME_DECK, GRAYED MENUITEM "&Параметри...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "В&ихід", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/lang/zh-CN.rc b/reactos/base/applications/games/solitaire/lang/zh-CN.rc index 6c5380825bf..2d9b2ca31ed 100644 --- a/reactos/base/applications/games/solitaire/lang/zh-CN.rc +++ b/reactos/base/applications/games/solitaire/lang/zh-CN.rc @@ -22,8 +22,8 @@ BEGIN AUTORADIOBUTTON "Draw &One", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "Draw &Three", IDC_OPT_DRAWTHREE, 14, 32, 52, 10 - AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP - AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP + AUTOCHECKBOX "&Show Time", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED + AUTOCHECKBOX "S&tatus bar", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP | WS_DISABLED DEFPUSHBUTTON "И·¶Ё", IDOK, 35, 97, 50, 14 PUSHBUTTON "ИЎПы", IDCANCEL, 101, 97, 50, 14 @@ -49,7 +49,7 @@ BEGIN BEGIN MENUITEM "·ўЕЖ(&D)\tF2", IDM_GAME_NEW MENUITEM SEPARATOR - MENUITEM "±іГжНј°ё(&C)...", IDM_GAME_DECK + MENUITEM "±іГжНј°ё(&C)...", IDM_GAME_DECK, GRAYED MENUITEM "СЎПо(&O)...", IDM_GAME_OPTIONS MENUITEM SEPARATOR MENUITEM "НЛіц(&X)", IDM_GAME_EXIT diff --git a/reactos/base/applications/games/solitaire/solgame.cpp b/reactos/base/applications/games/solitaire/solgame.cpp index b1fa00c0954..a56e92b5230 100644 --- a/reactos/base/applications/games/solitaire/solgame.cpp +++ b/reactos/base/applications/games/solitaire/solgame.cpp @@ -338,7 +338,7 @@ void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked) } else { - int numcards = min((nOptions & OPTION_THREE_CARDS) ? 3 : 1, cardstack.NumCards()); + int numcards = min((dwOptions & OPTION_THREE_CARDS) ? 3 : 1, cardstack.NumCards()); //make a "visible" copy of these cards CardStack temp; diff --git a/reactos/base/applications/games/solitaire/solitaire.cpp b/reactos/base/applications/games/solitaire/solitaire.cpp index 813b054d772..d351d249c1e 100644 --- a/reactos/base/applications/games/solitaire/solitaire.cpp +++ b/reactos/base/applications/games/solitaire/solitaire.cpp @@ -19,7 +19,7 @@ TCHAR szAppName[128]; TCHAR MsgQuit[128]; TCHAR MsgAbout[128]; TCHAR MsgWin[128]; -INT nOptions = 8; +DWORD dwOptions = 8; CardWindow SolWnd; @@ -28,12 +28,66 @@ LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam); void MakePath(TCHAR *szDest, UINT nDestLen, const TCHAR *szExt) { TCHAR *ptr; - + ptr = szDest + GetModuleFileName(GetModuleHandle(0), szDest, nDestLen) - 1; while(*ptr-- != '.'); lstrcpy(ptr + 1, szExt); } +VOID LoadSettings(VOID) +{ + DWORD dwDisposition; + DWORD dwSize; + HKEY hKey; + + if (RegCreateKeyEx(HKEY_CURRENT_USER, + _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Solitaire"), + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_READ, + NULL, + &hKey, + &dwDisposition)) + return; + + dwSize = sizeof(DWORD); + RegQueryValueEx(hKey, + _T("Options"), + NULL, + NULL, + (LPBYTE)&dwOptions, + &dwSize); + + RegCloseKey(hKey); +} + +VOID SaveSettings(VOID) +{ + DWORD dwDisposition; + HKEY hKey; + + if (RegCreateKeyEx(HKEY_CURRENT_USER, + _T("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Solitaire"), + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_WRITE, + NULL, + &hKey, + &dwDisposition)) + return; + + RegSetValueEx(hKey, + _T("Options"), + 0, + REG_DWORD, + (CONST BYTE *)&dwOptions, + sizeof(DWORD)); + + RegCloseKey(hKey); +} + // // Main entry point // @@ -76,11 +130,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrev, PSTR szCmdLine, int iCmdSh // InitCardLib(); -// LoadSettings(); + LoadSettings(); //Construct the path to our help file MakePath(szHelpPath, MAX_PATH, _T(".hlp")); - + hwnd = CreateWindow(szAppName, // window class name szAppName, // window caption WS_OVERLAPPEDWINDOW @@ -110,15 +164,11 @@ int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrev, PSTR szCmdLine, int iCmdSh } } -// SaveSettings(); + SaveSettings(); return msg.wParam; } -VOID LoadSettings(VOID) -{ - -} BOOL CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { @@ -126,7 +176,7 @@ BOOL CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { case WM_INITDIALOG: CheckRadioButton(hDlg, IDC_OPT_DRAWONE, IDC_OPT_DRAWTHREE, - (nOptions & OPTION_THREE_CARDS) ? IDC_OPT_DRAWTHREE : IDC_OPT_DRAWONE); + (dwOptions & OPTION_THREE_CARDS) ? IDC_OPT_DRAWTHREE : IDC_OPT_DRAWONE); return TRUE; @@ -134,9 +184,9 @@ BOOL CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) switch(LOWORD(wParam)) { case IDOK: - nOptions &= ~OPTION_THREE_CARDS; + dwOptions &= ~OPTION_THREE_CARDS; if (IsDlgButtonChecked(hDlg, IDC_OPT_DRAWTHREE) == BST_CHECKED) - nOptions |= OPTION_THREE_CARDS; + dwOptions |= OPTION_THREE_CARDS; EndDialog(hDlg, TRUE); return TRUE; @@ -152,13 +202,13 @@ BOOL CALLBACK OptionsDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) VOID ShowGameOptionsDlg(HWND hwnd) { - INT nOldOptions = nOptions; + DWORD dwOldOptions = dwOptions; - if (DialogBox(hInstance, MAKEINTRESOURCE(IDD_OPTIONS), hwnd, OptionsDlgProc)) - { - if ((nOldOptions & OPTION_THREE_CARDS) != (nOptions & OPTION_THREE_CARDS)) - NewGame(); - } + if (DialogBox(hInstance, MAKEINTRESOURCE(IDD_OPTIONS), hwnd, OptionsDlgProc)) + { + if ((dwOldOptions & OPTION_THREE_CARDS) != (dwOptions & OPTION_THREE_CARDS)) + NewGame(); + } } //----------------------------------------------------------------------------- @@ -214,7 +264,6 @@ LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) return 0; case WM_COMMAND: - switch(LOWORD(wParam)) { case IDM_GAME_NEW: @@ -246,9 +295,7 @@ LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) return 0; case WM_CLOSE: - ret = MessageBox(hwnd, MsgQuit, szAppName, MB_OKCANCEL|MB_ICONQUESTION); - if(ret == IDOK) { WinHelp(hwnd, szHelpPath, HELP_QUIT, 0); diff --git a/reactos/base/applications/games/solitaire/solitaire.h b/reactos/base/applications/games/solitaire/solitaire.h index 0148f6ea1d9..1e1560cbe05 100644 --- a/reactos/base/applications/games/solitaire/solitaire.h +++ b/reactos/base/applications/games/solitaire/solitaire.h @@ -7,7 +7,7 @@ extern bool fGameStarted; #define OPTION_THREE_CARDS 8 -extern INT nOptions; +extern DWORD dwOptions; void CreateSol(); void NewGame(void);