mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+chg: add Reset Zoom toolbar button
This commit is contained in:
parent
e7c36a4361
commit
493faf5b92
@ -113,6 +113,7 @@ SettingsVersion=5
|
||||
;28=History
|
||||
;29=Always On Top
|
||||
;30=Search in Files
|
||||
;31=Reset Zoom
|
||||
[Styles]
|
||||
[Window]
|
||||
;<ResX>x<ResY> DefaultWindowPosition=
|
||||
|
||||
@ -118,6 +118,7 @@
|
||||
#define IDT_FILE_RECENT 11027
|
||||
#define IDT_VIEW_PIN_ON_TOP 11028
|
||||
#define IDT_GREP_WIN_TOOL 11029
|
||||
#define IDT_VIEW_RESETZOOM 11030
|
||||
|
||||
#define IDS_MUI_APPTITLE_ELEVATED 12006
|
||||
#define IDS_MUI_APPTITLE_PASTEBOARD 12007
|
||||
|
||||
@ -73,6 +73,7 @@ BEGIN
|
||||
IDT_EDIT_REPLACE "Ersetze"
|
||||
IDT_VIEW_WORDWRAP "Wort Umbruch"
|
||||
IDT_VIEW_ZOOMIN "Hinein Zoomen"
|
||||
IDT_VIEW_RESETZOOM "Kein Zoom"
|
||||
IDT_VIEW_ZOOMOUT "Heraus Zoomen"
|
||||
IDT_VIEW_SCHEME "Wähle Schema"
|
||||
IDT_VIEW_SCHEMECONFIG "Bearbeite Schemata"
|
||||
|
||||
@ -73,6 +73,7 @@ BEGIN
|
||||
IDT_EDIT_REPLACE "Replace"
|
||||
IDT_VIEW_WORDWRAP "Word Wrap"
|
||||
IDT_VIEW_ZOOMIN "Zoom In"
|
||||
IDT_VIEW_RESETZOOM "Reset Zoom"
|
||||
IDT_VIEW_ZOOMOUT "Zoom Out"
|
||||
IDT_VIEW_SCHEME "Select Scheme"
|
||||
IDT_VIEW_SCHEMECONFIG "Customize Schemes"
|
||||
|
||||
@ -62,8 +62,8 @@ extern "C" {
|
||||
|
||||
#include "DarkMode/DarkMode.h"
|
||||
|
||||
extern "C" const WCHAR* const TBBUTTON_DEFAULT_IDS_V1;
|
||||
extern "C" const WCHAR* const TBBUTTON_DEFAULT_IDS_V2;
|
||||
extern "C" WCHAR TBBUTTON_DEFAULT_IDS[];
|
||||
extern "C" const WCHAR* const TBBUTTON_DEFAULT_IDS_OLD;
|
||||
|
||||
extern "C" bool g_iStatusbarVisible[STATUS_SECTOR_COUNT];
|
||||
extern "C" int g_iStatusbarWidthSpec[STATUS_SECTOR_COUNT];
|
||||
@ -1734,7 +1734,7 @@ void LoadSettings()
|
||||
///~Settings2.IMEInteraction = clampi(IniSectionGetInt(IniSecSettings, L"IMEInteraction", Settings2.IMEInteraction), SC_IME_WINDOWED, SC_IME_INLINE);
|
||||
|
||||
// see TBBUTTON s_tbbMainWnd[] for initial/reset set of buttons
|
||||
StringCchCopy(Defaults.ToolbarButtons, COUNTOF(Defaults.ToolbarButtons), (Globals.iCfgVersionRead < CFG_VER_0002) ? TBBUTTON_DEFAULT_IDS_V1 : TBBUTTON_DEFAULT_IDS_V2);
|
||||
StringCchCopy(Defaults.ToolbarButtons, COUNTOF(Defaults.ToolbarButtons), (Globals.iCfgVersionRead < CFG_VER_0002) ? TBBUTTON_DEFAULT_IDS_OLD : TBBUTTON_DEFAULT_IDS);
|
||||
IniSectionGetStringNoQuotes(IniSecSettings, L"ToolbarButtons", Defaults.ToolbarButtons, Settings.ToolbarButtons, COUNTOF(Settings.ToolbarButtons));
|
||||
|
||||
GET_BOOL_VALUE_FROM_INISECTION(ShowTitlebar, true);
|
||||
|
||||
144
src/Notepad3.c
144
src/Notepad3.c
@ -181,62 +181,69 @@ static char* s_SelectionBuffer = NULL;
|
||||
|
||||
static int const INISECTIONBUFCNT = 32; // .ini file load buffer in KB
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
// (!) ENSURE IDT_FILE_NEW -> IDT_VIEW_RESETZOOM corresponds to order of Toolbar.bmp
|
||||
#define NUMTOOLBITMAPS (31)
|
||||
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
static TBBUTTON s_tbbMainWnd[] = {
|
||||
{ 0,IDT_FILE_NEW,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 1,IDT_FILE_OPEN,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 3,IDT_FILE_SAVE,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 2,IDT_FILE_BROWSE,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 27,IDT_FILE_RECENT,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 4,IDT_EDIT_UNDO,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 5,IDT_EDIT_REDO,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 6,IDT_EDIT_CUT,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 7,IDT_EDIT_COPY,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 8,IDT_EDIT_PASTE,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 9,IDT_EDIT_FIND,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 10,IDT_EDIT_REPLACE,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 29,IDT_GREP_WIN_TOOL,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 11,IDT_VIEW_WORDWRAP,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 23,IDT_VIEW_TOGGLEFOLDS,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 25,IDT_VIEW_TOGGLE_VIEW,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 21,IDT_FILE_OPENFAV,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 22,IDT_FILE_ADDTOFAV,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 12,IDT_VIEW_ZOOMIN,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 13,IDT_VIEW_ZOOMOUT,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 14,IDT_VIEW_SCHEME,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 24,IDT_FILE_LAUNCH,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 28,IDT_VIEW_PIN_ON_TOP,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 16,IDT_FILE_EXIT,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0,0,0,BTNS_SEP,{0},0,0 },
|
||||
{ 15,IDT_VIEW_SCHEMECONFIG,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 17,IDT_FILE_SAVEAS,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 18,IDT_FILE_SAVECOPY,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 19,IDT_EDIT_CLEAR,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 20,IDT_FILE_PRINT,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 26,IDT_VIEW_CHASING_DOCTAIL,TBSTATE_ENABLED,BTNS_BUTTON,{0},0,0 },
|
||||
{ 0, IDT_FILE_NEW, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 1, IDT_FILE_OPEN, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 3, IDT_FILE_SAVE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 2, IDT_FILE_BROWSE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 27, IDT_FILE_RECENT, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 4, IDT_EDIT_UNDO, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 5, IDT_EDIT_REDO, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 6, IDT_EDIT_CUT, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 7, IDT_EDIT_COPY, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 8, IDT_EDIT_PASTE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 9, IDT_EDIT_FIND, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 10, IDT_EDIT_REPLACE, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 29, IDT_GREP_WIN_TOOL, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 11, IDT_VIEW_WORDWRAP, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 23, IDT_VIEW_TOGGLEFOLDS, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 25, IDT_VIEW_TOGGLE_VIEW, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 21, IDT_FILE_OPENFAV, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 22, IDT_FILE_ADDTOFAV, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 12, IDT_VIEW_ZOOMIN, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 30, IDT_VIEW_RESETZOOM, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 13, IDT_VIEW_ZOOMOUT, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 14, IDT_VIEW_SCHEME, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 24, IDT_FILE_LAUNCH, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 28, IDT_VIEW_PIN_ON_TOP, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 16, IDT_FILE_EXIT, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 0, 0, 0, BTNS_SEP, { 0 }, 0, 0 },
|
||||
{ 15, IDT_VIEW_SCHEMECONFIG, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 17, IDT_FILE_SAVEAS, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 18, IDT_FILE_SAVECOPY, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 19, IDT_EDIT_CLEAR, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 20, IDT_FILE_PRINT, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 },
|
||||
{ 26, IDT_VIEW_CHASING_DOCTAIL, TBSTATE_ENABLED, BTNS_BUTTON, { 0 }, 0, 0 }
|
||||
};
|
||||
static const int NUMTOOLBITMAPS = 30;
|
||||
// don't show buttons beyond this TBBUTTON[] index:
|
||||
#define TBBUTTON_LAST_DEFAULT (37)
|
||||
|
||||
WCHAR TBBUTTON_DEFAULT_IDS[256] = { L'\0' }; // filled in _InitGlobals()
|
||||
const WCHAR* const TBBUTTON_DEFAULT_IDS_OLD = L"1 2 4 3 28 0 5 6 0 7 8 9 0 10 11 0 30 0 12 0 24 26 0 22 23 0 13 14 0 27 0 15 0 25 0 17";
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
const char chr_currency[6] = { '$', 0x80, 0xA2, 0xA3, 0xA5, '\0' }; // "$€¢£¥" CP-1252
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
const WCHAR *const TBBUTTON_DEFAULT_IDS_V1 = L"1 2 4 3 28 0 5 6 0 7 8 9 0 10 11 0 30 0 12 0 24 26 0 22 23 0 13 14 0 27 0 15 0 25 0 17";
|
||||
const WCHAR* const TBBUTTON_DEFAULT_IDS_V2 = L"1 2 4 3 28 0 5 6 0 7 8 9 0 10 11 0 30 0 12 0 24 26 0 22 23 0 13 14 0 15 0 25 0 29 0 17";
|
||||
|
||||
//==============================================================================
|
||||
//
|
||||
// Save Needed Flag
|
||||
@ -829,6 +836,21 @@ static void _InitGlobals()
|
||||
g_tchToolbarBitmapHot = Path_Allocate(NULL);
|
||||
g_tchToolbarBitmapDisabled = Path_Allocate(NULL);
|
||||
|
||||
// --- dynamicly created globals ---
|
||||
|
||||
WCHAR tchIndex[16] = { L'\0' };
|
||||
StringCchPrintf(tchIndex, COUNTOF(tchIndex), L"%i", s_tbbMainWnd[0].iBitmap + 1);
|
||||
StringCchCopy(TBBUTTON_DEFAULT_IDS, COUNTOF(TBBUTTON_DEFAULT_IDS), tchIndex);
|
||||
assert(TBBUTTON_LAST_DEFAULT <= COUNTOF(s_tbbMainWnd));
|
||||
for (int i = 1; i < TBBUTTON_LAST_DEFAULT; ++i) {
|
||||
if (s_tbbMainWnd[i].idCommand) {
|
||||
StringCchPrintf(tchIndex, COUNTOF(tchIndex), L" %i", s_tbbMainWnd[i].iBitmap + 1);
|
||||
StringCchCat(TBBUTTON_DEFAULT_IDS, COUNTOF(TBBUTTON_DEFAULT_IDS), tchIndex);
|
||||
} else {
|
||||
StringCchCat(TBBUTTON_DEFAULT_IDS, COUNTOF(TBBUTTON_DEFAULT_IDS), L" 0");
|
||||
}
|
||||
}
|
||||
|
||||
// --- static locals ---
|
||||
|
||||
s_hpthRelaunchElevatedFile = Path_Allocate(NULL);
|
||||
@ -3154,15 +3176,15 @@ void CreateBars(HWND hwnd, HINSTANCE hInstance)
|
||||
}
|
||||
|
||||
// Load toolbar labels
|
||||
WCHAR tchDesc[256] = { L'\0' };
|
||||
WCHAR tchIndex[256] = { L'\0' };
|
||||
WCHAR tchIndex[16] = { L'\0' };
|
||||
WCHAR tchDesc[80] = { L'\0' };
|
||||
for (int i = 0; i < COUNTOF(s_tbbMainWnd); ++i) {
|
||||
|
||||
if (s_tbbMainWnd[i].fsStyle == BTNS_SEP) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int n = s_tbbMainWnd[i].iBitmap + 1;
|
||||
StringCchPrintf(tchIndex, COUNTOF(tchIndex), L"%02i", n);
|
||||
StringCchPrintf(tchIndex, COUNTOF(tchIndex), L"%02i", s_tbbMainWnd[i].iBitmap + 1);
|
||||
|
||||
if (IniSectionGetString(L"Toolbar Labels", tchIndex, L"", tchDesc, COUNTOF(tchDesc)) > 0) {
|
||||
s_tbbMainWnd[i].iString = SendMessage(Globals.hwndToolbar, TB_ADDSTRING, 0, (LPARAM)tchDesc);
|
||||
@ -7352,6 +7374,14 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam)
|
||||
}
|
||||
break;
|
||||
|
||||
case IDT_VIEW_RESETZOOM:
|
||||
if (IsCmdEnabled(hwnd, IDM_VIEW_RESETZOOM)) {
|
||||
SendWMCommand(hwnd, IDM_VIEW_RESETZOOM);
|
||||
} else {
|
||||
SimpleBeep();
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case IDT_VIEW_ZOOMOUT:
|
||||
if (IsCmdEnabled(hwnd,IDM_VIEW_ZOOMOUT)) {
|
||||
@ -9852,8 +9882,6 @@ static void _UpdateToolbarDelayed()
|
||||
bool const b2 = !Sci_IsDocEmpty();
|
||||
bool const ro = SciCall_GetReadOnly();
|
||||
bool const tv = FocusedView.HideNonMatchedLines;
|
||||
bool const zi = (SciCall_GetZoom() > 100);
|
||||
bool const zo = (SciCall_GetZoom() < 100);
|
||||
|
||||
EnableTool(Globals.hwndToolbar, IDT_EDIT_UNDO, SciCall_CanUndo() && !ro);
|
||||
EnableTool(Globals.hwndToolbar, IDT_EDIT_REDO, SciCall_CanRedo() && !ro);
|
||||
@ -9875,8 +9903,10 @@ static void _UpdateToolbarDelayed()
|
||||
EnableTool(Globals.hwndToolbar, IDT_VIEW_TOGGLE_VIEW, b2 && IsFocusedViewAllowed());
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_TOGGLE_VIEW, tv);
|
||||
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_ZOOMIN, zi);
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_ZOOMOUT, zo);
|
||||
int const zoom = SciCall_GetZoom();
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_ZOOMIN, (zoom > 100));
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_RESETZOOM, (zoom == 100));
|
||||
CheckTool(Globals.hwndToolbar, IDT_VIEW_ZOOMOUT, (zoom < 100));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user