トップ | バージョン2 最新版 | バージョン3 β版

チケット #1452 (new 機能追加)

登録: 4 年

最終更新: 23 か月

空行インデント0設定時、空行入力時等の操作量を減らしたい(現状、改行→⌘+T等が必要)

報告者: daisuke 担当者: daisuke
優先度: 普通 マイルストーン: 4.0
コンポーネント: アプリケーション バージョン:
キーワード: 関係者:

説明 (最終更新者: daisuke) (diff)

1. 改行入力→インデント0
・AView_Text::DoIndent?()でkIndentTriggerType_ReturnKey_NewLineの場合にも、indent0ForEmptyLine = true;する。
→これでできるが、実際に使ってみると、常に、改行後インデント0になってしまうので、次入力したい箇所にキャレットが来ず、ストレスを感じる。
2. インデント0→何か入力したらインデント調整
・AView_Text::TextInput?()でテキスト挿入の前に

//
ABool shouldIndentForEmptyLine = false;
//
if( GetApp?().SPI_GetModePrefDB(GetTextDocumentConst?().SPI_GetModeIndex()).GetData?_Bool(AModePrefDB::kIndent0ForEmptyLine) == true )
{

if( mCaretMode == true && GetCaretTextPoint?().x == 0 )
{

//テキスト挿入前にインデントするとインデント0になってしまうので、ここではフラグのみ設定して、あとでインデントする。
shouldIndentForEmptyLine = true;

}

}

・テキスト挿入の後に

//
if( shouldIndentForEmptyLine == true )
{

ABool inputSpaces = GetApp?().SPI_GetModePrefDB(GetTextDocumentConst?().SPI_GetModeIndex()).GetData?_Bool(AModePrefDB::kInputSpacesByTabKey);
DoIndent?(undoTag_NOP,inputSpaces,kIndentTriggerType_IndentFeature);

}

→1.を採用しないのであれば、これだけ対応してもあまり意味がない。
3. キャレット移動時(カーソルキーorクリック)、元のキャレット位置がx==0ならインデント実行
→タイプしないのに、テキストに変更が発生してしまうのは、ポリシーに反する。。ソース管理上よろしくない。

一旦保留

チケットの履歴

更新者: daisuke (3 年 前)

  • 説明 が変更されました (diff)
  • 概要空行インデント0設定時、改行入力→インデント0→何か入力したらインデント調整にしたい から 空行インデント0設定時、空行入力時等の操作量を減らしたい(現状、改行→⌘+T等が必要) に変更されました。

更新者: daisuke (3 年 前)

  • 説明 が変更されました (diff)

更新者: daisuke (3 年 前)

  • マイルストーン3.0.4b2 から 3.0.5b1 に変更されました。

更新者: daisuke (3 年 前)

  • マイルストーン3.0.5b1 から 3.0.5b2 に変更されました。

更新者: daisuke (23 か月 前)

  • マイルストーン3.6b1 から 4.0 に変更されました。
Note: チケットについてのヘルプは TracTickets を参照 して下さい。