Skip to content

Commit

Permalink
Add basic code for full screen mode.
Browse files Browse the repository at this point in the history
  • Loading branch information
zufuliu committed Sep 6, 2018
1 parent ec04ac5 commit 7640899
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 14 deletions.
73 changes: 69 additions & 4 deletions src/Notepad2.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,11 @@ BOOL bInlineIMEUseBlockCaret;
int iBidirectional;
BOOL bShowToolbar;
BOOL bShowStatusbar;
BOOL bInFullScreenMode;
BOOL bFullScreenOnStartup;
BOOL bFullScreenHideMenu;
BOOL bFullScreenHideToolbar;
BOOL bFullScreenHideStatusbar;

typedef struct _wi {
int x;
Expand Down Expand Up @@ -1652,6 +1657,9 @@ LRESULT MsgCreate(HWND hwnd, WPARAM wParam, LPARAM lParam) {
return -1;
}

if (bInFullScreenMode) {
ToggleFullScreenMode();
}
return 0;
}

Expand Down Expand Up @@ -2285,6 +2293,11 @@ void MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam) {
EnableCmd(hmenu, IDM_VIEW_CUSTOMIZETB, bShowToolbar);
CheckCmd(hmenu, IDM_VIEW_STATUSBAR, bShowStatusbar);

CheckCmd(hmenu, IDM_VIEW_FULLSCREEN_ON_START, bFullScreenOnStartup);
CheckCmd(hmenu, IDM_VIEW_FULLSCREEN_HIDE_MENU, bFullScreenHideMenu);
CheckCmd(hmenu, IDM_VIEW_FULLSCREEN_HIDE_TOOL, bFullScreenHideToolbar);
CheckCmd(hmenu, IDM_VIEW_FULLSCREEN_HIDE_STATUS, bFullScreenHideStatusbar);

//i = (int)SendMessage(hwndEdit, SCI_GETLEXER, 0, 0);
//EnableCmd(hmenu, IDM_VIEW_AUTOCLOSETAGS, (i == SCLEX_HTML || i == SCLEX_XML));
CheckCmd(hmenu, IDM_VIEW_AUTOCLOSETAGS, bAutoCloseTags /*&& (i == SCLEX_HTML || i == SCLEX_XML)*/);
Expand Down Expand Up @@ -4049,6 +4062,9 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) {
break;

case IDM_VIEW_ALWAYSONTOP:
if (bInFullScreenMode) {
return 0;
}
if ((bAlwaysOnTop || flagAlwaysOnTop == 2) && flagAlwaysOnTop != 1) {
bAlwaysOnTop = 0;
flagAlwaysOnTop = 0;
Expand Down Expand Up @@ -4214,11 +4230,44 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) {
OpenHelpLink(hwnd, LOWORD(wParam));
break;

case CMD_ESCAPE:
//close the AutoComplete box
SendMessage(hwndEdit, SCI_AUTOCCANCEL, 0, 0);
case IDM_VIEW_TOGGLE_FULLSCREEN:
bInFullScreenMode = bInFullScreenMode ? FALSE : TRUE;
ToggleFullScreenMode();
break;

case IDM_VIEW_FULLSCREEN_ON_START:
bFullScreenOnStartup = bFullScreenOnStartup ? FALSE : TRUE;
break;

case IDM_VIEW_FULLSCREEN_HIDE_MENU:
bFullScreenHideMenu = bFullScreenHideMenu ? FALSE : TRUE;
if (bInFullScreenMode) {
ToggleFullScreenMode();
}
break;

case IDM_VIEW_FULLSCREEN_HIDE_TOOL:
bFullScreenHideToolbar = bFullScreenHideToolbar ? FALSE : TRUE;
if (bInFullScreenMode) {
ToggleFullScreenMode();
}
break;

case IDM_VIEW_FULLSCREEN_HIDE_STATUS:
bFullScreenHideStatusbar = bFullScreenHideStatusbar ? FALSE : TRUE;
if (bInFullScreenMode) {
ToggleFullScreenMode();
}
break;

if (iEscFunction == 1) {
case CMD_ESCAPE:
if (SendMessage(hwndEdit, SCI_AUTOCACTIVE, 0, 0)) {
//close the AutoComplete box
SendMessage(hwndEdit, SCI_AUTOCCANCEL, 0, 0);
} else if (bInFullScreenMode) {
bInFullScreenMode = FALSE;
ToggleFullScreenMode();
} else if (iEscFunction == 1) {
SendMessage(hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
} else if (iEscFunction == 2) {
NP2ExitWind(hwnd);
Expand Down Expand Up @@ -5361,6 +5410,12 @@ void LoadSettings(void) {
bShowToolbar = IniSectionGetBool(pIniSection, L"ShowToolbar", 1);
bShowStatusbar = IniSectionGetBool(pIniSection, L"ShowStatusbar", 1);

bFullScreenOnStartup = IniSectionGetBool(pIniSection, L"FullScreenOnStartup", 0);
bInFullScreenMode = bFullScreenOnStartup;
bFullScreenHideMenu = IniSectionGetBool(pIniSection, L"FullScreenHideMenu", 0);
bFullScreenHideToolbar = IniSectionGetBool(pIniSection, L"FullScreenHideToolbar", 0);
bFullScreenHideStatusbar = IniSectionGetBool(pIniSection, L"FullScreenHideStatusbar", 0);

cxEncodingDlg = IniSectionGetInt(pIniSection, L"EncodingDlgSizeX", 256);
cxEncodingDlg = max_i(cxEncodingDlg, 0);

Expand Down Expand Up @@ -5597,6 +5652,10 @@ void SaveSettings(BOOL bSaveSettingsNow) {
IniSectionSetString(pIniSection, L"ToolbarButtons", tchToolbarButtons);
IniSectionSetBool(pIniSection, L"ShowToolbar", bShowToolbar);
IniSectionSetBool(pIniSection, L"ShowStatusbar", bShowStatusbar);
IniSectionSetBool(pIniSection, L"FullScreenOnStartup", bFullScreenOnStartup);
IniSectionSetBool(pIniSection, L"FullScreenHideMenu", bFullScreenHideMenu);
IniSectionSetBool(pIniSection, L"FullScreenHideToolbar", bFullScreenHideToolbar);
IniSectionSetBool(pIniSection, L"FullScreenHideStatusbar", bFullScreenHideStatusbar);
IniSectionSetInt(pIniSection, L"EncodingDlgSizeX", cxEncodingDlg);
IniSectionSetInt(pIniSection, L"EncodingDlgSizeY", cyEncodingDlg);
IniSectionSetInt(pIniSection, L"RecodeDlgSizeX", cxRecodeDlg);
Expand Down Expand Up @@ -6720,6 +6779,12 @@ void UpdateLineNumberWidth(void) {
}
}

void ToggleFullScreenMode(void) {
if (bInFullScreenMode) {
} else {
}
}

//=============================================================================
//
// FileIO()
Expand Down
1 change: 1 addition & 0 deletions src/Notepad2.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ void UpdateStatusBarWidth(void);
void UpdateToolbar(void);
void UpdateFoldMarginWidth(void);
void UpdateLineNumberWidth(void);
void ToggleFullScreenMode(void);

BOOL FileIO(BOOL fLoad, LPWSTR psz, BOOL bNoEncDetect, int *ienc, int *ieol,
BOOL *pbUnicodeErr, BOOL *pbFileTooBig,
Expand Down
17 changes: 11 additions & 6 deletions src/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ BEGIN
MENUITEM "&Empty Window\tAlt+0", IDM_FILE_NEWWINDOW2
MENUITEM SEPARATOR
MENUITEM "Execute &Document", IDM_FILE_LAUNCH
MENUITEM "&Open with...", IDM_FILE_OPENWITH
MENUITEM "&Open With...", IDM_FILE_OPENWITH
MENUITEM "&Command...\tCtrl+R", IDM_FILE_RUN
MENUITEM SEPARATOR
MENUITEM "Web Template &1\tCtrl+Shift+1", CMD_WEBACTION1
Expand Down Expand Up @@ -504,7 +504,7 @@ BEGIN
MENUITEM "Full &Path Name", IDM_VIEW_SHOWFULLPATH
MENUITEM "&Text Excerpt", IDM_VIEW_SHOWEXCERPT
END
POPUP "Esc &Key Function"
POPUP "Extra Esc &Key Function"
BEGIN
MENUITEM "&None", IDM_VIEW_NOESCFUNC
MENUITEM "&Minimize Notepad2", IDM_VIEW_ESCMINIMIZE
Expand All @@ -518,9 +518,11 @@ BEGIN
MENUITEM "Sh&ow Statusbar", IDM_VIEW_STATUSBAR
POPUP "Full Screen Mode"
BEGIN
MENUITEM "Hide Menu", IDM_VIEW_FULLSCREEN_HIDE_MENU
MENUITEM "Hide Toolbar", IDM_VIEW_FULLSCREEN_HIDE_TOOL
MENUITEM "Hide Statusbar", IDM_VIEW_FULLSCREEN_HIDE_STATUS
MENUITEM "On Startup", IDM_VIEW_FULLSCREEN_ON_START
MENUITEM SEPARATOR
MENUITEM "Hide Menu\tAlt+F11", IDM_VIEW_FULLSCREEN_HIDE_MENU
MENUITEM "Hide Toolbar\tCtrl+F11", IDM_VIEW_FULLSCREEN_HIDE_TOOL
MENUITEM "Hide Statusbar\tShift+F11", IDM_VIEW_FULLSCREEN_HIDE_STATUS
END
MENUITEM SEPARATOR
MENUITEM "Save Settings On E&xit", IDM_VIEW_SAVESETTINGS
Expand Down Expand Up @@ -691,7 +693,10 @@ BEGIN
VK_ESCAPE, CMD_ESCAPE, VIRTKEY, NOINVERT
VK_ESCAPE, CMD_SHIFTESC, VIRTKEY, SHIFT, NOINVERT
VK_F1, IDM_HELP_ABOUT, VIRTKEY, NOINVERT
VK_F11, IDM_VIEW_TOGGLE_FULLSCREEN, VIRTKEY, NOINVERT
VK_F11, IDM_VIEW_TOGGLE_FULLSCREEN, VIRTKEY, NOINVERT
VK_F11, IDM_VIEW_FULLSCREEN_HIDE_TOOL, VIRTKEY, CONTROL, NOINVERT
VK_F11, IDM_VIEW_FULLSCREEN_HIDE_MENU, VIRTKEY, ALT, NOINVERT
VK_F11, IDM_VIEW_FULLSCREEN_HIDE_STATUS, VIRTKEY, SHIFT, NOINVERT
VK_F12, IDM_VIEW_SCHEME, VIRTKEY, NOINVERT
VK_F12, IDM_VIEW_SCHEMECONFIG, VIRTKEY, CONTROL, NOINVERT
VK_F12, IDM_VIEW_FONT, VIRTKEY, ALT, NOINVERT
Expand Down
9 changes: 5 additions & 4 deletions src/resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -404,10 +404,11 @@
#define IDM_VIEW_FOLD_LEVEL10 40465
#define IDM_VIEW_AUTOCWITHDOCWORDS 40466
#define IDM_VIEW_FOLD_CURRENT 40467 // Alt+C
#define IDM_VIEW_TOGGLE_FULLSCREEN 40468
#define IDM_VIEW_FULLSCREEN_HIDE_MENU 40469
#define IDM_VIEW_FULLSCREEN_HIDE_TOOL 40470
#define IDM_VIEW_FULLSCREEN_HIDE_STATUS 40471
#define IDM_VIEW_TOGGLE_FULLSCREEN 40468 // F11
#define IDM_VIEW_FULLSCREEN_ON_START 40469
#define IDM_VIEW_FULLSCREEN_HIDE_MENU 40470
#define IDM_VIEW_FULLSCREEN_HIDE_TOOL 40471
#define IDM_VIEW_FULLSCREEN_HIDE_STATUS 40472
#define IDM_VIEW_SHOWCALLTIPS 40047
#define IDM_SET_RENDER_TECH_GDI 40048
#define IDM_SET_RENDER_TECH_D2D 40049
Expand Down

0 comments on commit 7640899

Please sign in to comment.