Tomoaki Yoshida
yos+m****@muda*****
2004年 1月 4日 (日) 03:26:59 JST
yosです At Sat, 3 Jan 2004 18:06:31 +0900, Hiroyuki Ikezoe <poinc****@ikezo*****> wrote: > > > At Sat, 3 Jan 2004 12:37:56 +0900, > > Takuro Ashie <ashie****@homa*****> wrote: > > > まだコードを拝見していないので問題が有るかどうかは分かりませんが, > > > gtk_main_iteration()を使う場合,万が一ウィンドウを閉じるイベントが > > > pending中の場合,gtk_main_iteration()を抜けた後に何か処理を行っていると > > > 問題が出る事が多々あります. > > > > gtk_main_iteration() 後に操作対象のウィンドウが閉じられているとやばいっ > > て事でしょうか。もしそうなら、今回の場合は gtk_main_iteration() 後に操 > > 作対象の Widget を取得しているので多分大丈夫だと思います。 > > もともとのフォーカスが移動できない問題って他のやり方で回避できたりしないん > でしょうか。ちょっと原因がよくわかってないんですが、GtkNotebookの挙動はわけ > が分からんのですが、イベント待ちしなくても対処できそうな気もします。 NewTabアクションの中でフォーカス移動を頑張っても、どうも switch-page シグナル発行時あたりでどこかがフォーカスを奪ってしまうように見えます。 で、足永さんがおっしゃっていた gtk_idle_add を使う方法で実装し直してみ ました。(添付パッチ) 変更点は * gtk_main_iteration をやめて gtk_idle_add を使ってみた * ロケーションエントリにフォーカスを移動するアクション FocusLocationEntry を定義 * ロケーションエントリをクリアしてからフォーカスを移動するアクション FocusAndClearLocationEntry を定義 * ロケーションエントリに自動的にフォーカスを移動する条件を 新規タブを開き、前面に持ってきたとき ではなく、 locationが空で、空のlocationになってからまだフォーカスされてないタブ を前面に持ってきたとき (新規タブを開き前面に持ってきた時、も該当) にしてみた。 (ただ、これは FocusLocationEntry アクションがあればあまり必要ないよ うに思えてきました。) * ロケーションエントリへのフォーカス移動はfocus_open_new の状態によらず 設定できるようにした。少し意味が違ってしまったので、kzrcのエントリ名を focus_open_new_loc_ent を focus_loc_ent_new に変更 * tab_label の state に KZ_TAB_LABEL_STATE_LOADED を追加 LOADING で、net_stop シグナル時にそのタブがフォーカスされていないと LOADED に遷移。LOADED なタブをフォーカスすると NORMALに遷移。 ついでに LOADED なタブ、タブリスト、タブツリーの文字に色をつけてみた です。 ja.po の差分がいけてないので、該当部分を抜き出したファイルも別に添付し ておきます。 コミット権は..すみません。sourceforgeのアカウントを持っていないので、 そのうちアカウントを取得した時にって事でよろしくお願いします。 #アカウント、もしかしてすぐ取得できるものですか? -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 0104.diff.gz 型: application/octet-stream サイズ: 7337 バイト 説明: 無し 下载 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: ja_0104.po 型: application/octet-stream サイズ: 597 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/kazehakase-devel/attachments/20040104/b09d1fdb/attachment-0001.obj