mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-11 21:21:47 +00:00
- add "restart" button to error pane in Windows
- add keyboard accelerator shortcuts to many Windows-specific dialogs
This commit is contained in:
parent
97d515005b
commit
b441d8c399
2 changed files with 34 additions and 16 deletions
|
@ -41,6 +41,9 @@
|
||||||
#include <commctrl.h>
|
#include <commctrl.h>
|
||||||
#include <richedit.h>
|
#include <richedit.h>
|
||||||
|
|
||||||
|
#include <processenv.h>
|
||||||
|
#include <shellapi.h>
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable:4244)
|
#pragma warning(disable:4244)
|
||||||
#endif
|
#endif
|
||||||
|
@ -189,14 +192,21 @@ static void UnWTS (void)
|
||||||
|
|
||||||
static int LayoutErrorPane (HWND pane, int w)
|
static int LayoutErrorPane (HWND pane, int w)
|
||||||
{
|
{
|
||||||
HWND ctl;
|
HWND ctl, ctl_two;
|
||||||
RECT rectc;
|
RECT rectc, rectc_two;
|
||||||
|
|
||||||
// Right-align the Quit button.
|
// Right-align the Quit button.
|
||||||
ctl = GetDlgItem (pane, IDOK);
|
ctl = GetDlgItem (pane, IDOK);
|
||||||
GetClientRect (ctl, &rectc); // Find out how big it is.
|
GetClientRect (ctl, &rectc); // Find out how big it is.
|
||||||
MoveWindow (ctl, w - rectc.right - 1, 1, rectc.right, rectc.bottom, TRUE);
|
MoveWindow (ctl, w - rectc.right - 1, 1, rectc.right, rectc.bottom, TRUE);
|
||||||
|
|
||||||
|
// Second-right-align the Restart button
|
||||||
|
ctl_two = GetDlgItem (pane, IDC_BUTTON1);
|
||||||
|
GetClientRect (ctl_two, &rectc_two); // Find out how big it is.
|
||||||
|
MoveWindow (ctl_two, w - rectc.right - rectc_two.right - 2, 1, rectc.right, rectc.bottom, TRUE);
|
||||||
|
|
||||||
InvalidateRect (ctl, NULL, TRUE);
|
InvalidateRect (ctl, NULL, TRUE);
|
||||||
|
InvalidateRect (ctl_two, NULL, TRUE);
|
||||||
|
|
||||||
// Return the needed height for this layout
|
// Return the needed height for this layout
|
||||||
return rectc.bottom + 2;
|
return rectc.bottom + 2;
|
||||||
|
@ -545,9 +555,16 @@ INT_PTR CALLBACK ErrorPaneProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lPara
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
// There is only one button, and it's "Ok" and makes us quit.
|
|
||||||
if (HIWORD(wParam) == BN_CLICKED)
|
if (HIWORD(wParam) == BN_CLICKED)
|
||||||
{
|
{
|
||||||
|
if (LOWORD(wParam) == IDC_BUTTON1) // we pressed the restart button, so run GZDoom again
|
||||||
|
{
|
||||||
|
HMODULE hModule = GetModuleHandleW(NULL);
|
||||||
|
WCHAR path[MAX_PATH];
|
||||||
|
GetModuleFileNameW(hModule, path, MAX_PATH);
|
||||||
|
|
||||||
|
ShellExecuteW(NULL, L"open", path, GetCommandLineW(), NULL, SW_SHOWNORMAL);
|
||||||
|
}
|
||||||
PostQuitMessage (0);
|
PostQuitMessage (0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,17 +215,17 @@ BEGIN
|
||||||
LTEXT "Select which game file (IWAD) to run.",IDC_STATIC,12,44,190,8
|
LTEXT "Select which game file (IWAD) to run.",IDC_STATIC,12,44,190,8
|
||||||
LISTBOX IDC_IWADLIST,12,56,200,87,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
LISTBOX IDC_IWADLIST,12,56,200,87,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||||
GROUPBOX "Video settings",IDC_STATIC,8,155,109,52
|
GROUPBOX "Video settings",IDC_STATIC,8,155,109,52
|
||||||
CONTROL "Fullscreen",IDC_WELCOME_FULLSCREEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,65,167,48,10
|
CONTROL "&Fullscreen",IDC_WELCOME_FULLSCREEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,65,167,48,10
|
||||||
GROUPBOX "Resource settings",IDC_STATIC,123,155,95,52
|
GROUPBOX "Resource settings",IDC_STATIC,123,155,95,52
|
||||||
CONTROL "Disable autoload",IDC_WELCOME_NOAUTOLOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,170,65,10
|
CONTROL "Disable &autoload",IDC_WELCOME_NOAUTOLOAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,170,65,10
|
||||||
CONTROL "Load lights",IDC_WELCOME_LIGHTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,180,51,10
|
CONTROL "Load &lights",IDC_WELCOME_LIGHTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,180,51,10
|
||||||
CONTROL "Load brightmaps",IDC_WELCOME_BRIGHTMAPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,190,65,10
|
CONTROL "Load &brightmaps",IDC_WELCOME_BRIGHTMAPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,190,65,10
|
||||||
CONTROL "Don't ask me this again",IDC_DONTASKIWAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,73,211,87,10
|
CONTROL "&Don't ask me this again",IDC_DONTASKIWAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,73,211,87,10
|
||||||
DEFPUSHBUTTON "Play GZDoom",IDOK,8,228,90,14
|
DEFPUSHBUTTON "&Play GZDoom",IDOK,8,228,90,14
|
||||||
PUSHBUTTON "Exit",IDCANCEL,166,228,50,14
|
PUSHBUTTON "E&xit",IDCANCEL,166,228,50,14
|
||||||
CONTROL "OpenGL",IDC_WELCOME_VULKAN1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,167,41,10
|
CONTROL "&OpenGL",IDC_WELCOME_VULKAN1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,167,41,10
|
||||||
CONTROL "Vulkan",IDC_WELCOME_VULKAN2,"Button",BS_AUTORADIOBUTTON,13,177,37,10
|
CONTROL "&Vulkan",IDC_WELCOME_VULKAN2,"Button",BS_AUTORADIOBUTTON,13,177,37,10
|
||||||
CONTROL "SoftPoly",IDC_WELCOME_VULKAN3,"Button",BS_AUTORADIOBUTTON,13,188,43,10
|
CONTROL "&SoftPoly",IDC_WELCOME_VULKAN3,"Button",BS_AUTORADIOBUTTON,13,188,43,10
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@ CAPTION "GZDoom Very Fatal Error"
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
FONT 8, "MS Shell Dlg", 400, 0, 0x0
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_CRASHTAB,"SysTabControl32",WS_TABSTOP,4,4,404,280
|
CONTROL "",IDC_CRASHTAB,"SysTabControl32",WS_TABSTOP,4,4,404,280
|
||||||
PUSHBUTTON "Save Report to Disk...",IDC_SAVEREPORT,242,289,91,14
|
PUSHBUTTON "&Save Report to Disk...",IDC_SAVEREPORT,242,289,91,14
|
||||||
PUSHBUTTON "&Discard Report",IDNO,338,289,70,14
|
PUSHBUTTON "&Discard Report",IDNO,338,289,70,14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -270,14 +270,15 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CL
|
||||||
EXSTYLE WS_EX_CONTROLPARENT
|
EXSTYLE WS_EX_CONTROLPARENT
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Quit",IDOK,133,7,50,14
|
DEFPUSHBUTTON "E&xit",IDOK,133,7,50,14
|
||||||
|
PUSHBUTTON "&Restart",IDC_BUTTON1,79,7,50,14
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_NETSTARTPANE DIALOGEX 0, 0, 189, 55
|
IDD_NETSTARTPANE DIALOGEX 0, 0, 189, 55
|
||||||
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN
|
STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "Abort Network Game",IDCANCEL,45,34,89,14
|
PUSHBUTTON "&Abort Network Game",IDCANCEL,45,34,89,14
|
||||||
CONTROL "",IDC_NETSTARTMESSAGE,"Static",SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_GROUP,7,7,116,8
|
CONTROL "",IDC_NETSTARTMESSAGE,"Static",SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_GROUP,7,7,116,8
|
||||||
CONTROL "",IDC_NETSTARTCOUNT,"Static",SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_GROUP,153,7,29,8,WS_EX_RIGHT
|
CONTROL "",IDC_NETSTARTCOUNT,"Static",SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_GROUP,153,7,29,8,WS_EX_RIGHT
|
||||||
CONTROL "",IDC_NETSTARTPROGRESS,"msctls_progress32",WS_BORDER,7,18,175,10
|
CONTROL "",IDC_NETSTARTPROGRESS,"msctls_progress32",WS_BORDER,7,18,175,10
|
||||||
|
|
Loading…
Reference in a new issue