Skip to content

Commit 3c4735a

Browse files
committed
Reinstantiated View menu for selecting editor modes with hints, implemented escape key shortcut to return to Query Editor from Schema view similar to Results pane implementation
1 parent 5096ce1 commit 3c4735a

3 files changed

Lines changed: 16 additions & 1 deletion

File tree

src/sqlite-ce-edit/globals.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ HWND g_hwndMain;
1313
HWND g_hwndCB;
1414
HWND g_hwndStatus;
1515
HMENU g_hMenu;
16+
HMENU g_hViewMenu;
1617
HMENU g_hRecentDbMenu;
1718
HMENU g_hRecentQueryMenu;
1819
HACCEL g_hAccel;

src/sqlite-ce-edit/globals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ extern HWND g_hwndMain;
158158
extern HWND g_hwndCB;
159159
extern HWND g_hwndStatus;
160160
extern HMENU g_hMenu;
161+
extern HMENU g_hViewMenu;
161162
extern HMENU g_hRecentDbMenu;
162163
extern HMENU g_hRecentQueryMenu;
163164
extern HACCEL g_hAccel;

src/sqlite-ce-edit/main.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
1818
case WM_CREATE: {
1919
RECT rc;
2020
int cbHeight;
21-
HMENU hMenu, hFile, hQuery;
21+
HMENU hMenu, hFile, hQuery, hView;
2222
TBBUTTON tbButtons[15];
2323

2424
g_hBrushWhite = CreateSolidBrush(RGB(255, 255, 255));
@@ -68,6 +68,13 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
6868
AppendMenuW(hQuery, MF_STRING, IDM_FINDNEXT, L"Find &Next\tF3");
6969
AppendMenuW(hMenu, MF_POPUP, (UINT)hQuery, L"&Query");
7070

71+
hView = CreatePopupMenu();
72+
AppendMenuW(hView, MF_STRING, IDM_VIEWQUERY, L"&Query\tCtrl+1, Esc");
73+
AppendMenuW(hView, MF_STRING, IDM_VIEWRESULT, L"&Results\tCtrl+2, F6");
74+
AppendMenuW(hView, MF_STRING, IDM_VIEWSCHEMA, L"&Schema\tCtrl+3, F7");
75+
g_hViewMenu = hView;
76+
AppendMenuW(hMenu, MF_POPUP, (UINT)hView, L"&View");
77+
7178
{
7279
HMENU hHelp = CreatePopupMenu();
7380
AppendMenuW(hHelp, MF_STRING, IDM_ABOUT, L"&About...");
@@ -203,6 +210,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
203210
UpdateResultFont();
204211

205212
g_viewMode = 0;
213+
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWQUERY, MF_BYCOMMAND);
206214
UpdateLineNumbers();
207215
SendMessage(hwnd, WM_SIZE, 0, 0);
208216

@@ -263,18 +271,21 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
263271
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, TRUE);
264272
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, FALSE);
265273
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
274+
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWQUERY, MF_BYCOMMAND);
266275
break;
267276
case IDM_VIEWRESULT:
268277
SwitchView(1);
269278
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
270279
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, TRUE);
271280
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, FALSE);
281+
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWRESULT, MF_BYCOMMAND);
272282
break;
273283
case IDM_VIEWSCHEMA:
274284
SwitchView(2);
275285
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWQUERY, FALSE);
276286
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWRESULT, FALSE);
277287
SendMessage(g_hwndCB, TB_CHECKBUTTON, IDM_VIEWSCHEMA, TRUE);
288+
CheckMenuRadioItem(g_hViewMenu, IDM_VIEWQUERY, IDM_VIEWSCHEMA, IDM_VIEWSCHEMA, MF_BYCOMMAND);
278289
break;
279290
case IDM_FONTSIZE:
280291
CycleFontSize();
@@ -343,6 +354,8 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
343354
TV_KEYDOWN *pKey = (TV_KEYDOWN*)lParam;
344355
if (pKey->wVKey == VK_DELETE) {
345356
OnSchemaDelete();
357+
} else if (pKey->wVKey == VK_ESCAPE) {
358+
SendMessage(hwnd, WM_COMMAND, IDM_VIEWQUERY, 0);
346359
} else if (GetKeyState(VK_CONTROL) < 0) {
347360
if (pKey->wVKey == '1') SendMessage(hwnd, WM_COMMAND, IDM_VIEWQUERY, 0);
348361
else if (pKey->wVKey == '2') SendMessage(hwnd, WM_COMMAND, IDM_VIEWRESULT, 0);

0 commit comments

Comments
 (0)