Code

Explorer++ v1.4.0 빌드, 수정 방법

codens 2024. 5. 6. 16:09

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(); // 새 탭 초기화

 

 

반응형