チェンジセット 99

差分発生行の前後
無視リスト:
更新日時:
2010/01/08 01:31:21 (2 年 前)
更新者:
h
ログメッセージ:

fixes #40
対応した。
・起動時ダイアログ
・インストール時もダイアログ
・プレビュー解除時とデフォルト選択時で元に戻す

パス:
branches/release-1.0
ファイル:
2 変更

凡例:

変更なし
追加
削除
  • branches/release-1.0/chrome/content/vocalofx.js

    r97 r99  
    11var vocalofx = { 
     2        MOZ_LWTHEME_USED: "lightweightThemes.isThemeSelected", 
     3        MOZ_LWTHEME_INSTALL: "InstallBrowserTheme", 
     4        MOZ_LWTHEME_PREVIEW: "PreviewBrowserTheme", 
     5        MOZ_LWTHEME_PREVIEW_END: "ResetBrowserThemePreview", 
     6        MOZ_DEFAULT_THEME: "{972ce4c6-7e08-4474-a285-3208198ce6fd}", 
    27        SKINPREF_OBSERVER: "extensions.vocalofx.skin_", 
    38        SKIN_PROPERTY_ICONS: "extensions.vocalofx.skin_icons.", 
     
    1217        TOOL_PROPERTY_PIAPROGM_ALERT: "extensions.vocalofx.tool_piaprogm_alert", 
    1318        TOOL_PROPERTY_TO_WINDOW: "extensions.vocalofx.tool_opento_window", 
     19        ALERT_THEME: "extensions.vocalofx.skin_theme_alert", 
    1420        ICONCLASS_TOOL: "vocalofx-tool", 
    1521        ICONCLASS_SKIN_PALLET: "vocalofx-skin-pallet", 
     
    1723        ICONCLASS_SKIN_MENU: "vocalofx-skin-menu", 
    1824        TOOLDIALOG_URL: "chrome://vocalofx/content/tool/tool.xul", 
     25        ALERTDIALOG_URL: "chrome://vocalofx/content/alert.xul", 
    1926        CHROME_TOOL: "chrome://vocalofx/content/tool/", 
    2027        CHROME_SKIN: "chrome://vocalofx/content/skin/", 
     
    7784        , 
    7885        setVocalofxSkinImage: function(){ 
     86                if(this.pref.getBoolPref(this.MOZ_LWTHEME_USED) || this.lwt_preview){ 
     87                        return; 
     88                } 
     89 
    7990                var image; 
    8091                try{ 
     
    441452                this.tool_properties = document.getElementById("vocalofx-tool-properties"); 
    442453 
     454                if(this.main_window._lightweightTheme){ 
     455                        this.main_window._lightweightTheme._update_orig = this.main_window._lightweightTheme._update; 
     456                        this.main_window._lightweightTheme._update = function(aData){ 
     457                                this._update_orig(aData); 
     458                                vocalofx.setVocalofxSkinImage(); 
     459                        }; 
     460                } 
     461                gBrowser.mPanelContainer.addEventListener(this.MOZ_LWTHEME_INSTALL, this, false, true); 
     462                gBrowser.mPanelContainer.addEventListener(this.MOZ_LWTHEME_PREVIEW, this, false, true); 
     463                gBrowser.mPanelContainer.addEventListener(this.MOZ_LWTHEME_PREVIEW_END, this, false, true); 
     464                this.pref.addObserver(this.MOZ_LWTHEME_USED, this, false); 
     465 
    443466                this.pref.addObserver(this.SKINPREF_OBSERVER, this, false); 
    444467                this.watcher.registerNotification(this); 
     
    454477        , 
    455478        destroy: function(){ 
     479                this.pref.removeObserver(this.MOZ_LWTHEME_USED, this, false); 
     480                gBrowser.mPanelContainer.removeEventListener(this.MOZ_LWTHEME_INSTALL, this, false); 
     481                gBrowser.mPanelContainer.removeEventListener(this.MOZ_LWTHEME_PREVIEW, this, false); 
     482                gBrowser.mPanelContainer.removeEventListener(this.MOZ_LWTHEME_PREVIEW_END, this, false); 
    456483                window.removeEventListener(this.BROWSER_ONLOAD, this, false); 
    457484                this.pref.removeObserver(this.SKINPREF_OBSERVER, this, false); 
     
    480507                                this.setVocalofxPalletMenu(); 
    481508                        break; 
     509                        case this.MOZ_LWTHEME_USED: 
     510                                if(!this.pref.getBoolPref(this.MOZ_LWTHEME_USED)){ 
     511                                        this.setVocalofxSkinImage(); 
     512                                } 
     513                        break; 
    482514                        } 
    483515                        if(aData.indexOf(this.SKIN_PROPERTY_ICONS) == 0){ 
     
    498530                case this.BROWSER_UNONLOAD: 
    499531                        this.destroy(); 
     532                break; 
     533                case this.MOZ_LWTHEME_INSTALL: 
     534                        if(this.pref.getBoolPref(this.ALERT_THEME)){ 
     535                                var dialog = window.openDialog(this.ALERTDIALOG_URL, "_blank", "chrome,centerscreen,alwaysRaised=yes,modal=yes", this.MOZ_DEFAULT_THEME); 
     536                                dialog.focus(); 
     537                        } 
     538                break; 
     539                case this.MOZ_LWTHEME_PREVIEW: 
     540                        this.lwt_preview = true; 
     541                break; 
     542                case this.MOZ_LWTHEME_PREVIEW_END: 
     543                        this.lwt_preview = false; 
    500544                break; 
    501545                } 
  • branches/release-1.0/components/vocalofx-startup.js

    r67 r99  
    163163                const ALERT_THEME = "extensions.vocalofx.skin_theme_alert"; 
    164164                const DEFAULT_THEME = "{972ce4c6-7e08-4474-a285-3208198ce6fd}"; 
     165                const MOZ_LWTHEME_USED = "lightweightThemes.isThemeSelected"; 
    165166                var installedAddons = new xpc.sptAry; 
    166167 
     
    177178                } 
    178179 
    179                 if(prefBrc2.getBoolPref(ALERT_THEME) && prefBrc2.getCharPref("general.skins.selectedSkin") != "classic/1.0"){ 
     180                if(prefBrc2.getBoolPref(ALERT_THEME) 
     181                                 && (prefBrc2.getCharPref("general.skins.selectedSkin") != "classic/1.0") 
     182                                || prefBrc2.getBoolPref(MOZ_LWTHEME_USED)){ 
    180183                        var string = new xpc.supportsString; 
    181184                        string.data = DEFAULT_THEME;