piroor / treestyletab

Tree Style Tab, Show tabs like a tree.
http://piro.sakura.ne.jp/xul/treestyletab/
Other
3.49k stars 278 forks source link

Ask about restore whole tabs tree is broken in Firefox 9.0.1 and 10.0 #223

Closed Infocatcher closed 12 years ago

Infocatcher commented 12 years ago

Tree Style Tab 0.14.2012012901

Make tab tree and close it. Than restore any tab from recently closed tree. TST should ask about restore whole tabs tree.

P.S. Works in Mozilla/5.0 (Windows NT 6.1; rv:12.0a1) Gecko/20120131 Firefox/12.0a1

piroor commented 12 years ago

On the version 0.14.2012012901, TST is changed to ask by "notification popup" instead of "notification bar". I know it doesn't work sometimes, but I couldn't find out what is the trigger. Can you research it on a clean profile?

Infocatcher commented 12 years ago

I already checked on a clean profile. Popups works (I see message "TST installed" with "restart now" button), but after tab restore I don't see any popup (tab was closed with his tree of course). And I don't see any errors in Error Console in this case.

Infocatcher commented 12 years ago

\modules\lib\confirmWithPopup.js

           try {
                /**
                 * 1st try: Prepare the anchor icon. If the icon isn't shown,
                 *          the popup is wrongly positioned to the current tab
                 *          by PopupNotifications.show().
                 */
                doc.defaultView.PopupNotifications.show(
                    ...
                );
                ...
            }
            catch(e) {
                Components.classes["@mozilla.org/consoleservice;1"]
                    .getService(Components.interfaces.nsIConsoleService)
                    .logStringMessage("TST: showPopup() failed:\n" + e);
                deferred.fail(e);
            }

Mozilla/5.0 (Windows NT 6.1; rv:10.0) Gecko/20100101 Firefox/10.0 TST: showPopup() failed: PopupNotifications_show: invalid mainAction

resource://gre/modules/PopupNotifications.jsm

  show: function PopupNotifications_show(browser, id, message, anchorID,
                                         mainAction, secondaryActions, options) {
    ...
    if (mainAction && isInvalidAction(mainAction))
      throw "PopupNotifications_show: invalid mainAction";
piroor commented 12 years ago

Oops, I'm very sorry, this is caused by not-updated locales. This commit fixes the issue: https://github.com/piroor/treestyletab/commit/4229ff6ec4f1581121d2d46eaa4c72717403e689 However, by this commit labels become "not translated yet". I'm planning to release the next version on 2012-02-09(JST), so, if you translate these new lines I'll include them to the next release.

Infocatcher commented 12 years ago

Oh, really. I forgot, that I disable language pack in nightly. :)

And here is another issue with accesskeys: en-US:

[en]

ru: <img src="http://img15.imageshack.us/img15/2366/fxtreestyletabpopuprubu.png alt="[ru]" />

Second. In Firefox "ru-RU" becomes "ru" many years ago, so is better to rename locale in TST too.

And third. Unfortunately (or not) I have slightly different opinion about translations than initial translation author. Anyway, here updated Russian locale: Tree_Style_Tab-0.14.2012012901_ru_locale.zip (with many changes, as you can see).

piroor commented 12 years ago

Thanks a lot!

And here is another issue with accesskeys:

TST automatically detects "possible access key" but we can specify access key manually. Actuall, "ja" locale does it like:

undoCloseTabSetBehavior.label=このタブは同じツリーの他の%S個のタブと同時に閉じられました。他のタブも開き直しますか?
undoCloseTabSetBehavior.restoreOnce=開き直す(&r)
undoCloseTabSetBehavior.restoreForever=今後は常に他のタブも開き直す(&f)
undoCloseTabSetBehavior.ignoreForever=今後一切この通知を表示しない(&i)

The part "&r" defines the access key. If you want to set "B" to the access key, then you should put "&" just beside the letter "B" like "&Bce..."

Infocatcher commented 12 years ago

Seems like &x works only for Latin letters:

undoCloseTabSetBehavior.restoreOnce=Восстановить вкладки
undoCloseTabSetBehavior.restoreForever=&Всегда восстанавливать вкладки
undoCloseTabSetBehavior.ignoreForever=Больше не показывать это сообщение &X
TST accesskeys bug
Infocatcher commented 12 years ago

Locale updated, link are the same.

piroor commented 12 years ago

Thanks. I've merged your version. https://github.com/piroor/treestyletab/commit/bc485330fd350f2a8d17c3bcc16f7bd8bb9da77d https://github.com/piroor/treestyletab/commit/771d997464c54a4547c2f13339a259e7df9b11e0

Seems like &x works only for Latin letters:

Oops, I forgot it... I'll update this problem in future versions. Thanks again.

piroor commented 12 years ago

I've filed the issue. https://github.com/piroor/fxaddonlibs/issues/1

piroor commented 12 years ago

By this commit, now non-Latin character can be an accesskey. https://github.com/piroor/fxaddonlibs/commit/abeb24d5815b2e5ce7c1ab26bd8633428386cbc2

Infocatcher commented 12 years ago
undoCloseTabSetBehavior.restoreOnce=&Восстановить вкладки
undoCloseTabSetBehavior.restoreForever=В&сегда восстанавливать вкладки
undoCloseTabSetBehavior.ignoreForever=Больше &не показывать это сообщение

& before first letter becomes "undefinedВосстановить вкладки"

piroor commented 12 years ago

Oh...thanks! https://github.com/piroor/treestyletab/commit/330fcd301a751ce8cf9f3968fd71356360bd6c77 https://github.com/piroor/treestyletab/commit/06eef3c87d1d21febf4f580986ca1c003a901ca2