Skip to content

Commit

Permalink
Add "Sticky Window Position" menu, issue zufuliu#280.
Browse files Browse the repository at this point in the history
  • Loading branch information
zufuliu committed Apr 24, 2021
1 parent 1063ee1 commit 68a89b6
Show file tree
Hide file tree
Showing 10 changed files with 25 additions and 3 deletions.
1 change: 1 addition & 0 deletions locale/de/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "Minimi&ze to Tray", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "&Reuse Window", IDM_VIEW_REUSEWINDOW
MENUITEM "&Sticky Window Position", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "Clear Position &History", IDM_VIEW_CLEARWINPOS
END
POPUP "Window Title Displa&y"
Expand Down
1 change: 1 addition & 0 deletions locale/it/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "Minimi&ze to Tray", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "&Reuse Window", IDM_VIEW_REUSEWINDOW
MENUITEM "&Sticky Window Position", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "Clear Position &History", IDM_VIEW_CLEARWINPOS
END
POPUP "Window Title Displa&y"
Expand Down
1 change: 1 addition & 0 deletions locale/ja/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "システムトレイに最小化(&Z)", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "新しいウィンドウを開かない(&R)", IDM_VIEW_REUSEWINDOW
MENUITEM "&Sticky Window Position", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "ウィンドウ位置の履歴を消去(&H)", IDM_VIEW_CLEARWINPOS
END
POPUP "タイトルバーの表示名(&Y)"
Expand Down
1 change: 1 addition & 0 deletions locale/ko/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "트레이로 최소화(&Z)", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "창 재사용(&R)", IDM_VIEW_REUSEWINDOW
MENUITEM "&Sticky Window Position", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "창 위치 사용 내역 지우기(&H)", IDM_VIEW_CLEARWINPOS
END
POPUP "창 제목 표시(&Y)"
Expand Down
1 change: 1 addition & 0 deletions locale/zh-Hans/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "最小化到托盘(&Z)", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "重用窗口(&R)", IDM_VIEW_REUSEWINDOW
MENUITEM "固定窗口位置(&S)", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "清除位置记录(&H)", IDM_VIEW_CLEARWINPOS
END
POPUP "窗口标题显示(&Y)"
Expand Down
1 change: 1 addition & 0 deletions locale/zh-Hant/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "最小化到托盤(&Z)", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "重用視窗(&R)", IDM_VIEW_REUSEWINDOW
MENUITEM "固定視窗位置(&S)", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "清除位置記錄(&H)", IDM_VIEW_CLEARWINPOS
END
POPUP "視窗標題顯示(&Y)"
Expand Down
18 changes: 16 additions & 2 deletions src/Notepad2.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ static int flagNoReuseWindow = 0;
static int flagReuseWindow = 0;
static BOOL bSingleFileInstance = TRUE;
static BOOL bReuseWindow = FALSE;
static BOOL bStickyWindowPosition = FALSE;
static int flagMultiFileArg = 0;
static int flagSingleFileInstance = 1;
static int flagStartAsTrayIcon = 0;
Expand Down Expand Up @@ -2553,6 +2554,8 @@ void MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam) {
CheckCmd(hmenu, IDM_VIEW_HIGHLIGHTCURRENTLINE_SUBLINE, bHighlightCurrentSubLine);

CheckCmd(hmenu, IDM_VIEW_REUSEWINDOW, bReuseWindow);
CheckCmd(hmenu, IDM_VIEW_STICKY_WINDOW_POSITION, bStickyWindowPosition);
EnableCmd(hmenu, IDM_VIEW_CLEARWINPOS, !bStickyWindowPosition);
CheckCmd(hmenu, IDM_VIEW_SINGLEFILEINSTANCE, bSingleFileInstance);
CheckCmd(hmenu, IDM_VIEW_ALWAYSONTOP, IsTopMost());
CheckCmd(hmenu, IDM_VIEW_MINTOTRAY, bMinimizeToTray);
Expand Down Expand Up @@ -2613,6 +2616,7 @@ void MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam) {
EnableCmd(hmenu, CMD_OPENINIFILE, i);

EnableCmd(hmenu, IDM_VIEW_REUSEWINDOW, i);
EnableCmd(hmenu, IDM_VIEW_STICKY_WINDOW_POSITION, i);
EnableCmd(hmenu, IDM_VIEW_SINGLEFILEINSTANCE, i);
EnableCmd(hmenu, IDM_VIEW_NOSAVERECENT, i);
EnableCmd(hmenu, IDM_VIEW_NOSAVEFINDREPL, i);
Expand Down Expand Up @@ -4192,6 +4196,14 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) {
ClearWindowPositionHistory();
break;

case IDM_VIEW_STICKY_WINDOW_POSITION:
if (!bStickyWindowPosition) {
SaveSettingsNow(FALSE, TRUE);
}
bStickyWindowPosition = !bStickyWindowPosition;
IniSetBoolEx(INI_SECTION_NAME_FLAGS, L"StickyWindowPosition", bStickyWindowPosition, 0);
break;

case IDM_VIEW_REUSEWINDOW:
bReuseWindow = !bReuseWindow;
IniSetBoolEx(INI_SECTION_NAME_FLAGS, L"ReuseWindow", bReuseWindow, 0);
Expand Down Expand Up @@ -5792,8 +5804,9 @@ void SaveSettings(BOOL bSaveSettingsNow) {
IniSectionSetIntEx(pIniSection, L"FullScreenMode", iFullScreenMode, FullScreenMode_Default);

SaveIniSection(INI_SECTION_NAME_SETTINGS, pIniSectionBuf);

SaveWindowPosition(bSaveSettingsNow, pIniSectionBuf);
if (!bStickyWindowPosition) {
SaveWindowPosition(bSaveSettingsNow, pIniSectionBuf);
}
// Scintilla Styles
Style_Save();
}
Expand Down Expand Up @@ -6559,6 +6572,7 @@ void LoadFlags(void) {

bSingleFileInstance = IniSectionGetBool(pIniSection, L"SingleFileInstance", 1);
bReuseWindow = IniSectionGetBool(pIniSection, L"ReuseWindow", 0);
bStickyWindowPosition = IniSectionGetBool(pIniSection, L"StickyWindowPosition", 0);

if (!flagReuseWindow && !flagNoReuseWindow) {
flagNoReuseWindow = !bReuseWindow;
Expand Down
1 change: 1 addition & 0 deletions src/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,7 @@ BEGIN
MENUITEM "Minimi&ze to Tray", IDM_VIEW_MINTOTRAY
MENUITEM SEPARATOR
MENUITEM "&Reuse Window", IDM_VIEW_REUSEWINDOW
MENUITEM "&Sticky Window Position", IDM_VIEW_STICKY_WINDOW_POSITION
MENUITEM "Clear Position &History", IDM_VIEW_CLEARWINPOS
END
POPUP "Window Title Displa&y"
Expand Down
2 changes: 1 addition & 1 deletion src/resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@
#define IDM_VIEW_FULLSCREEN_ON_START 40469
#define IDM_VIEW_FULLSCREEN_HIDE_TITLE 40470
#define IDM_VIEW_FULLSCREEN_HIDE_MENU 40471
//40472
#define IDM_VIEW_STICKY_WINDOW_POSITION 40472
#define IDM_VIEW_ZOOM_LEVEL 40473
#define IDM_VIEW_HIGHLIGHTCURRENTLINE_NONE 40474
#define IDM_VIEW_HIGHLIGHTCURRENTLINE_BACK 40475 // Ctrl+Shift+I
Expand Down
1 change: 1 addition & 0 deletions tools/ImageTool.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ def make_notepad2_toolbar_bitmap():
'images/.png', # IDT_FILE_ADDTOFAV
'images/.png', # IDT_VIEW_TOGGLEFOLDS
'images/.png', # IDT_FILE_LAUNCH
'images/pin-angle-16x.png', # IDT_VIEW_ALWAYSONTOP
], 'Toolbar.bmp')

#make_matapath_toolbar_bitmap()
Expand Down

0 comments on commit 68a89b6

Please sign in to comment.