mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+ enh: Non Modal Customize Schemes... dialog
This commit is contained in:
parent
3de9663aee
commit
415bf9979c
@ -1241,11 +1241,13 @@ INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
ResizeDlg_Init(hwnd,cxFileMRUDlg,cyFileMRUDlg,IDC_RESIZEGRIP);
|
||||
|
||||
ListView_SetImageList(GetDlgItem(hwnd,IDC_FILEMRU),
|
||||
(HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),SHGFI_SMALLICON | SHGFI_SYSICONINDEX),
|
||||
(HIMAGELIST)SHGetFileInfo(L"C:\\",FILE_ATTRIBUTE_DIRECTORY,
|
||||
&shfi,sizeof(SHFILEINFO),SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES),
|
||||
LVSIL_SMALL);
|
||||
|
||||
ListView_SetImageList(GetDlgItem(hwnd,IDC_FILEMRU),
|
||||
(HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),SHGFI_LARGEICON | SHGFI_SYSICONINDEX),
|
||||
(HIMAGELIST)SHGetFileInfo(L"C:\\",FILE_ATTRIBUTE_DIRECTORY,
|
||||
&shfi,sizeof(SHFILEINFO),SHGFI_LARGEICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES),
|
||||
LVSIL_NORMAL);
|
||||
|
||||
//SetExplorerTheme(GetDlgItem(hwnd,IDC_FILEMRU));
|
||||
@ -1445,7 +1447,7 @@ INT_PTR CALLBACK FileMRUDlgProc(HWND hwnd,UINT umsg,WPARAM wParam,LPARAM lParam)
|
||||
lvi.mask = LVIF_TEXT | LVIF_IMAGE;
|
||||
|
||||
SHGetFileInfo(L"Icon",FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
|
||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES);
|
||||
|
||||
lvi.iImage = shfi.iIcon;
|
||||
|
||||
|
||||
52
src/Dlapi.c
52
src/Dlapi.c
@ -83,13 +83,13 @@ BOOL DirList_Init(HWND hwnd,LPCWSTR pszHeader)
|
||||
StringCchCopy(lpdl->szPath,COUNTOF(lpdl->szPath),L"");
|
||||
|
||||
// Add Imagelists
|
||||
hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
|
||||
hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",FILE_ATTRIBUTE_DIRECTORY,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES);
|
||||
|
||||
ListView_SetImageList(hwnd,hil,LVSIL_SMALL);
|
||||
|
||||
hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_LARGEICON | SHGFI_SYSICONINDEX);
|
||||
hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",FILE_ATTRIBUTE_DIRECTORY,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_LARGEICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES);
|
||||
|
||||
ListView_SetImageList(hwnd,hil,LVSIL_NORMAL);
|
||||
|
||||
@ -450,8 +450,19 @@ DWORD WINAPI DirList_IconThread(LPVOID lpParam)
|
||||
|
||||
if (!lpshi || NOERROR != lpshi->lpVtbl->GetIconOf(lpshi,lplvid->pidl,GIL_FORSHELL,&lvi.iImage))
|
||||
{
|
||||
pidl = IL_Create(lpdl->pidl,lpdl->cbidl,lplvid->pidl,0);
|
||||
SHGetFileInfo((LPCWSTR)pidl,0,&shfi,sizeof(SHFILEINFO),SHGFI_PIDL | SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
|
||||
// get attributes of the shell object using its pidl.
|
||||
lplvid->lpsf->lpVtbl->GetAttributesOf(lplvid->lpsf, 1, &lplvid->pidl, &dwAttributes);
|
||||
|
||||
DWORD attr = 0;
|
||||
if ((dwAttributes & SFGAO_FOLDER) == SFGAO_FOLDER)
|
||||
attr = FILE_ATTRIBUTE_DIRECTORY;
|
||||
else
|
||||
attr = FILE_ATTRIBUTE_NORMAL;
|
||||
|
||||
pidl = IL_Create(lpdl->pidl, lpdl->cbidl, lplvid->pidl, 0);
|
||||
|
||||
SHGetFileInfo((LPCWSTR)pidl,attr,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_PIDL | SHGFI_SYSICONINDEX | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
|
||||
CoTaskMemFree(pidl);
|
||||
lvi.iImage = shfi.iIcon;
|
||||
}
|
||||
@ -461,10 +472,7 @@ DWORD WINAPI DirList_IconThread(LPVOID lpParam)
|
||||
lvi.state = 0;
|
||||
|
||||
// Link and Share Overlay
|
||||
lplvid->lpsf->lpVtbl->GetAttributesOf(
|
||||
lplvid->lpsf,
|
||||
1,&lplvid->pidl,
|
||||
&dwAttributes);
|
||||
lplvid->lpsf->lpVtbl->GetAttributesOf(lplvid->lpsf,1,&lplvid->pidl,&dwAttributes);
|
||||
|
||||
if (dwAttributes & SFGAO_LINK)
|
||||
{
|
||||
@ -1019,17 +1027,14 @@ typedef struct tagDC_ITEMDATA
|
||||
//
|
||||
BOOL DriveBox_Init(HWND hwnd)
|
||||
{
|
||||
|
||||
HIMAGELIST hil;
|
||||
SHFILEINFO shfi;
|
||||
|
||||
hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
|
||||
HIMAGELIST hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",FILE_ATTRIBUTE_DIRECTORY,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_USEFILEATTRIBUTES);
|
||||
SendMessage(hwnd,CBEM_SETIMAGELIST,0,(LPARAM)hil);
|
||||
SendMessage(hwnd,CBEM_SETEXTENDEDSTYLE,CBES_EX_NOSIZELIMIT,CBES_EX_NOSIZELIMIT);
|
||||
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1376,7 +1381,7 @@ LRESULT DriveBox_GetDispInfo(HWND hwnd,LPARAM lParam)
|
||||
NMCOMBOBOXEX *lpnmcbe;
|
||||
LPDC_ITEMDATA lpdcid;
|
||||
SHFILEINFO shfi;
|
||||
WCHAR szTemp[256] = { L'\0' };
|
||||
WCHAR szTemp[MAX_PATH] = { L'\0' };
|
||||
|
||||
lpnmcbe = (LPVOID)lParam;
|
||||
lpdcid = (LPDC_ITEMDATA)lpnmcbe->ceItem.lParam;
|
||||
@ -1391,8 +1396,19 @@ LRESULT DriveBox_GetDispInfo(HWND hwnd,LPARAM lParam)
|
||||
// Get Icon Index
|
||||
if (lpnmcbe->ceItem.mask & (CBEIF_IMAGE | CBEIF_SELECTEDIMAGE))
|
||||
{
|
||||
IL_GetDisplayName(lpdcid->lpsf,lpdcid->pidl,SHGDN_FORPARSING,szTemp,256);
|
||||
SHGetFileInfo(szTemp,0,&shfi,sizeof(SHFILEINFO),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
|
||||
DWORD dwAttributes = 0;
|
||||
// get attributes of the shell object using its pidl.
|
||||
lpdcid->lpsf->lpVtbl->GetAttributesOf(lpdcid->lpsf, 1, &lpdcid->pidl, &dwAttributes);
|
||||
|
||||
DWORD attr = 0;
|
||||
if ((dwAttributes & SFGAO_FOLDER) == SFGAO_FOLDER)
|
||||
attr = FILE_ATTRIBUTE_DIRECTORY;
|
||||
else
|
||||
attr = FILE_ATTRIBUTE_NORMAL;
|
||||
|
||||
IL_GetDisplayName(lpdcid->lpsf,lpdcid->pidl,SHGDN_FORPARSING,szTemp,MAX_PATH);
|
||||
SHGetFileInfo(szTemp,attr,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_SYSICONINDEX | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES);
|
||||
lpnmcbe->ceItem.iImage = shfi.iIcon;
|
||||
lpnmcbe->ceItem.iSelectedImage = shfi.iIcon;
|
||||
}
|
||||
|
||||
27
src/Edit.c
27
src/Edit.c
@ -76,10 +76,10 @@ extern BOOL bFindReplCopySelOrClip;
|
||||
static EDITFINDREPLACE efrSave;
|
||||
static BOOL bSwitchedFindReplace = FALSE;
|
||||
|
||||
static int xFindReplaceDlgSave;
|
||||
static int yFindReplaceDlgSave;
|
||||
extern int xFindReplaceDlg;
|
||||
extern int yFindReplaceDlg;
|
||||
static int xFindReplaceDlgSave;
|
||||
static int yFindReplaceDlgSave;
|
||||
|
||||
extern int g_iDefaultEOLMode;
|
||||
extern int iLineEndings[3];
|
||||
@ -800,7 +800,7 @@ BOOL EditPasteClipboard(HWND hwnd, BOOL bSwapClipBoard)
|
||||
|
||||
if (SciCall_IsSelectionEmpty() || (lineCount <= 1))
|
||||
{
|
||||
if (SciCall_IsSelectionEmpty())
|
||||
if (SciCall_IsSelectionEmpty()) // SC_SEL_THIN
|
||||
{
|
||||
SciCall_Paste();
|
||||
if (bSwapClipBoard) {
|
||||
@ -834,7 +834,7 @@ BOOL EditPasteClipboard(HWND hwnd, BOOL bSwapClipBoard)
|
||||
EditPaste2RectSel(hwnd, pClip);
|
||||
// TODO: restore selection in case of swap clipboard
|
||||
}
|
||||
else // Selection: SC_SEL_STREAM, SC_SEL_LINES, SC_SEL_THIN
|
||||
else // Selection: SC_SEL_STREAM, SC_SEL_LINES
|
||||
{
|
||||
if (bSwapClipBoard) {
|
||||
SciCall_Copy();
|
||||
@ -4811,7 +4811,6 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
|
||||
CopyMemory(lpefr, &efrSave, sizeof(EDITFINDREPLACE));
|
||||
}
|
||||
|
||||
|
||||
HMENU hmenu = GetSystemMenu(hwnd, FALSE);
|
||||
GetString(IDS_SAVEPOS, tchBuf, COUNTOF(tchBuf));
|
||||
InsertMenu(hmenu, 0, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_SAVEPOS, tchBuf);
|
||||
@ -4829,11 +4828,13 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
DeleteObject(hBrushRed);
|
||||
DeleteObject(hBrushGreen);
|
||||
DeleteObject(hBrushBlue);
|
||||
KillTimer(hwnd, IDT_TIMER_MRKALL);
|
||||
|
||||
if (iSaveMarkOcc >= 0) {
|
||||
EnableCmd(GetMenu(g_hwndMain), IDM_VIEW_MARKOCCUR_ONOFF, TRUE);
|
||||
@ -4845,8 +4846,6 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
|
||||
EnableCmd(GetMenu(g_hwndMain), IDM_VIEW_MARKOCCUR_VISIBLE, bMarkOccurrencesMatchVisible);
|
||||
|
||||
iReplacedOccurrences = 0;
|
||||
|
||||
KillTimer(hwnd, IDT_TIMER_MRKALL);
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
@ -5328,6 +5327,10 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
|
||||
PostMessage(hwnd, WM_NEXTDLGCTL, (WPARAM)(GetDlgItem(hwnd, IDC_FINDTEXT)), 1);
|
||||
break;
|
||||
|
||||
case IDACC_VIEWSCHEMECONFIG:
|
||||
PostMessage(GetParent(hwnd), WM_COMMAND, MAKELONG(IDM_VIEW_SCHEMECONFIG, 1), 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
//return FALSE; ???
|
||||
break;
|
||||
@ -6033,10 +6036,9 @@ void EditCompleteWord(HWND hwnd, BOOL autoInsert)
|
||||
{
|
||||
const char* NON_WORD = bAccelWordNavigation ? DelimCharsAccel : DelimChars;
|
||||
|
||||
DocPos iCurrentPos = (int)SendMessage(hwnd, SCI_GETCURRENTPOS, 0, 0);
|
||||
DocLn iLine = (int)SendMessage(hwnd, SCI_LINEFROMPOSITION, iCurrentPos, 0);
|
||||
DocPos iCurrentLinePos = iCurrentPos - (int)SendMessage(hwnd, SCI_POSITIONFROMLINE, (WPARAM)iLine, 0);
|
||||
DocPos iStartWordPos = iCurrentLinePos;
|
||||
const DocPos iCurrentPos = SciCall_GetCurrentPos();
|
||||
const DocLn iLine = SciCall_LineFromPosition(iCurrentPos);
|
||||
const DocPos iCurrentLinePos = iCurrentPos - SciCall_PositionFromLine(iLine);
|
||||
struct Sci_TextRange tr = { { 0, -1 }, NULL };
|
||||
BOOL bWordAllNumbers = TRUE;
|
||||
struct WLIST* lListHead = NULL;
|
||||
@ -6045,8 +6047,9 @@ void EditCompleteWord(HWND hwnd, BOOL autoInsert)
|
||||
char* pLine = LocalAlloc(LPTR, (int)SendMessage(hwnd, SCI_GETLINE, (WPARAM)iLine, 0) + 1);
|
||||
SendMessage(hwnd, SCI_GETLINE, (WPARAM)iLine, (LPARAM)pLine);
|
||||
|
||||
DocPos iStartWordPos = iCurrentLinePos;
|
||||
while (iStartWordPos > 0 && !StrChrIA(NON_WORD, pLine[iStartWordPos - 1])) {
|
||||
iStartWordPos--;
|
||||
--iStartWordPos;
|
||||
if (pLine[iStartWordPos] < '0' || pLine[iStartWordPos] > '9') {
|
||||
bWordAllNumbers = FALSE;
|
||||
}
|
||||
|
||||
@ -520,7 +520,7 @@ BOOL SetWindowTitle(HWND hwnd,UINT uIDAppName,BOOL bIsElevated,UINT uIDUntitled,
|
||||
if (StringCchCompareN(szCachedFile,COUNTOF(szCachedFile),lpszFile,MAX_PATH) != 0) {
|
||||
SHFILEINFO shfi;
|
||||
StringCchCopy(szCachedFile,COUNTOF(szCachedFile),lpszFile);
|
||||
if (SHGetFileInfo2(lpszFile,0,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME))
|
||||
if (SHGetFileInfo2(lpszFile,FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES))
|
||||
StringCchCopy(szCachedDisplayName,COUNTOF(szCachedDisplayName),shfi.szDisplayName);
|
||||
else
|
||||
StringCchCopy(szCachedDisplayName,COUNTOF(szCachedDisplayName),PathFindFileName(lpszFile));
|
||||
|
||||
@ -42,6 +42,9 @@ extern WCHAR g_wchIniFile[MAX_PATH];
|
||||
__forceinline void swapi(int* a, int* b) { int t = *a; *a = *b; *b = t; }
|
||||
__forceinline void swapos(DocPos* a, DocPos* b) { DocPos t = *a; *a = *b; *b = t; }
|
||||
|
||||
__forceinline bool HasFractionCent(float f) { return ((((int)(f * 100.0)) % 100) != 0); }
|
||||
|
||||
|
||||
#define IniGetString(lpSection,lpName,lpDefault,lpReturnedStr,nSize) \
|
||||
GetPrivateProfileString(lpSection,lpName,(lpDefault),(lpReturnedStr),(nSize),g_wchIniFile)
|
||||
#define IniGetInt(lpSection,lpName,nDefault) \
|
||||
|
||||
@ -62,6 +62,7 @@ HWND g_hwndEdit = NULL;
|
||||
HWND g_hwndStatus = NULL;
|
||||
HWND g_hwndToolbar = NULL;
|
||||
HWND g_hwndDlgFindReplace = NULL;
|
||||
HWND g_hwndDlgCustomizeSchemes = NULL;
|
||||
HWND hwndReBar = NULL;
|
||||
HWND hwndEditFrame = NULL;
|
||||
HWND hwndNextCBChain = NULL;
|
||||
@ -245,6 +246,9 @@ int cxFavoritesDlg;
|
||||
int cyFavoritesDlg;
|
||||
int xFindReplaceDlg;
|
||||
int yFindReplaceDlg;
|
||||
int xCustomSchemesDlg;
|
||||
int yCustomSchemesDlg;
|
||||
|
||||
|
||||
LPWSTR lpFileList[32] = { NULL };
|
||||
int cFileList = 0;
|
||||
@ -427,6 +431,7 @@ int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int n
|
||||
HWND hwnd;
|
||||
HACCEL hAccMain;
|
||||
HACCEL hAccFindReplace;
|
||||
HACCEL hAccCoustomizeSchemes;
|
||||
INITCOMMONCONTROLSEX icex;
|
||||
//HMODULE hSciLexer;
|
||||
WCHAR wchAppDir[2*MAX_PATH+4] = { L'\0' };
|
||||
@ -547,7 +552,8 @@ int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int n
|
||||
|
||||
hAccMain = LoadAccelerators(hInstance,MAKEINTRESOURCE(IDR_MAINWND));
|
||||
hAccFindReplace = LoadAccelerators(hInstance,MAKEINTRESOURCE(IDR_ACCFINDREPLACE));
|
||||
|
||||
hAccCoustomizeSchemes = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCCUSTOMSCHEMES));
|
||||
|
||||
UpdateLineNumberWidth();
|
||||
ObserveNotifyChangeEvent();
|
||||
|
||||
@ -555,10 +561,15 @@ int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int n
|
||||
{
|
||||
if (IsWindow(g_hwndDlgFindReplace) && ((msg.hwnd == g_hwndDlgFindReplace) || IsChild(g_hwndDlgFindReplace, msg.hwnd)))
|
||||
{
|
||||
int iTr = TranslateAccelerator(g_hwndDlgFindReplace, hAccFindReplace, &msg);
|
||||
const int iTr = TranslateAccelerator(g_hwndDlgFindReplace, hAccFindReplace, &msg);
|
||||
if (iTr || IsDialogMessage(g_hwndDlgFindReplace, &msg))
|
||||
continue;
|
||||
}
|
||||
if (IsWindow(g_hwndDlgCustomizeSchemes) && ((msg.hwnd == g_hwndDlgCustomizeSchemes) || IsChild(g_hwndDlgCustomizeSchemes, msg.hwnd))) {
|
||||
const int iTr = TranslateAccelerator(g_hwndDlgCustomizeSchemes, hAccCoustomizeSchemes, &msg);
|
||||
if (iTr || IsDialogMessage(g_hwndDlgCustomizeSchemes, &msg))
|
||||
continue;
|
||||
}
|
||||
if (!TranslateAccelerator(hwnd,hAccMain,&msg)) {
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
@ -927,7 +938,7 @@ HWND InitInstance(HINSTANCE hInstance,LPSTR pszCmdLine,int nCmdShow)
|
||||
WCHAR tchPageFmt[32] = { L'\0' };
|
||||
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
SHGetFileInfo2(g_wchCurFile, 0, &shfi, sizeof(SHFILEINFO), SHGFI_DISPLAYNAME);
|
||||
SHGetFileInfo2(g_wchCurFile, FILE_ATTRIBUTE_NORMAL, &shfi, sizeof(SHFILEINFO), SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES);
|
||||
pszTitle = shfi.szDisplayName;
|
||||
}
|
||||
else {
|
||||
@ -1543,6 +1554,10 @@ void MsgEndSession(HWND hwnd, UINT umsg)
|
||||
if (IsWindow(g_hwndDlgFindReplace))
|
||||
DestroyWindow(g_hwndDlgFindReplace);
|
||||
|
||||
// Destroy customize schemes
|
||||
if (IsWindow(g_hwndDlgCustomizeSchemes))
|
||||
DestroyWindow(g_hwndDlgCustomizeSchemes);
|
||||
|
||||
// call SaveSettings() when g_hwndToolbar is still valid
|
||||
SaveSettings(FALSE);
|
||||
|
||||
@ -2254,6 +2269,9 @@ void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
EnableCmd(hmenu, CMD_CTRLDEL, i);
|
||||
EnableCmd(hmenu, CMD_TIMESTAMPS, i);
|
||||
|
||||
EnableCmd(hmenu, IDM_VIEW_FONT, !IsWindow(g_hwndDlgCustomizeSchemes));
|
||||
EnableCmd(hmenu, IDM_VIEW_CURRENTSCHEME, !IsWindow(g_hwndDlgCustomizeSchemes));
|
||||
|
||||
EnableCmd(hmenu,IDM_VIEW_TOGGLEFOLDS,i && (g_bCodeFoldingAvailable && g_bShowCodeFolding));
|
||||
CheckCmd(hmenu,IDM_VIEW_FOLDING, (g_bCodeFoldingAvailable && g_bShowCodeFolding));
|
||||
EnableCmd(hmenu, IDM_VIEW_FOLDING, g_bCodeFoldingAvailable);
|
||||
@ -2557,7 +2575,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
WCHAR tchPageFmt[32] = { L'\0' };
|
||||
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
SHGetFileInfo2(g_wchCurFile,0,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME);
|
||||
SHGetFileInfo2(g_wchCurFile,FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES);
|
||||
pszTitle = shfi.szDisplayName;
|
||||
}
|
||||
else {
|
||||
@ -2628,7 +2646,8 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
case IDM_FILE_ADDTOFAV:
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
SHFILEINFO shfi;
|
||||
SHGetFileInfo2(g_wchCurFile,0,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME);
|
||||
SHGetFileInfo2(g_wchCurFile,FILE_ATTRIBUTE_NORMAL,
|
||||
&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES);
|
||||
AddToFavDlg(hwnd,shfi.szDisplayName,g_wchCurFile);
|
||||
}
|
||||
break;
|
||||
@ -3409,13 +3428,13 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
if (LOWORD(wParam) == IDM_EDIT_INSERT_FILENAME) {
|
||||
SHGetFileInfo2(g_wchCurFile,0,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME);
|
||||
SHGetFileInfo2(g_wchCurFile,FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(SHFILEINFO),
|
||||
SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES);
|
||||
pszInsert = shfi.szDisplayName;
|
||||
}
|
||||
else
|
||||
pszInsert = g_wchCurFile;
|
||||
}
|
||||
|
||||
else {
|
||||
GetString(IDS_UNTITLED,tchUntitled,COUNTOF(tchUntitled));
|
||||
pszInsert = tchUntitled;
|
||||
@ -3852,27 +3871,31 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
|
||||
case IDM_VIEW_SCHEMECONFIG:
|
||||
Style_ConfigDlg(g_hwndEdit);
|
||||
UpdateToolbar();
|
||||
UpdateStatusbar();
|
||||
UpdateLineNumberWidth();
|
||||
if (!IsWindow(g_hwndDlgCustomizeSchemes)) {
|
||||
g_hwndDlgCustomizeSchemes = Style_CustomizeSchemesDlg(g_hwndEdit);
|
||||
}
|
||||
else {
|
||||
SetForegroundWindow(g_hwndDlgCustomizeSchemes);
|
||||
}
|
||||
PostMessage(g_hwndDlgCustomizeSchemes, WM_COMMAND, MAKELONG(IDC_SETCURLEXERTV, 1), 0);
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_FONT:
|
||||
Style_SetDefaultFont(g_hwndEdit, TRUE);
|
||||
if (!IsWindow(g_hwndDlgCustomizeSchemes))
|
||||
Style_SetDefaultFont(g_hwndEdit, TRUE);
|
||||
UpdateToolbar();
|
||||
UpdateStatusbar();
|
||||
UpdateLineNumberWidth();
|
||||
break;
|
||||
|
||||
case IDM_VIEW_CURRENTSCHEME:
|
||||
Style_SetDefaultFont(g_hwndEdit, FALSE);
|
||||
if (!IsWindow(g_hwndDlgCustomizeSchemes))
|
||||
Style_SetDefaultFont(g_hwndEdit, FALSE);
|
||||
UpdateToolbar();
|
||||
UpdateStatusbar();
|
||||
UpdateLineNumberWidth();
|
||||
break;
|
||||
|
||||
|
||||
case IDM_VIEW_WORDWRAP:
|
||||
bWordWrap = (bWordWrap) ? FALSE : TRUE;
|
||||
if (!bWordWrap)
|
||||
@ -5484,6 +5507,17 @@ LRESULT MsgNotify(HWND hwnd,WPARAM wParam,LPARAM lParam)
|
||||
else if (bAutoCompleteWords && !SendMessage(g_hwndEdit, SCI_AUTOCACTIVE, 0, 0)) {
|
||||
EditCompleteWord(g_hwndEdit, FALSE);
|
||||
}
|
||||
//else if (SciCall_IsSelectionRectangle() || IsThinRectangleSelected()) {
|
||||
// WCHAR wch[8] = { L'\0' };
|
||||
// StringCchPrintfW(wch, COUNTOF(wch), L"%lc", (WCHAR)(scn->ch));
|
||||
// char chr[8] = { '\0' };
|
||||
// WideCharToMultiByteStrg(Encoding_SciGetCodePage(g_hwndEdit), wch, chr);
|
||||
|
||||
// if (SciCall_IsSelectionRectangle())
|
||||
// EditPaste2RectSel(g_hwndEdit, chr);
|
||||
// else
|
||||
// SciCall_ReplaceSel(chr);
|
||||
//}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -5905,6 +5939,8 @@ void LoadSettings()
|
||||
xFindReplaceDlg = IniSectionGetInt(pIniSection,L"FindReplaceDlgPosX",0);
|
||||
yFindReplaceDlg = IniSectionGetInt(pIniSection,L"FindReplaceDlgPosY",0);
|
||||
|
||||
xCustomSchemesDlg = IniSectionGetInt(pIniSection, L"CustomSchemesDlgPosX", 0);
|
||||
yCustomSchemesDlg = IniSectionGetInt(pIniSection, L"CustomSchemesDlgPosY", 0);
|
||||
|
||||
LoadIniSection(L"Settings2",pIniSection,cchIniSection);
|
||||
|
||||
@ -6144,8 +6180,10 @@ void SaveSettings(BOOL bSaveSettingsNow) {
|
||||
IniSectionSetInt(pIniSection, L"FavoritesDlgSizeY", cyFavoritesDlg);
|
||||
IniSectionSetInt(pIniSection, L"FindReplaceDlgPosX", xFindReplaceDlg);
|
||||
IniSectionSetInt(pIniSection, L"FindReplaceDlgPosY", yFindReplaceDlg);
|
||||
IniSectionSetInt(pIniSection, L"CustomSchemesDlgPosX", xCustomSchemesDlg);
|
||||
IniSectionSetInt(pIniSection, L"CustomSchemesDlgPosY", yCustomSchemesDlg);
|
||||
|
||||
Toolbar_GetButtons(g_hwndToolbar, IDT_FILE_NEW, tchToolbarButtons, COUNTOF(tchToolbarButtons));
|
||||
Toolbar_GetButtons(g_hwndToolbar, IDT_FILE_NEW, tchToolbarButtons, COUNTOF(tchToolbarButtons));
|
||||
if (StringCchCompareX(tchToolbarButtons, TBBUTTON_DEFAULT_IDS) == 0) { tchToolbarButtons[0] = L'\0'; }
|
||||
IniSectionSetString(pIniSection, L"ToolbarButtons", tchToolbarButtons);
|
||||
|
||||
@ -8482,7 +8520,8 @@ void SetNotifyIconTitle(HWND hwnd)
|
||||
}
|
||||
|
||||
else if (StringCchLenW(g_wchCurFile,COUNTOF(g_wchCurFile))) {
|
||||
SHGetFileInfo2(g_wchCurFile,0,&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME);
|
||||
SHGetFileInfo2(g_wchCurFile,FILE_ATTRIBUTE_NORMAL,
|
||||
&shfi,sizeof(SHFILEINFO),SHGFI_DISPLAYNAME | SHGFI_USEFILEATTRIBUTES);
|
||||
PathCompactPathEx(tchTitle,shfi.szDisplayName,COUNTOF(tchTitle)-4,0);
|
||||
}
|
||||
else
|
||||
|
||||
@ -621,8 +621,8 @@ IDR_ACCFINDREPLACE ACCELERATORS
|
||||
BEGIN
|
||||
"F", IDACC_FIND, VIRTKEY, CONTROL, NOINVERT
|
||||
"H", IDACC_REPLACE, VIRTKEY, CONTROL, NOINVERT
|
||||
"O", IDACC_SAVEPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
"P", IDACC_RESETPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
"S", IDACC_SAVEPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
"R", IDACC_RESETPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_F2, IDACC_SELTONEXT, VIRTKEY, CONTROL, ALT, NOINVERT
|
||||
VK_F2, IDACC_SELTOPREV, VIRTKEY, SHIFT, CONTROL, ALT, NOINVERT
|
||||
VK_F3, IDACC_FINDNEXT, VIRTKEY, NOINVERT
|
||||
@ -631,6 +631,13 @@ BEGIN
|
||||
VK_F4, IDACC_REPLACENEXT, VIRTKEY, NOINVERT
|
||||
END
|
||||
|
||||
IDR_ACCCUSTOMSCHEMES ACCELERATORS
|
||||
BEGIN
|
||||
"S", IDACC_SAVEPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
"R", IDACC_RESETPOS, VIRTKEY, CONTROL, NOINVERT
|
||||
"S", IDACC_PREVIEW, VIRTKEY, CONTROL, NOINVERT
|
||||
VK_F12, IDACC_VIEWSCHEMECONFIG, VIRTKEY, CONTROL, NOINVERT
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@ -1559,8 +1566,9 @@ END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_SAVEPOS "&Save Position\tCtrl+O"
|
||||
IDS_RESETPOS "&Reset Position\tCtrl+P"
|
||||
IDS_SAVEPOS "&Save Position\tCtrl+S"
|
||||
IDS_RESETPOS "&Reset Position\tCtrl+R"
|
||||
IDS_PREVIEW "&Preview Settings\tCtrl+P"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
569
src/Styles.c
569
src/Styles.c
File diff suppressed because it is too large
Load Diff
12
src/Styles.h
12
src/Styles.h
@ -87,16 +87,16 @@ void Style_SetDefaultFont(HWND,BOOL);
|
||||
void Style_ToggleUse2ndDefault(HWND);
|
||||
BOOL Style_GetUse2ndDefault();
|
||||
BOOL Style_SetUse2ndDefault(int); // in:BOOL
|
||||
int Style_GetBaseFontSize(HWND);
|
||||
int Style_SetBaseFontSize(HWND,int);
|
||||
int Style_GetCurrentFontSize(HWND);
|
||||
int Style_SetCurrentFontSize(HWND, int);
|
||||
float Style_GetBaseFontSize(HWND);
|
||||
float Style_SetBaseFontSize(HWND,float);
|
||||
float Style_GetCurrentFontSize(HWND);
|
||||
float Style_SetCurrentFontSize(HWND,float);
|
||||
void Style_SetIndentGuides(HWND,BOOL);
|
||||
BOOL Style_GetOpenDlgFilterStr(LPWSTR,int);
|
||||
BOOL Style_StrGetFont(LPCWSTR,LPWSTR,int);
|
||||
BOOL Style_StrGetFontQuality(LPCWSTR,LPWSTR,int);
|
||||
BOOL Style_StrGetCharSet(LPCWSTR,int*);
|
||||
BOOL Style_StrGetSize(LPCWSTR,int*);
|
||||
BOOL Style_StrGetSize(LPCWSTR,float*);
|
||||
BOOL Style_StrGetSizeStr(LPCWSTR,LPWSTR,int);
|
||||
BOOL Style_StrGetColor(BOOL,LPCWSTR, COLORREF*);
|
||||
BOOL Style_StrGetCase(LPCWSTR,int*);
|
||||
@ -112,7 +112,7 @@ int Style_GetLexerIconId(PEDITLEXER);
|
||||
BOOL Style_HasLexerForExt(LPCWSTR);
|
||||
HTREEITEM Style_AddLexerToTreeView(HWND,PEDITLEXER);
|
||||
INT_PTR CALLBACK Styles_ConfigDlgProc(HWND,UINT,WPARAM,LPARAM);
|
||||
void Style_ConfigDlg(HWND);
|
||||
HWND Style_CustomizeSchemesDlg(HWND);
|
||||
INT_PTR CALLBACK Style_SelectLexerDlgProc(HWND,UINT,WPARAM,LPARAM);
|
||||
void Style_SelectLexerDlg(HWND);
|
||||
int Style_GetHotspotStyleID();
|
||||
|
||||
@ -135,6 +135,7 @@
|
||||
#define IDC_CHECK_OCC 231
|
||||
#define IDC_PRINTER 232
|
||||
#define IDC_USEASREADINGFALLBACK 233
|
||||
#define IDR_ACCCUSTOMSCHEMES 234
|
||||
#define IDACC_FIND 302
|
||||
#define IDACC_REPLACE 303
|
||||
#define IDACC_SAVEPOS 304
|
||||
@ -145,8 +146,11 @@
|
||||
#define IDACC_SAVEFIND 309
|
||||
#define IDACC_SELTONEXT 310
|
||||
#define IDACC_SELTOPREV 311
|
||||
#define IDACC_VIEWSCHEMECONFIG 312
|
||||
#define IDACC_PREVIEW 313
|
||||
#define IDC_NFOASOEM 400
|
||||
#define IDC_COMPILER 401
|
||||
#define IDC_SETCURLEXERTV 402
|
||||
#define IDD_READPW 501
|
||||
#define IDC_CHECK1 502
|
||||
#define IDC_EDIT1 503
|
||||
@ -447,6 +451,7 @@
|
||||
#define IDT_FILE_LAUNCH 40724
|
||||
#define IDS_SAVEPOS 40800
|
||||
#define IDS_RESETPOS 40801
|
||||
#define IDS_PREVIEW 40802
|
||||
#define IDS_ERR_LOADFILE 50000
|
||||
#define IDS_ERR_SAVEFILE 50001
|
||||
#define IDS_ERR_BROWSE 50002
|
||||
|
||||
Loading…
Reference in New Issue
Block a user