Ask for saving when quitting...

This commit is contained in:
Erik Faye-Lund 2008-10-14 00:39:10 +00:00
parent 416f52b546
commit dac256b36d

View File

@ -14,6 +14,7 @@
#include "trackview.h" #include "trackview.h"
#include <vector> #include <vector>
const TCHAR *mainWindowClassName = _T("MainWindow"); const TCHAR *mainWindowClassName = _T("MainWindow");
const TCHAR *mainWindowTitle = _T("GNU Rocket System");
const TCHAR *keyName = _T("SOFTWARE\\GNU Rocket"); const TCHAR *keyName = _T("SOFTWARE\\GNU Rocket");
HWND hwnd = NULL; HWND hwnd = NULL;
@ -315,6 +316,14 @@ void fileSave()
} }
} }
void attemptQuit()
{
UINT res = MessageBox(hwnd, _T("Save before exit?"), mainWindowTitle, MB_YESNOCANCEL | MB_ICONQUESTION);
if (IDYES == res) fileSave();
if (IDCANCEL != res) DestroyWindow(hwnd);
}
static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{ {
switch(msg) switch(msg)
@ -359,6 +368,10 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
} }
break; break;
case WM_CLOSE:
attemptQuit();
break;
case WM_DESTROY: case WM_DESTROY:
saveMruList(); saveMruList();
RegCloseKey(regConfigKey); RegCloseKey(regConfigKey);
@ -437,7 +450,7 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
break; break;
case ID_FILE_EXIT: case ID_FILE_EXIT:
DestroyWindow(hwnd); attemptQuit();
break; break;
case ID_EDIT_UNDO: SendMessage(trackViewWin, WM_UNDO, 0, 0); break; case ID_EDIT_UNDO: SendMessage(trackViewWin, WM_UNDO, 0, 0); break;
@ -584,7 +597,7 @@ int _tmain(int argc, _TCHAR* argv[])
hwnd = CreateWindowEx( hwnd = CreateWindowEx(
0, 0,
mainWindowClassName, mainWindowClassName,
_T("GNU Rocket System"), mainWindowTitle,
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT, // x, y CW_USEDEFAULT, CW_USEDEFAULT, // x, y
CW_USEDEFAULT, CW_USEDEFAULT, // width, height CW_USEDEFAULT, CW_USEDEFAULT, // width, height