[Kazehakase-devel 441] Re: タブロックを実装してみました

Back to archive index

Hidetaka Iwai tyuyu****@sings*****
2003年 12月 5日 (金) 06:44:06 JST


岩井です。

Junichiro Kita <kita****@kitaj*****> wrote:
Message-ID: <20031****@lists*****>

> 個人的に欲しい機能実装計画第2弾です.
> タブロックというのを実装してみました.
(中略)
> タブをロックするとどうなるかというと,
> ・そのタブを消せなくなる
> ・そのタブに表示されているページ中のリンクをクリックすると新しいタブを開
>   いてリンク先のページを表示する
> ・location entry から入力した URL も新しいタブで開く
> こんな感じになります.
> 要するにそのタブの内容を変更する操作ができなくなるというわけです.

タブロック試してみました。これ、いいですね。私のような慌て者にはまさに
ピッタリであります。

いくつか気が付いた点を。

1.タブをロックしていてもCloseAllForwardTab/CloseAllBackwardTabで消され
  てしまう

2.タブリスト/タブツリー側に該当するタブがロックされてる旨を表示するよ
  うにするともっとわかりやすいのでは

1.については、明示的にタブをロックしているのだから、CloseAll〜な動作か
らもタブを保護して頂けると、ジェスチャのミスを頻発する私にはありがたかっ
たりします。とりあえず手元で弄ってみたdiffを添付します。

2.は、タブをロックしたときに、最初見た目のどこに反映されたのか分からず
右往左往しました、というだけだったりします(笑)

--
 Hidetaka Iwai
 tyuyu****@sings*****

-------------- next part --------------
diff -urNad /home/tyuyu/debworks/kazehakase/kazehakase-0.1.0+cvs20031205/src/kz-window.c kazehakase-0.1.0+cvs20031205/src/kz-window.c
--- /home/tyuyu/debworks/kazehakase/kazehakase-0.1.0+cvs20031205/src/kz-window.c	2003-12-05 05:37:34.000000000 +0900
+++ kazehakase-0.1.0+cvs20031205/src/kz-window.c	2003-12-05 06:17:14.000000000 +0900
@@ -776,14 +776,18 @@
 	g_return_if_fail(KZ_IS_WINDOW(kz));
 	g_return_if_fail(GTK_IS_WIDGET(widget));
 
-	if (KZ_WINDOW_CURRENT_PAGE(kz) != widget)
-		goto CLOSE_TAB;
-
 	kztab = KZ_TAB_LABEL(gtk_notebook_get_tab_label(GTK_NOTEBOOK(kz->notebook),
 							widget));
-	if (kztab && kz_tab_label_get_lock(kztab))
+	if (kztab && kz_tab_label_get_lock(kztab)) {
+/* kztab is locked, so return without closing tab */
 		return;
 
+	} else if (KZ_WINDOW_CURRENT_PAGE(kz) != widget) {
+/* close tab which is not current , so there is nothing to consider */
+		goto CLOSE_TAB;
+
+	}
+
 	ret_page = KZ_CONF_GET_STR("Tab", "page_to_return_when_close");
 	if (ret_page && !strcmp(ret_page, "last_shown"))
 	{


Kazehakase-devel メーリングリストの案内
Back to archive index