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

開いているファイルのフォルダのパスをクリップボードにコピーできるようにする #718

Merged
merged 15 commits into from
Dec 30, 2018

Conversation

m-tmatma
Copy link
Member

@m-tmatma m-tmatma commented Dec 25, 2018

#658: 開いているファイルのフォルダのパスをクリップボードにコピーできるようにする

@m-tmatma m-tmatma added this to the next release milestone Dec 25, 2018
@m-tmatma m-tmatma changed the title 開いているフォルダのパスをクリップボードにコピーできるようにする 開いているファイルのフォルダのパスをクリップボードにコピーできるようにする Dec 25, 2018
@KageShiron
Copy link
Member

ParentFolderやParentFolderNameのほうが一般的ではないでしょうか?

例↓
https://msdn.microsoft.com/ja-jp/library/cc428026.aspx

Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

COPYFOLDER だとフォルダ自体をコピーするのかな?と勘違いしてしまいそうです。

@m-tmatma
Copy link
Member Author

では copydirname とかにしましょうか?

@beru
Copy link
Contributor

beru commented Dec 25, 2018

では copydirname とかにしましょうか?

そうですね、name とか path を後ろにつける事でより分かりやすくなると思います。

@m-tmatma
Copy link
Member Author

copydirname より copydirpath かな?

copydirname だとディレクトリだけの名前を意味する感じがして、
絶対パス全体という感じがしない。

@m-tmatma
Copy link
Member Author

マクロ名を変更しました。

help/macro/macro.hhc Outdated Show resolved Hide resolved
beru
beru previously requested changes Dec 28, 2018
Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

無題の文書で このファイルのパス名をコピー は無効化されていますが、このファイルのフォルダ名をコピー は有効化されています。こちらも無題の文書の場合は無効化した方が良いかと思います。

@beru beru added the enhancement ■機能追加 label Dec 28, 2018
@m-tmatma
Copy link
Member Author

抜けてました。修正しました。

@beru beru dismissed their stale review December 29, 2018 00:32

メニューの有効化条件の指定れ漏れが修正された為

Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

タブバーを表示してタブを右クリックした際に表示されるメニューには今回追加された機能用のメニューアイテムが無いですがそれは意図したデザインでしょうか?

@m-tmatma
Copy link
Member Author

タブバーを表示してタブを右クリックした際に表示されるメニューには今回追加された機能用のメニューアイテムが無いですがそれは意図したデザインでしょうか?

パスのコピー機能がタブバーにないと思っていたので入れてませんでした。
確認したところ入っていたのでいれました。

なお、#680 で入れたアイコンの修正は入れてません。
#607 を再オープンしておきました。

@m-tmatma
Copy link
Member Author

パスのコピー機能がタブバーにないと思っていたので入れてませんでした。

#666 で自分で入れたのに忘れてた。

@m-tmatma
Copy link
Member Author

m-tmatma commented Dec 29, 2018

F_COPYDIRPATH の定義値がまずいみたいです。

以下の276行目で IDD_PROP_TOOLBARIDC_LIST_FUNC 項目を追加するときに (長いのでスクロール可能)

case WM_COMMAND:
wNotifyCode = HIWORD( wParam ); /* 通知コード */
wID = LOWORD( wParam ); /* 項目ID、 コントロールID、 またはアクセラレータID */
hwndCtl = (HWND) lParam; /* コントロールのハンドル */
if( hwndResList == hwndCtl ){
switch( wNotifyCode ){
case LBN_SELCHANGE:
return TRUE;
}
}else
if( hwndCombo == hwndCtl ){
switch( wNotifyCode ){
case CBN_SELCHANGE:
nIndex2 = Combo_GetCurSel( hwndCombo );
List_ResetContent( hwndFuncList );
/* 機能一覧に文字列をセット (リストボックス) */
// From Here Oct. 15, 2001 genta Lookupを使うように変更
nNum = m_cLookup.GetItemCount( nIndex2 );
for( i = 0; i < nNum; ++i ){
nIndex1 = m_cLookup.Pos2FuncCode( nIndex2, i );
int nbarNo = m_pcMenuDrawer->FindToolbarNoFromCommandId( nIndex1 );
if( nbarNo >= 0 ){
/* ツールバーボタンの情報をセット (リストボックス) */
lResult = ::Listbox_ADDDATA( hwndFuncList, (LPARAM)nbarNo );
if( lResult == LB_ERR || lResult == LB_ERRSPACE ){
break;
}
lResult = List_SetItemHeight( hwndFuncList, lResult, nListItemHeight );
}
}
return TRUE;
}
}else{

以下の関数で追加しますが、

/*
ツールバー登録のための番号を返す。
プラグインのみボタンのindexのかわりにidCommandをそのまま返す
@date 2010.06.24 Moca 新規作成
@note この値がiniのツールバーアイテムの記録に使われる
*/
int CMenuDrawer::FindToolbarNoFromCommandId( int idCommand, bool bOnlyFunc ) const
{
// 先に存在確認をする
int index = FindIndexFromCommandId( idCommand, bOnlyFunc );
if( -1 < index ){
// 固定部分以外(プラグインなど)はindexではなくidCommandのままにする
if( m_nMyButtonFixSize <= index ){
// もし コマンド番号が明らかに小さいと区別がつかない
assert_warning( idCommand < m_nMyButtonFixSize );
return idCommand;
}
}
return index;
}

以下のチェックが行われています。

int CMenuDrawer::FindIndexFromCommandId( int idCommand, bool bOnlyFunc ) const
{
if( bOnlyFunc ){
// 機能の範囲外(セパレータや折り返しなど特別なもの)は除外する
if ( !( F_MENU_FIRST <= idCommand && idCommand < F_MENU_NOT_USED_FIRST )
&& !( F_PLUGCOMMAND_FIRST <= idCommand && idCommand < F_PLUGCOMMAND_LAST )){
return -1;
}
}

F_MENU_NOT_USED_FIRST = 32768

F_MENU_NOT_USED_FIRST = 32768,

F_COPYDIRPATH = 32820 なのでメニュー項目に追加されないみたいです。

F_COPYFOLDER = 32820, //このファイルのフォルダ名をクリップボードにコピー なし

@m-tmatma
Copy link
Member Author

別の問題を見つけたので 432251d で修正しています。

@beru
Copy link
Contributor

beru commented Dec 29, 2018

F_COPYDIRPATH の定義値がまずいみたいです。

おおお、知らなかったです。メニュー項目のIDは、F_MENU_FIRST 以上、F_MENU_NOT_USED_FIRST 未満にする必要があるんですね。デバッグビルドだと自動的に検出してくれると良いですねぇ。

@beru
Copy link
Contributor

beru commented Dec 29, 2018

別の問題を見つけたので 432251d で修正しています。

キーマクロは自分は普段使っていないので確認が漏れてました。
記録内容は、

CopyDirPath(0);	// このファイルのフォルダ名をコピー

となっていて引数の 0 は有っても無くてもちゃんと動きますね。何故追加されるのかは良く分かっていません。。いやまぁ調べれば良いんですが。

beru
beru previously approved these changes Dec 29, 2018
Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

問題無いと思うので再度 Approve します。

@m-tmatma
Copy link
Member Author

共通設定ツールバー の 種別が クリップボード系 の一覧に項目が無いですがアイコンがまだ無いからでしょうか?

表示できました。ただアイコンは暫定のものです。

@m-tmatma
Copy link
Member Author

F_COPYDIRPATH の定義値がまずいみたいです。

これもまずいが、 F_COPYDIRPATH の値の追加も抜けていた。 c1c6792

@beru
Copy link
Contributor

beru commented Dec 30, 2018

表示できました。ただアイコンは暫定のものです。

確認しました。アイコンはもし自分が用意するなら C: に下線が付いただけにします。
このファイルのパス名をコピーC:\… に下線が付いたものなのでそれをちょっと変えるだけという単純な考えですが、センタリングはした方が良いかも知れないですね。

Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

問題無いと思うので再度 Approve します。

@m-tmatma m-tmatma merged commit f6566a0 into sakura-editor:master Dec 30, 2018
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
開いているファイルのフォルダのパスをクリップボードにコピーできるようにする
@m-tmatma m-tmatma deleted the feature/copydirpath branch July 5, 2019 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ■機能追加
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants