mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-24 06:14:47 +02:00
Add dark mode to project panel file relocalizer dlg
Fix #12713, close #12714
This commit is contained in:
parent
3022a2ee2d
commit
6a8a446eb6
@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
ProjectPanel::~ProjectPanel()
|
ProjectPanel::~ProjectPanel()
|
||||||
{
|
{
|
||||||
for (const auto s : fullPathStrs)
|
for (const auto& s : fullPathStrs)
|
||||||
{
|
{
|
||||||
delete s;
|
delete s;
|
||||||
}
|
}
|
||||||
@ -52,7 +52,7 @@ intptr_t CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||||||
_hToolbarMenu = CreateWindowEx(0,TOOLBARCLASSNAME,NULL, style,
|
_hToolbarMenu = CreateWindowEx(0,TOOLBARCLASSNAME,NULL, style,
|
||||||
0,0,0,0,_hSelf, nullptr, _hInst, nullptr);
|
0,0,0,0,_hSelf, nullptr, _hInst, nullptr);
|
||||||
|
|
||||||
TBBUTTON tbButtons[2];
|
TBBUTTON tbButtons[2]{};
|
||||||
|
|
||||||
NativeLangSpeaker *pNativeSpeaker = (NppParameters::getInstance()).getNativeLangSpeaker();
|
NativeLangSpeaker *pNativeSpeaker = (NppParameters::getInstance()).getNativeLangSpeaker();
|
||||||
generic_string workspace_entry = pNativeSpeaker->getProjectPanelLangMenuStr("Entries", 0, PM_WORKSPACEMENUENTRY);
|
generic_string workspace_entry = pNativeSpeaker->getProjectPanelLangMenuStr("Entries", 0, PM_WORKSPACEMENUENTRY);
|
||||||
@ -150,7 +150,7 @@ intptr_t CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||||||
|
|
||||||
if (selectedItem)
|
if (selectedItem)
|
||||||
{
|
{
|
||||||
RECT selectedItemRect;
|
RECT selectedItemRect{};
|
||||||
if (TreeView_GetItemRect(_treeView.getHSelf(), selectedItem, &selectedItemRect, TRUE))
|
if (TreeView_GetItemRect(_treeView.getHSelf(), selectedItem, &selectedItemRect, TRUE))
|
||||||
{
|
{
|
||||||
showContextMenuFromMenuKey(selectedItem, (selectedItemRect.left + selectedItemRect.right) / 2, (selectedItemRect.top + selectedItemRect.bottom) / 2);
|
showContextMenuFromMenuKey(selectedItem, (selectedItemRect.left + selectedItemRect.right) / 2, (selectedItemRect.top + selectedItemRect.bottom) / 2);
|
||||||
@ -391,8 +391,8 @@ bool ProjectPanel::writeWorkSpace(const TCHAR *projectFileName)
|
|||||||
TiXmlDocument projDoc(fn2write);
|
TiXmlDocument projDoc(fn2write);
|
||||||
TiXmlNode *root = projDoc.InsertEndChild(TiXmlElement(TEXT("NotepadPlus")));
|
TiXmlNode *root = projDoc.InsertEndChild(TiXmlElement(TEXT("NotepadPlus")));
|
||||||
|
|
||||||
TCHAR textBuffer[MAX_PATH];
|
TCHAR textBuffer[MAX_PATH] = { '\0' };
|
||||||
TVITEM tvItem;
|
TVITEM tvItem{};
|
||||||
tvItem.mask = TVIF_TEXT;
|
tvItem.mask = TVIF_TEXT;
|
||||||
tvItem.pszText = textBuffer;
|
tvItem.pszText = textBuffer;
|
||||||
tvItem.cchTextMax = MAX_PATH;
|
tvItem.cchTextMax = MAX_PATH;
|
||||||
@ -435,8 +435,8 @@ bool ProjectPanel::writeWorkSpace(const TCHAR *projectFileName)
|
|||||||
|
|
||||||
void ProjectPanel::buildProjectXml(TiXmlNode *node, HTREEITEM hItem, const TCHAR* fn2write)
|
void ProjectPanel::buildProjectXml(TiXmlNode *node, HTREEITEM hItem, const TCHAR* fn2write)
|
||||||
{
|
{
|
||||||
TCHAR textBuffer[MAX_PATH];
|
TCHAR textBuffer[MAX_PATH] = { '\0' };
|
||||||
TVITEM tvItem;
|
TVITEM tvItem{};
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
||||||
tvItem.pszText = textBuffer;
|
tvItem.pszText = textBuffer;
|
||||||
tvItem.cchTextMax = MAX_PATH;
|
tvItem.cchTextMax = MAX_PATH;
|
||||||
@ -465,8 +465,8 @@ void ProjectPanel::buildProjectXml(TiXmlNode *node, HTREEITEM hItem, const TCHAR
|
|||||||
|
|
||||||
bool ProjectPanel::enumWorkSpaceFiles(HTREEITEM tvFrom, const std::vector<generic_string> & patterns, std::vector<generic_string> & fileNames)
|
bool ProjectPanel::enumWorkSpaceFiles(HTREEITEM tvFrom, const std::vector<generic_string> & patterns, std::vector<generic_string> & fileNames)
|
||||||
{
|
{
|
||||||
TCHAR textBuffer[MAX_PATH];
|
TCHAR textBuffer[MAX_PATH] = { '\0' };
|
||||||
TVITEM tvItem;
|
TVITEM tvItem{};
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
||||||
tvItem.pszText = textBuffer;
|
tvItem.pszText = textBuffer;
|
||||||
tvItem.cchTextMax = MAX_PATH;
|
tvItem.cchTextMax = MAX_PATH;
|
||||||
@ -498,7 +498,7 @@ bool ProjectPanel::enumWorkSpaceFiles(HTREEITEM tvFrom, const std::vector<generi
|
|||||||
|
|
||||||
generic_string ProjectPanel::getRelativePath(const generic_string & filePath, const TCHAR *workSpaceFileName)
|
generic_string ProjectPanel::getRelativePath(const generic_string & filePath, const TCHAR *workSpaceFileName)
|
||||||
{
|
{
|
||||||
TCHAR wsfn[MAX_PATH];
|
TCHAR wsfn[MAX_PATH] = { '\0' };
|
||||||
wcscpy_s(wsfn, workSpaceFileName);
|
wcscpy_s(wsfn, workSpaceFileName);
|
||||||
::PathRemoveFileSpec(wsfn);
|
::PathRemoveFileSpec(wsfn);
|
||||||
|
|
||||||
@ -550,7 +550,7 @@ generic_string ProjectPanel::getAbsoluteFilePath(const TCHAR * relativePath)
|
|||||||
if (!::PathIsRelative(relativePath))
|
if (!::PathIsRelative(relativePath))
|
||||||
return relativePath;
|
return relativePath;
|
||||||
|
|
||||||
TCHAR absolutePath[MAX_PATH];
|
TCHAR absolutePath[MAX_PATH] = { '\0' };
|
||||||
wcscpy_s(absolutePath, _workSpaceFilePath.c_str());
|
wcscpy_s(absolutePath, _workSpaceFilePath.c_str());
|
||||||
::PathRemoveFileSpec(absolutePath);
|
::PathRemoveFileSpec(absolutePath);
|
||||||
::PathAppend(absolutePath, relativePath);
|
::PathAppend(absolutePath, relativePath);
|
||||||
@ -559,7 +559,7 @@ generic_string ProjectPanel::getAbsoluteFilePath(const TCHAR * relativePath)
|
|||||||
|
|
||||||
void ProjectPanel::openSelectFile()
|
void ProjectPanel::openSelectFile()
|
||||||
{
|
{
|
||||||
TVITEM tvItem;
|
TVITEM tvItem{};
|
||||||
tvItem.mask = TVIF_PARAM;
|
tvItem.mask = TVIF_PARAM;
|
||||||
tvItem.hItem = _treeView.getSelection();
|
tvItem.hItem = _treeView.getSelection();
|
||||||
::SendMessage(_treeView.getHSelf(), TVM_GETITEM, 0, reinterpret_cast<LPARAM>(&tvItem));
|
::SendMessage(_treeView.getHSelf(), TVM_GETITEM, 0, reinterpret_cast<LPARAM>(&tvItem));
|
||||||
@ -595,7 +595,7 @@ void ProjectPanel::notified(LPNMHDR notification)
|
|||||||
else if ((notification->hwndFrom == _treeView.getHSelf()))
|
else if ((notification->hwndFrom == _treeView.getHSelf()))
|
||||||
{
|
{
|
||||||
TCHAR textBuffer[MAX_PATH] = { '\0' };
|
TCHAR textBuffer[MAX_PATH] = { '\0' };
|
||||||
TVITEM tvItem;
|
TVITEM tvItem{};
|
||||||
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
tvItem.mask = TVIF_TEXT | TVIF_PARAM;
|
||||||
tvItem.pszText = textBuffer;
|
tvItem.pszText = textBuffer;
|
||||||
tvItem.cchTextMax = MAX_PATH;
|
tvItem.cchTextMax = MAX_PATH;
|
||||||
@ -1308,7 +1308,7 @@ void ProjectPanel::addFilesFromDirectory(HTREEITEM hTreeItem)
|
|||||||
{
|
{
|
||||||
if (_selDirOfFilesFromDirDlg == TEXT("") && _workSpaceFilePath != TEXT(""))
|
if (_selDirOfFilesFromDirDlg == TEXT("") && _workSpaceFilePath != TEXT(""))
|
||||||
{
|
{
|
||||||
TCHAR dir[MAX_PATH];
|
TCHAR dir[MAX_PATH] = { '\0' };
|
||||||
wcscpy_s(dir, _workSpaceFilePath.c_str());
|
wcscpy_s(dir, _workSpaceFilePath.c_str());
|
||||||
::PathRemoveFileSpec(dir);
|
::PathRemoveFileSpec(dir);
|
||||||
_selDirOfFilesFromDirDlg = dir;
|
_selDirOfFilesFromDirDlg = dir;
|
||||||
@ -1336,15 +1336,47 @@ intptr_t CALLBACK FileRelocalizerDlg::run_dlgProc(UINT Message, WPARAM wParam, L
|
|||||||
{
|
{
|
||||||
goToCenter();
|
goToCenter();
|
||||||
::SetDlgItemText(_hSelf, IDC_EDIT_FILEFULLPATHNAME, _fullFilePath.c_str());
|
::SetDlgItemText(_hSelf, IDC_EDIT_FILEFULLPATHNAME, _fullFilePath.c_str());
|
||||||
|
NppDarkMode::autoSubclassAndThemeChildControls(_hSelf);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case WM_ERASEBKGND:
|
||||||
|
{
|
||||||
|
if (NppDarkMode::isEnabled())
|
||||||
|
{
|
||||||
|
RECT rect{};
|
||||||
|
GetClientRect(_hSelf, &rect);
|
||||||
|
::FillRect(reinterpret_cast<HDC>(wParam), &rect, NppDarkMode::getDarkerBackgroundBrush());
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_CTLCOLOREDIT:
|
||||||
|
{
|
||||||
|
if (NppDarkMode::isEnabled())
|
||||||
|
{
|
||||||
|
return NppDarkMode::onCtlColorSofter(reinterpret_cast<HDC>(wParam));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_PRINTCLIENT:
|
||||||
|
{
|
||||||
|
if (NppDarkMode::isEnabled())
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WM_COMMAND :
|
case WM_COMMAND :
|
||||||
{
|
{
|
||||||
switch (wParam)
|
switch (wParam)
|
||||||
{
|
{
|
||||||
case IDOK :
|
case IDOK :
|
||||||
{
|
{
|
||||||
TCHAR textBuf[MAX_PATH];
|
TCHAR textBuf[MAX_PATH] = { '\0' };
|
||||||
::GetDlgItemText(_hSelf, IDC_EDIT_FILEFULLPATHNAME, textBuf, MAX_PATH);
|
::GetDlgItemText(_hSelf, IDC_EDIT_FILEFULLPATHNAME, textBuf, MAX_PATH);
|
||||||
_fullFilePath = textBuf;
|
_fullFilePath = textBuf;
|
||||||
::EndDialog(_hSelf, 0);
|
::EndDialog(_hSelf, 0);
|
||||||
@ -1362,6 +1394,7 @@ intptr_t CALLBACK FileRelocalizerDlg::run_dlgProc(UINT Message, WPARAM wParam, L
|
|||||||
default :
|
default :
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FileRelocalizerDlg::doDialog(const TCHAR *fn, bool isRTL)
|
int FileRelocalizerDlg::doDialog(const TCHAR *fn, bool isRTL)
|
||||||
@ -1378,4 +1411,3 @@ int FileRelocalizerDlg::doDialog(const TCHAR *fn, bool isRTL)
|
|||||||
}
|
}
|
||||||
return static_cast<int32_t>(::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_FILERELOCALIZER_DIALOG), _hParent, dlgProc, reinterpret_cast<LPARAM>(this)));
|
return static_cast<int32_t>(::DialogBoxParam(_hInst, MAKEINTRESOURCE(IDD_FILERELOCALIZER_DIALOG), _hParent, dlgProc, reinterpret_cast<LPARAM>(this)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ END
|
|||||||
|
|
||||||
IDD_FILERELOCALIZER_DIALOG DIALOGEX 0, 0, 350, 48
|
IDD_FILERELOCALIZER_DIALOG DIALOGEX 0, 0, 350, 48
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
EXSTYLE WS_EX_TOOLWINDOW
|
EXSTYLE WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE
|
||||||
CAPTION "Change file full path name"
|
CAPTION "Change file full path name"
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
|
Loading…
x
Reference in New Issue
Block a user