Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

recent 配下のファイルを UTF-8 (BOM付) に変換 #278

Merged
merged 1 commit into from
Jul 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 57 additions & 57 deletions sakura_core/recent/CMRUFile.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*! @file
@brief MRU���X�g�ƌĂ΂�郊�X�g���Ǘ�����
/*! @file
@brief MRUリストと呼ばれるリストを管理する

@author YAZAKI
@date 2001/12/23 �V�K�쐬
@date 2001/12/23 新規作成
*/
/*
Copyright (C) 1998-2001, Norio Nakatani
Expand All @@ -22,58 +22,58 @@
#include "env/CShareData.h"
#include "env/DLLSHAREDATA.h"
#include "env/CFileNameManager.h"
#include "uiparts/CMenuDrawer.h" // ����ł����̂��H
#include "uiparts/CMenuDrawer.h" // これでいいのか?
#include "window/CEditWnd.h"
#include "util/string_ex2.h"
#include "util/window.h"

/*! �R���X�g���N�^
@date 2002.2.17 YAZAKI CShareData�̃C���X�^���X�́ACProcess�ɂЂƂ‚���̂݁B
/*! コンストラクタ
@date 2002.2.17 YAZAKI CShareDataのインスタンスは、CProcessにひとつあるのみ。
*/
CMRUFile::CMRUFile()
{
// �������B
// 初期化。
m_pShareData = &GetDllShareData();
}

/* �f�X�g���N�^ */
/* デストラクタ */
CMRUFile::~CMRUFile()
{
m_cRecentFile.Terminate();
}

/*!
�t�@�C���������j���[�̍쐬
ファイル履歴メニューの作成

@param pCMenuDrawer [in] (out?) ���j���[�쐬�ŗp����MenuDrawer
@param pCMenuDrawer [in] (out?) メニュー作成で用いるMenuDrawer

@author Norio Nakantani
@return �����������j���[�̃n���h��
@return 生成したメニューのハンドル

2010/5/21 Uchi �g�ݒ���
2010/5/21 Uchi 組み直し
*/
HMENU CMRUFile::CreateMenu( CMenuDrawer* pCMenuDrawer ) const
{
HMENU hMenuPopUp;

// �󃁃j���[�����
// 空メニューを作る
hMenuPopUp = ::CreatePopupMenu(); // Jan. 29, 2002 genta
return CreateMenu( hMenuPopUp, pCMenuDrawer );
}
/*!
�t�@�C���������j���[�̍쐬
ファイル履歴メニューの作成

@param �lj����郁�j���[�̃n���h��
@param pCMenuDrawer [in] (out?) ���j���[�쐬�ŗp����MenuDrawer
@param 追加するメニューのハンドル
@param pCMenuDrawer [in] (out?) メニュー作成で用いるMenuDrawer

@author Norio Nakantani
@return �����������j���[�̃n���h��
@return 生成したメニューのハンドル

2010/5/21 Uchi �g�ݒ���
2010/5/21 Uchi 組み直し
*/
HMENU CMRUFile::CreateMenu( HMENU hMenuPopUp, CMenuDrawer* pCMenuDrawer ) const
{
TCHAR szMenu[_MAX_PATH * 2 + 10]; // ���j���[�L���v�V����
TCHAR szMenu[_MAX_PATH * 2 + 10]; // メニューキャプション
int i;
bool bFavorite;
const BOOL bMenuIcon = m_pShareData->m_Common.m_sWindow.m_bMenuIcon;
Expand All @@ -87,17 +87,17 @@ HMENU CMRUFile::CreateMenu( HMENU hMenuPopUp, CMenuDrawer* pCMenuDrawer ) const

for( i = 0; i < m_cRecentFile.GetItemCount(); ++i )
{
// �u���ʐݒ�v���u�S�ʁv���u�t�@�C���̗���MAX�v�𔽉f
// 「共通設定」→「全般」→「ファイルの履歴MAX」を反映
if ( i >= m_cRecentFile.GetViewCount() ) break;

/* MRU���X�g�̒��ɂ���J����Ă��Ȃ��t�@�C�� */
/* MRUリストの中にある開かれていないファイル */

const EditInfo *p = m_cRecentFile.GetItem( i );
bFavorite = m_cRecentFile.IsFavorite( i );
bool bFavoriteLabel = bFavorite && !bMenuIcon;
CFileNameManager::getInstance()->GetMenuFullLabel_MRU( szMenu, _countof(szMenu), p, -1, bFavoriteLabel, i, dcFont.GetHDC() );

// ���j���[�ɒlj��B
// メニューに追加。
pCMenuDrawer->MyAppendMenu( hMenuPopUp, MF_BYPOSITION | MF_STRING, IDM_SELMRU + i, szMenu, _T(""), TRUE,
bFavorite ? F_FAVORITE : -1 );
}
Expand All @@ -110,45 +110,45 @@ BOOL CMRUFile::DestroyMenu( HMENU hMenuPopUp ) const
}

/*!
�t�@�C�������̈ꗗ��Ԃ�
ファイル履歴の一覧を返す

@param ppszMRU [out] ������ւ̃|�C���^���X�g���i�[����D
�Ō�̗v�f�̎��ɂ�NULL������D
�\�ߌĂяo�����ōő�l+1�̗̈���m�ۂ��Ă������ƁD
@param ppszMRU [out] 文字列へのポインタリストを格納する.
最後の要素の次にはNULLが入る.
予め呼び出す側で最大値+1の領域を確保しておくこと.
*/
std::vector<LPCTSTR> CMRUFile::GetPathList() const
{
std::vector<LPCTSTR> ret;
for( int i = 0; i < m_cRecentFile.GetItemCount(); ++i ){
// �u���ʐݒ�v���u�S�ʁv���u�t�@�C���̗���MAX�v�𔽉f
// 「共通設定」→「全般」→「ファイルの履歴MAX」を反映
if ( i >= m_cRecentFile.GetViewCount() ) break;
ret.push_back(m_cRecentFile.GetItemText(i));
}
return ret;
}

/*! �A�C�e������Ԃ� */
/*! アイテム数を返す */
int CMRUFile::Length(void) const
{
return m_cRecentFile.GetItemCount();
}

/*!
�t�@�C�������̃N���A
ファイル履歴のクリア
*/
void CMRUFile::ClearAll(void)
{
m_cRecentFile.DeleteAllItem();
}

/*!
�t�@�C�����̎擾
ファイル情報の取得

@param num [in] ����ԍ�(0~)
@param pfi [out] �\���̂ւ̃|�C���^�i�[��
@param num [in] 履歴番号(0~)
@param pfi [out] 構造体へのポインタ格納先

@retval TRUE �f�[�^���i�[���ꂽ
@retval FALSE �������Ȃ��ԍ����w�肳�ꂽ�D�f�[�^�͊i�[����Ȃ������D
@retval TRUE データが格納された
@retval FALSE 正しくない番号が指定された.データは格納されなかった.
*/
bool CMRUFile::GetEditInfo( int num, EditInfo* pfi ) const
{
Expand All @@ -161,15 +161,15 @@ bool CMRUFile::GetEditInfo( int num, EditInfo* pfi ) const
}

/*!
�w�肳�ꂽ���O�̃t�@�C����MRU���X�g�ɑ��݂��邩���ׂ�B���݂���Ȃ�΃t�@�C������Ԃ��B
指定された名前のファイルがMRUリストに存在するか調べる。存在するならばファイル情報を返す。

@param pszPath [in] ��������t�@�C����
@param pfi [out] �f�[�^�����‚������Ƃ��Ƀt�@�C�������i�[����̈�B
�Ăяo�����ŗ̈�����炩���ߗp�ӂ���K�v������B
@retval TRUE �t�@�C�������‚������Bpfi�Ƀt�@�C����񂪊i�[����Ă���B
@retval FALSE �w�肳�ꂽ�t�@�C����MRU List�ɖ����B
@param pszPath [in] 検索するファイル名
@param pfi [out] データが見つかったときにファイル情報を格納する領域。
呼び出し側で領域をあらかじめ用意する必要がある。
@retval TRUE ファイルが見つかった。pfiにファイル情報が格納されている。
@retval FALSE 指定されたファイルはMRU Listに無い。

@date 2001.12.26 CShareData::IsExistInMRUList����ړ������B�iYAZAKI�j
@date 2001.12.26 CShareData::IsExistInMRUListから移動した。(YAZAKI)
*/
bool CMRUFile::GetEditInfo( const TCHAR* pszPath, EditInfo* pfi ) const
{
Expand All @@ -181,23 +181,23 @@ bool CMRUFile::GetEditInfo( const TCHAR* pszPath, EditInfo* pfi ) const
return true;
}

/*! @brief MRU���X�g�ւ̓o�^
/*! @brief MRUリストへの登録

@param pEditInfo [in] �lj�����t�@�C���̏��
@param pEditInfo [in] 追加するファイルの情報

�Y���t�@�C���������[�o�u���f�B�X�N��ɂ���ꍇ�ɂ�MRU List�ւ̓o�^�͍s��Ȃ��B
該当ファイルがリムーバブルディスク上にある場合にはMRU Listへの登録は行わない。

@date 2001.03.29 MIK �����[�o�u���f�B�X�N��̃t�@�C����o�^���Ȃ��悤�ɂ����B
@date 2001.12.26 YAZAKI CShareData::AddMRUList����ړ�
@date 2001.03.29 MIK リムーバブルディスク上のファイルを登録しないようにした。
@date 2001.12.26 YAZAKI CShareData::AddMRUListから移動
*/
void CMRUFile::Add( EditInfo* pEditInfo )
{
// �t�@�C���������������
// ファイル名が無ければ無視
if( NULL == pEditInfo || pEditInfo->m_szPath[0] == L'\0' ){
return;
}

// ���łɓo�^����Ă���ꍇ�́A���O�w��𖳎�����
// すでに登録されている場合は、除外指定を無視する
if( -1 == m_cRecentFile.FindItemByPath( pEditInfo->m_szPath ) ){
int nSize = m_pShareData->m_sHistory.m_aExceptMRU.size();
for( int i = 0 ; i < nSize; i++ ){
Expand All @@ -209,26 +209,26 @@ void CMRUFile::Add( EditInfo* pEditInfo )
}
}
EditInfo tmpEditInfo = *pEditInfo;
tmpEditInfo.m_bIsModified = FALSE; // �ύX�t���O�𖳌���
tmpEditInfo.m_bIsModified = FALSE; // 変更フラグを無効に

TCHAR szDrive[_MAX_DRIVE];
TCHAR szDir[_MAX_DIR];
TCHAR szFolder[_MAX_PATH + 1]; // �h���C�u�{�t�H���_
TCHAR szFolder[_MAX_PATH + 1]; // ドライブ+フォルダ

_tsplitpath( pEditInfo->m_szPath, szDrive, szDir, NULL, NULL ); // �h���C�u�ƃt�H���_�����o���B
_tsplitpath( pEditInfo->m_szPath, szDrive, szDir, NULL, NULL ); // ドライブとフォルダを取り出す。

// Jan. 10, 2006 genta USB��������Removable media�ƔF�������悤�Ȃ̂ŁC
// �ꉞ����������D
// �����[�o�u���Ȃ��o�^�H
//if (/* �u�����[�o�u���Ȃ�o�^���Ȃ��v�I�� && */ ! IsLocalDrive( szDrive ) ){
// Jan. 10, 2006 genta USBメモリはRemovable mediaと認識されるようなので,
// 一応無効化する.
// リムーバブルなら非登録?
//if (/* 「リムーバブルなら登録しない」オン && */ ! IsLocalDrive( szDrive ) ){
// return;
//}

// szFolder�쐬
// szFolder作成
_tcscpy( szFolder, szDrive );
_tcscat( szFolder, szDir );

// Folder���ACMRUFolder�ɓo�^
// Folderを、CMRUFolderに登録
CMRUFolder cMRUFolder;
cMRUFolder.Add(szFolder);

Expand Down
38 changes: 19 additions & 19 deletions sakura_core/recent/CMRUFile.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*! @file
@brief MRU���X�g�ƌĂ΂�郊�X�g���Ǘ�����
/*! @file
@brief MRUリストと呼ばれるリストを管理する

@author YAZAKI
@date 2001/12/23 �V�K�쐬
@date 2001/12/23 新規作成
*/
/*
Copyright (C) 1998-2001, YAZAKI
Expand Down Expand Up @@ -39,38 +39,38 @@
#include <vector>
#include "recent/CRecentFile.h"

struct EditInfo; // 2004.04.11 genta �p�����[�^����struct���폜���邽�߁Ddoxygen�΍�
struct EditInfo; // 2004.04.11 genta パラメータ内のstructを削除するため.doxygen対策
class CMenuDrawer;

// @date 2002.2.17 YAZAKI CShareData�̃C���X�^���X�́ACProcess�ɂЂƂ‚���̂݁B
// @date 2002.2.17 YAZAKI CShareDataのインスタンスは、CProcessにひとつあるのみ。
class CMRUFile {
public:
// �R���X�g���N�^
// コンストラクタ
CMRUFile();
~CMRUFile();

// ���j���[���擾����
HMENU CreateMenu( CMenuDrawer* pCMenuDrawer ) const; // ���[��BpCMenuDrawer���K�v�Ȃ��Ȃ�Ƃ����Ȃ��B
// メニューを取得する
HMENU CreateMenu( CMenuDrawer* pCMenuDrawer ) const; // うーん。pCMenuDrawerが必要なくなるといいなぁ。
HMENU CreateMenu( HMENU hMenu, CMenuDrawer* pCMenuDrawer ) const; // 2010/5/21 Uchi
BOOL DestroyMenu( HMENU hMenu ) const;

// �t�@�C�����̈ꗗ��������
// ファイル名の一覧を教えて
std::vector<LPCTSTR> GetPathList() const;

// �A�N�Z�X�֐�
int Length(void) const; // �A�C�e���̐��B
int MenuLength(void) const { return t_min(Length(), m_cRecentFile.GetViewCount()); } // ���j���[�ɕ\�������A�C�e���̐�
void ClearAll(void);// �A�C�e�����폜�`�B
bool GetEditInfo( int num, EditInfo* pfi ) const; // �ԍ��Ŏw�肵��EditInfo�i�����܂邲�Ɓj
bool GetEditInfo( const TCHAR* pszPath, EditInfo* pfi ) const; // �t�@�C�����Ŏw�肵��EditInfo�i�����܂邲�Ɓj
void Add( EditInfo* pEditInfo ); // *pEditInfo��lj�����B
// アクセス関数
int Length(void) const; // アイテムの数。
int MenuLength(void) const { return t_min(Length(), m_cRecentFile.GetViewCount()); } // メニューに表示されるアイテムの数
void ClearAll(void);// アイテムを削除~。
bool GetEditInfo( int num, EditInfo* pfi ) const; // 番号で指定したEditInfo(情報をまるごと)
bool GetEditInfo( const TCHAR* pszPath, EditInfo* pfi ) const; // ファイル名で指定したEditInfo(情報をまるごと)
void Add( EditInfo* pEditInfo ); // *pEditInfoを追加する。

protected:
// ���L�������A�N�Z�X�p�B
struct DLLSHAREDATA* m_pShareData; // ���L���������Q�Ƃ����B
// 共有メモリアクセス用。
struct DLLSHAREDATA* m_pShareData; // 共有メモリを参照するよ。

private:
CRecentFile m_cRecentFile; //���� //@@@ 2003.04.08 MIK
CRecentFile m_cRecentFile; //履歴 //@@@ 2003.04.08 MIK
};

#endif // _CMRUFILE_H_
Loading