Skip to content

Commit

Permalink
Merge 5afdf2d into 9713af2
Browse files Browse the repository at this point in the history
  • Loading branch information
dep5 authored Apr 22, 2021
2 parents 9713af2 + 5afdf2d commit 0d85756
Show file tree
Hide file tree
Showing 13 changed files with 69 additions and 14 deletions.
5 changes: 4 additions & 1 deletion sakura_core/config/system_constants.h
Original file line number Diff line number Diff line change
Expand Up @@ -550,12 +550,15 @@
Version 177:
WriteQuit廃止に伴い未使用となった IniFolder のメンバを削除した為、DLLSHAREDATA のメモリレイアウトを変更
Version 178:
各履歴のお気に入り
-- 統合されたので元に戻す(1000~1023が使用済み) 2008.11.16 nasukoji
-- Version 1000:
-- バージョン1000以降を本家統合までの間、使わせてください。かなり頻繁に構成が変更されると思われるので。by kobake 2008.03.02
*/
constexpr unsigned N_SHAREDATA_VERSION = 177;
constexpr unsigned N_SHAREDATA_VERSION = 178;
#define STR_SHAREDATA_VERSION NUM_TO_STR(N_SHAREDATA_VERSION)
#define GSTR_SHAREDATA (L"SakuraShareData" _T(CON_SKR_MACHINE_SUFFIX_) _T(_CODE_SUFFIX_) _T(_DEBUG_SUFFIX_) _T(STR_SHAREDATA_VERSION))

Expand Down
7 changes: 6 additions & 1 deletion sakura_core/dlg/CDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -740,11 +740,16 @@ static void DeleteRecentItem(
return;
}

int nRecentIndex = pRecent->FindItemByText( cItemText.GetStringPtr() );
// お気に入りチェック
if (pRecent->IsFavorite(nRecentIndex)) {
return;
}

// コンボボックスのリストアイテム削除
Combo_DeleteString( hwndCombo, nIndex );

// 履歴項目を削除
int nRecentIndex = pRecent->FindItemByText( cItemText.GetStringPtr() );
if( 0 <= nRecentIndex ){
pRecent->DeleteItem(nRecentIndex);
}
Expand Down
12 changes: 6 additions & 6 deletions sakura_core/dlg/CDlgFavorite.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_SEARCH );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_SEARCH;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = false;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = true;
Expand All @@ -167,7 +167,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_REPLACE );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_REPLACE;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = false;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = true;
Expand All @@ -178,7 +178,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_GREP_FILE );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_GREP_FILE;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = false;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = true;
Expand All @@ -189,7 +189,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_GREP_FOLDER );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_GREP_FOLDER;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = true;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = false;
Expand All @@ -200,7 +200,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_EXT_COMMAND );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_CMD;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = false;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = true;
Expand All @@ -211,7 +211,7 @@ CDlgFavorite::CDlgFavorite()
m_aFavoriteInfo[i].m_strCaption = LS( STR_DLGFAV_CURRENT_DIR );
m_aFavoriteInfo[i].m_pszCaption = m_aFavoriteInfo[i].m_strCaption.c_str();
m_aFavoriteInfo[i].m_nId = IDC_LIST_FAVORITE_CUR_DIR;
m_aFavoriteInfo[i].m_bHaveFavorite = false;
m_aFavoriteInfo[i].m_bHaveFavorite = true;
m_aFavoriteInfo[i].m_bFilePath = true;
m_aFavoriteInfo[i].m_bHaveView = false;
m_aFavoriteInfo[i].m_bEditable = false;
Expand Down
5 changes: 5 additions & 0 deletions sakura_core/env/CSearchKeywordManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ struct SShare_SearchKeywords{
StaticVector< StaticString<WCHAR, MAX_GREP_PATH>, MAX_GREPFOLDER, const WCHAR*> m_aGrepFolders;
StaticVector< StaticString<WCHAR, MAX_EXCLUDE_PATH>, MAX_EXCLUDEFILE, const WCHAR*> m_aExcludeFiles;
StaticVector< StaticString<WCHAR, MAX_EXCLUDE_PATH>, MAX_EXCLUDEFOLDER, const WCHAR*> m_aExcludeFolders;

bool m_aSearchKeysFav[MAX_SEARCHKEY];
bool m_aReplaceKeysFav[MAX_REPLACEKEY];
bool m_aGrepFilesFav[MAX_GREPFILE];
bool m_aGrepFoldersFav[MAX_GREPFOLDER];
};

struct DLLSHAREDATA;
Expand Down
15 changes: 15 additions & 0 deletions sakura_core/env/CShareData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@ CMutex& CShareData::GetMutexShareWork(){
return g_cMutexShareWork;
}

static void ClearFavorite(bool* aBoolArr, size_t size)
{
for(size_t i = 0; i < size; i++){
aBoolArr[i] = false;
}
}

//! CShareDataクラスの初期化処理
/*!
CShareDataクラスを利用する前に必ず呼び出すこと。
Expand Down Expand Up @@ -694,11 +701,16 @@ bool CShareData::InitShareData()
}

{
SShare_SearchKeywords& sKeys = m_pShareData->m_sSearchKeywords;
m_pShareData->m_sSearchKeywords.m_aSearchKeys.clear();
m_pShareData->m_sSearchKeywords.m_aReplaceKeys.clear();
m_pShareData->m_sSearchKeywords.m_aGrepFiles.clear();
m_pShareData->m_sSearchKeywords.m_aGrepFiles.push_back(L"*.*");
m_pShareData->m_sSearchKeywords.m_aGrepFolders.clear();
ClearFavorite(sKeys.m_aSearchKeysFav, _countof(sKeys.m_aSearchKeysFav));
ClearFavorite(sKeys.m_aReplaceKeysFav, _countof(sKeys.m_aReplaceKeysFav));
ClearFavorite(sKeys.m_aGrepFilesFav, _countof(sKeys.m_aGrepFilesFav));
ClearFavorite(sKeys.m_aGrepFoldersFav, _countof(sKeys.m_aGrepFoldersFav));

// 2004/06/21 novice タグジャンプ機能追加
m_pShareData->m_sTagJump.m_TagJumpNum = 0;
Expand All @@ -714,8 +726,11 @@ bool CShareData::InitShareData()

wcscpy( m_pShareData->m_sHistory.m_szIMPORTFOLDER, szIniFolder ); /* 設定インポート用フォルダ */

SShare_History& sHis = m_pShareData->m_sHistory;
m_pShareData->m_sHistory.m_aCommands.clear();
m_pShareData->m_sHistory.m_aCurDirs.clear();
ClearFavorite(sHis.m_aCommandsFav, _countof(sHis.m_aCommandsFav));
ClearFavorite(sHis.m_aCurDirsFav, _countof(sHis.m_aCurDirsFav));

m_pShareData->m_nExecFlgOpt = 1; /* 外部コマンド実行の「標準出力を得る」 */ // 2006.12.03 maru オプションの拡張のため

Expand Down
24 changes: 24 additions & 0 deletions sakura_core/env/CShareData_IO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,10 @@ void CShareData_IO::ShareData_IO_Keys( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("SEARCHKEY[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aSearchKeys[i] );
if( cProfile.IsReadingMode() || pShare->m_sSearchKeywords.m_aSearchKeysFav[i] ){
auto_sprintf( szKeyName, LTEXT("SEARCHKEY[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aSearchKeysFav[i] );
}
}

cProfile.IOProfileData( pszSecName, LTEXT("_REPLACEKEY_Counts"), pShare->m_sSearchKeywords.m_aReplaceKeys._GetSizeRef() );
Expand All @@ -319,6 +323,10 @@ void CShareData_IO::ShareData_IO_Keys( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("REPLACEKEY[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aReplaceKeys[i] );
if( cProfile.IsReadingMode() || pShare->m_sSearchKeywords.m_aReplaceKeysFav[i] ){
auto_sprintf( szKeyName, LTEXT("REPLACEKEY[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aReplaceKeysFav[i] );
}
}
}

Expand All @@ -343,6 +351,10 @@ void CShareData_IO::ShareData_IO_Grep( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("GREPFILE[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aGrepFiles[i] );
if( cProfile.IsReadingMode() || pShare->m_sSearchKeywords.m_aGrepFilesFav[i] ){
auto_sprintf( szKeyName, LTEXT("GREPFILE[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aGrepFilesFav[i] );
}
}

cProfile.IOProfileData( pszSecName, LTEXT("_GREPFOLDER_Counts"), pShare->m_sSearchKeywords.m_aGrepFolders._GetSizeRef() );
Expand All @@ -351,6 +363,10 @@ void CShareData_IO::ShareData_IO_Grep( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("GREPFOLDER[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aGrepFolders[i] );
if( cProfile.IsReadingMode() || pShare->m_sSearchKeywords.m_aGrepFoldersFav[i] ){
auto_sprintf( szKeyName, LTEXT("GREPFOLDER[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sSearchKeywords.m_aGrepFoldersFav[i] );
}
}

/* 除外ファイルパターン */
Expand Down Expand Up @@ -409,6 +425,10 @@ void CShareData_IO::ShareData_IO_Cmd( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("szCmdArr[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sHistory.m_aCommands[i] );
if( cProfile.IsReadingMode() || pShare->m_sHistory.m_aCommandsFav[i] ){
auto_sprintf( szKeyName, LTEXT("szCmdArr[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sHistory.m_aCommandsFav[i] );
}
}

cProfile.IOProfileData( pszSecName, LTEXT("nCurDirArrNum"), pShare->m_sHistory.m_aCurDirs._GetSizeRef() );
Expand All @@ -417,6 +437,10 @@ void CShareData_IO::ShareData_IO_Cmd( CDataProfile& cProfile )
for( i = 0; i < nSize; ++i ){
auto_sprintf( szKeyName, LTEXT("szCurDirArr[%02d]"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sHistory.m_aCurDirs[i] );
if( cProfile.IsReadingMode() || pShare->m_sHistory.m_aCurDirsFav[i] ){
auto_sprintf( szKeyName, LTEXT("szCurDirArr[%02d].Fav"), i );
cProfile.IOProfileData( pszSecName, szKeyName, pShare->m_sHistory.m_aCurDirsFav[i] );
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentCmd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ CRecentCmd::CRecentCmd()
GetShareData()->m_sHistory.m_aCommands.dataPtr(),
GetShareData()->m_sHistory.m_aCommands.dataPtr()->GetBufferCount(),
&GetShareData()->m_sHistory.m_aCommands._GetSizeRef(),
NULL,
GetShareData()->m_sHistory.m_aCommandsFav,
MAX_CMDARR,
NULL
);
Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentCurDir.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ CRecentCurDir::CRecentCurDir()
GetShareData()->m_sHistory.m_aCurDirs.dataPtr(),
GetShareData()->m_sHistory.m_aCurDirs.dataPtr()->GetBufferCount(),
&GetShareData()->m_sHistory.m_aCurDirs._GetSizeRef(),
NULL,
GetShareData()->m_sHistory.m_aCurDirsFav,
MAX_CMDARR,
NULL
);
Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentGrepFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ CRecentGrepFile::CRecentGrepFile()
GetShareData()->m_sSearchKeywords.m_aGrepFiles.dataPtr(),
GetShareData()->m_sSearchKeywords.m_aGrepFiles.dataPtr()->GetBufferCount(),
&GetShareData()->m_sSearchKeywords.m_aGrepFiles._GetSizeRef(),
NULL,
GetShareData()->m_sSearchKeywords.m_aGrepFilesFav,
MAX_GREPFILE,
NULL
);
Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentGrepFolder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ CRecentGrepFolder::CRecentGrepFolder()
GetShareData()->m_sSearchKeywords.m_aGrepFolders.dataPtr(),
GetShareData()->m_sSearchKeywords.m_aGrepFolders.dataPtr()->GetBufferCount(),
&GetShareData()->m_sSearchKeywords.m_aGrepFolders._GetSizeRef(),
NULL,
GetShareData()->m_sSearchKeywords.m_aGrepFoldersFav,
MAX_GREPFOLDER,
NULL
);
Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentReplace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ CRecentReplace::CRecentReplace()
GetShareData()->m_sSearchKeywords.m_aReplaceKeys.dataPtr(),
GetShareData()->m_sSearchKeywords.m_aReplaceKeys.dataPtr()->GetBufferCount(),
&GetShareData()->m_sSearchKeywords.m_aReplaceKeys._GetSizeRef(),
NULL,
GetShareData()->m_sSearchKeywords.m_aReplaceKeysFav,
MAX_REPLACEKEY,
NULL
);
Expand Down
2 changes: 1 addition & 1 deletion sakura_core/recent/CRecentSearch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ CRecentSearch::CRecentSearch()
GetShareData()->m_sSearchKeywords.m_aSearchKeys.dataPtr(),
GetShareData()->m_sSearchKeywords.m_aSearchKeys.dataPtr()->GetBufferCount(),
&GetShareData()->m_sSearchKeywords.m_aSearchKeys._GetSizeRef(),
NULL,
GetShareData()->m_sSearchKeywords.m_aSearchKeysFav,
MAX_SEARCHKEY,
NULL
);
Expand Down
3 changes: 3 additions & 0 deletions sakura_core/recent/SShare_History.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@ struct SShare_History{
//MRU以外の情報
SFilePath m_szIMPORTFOLDER; // インポートディレクトリの履歴
StaticVector< StaticString<TCHAR, MAX_CMDLEN>, MAX_CMDARR > m_aCommands; // 外部コマンド実行履歴
bool m_aCommandsFav[MAX_CMDARR]; //!< 外部コマンド実行お気に入り
StaticVector< StaticString<TCHAR, _MAX_PATH>, MAX_CMDARR > m_aCurDirs; // カレントディレクトリ履歴
bool m_aCurDirsFav[MAX_CMDARR]; //!< カレントディレクトリお気に入り

};

#endif /* SAKURA_SSHARE_HISTORY_9F7E6200_FEE2_4CAC_A5D3_32EEC4130CFC_H_ */
Expand Down

0 comments on commit 0d85756

Please sign in to comment.