Explorer++ v1.4.0 빌드, 수정 방법
Explorer++ v1.5.0 빌드, 수정 방법( explorer plusplus, explorer plus plus, explorerplus)
https://explorerplusplus.com/download
https://github.com/derceg/explorerplusplus - 2.1k
v1.4.0 -2024.01
- build 방법 매뉴얼
https://github.com/derceg/explorerplusplus/blob/master/BUILDING.md
- WiX 설치
https://wixtoolset.org/docs/intro/
> dotnet tool install --global wix
주의! visual studio 안의 Manage Extensions 메뉴로 설치하면 안됨, 이전 버전 설치됨
(참고만) visual studio -> extensions -> Manage Extensions... : wix 검색해서 설치하면 안됨
//-------------------------------------
- 소스 다운로드
> git clone --recurse-submodules https://github.com/derceg/explorerplusplus.git
> cd explorerplusplus
- vcpkg 설정
> .\Explorer++\ThirdParty\vcpkg\bootstrap-vcpkg.bat
- 프로젝트 열기
Explorer++\Explorer++.sln
- 빌드된 실행파일 경로
Explorer++\Explorer++\x64\Debug\Explorer++.exe
//-----------------------------------------------------------------------------
기능 추가 변경 소스 수정
//-----------------------------------------------------------------------------
< 마지막 탭 정렬 설정을 새로 시작시에도 적용하기>
#include "TabStorage.h" // m_loadedTabs 위해 추가
...
void Explorerplusplus::LoadAllSettings()
{
...
// 마지막 탭 설정을 전역 설정에 덮어쓰기
int size = m_loadedTabs.size();
if (m_loadedTabs.size() > 0)
{
TabStorageData tab = m_loadedTabs[0];
m_config->defaultFolderSettings = tab.folderSettings;
}
ValidateLoadedSettings();
}
//-----------------------------------------------------------------------------
< 색변경 >
- 코드 검색 코드
backgroundColor = GetSysColor(COLOR_WINDOW);
- 새로 지정
static const unsigned long COL_BK = RGB(160, 200, 160); // 배경색 지정
backgroundColor = COL_BK; // 새로 지정한 색 적용
- 참고 - 3군데
ThemeManager::ApplyThemeToListView(
ThemeManager::ApplyThemeToTreeView(
ThemeManager::ApplyThemeToRichEdit(
//-------------------------------------
< 파일 리스트 칼럼 정렬 >
역순 정렬시 폴더가 아래로 가는 현상 수정
int CALLBACK ShellBrowserImpl::Sort(int InternalIndex1, int InternalIndex2) const
...
if (m_folderSettings.sortDirection == +SortDirection::Descending
&& ((!isFolder1 && !isFolder2) || (isFolder1 && isFolder2)) // 역정렬시 폴더를 앞에두기위해 추가 <========
//-----------------------------------------------------------------------------
< 새탭에서 이전 정렬 설정 유지 >
정렬이 변경될때 전역설정에 저장
- const 속성 변경
struct FolderSettings
{
mutable SortMode sortMode = SortMode::Name;
mutable SortDirection sortDirection = SortDirection::Ascending;
//-------------------------------------
void ShellBrowserImpl::ColumnClicked(int iClickedColumn)
// 전역 설정에 저장
m_config->defaultFolderSettings.sortDirection = m_folderSettings.sortDirection;
m_config->defaultFolderSettings.sortMode = m_folderSettings.sortMode;
SortFolder(); // 칼럼 클릭시 정렬
//-------------------------------------
- 새탭 열기 함수
ShellBrowserImpl::OnEnumerationCompleted(
...
// 이전 탭 설정 적용
m_folderSettings.sortDirection = m_config->defaultFolderSettings.sortDirection;
m_folderSettings.sortMode = m_config->defaultFolderSettings.sortMode;
SortFolder(); // 새 탭 초기화