プロジェクト

全般

プロフィール

機能 #1255

Worldの選択を保持する

Yuto Tokunaga28日前に追加. 22日前に更新.

ステータス:
実装待ち
優先度:
通常
担当者:
-
対象バージョン:
開始日:
2018-05-27
期日:
進捗率:

0%

プラグイン名:
current_world

説明

起動時に前回の終了時に選択していたWorldを復元する機能の提案です.

1255-1.patch (1.67 KB) 1255-1.patch Yuto Tokunaga, 2018-05-27 19:51
1255-2.patch (1.18 KB) 1255-2.patch master (4cf82920)に対するパッチ Yuto Tokunaga, 2018-06-02 02:11

履歴

#1 toshi_a 初音27日前に更新

  • ステータス新規 から 実装待ち に変更
  • 対象バージョン3.7 から 3.8 に変更

良い提案だと思います。ただし以下の修正をしないと取り込めないと思っています。

mergeする条件

current_worldプラグインにこの機能をもたせる

「現在のWorld」という考え方はcurrent_worldプラグインによって提供されていて、gtkはそれに依存しているという形です。レジューム機能を実装するなら、UIを提供しているgtkより、current_worldまたは新たなプラグインでやるのが良いと思います。個人的には、current_worldプラグインに機能追加するのが良いと思います。

Worldを保存する時、world_change_currentにのみをlistenする

これは細かな話ですが、カレントworldが切り替わる時には、どのような理由であってもworld_change_currentイベントが発生します。当然Worldが追加・削除されることによって変わった場合でも同じです。また、一つのプラグインが同じイベントに複数のリスナを登録できます。

この2つの性質を利用すれば、カレントworldを保存する処理をメソッドに抽出する必要がなくなるので、もう少しシンプルになると思います。

mergeにあたって必須ではないこと

これは個人的にはぜひやりたいので、条件が達成されればmergeする前に私が実装しようと思います。

レジューム機能の無効化設定

個人的には今の、一番頭のWorldが選択されている状態で起動するのを気に入っていますが、一般的にはこのチケットで達成しようとしているような振る舞いが受け入れられると思います。

このパッチを取り込むと現在のような挙動を実現するのが難しくなるので、設定できるようにしたいところです。

#2 Yuto Tokunaga22日前に更新

修正しました. UserConfig[:restore_last_world] で無効化できるようにしましたが,設定UIは実装してません.

他の形式にエクスポート: Atom PDF