@@ -434,7 +434,6 @@ void CCharu3App::adjustLocation(POINT* pos)
434
434
void CCharu3App::closeTreeWindow (int nRet)
435
435
{
436
436
m_pTreeDlg->ShowWindow (SW_HIDE);
437
- STRING_DATA data;
438
437
bool isPaste = true ;
439
438
if (::GetAsyncKeyState (VK_SHIFT) < 0 ) isPaste = false ;
440
439
@@ -458,7 +457,7 @@ void CCharu3App::closeTreeWindow(int nRet)
458
457
}
459
458
460
459
// 貼り付け処理
461
- if (m_pTree->m_ltCheckItems .size () > 0 ) {// 複数選択データがある
460
+ if (m_pTree->m_ltCheckItems .size () > 0 ) { // 複数選択データがある
462
461
strSelect = GetSelectedText (m_keySet, m_focusInfo.m_hFocusWnd ); // TODO: Doing unconditional copy action. Does not consider the necessity.
463
462
464
463
if (m_ini.m_bDebug ) {
@@ -468,12 +467,12 @@ void CCharu3App::closeTreeWindow(int nRet)
468
467
std::list<HTREEITEM>::iterator it;
469
468
for (it = m_pTree->m_ltCheckItems .begin (); it != m_pTree->m_ltCheckItems .end (); it++) {
470
469
if (m_pTree->GetItemState (*it, TVIF_HANDLE)) {
471
- data = m_pTree->getData (*it);
472
- if (data. m_cKind & KIND_DATA_ALL) {
470
+ const STRING_DATA* dataPtr = m_pTree->getDataPtr (*it);
471
+ if (dataPtr-> m_cKind & KIND_DATA_ALL) {
473
472
if (m_ini.m_bDebug ) {
474
- LOG (_T (" closeTreeWindow check paste %s" ), data. m_strTitle .GetString ());
473
+ LOG (_T (" closeTreeWindow check paste %s" ), dataPtr-> m_strTitle .GetString ());
475
474
}
476
- playData (data , strClip, strSelect, isPaste, false );
475
+ playData (dataPtr , strClip, strSelect, isPaste, false );
477
476
}
478
477
}
479
478
}
@@ -488,15 +487,17 @@ void CCharu3App::closeTreeWindow(int nRet)
488
487
}
489
488
}
490
489
}
491
- else if (m_pTreeDlg->m_selectDataPtr != nullptr ) {// 通常選択データ
492
- bool requiresSelectionText = (m_pTreeDlg->m_selectDataPtr ->m_strData .Find (_T (" $SEL" )) != -1 ); // TODO: This test is true even if $SEL is outside <charu3MACRO>
493
- strSelect = requiresSelectionText ? GetSelectedText (m_keySet, m_focusInfo.m_hFocusWnd ) : " " ;
494
- data = *(m_pTreeDlg->m_selectDataPtr );
490
+ else {
491
+ const STRING_DATA* dataPtr = m_pTreeDlg->GetSelectedDataPtr ();
492
+ if (nullptr != dataPtr) {
493
+ bool requiresSelectionText = (dataPtr->m_strData .Find (_T (" $SEL" )) != -1 ); // TODO: This test is true even if $SEL is outside <charu3MACRO>
494
+ strSelect = requiresSelectionText ? GetSelectedText (m_keySet, m_focusInfo.m_hFocusWnd ) : " " ;
495
495
496
- if (m_ini.m_bDebug ) {
497
- LOG (_T (" closeTreeWindow sel:%s clip:%s title:%s" ), strSelect.GetString (), strClip.GetString (), data.m_strTitle .GetString ());
496
+ if (m_ini.m_bDebug ) {
497
+ LOG (_T (" closeTreeWindow sel:%s clip:%s title:%s" ), strSelect.GetString (), strClip.GetString (), dataPtr->m_strTitle .GetString ());
498
+ }
499
+ playData (dataPtr, strClip, strSelect, isPaste);
498
500
}
499
- playData (data, strClip, strSelect, isPaste);
500
501
}
501
502
}
502
503
else if (::GetForegroundWindow () == m_focusInfo.m_hActiveWnd ) {
@@ -845,7 +846,7 @@ bool CCharu3App::setAppendKeyInit(HWND hTopWindow, COPYPASTE_KEY* keySet)
845
846
// 関数名 playData(STRING_DATA data,CString strClip)
846
847
// 機能 データの展開処理をする
847
848
// ---------------------------------------------------
848
- void CCharu3App::playData (STRING_DATA data , CString strClip, CString strSelect, bool isPaste, bool isChange)
849
+ void CCharu3App::playData (const STRING_DATA* dataPtr , CString strClip, CString strSelect, bool isPaste, bool isChange)
849
850
{
850
851
HTREEITEM hSelectItem = m_pTree->GetSelectedItem ();
851
852
CString strPaste;
@@ -861,7 +862,7 @@ void CCharu3App::playData(STRING_DATA data, CString strClip, CString strSelect,
861
862
STRING_DATA* macroDataPtr = m_pTree->getDataPtr (hMacroItem);
862
863
strMacro = m_pTree->getDataOptionStr (macroDataPtr->m_strMacro , _T (" macro" ));
863
864
}
864
- strPaste = convertMacro (&data , strSelect, strClip, strMacro);
865
+ strPaste = convertMacro (dataPtr , strSelect, strClip, strMacro);
865
866
}
866
867
867
868
// テキストを貼り付け処理
@@ -1354,15 +1355,15 @@ void CCharu3App::keyUpDownMessage(UINT uMod, UINT uVKCode, int nFlag, HWND hWnd)
1354
1355
// 関数名 convertMacro(CString strSourceData)
1355
1356
// 機能 マクロ文字列を置換
1356
1357
// ---------------------------------------------------
1357
- CString CCharu3App::convertMacro (STRING_DATA* SourceData , CString strSelect, CString strClip, CString strSoftName)
1358
+ CString CCharu3App::convertMacro (const STRING_DATA* sourceDataPtr , CString strSelect, CString strClip, CString strSoftName)
1358
1359
{
1359
1360
SetCurrentDirectory (m_ini.m_strAppPath );
1360
1361
1361
- if (strSoftName == _T (" no" )) return SourceData ->m_strData ;
1362
+ if (strSoftName == _T (" no" )) return sourceDataPtr ->m_strData ;
1362
1363
1363
1364
CString strSourceData;
1364
1365
if (strSoftName != DAT_FORMAT) {
1365
- if (m_pTree->convertMacroPlugin (SourceData , &strSourceData, strSelect, strClip, strSoftName))
1366
+ if (m_pTree->convertMacroPlugin (sourceDataPtr , &strSourceData, strSelect, strClip, strSoftName))
1366
1367
return strSourceData;
1367
1368
}
1368
1369
@@ -1386,15 +1387,15 @@ CString CCharu3App::convertMacro(STRING_DATA* SourceData, CString strSelect, CSt
1386
1387
strRepBuff4 = _T (" >@c3m$@PLUG-IN" );
1387
1388
strRepBuff5 = _T (" @c3m$@CLIP" );
1388
1389
1389
- if (SourceData ->m_strData .Find (_T (" $SEL" )) != -1 ) {
1390
+ if (sourceDataPtr ->m_strData .Find (_T (" $SEL" )) != -1 ) {
1390
1391
strSelect.Replace (MACRO_START, strRepBuff1);
1391
1392
strSelect.Replace (MACRO_END, strRepBuff2);
1392
1393
strSelect.Replace (strPlugStart, strRepBuff3);
1393
1394
strSelect.Replace (strPlugEnd, strRepBuff4);
1394
1395
strSelect.Replace (_T (" $CLIP" ), strRepBuff5);
1395
1396
isSelect = true ;
1396
1397
}
1397
- if (SourceData ->m_strData .Find (_T (" $CLIP" )) != -1 ) {
1398
+ if (sourceDataPtr ->m_strData .Find (_T (" $CLIP" )) != -1 ) {
1398
1399
strClip.Replace (MACRO_START, strRepBuff1);
1399
1400
strClip.Replace (MACRO_END, strRepBuff2);
1400
1401
strClip.Replace (strPlugStart, strRepBuff3);
@@ -1403,7 +1404,7 @@ CString CCharu3App::convertMacro(STRING_DATA* SourceData, CString strSelect, CSt
1403
1404
}
1404
1405
1405
1406
CTime cTime = CTime::GetCurrentTime ();
1406
- strSourceData = SourceData ->m_strData ;
1407
+ strSourceData = sourceDataPtr ->m_strData ;
1407
1408
1408
1409
strSourceData.Replace (_T (" <charu2MACRO>" ), MACRO_START);
1409
1410
strSourceData.Replace (_T (" </charu2MACRO>" ), MACRO_END);
@@ -1545,7 +1546,7 @@ CString CCharu3App::convertMacro(STRING_DATA* SourceData, CString strSelect, CSt
1545
1546
}
1546
1547
// int nBuffSize = nSize * sizeof(TCHAR);
1547
1548
1548
- pPlugIn (strTmp.GetBuffer (strTmp.GetLength () + 1 ), strRet, nSize, SourceData , (void *)&m_focusInfo);
1549
+ pPlugIn (strTmp.GetBuffer (strTmp.GetLength () + 1 ), strRet, nSize, sourceDataPtr , (void *)&m_focusInfo);
1549
1550
strPluginRet = strRet;
1550
1551
strPluginRet.Replace (MACRO_START, strRepBuff1);
1551
1552
strPluginRet.Replace (MACRO_END, strRepBuff2);
0 commit comments