Skip to content

Commit 2c38625

Browse files
committed
Added preliminary full-screen mode accessible from view menu or with Alt+Enter shortcut. Keybinds are currently bugged and require the application to be restarted to get out of full screen, preparing to refactor global shortcut management.
1 parent 254d200 commit 2c38625

5 files changed

Lines changed: 31 additions & 6 deletions

File tree

src/sqlite-ce-edit/editor.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,10 @@ LRESULT CALLBACK ResultEditProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
508508
}
509509
/* F6/Escape - back to query, Ctrl+1 - Query, Ctrl+2 - Results, Ctrl+3 - Schema */
510510
if (wParam == VK_F6 || wParam == VK_ESCAPE || wParam == VK_BACK) {
511-
SendMessage(g_hwndMain, WM_COMMAND, IDM_VIEWQUERY, 0);
511+
if (wParam == VK_ESCAPE && g_fullScreen)
512+
SendMessage(g_hwndMain, WM_COMMAND, IDM_FULLSCREEN, 0);
513+
else
514+
SendMessage(g_hwndMain, WM_COMMAND, IDM_VIEWQUERY, 0);
512515
return 0;
513516
}
514517
if (wParam == VK_F7) {

src/sqlite-ce-edit/globals.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ int g_fontSizeSchema = 2;
4343
int g_showLineNumbers = 1;
4444
int g_lineNumWidth = 0;
4545
int g_showStatusBar = 1;
46+
int g_fullScreen = 0;
4647
WNDPROC g_pfnQueryProc;
4748
WNDPROC g_pfnResultProc;
4849
WNDPROC g_pfnGridProc;

src/sqlite-ce-edit/globals.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ BOOL WINAPI GetSaveFileNameW(CE_OPENFILENAME*);
8282
** Version
8383
**============================================================================*/
8484

85-
#define SQLITECEDIT_VERSION L"0.9.0.36"
85+
#define SQLITECEDIT_VERSION L"0.9.0.37"
8686

8787
/*============================================================================
8888
** Menu IDs
@@ -135,6 +135,7 @@ BOOL WINAPI GetSaveFileNameW(CE_OPENFILENAME*);
135135
#define IDM_EXPORTDDL 704
136136
#define IDM_EXPORTALLDDL 705
137137
#define IDM_STATUSBAR 706
138+
#define IDM_FULLSCREEN 707
138139

139140
/* Timer IDs */
140141
#define IDT_TAPHOLD 1
@@ -209,6 +210,7 @@ extern int g_fontSizeSchema;
209210
extern int g_showLineNumbers;
210211
extern int g_lineNumWidth;
211212
extern int g_showStatusBar;
213+
extern int g_fullScreen;
212214
extern WNDPROC g_pfnQueryProc;
213215
extern WNDPROC g_pfnResultProc;
214216
extern WNDPROC g_pfnGridProc;

src/sqlite-ce-edit/grid.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ LRESULT CALLBACK GridProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
129129
}
130130
/* F6/Escape/Backspace - back to query */
131131
if (wParam == VK_F6 || wParam == VK_ESCAPE || wParam == VK_BACK) {
132-
SendMessage(g_hwndMain, WM_COMMAND, IDM_VIEWQUERY, 0);
132+
if (wParam == VK_ESCAPE && g_fullScreen)
133+
SendMessage(g_hwndMain, WM_COMMAND, IDM_FULLSCREEN, 0);
134+
else
135+
SendMessage(g_hwndMain, WM_COMMAND, IDM_VIEWQUERY, 0);
133136
return 0;
134137
}
135138
if (wParam == VK_F7) {

src/sqlite-ce-edit/main.c

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
110110
AppendMenuW(hView, MF_STRING, IDM_VIEWSCHEMA, L"&Schema\tCtrl+3, F7");
111111
AppendMenuW(hView, MF_SEPARATOR, 0, NULL);
112112
AppendMenuW(hView, MF_STRING | MF_CHECKED, IDM_STATUSBAR, L"Status &Bar");
113+
AppendMenuW(hView, MF_STRING, IDM_FULLSCREEN, L"&Full Screen\tAlt+Enter");
113114
g_hViewMenu = hView;
114115
AppendMenuW(hMenu, MF_POPUP, (UINT)hView, L"&View");
115116

@@ -261,9 +262,9 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
261262

262263
SendMessage(g_hwndStatus, WM_SIZE, 0, 0);
263264
GetWindowRect(g_hwndStatus, &rcStatus);
264-
sbHeight = g_showStatusBar ? (rcStatus.bottom - rcStatus.top) : 0;
265+
sbHeight = (g_showStatusBar && !g_fullScreen) ? (rcStatus.bottom - rcStatus.top) : 0;
265266

266-
cbHeight = CommandBar_Height(g_hwndCB);
267+
cbHeight = g_fullScreen ? 0 : CommandBar_Height(g_hwndCB);
267268
GetClientRect(hwnd, &rc);
268269
editHeight = rc.bottom - cbHeight - sbHeight;
269270
queryLeft = g_showLineNumbers ? g_lineNumWidth : 0;
@@ -381,6 +382,13 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
381382
CheckMenuItem(g_hViewMenu, IDM_STATUSBAR, g_showStatusBar ? MF_CHECKED : MF_UNCHECKED);
382383
SendMessage(hwnd, WM_SIZE, 0, 0);
383384
break;
385+
case IDM_FULLSCREEN:
386+
g_fullScreen = !g_fullScreen;
387+
ShowWindow(g_hwndStatus, g_fullScreen ? SW_HIDE : (g_showStatusBar ? SW_SHOW : SW_HIDE));
388+
ShowWindow(g_hwndCB, g_fullScreen ? SW_HIDE : SW_SHOW);
389+
CheckMenuItem(g_hViewMenu, IDM_FULLSCREEN, g_fullScreen ? MF_CHECKED : MF_UNCHECKED);
390+
SendMessage(hwnd, WM_SIZE, 0, 0);
391+
break;
384392
case IDM_SCHEMA_SELECT:
385393
OnSchemaDoubleClick();
386394
break;
@@ -433,6 +441,10 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
433441
SendMessage(hwnd, WM_CLOSE, 0, 0);
434442
return 0;
435443
}
444+
if (wParam == VK_RETURN && GetKeyState(VK_MENU) < 0) {
445+
SendMessage(hwnd, WM_COMMAND, IDM_FULLSCREEN, 0);
446+
return 0;
447+
}
436448
break;
437449

438450
case WM_KEYDOWN:
@@ -522,7 +534,11 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
522534
OnSchemaDoubleClick();
523535
return TRUE;
524536
} else if (pKey->wVKey == VK_ESCAPE) {
525-
SendMessage(hwnd, WM_COMMAND, IDM_VIEWQUERY, 0);
537+
if (g_fullScreen) {
538+
SendMessage(hwnd, WM_COMMAND, IDM_FULLSCREEN, 0);
539+
} else {
540+
SendMessage(hwnd, WM_COMMAND, IDM_VIEWQUERY, 0);
541+
}
526542
return TRUE;
527543
} else if (GetKeyState(VK_CONTROL) < 0) {
528544
if (pKey->wVKey == '1') SendMessage(hwnd, WM_COMMAND, IDM_VIEWQUERY, 0);

0 commit comments

Comments
 (0)