1
0
mirror of https://github.com/moparisthebest/FireTray synced 2024-12-21 21:48:47 -05:00

* AppIndicator: disable chat icon (TB).

* AppIndicator: disable new message count option (TB).
This commit is contained in:
foudfou 2014-11-21 11:13:12 +01:00
parent 9deaea08bb
commit 58130c5a7d
3 changed files with 60 additions and 43 deletions

View File

@ -38,7 +38,8 @@ var firetrayUIOptions = {
}
if (firetray.Handler.isChatProvided() &&
FIRETRAY_CHAT_SUPPORTED_OS.indexOf(firetray.Handler.runtimeOS) > -1) {
firetray.Handler.support['chat'] &&
!firetray.AppIndicator) {
Cu.import("resource://firetray/"+firetray.Handler.runtimeOS+"/FiretrayChat.jsm");
this.initChatControls();
} else {
@ -48,13 +49,22 @@ var firetrayUIOptions = {
this.updateWindowAndIconOptions();
this.updateScrollOptions();
this.initAppIconType();
if (firetray.Handler.support['full_feat']) {
if (firetray.Handler.support['winnt']) {
this.hideUnsupportedOptions([
'ui_hides_last_only', 'ui_show_activates', 'ui_remember_desktop',
'app_icon_default', 'ui_show_icon_on_hide', 'ui_scroll_hides',
'ui_radiogroup_scroll', 'ui_scroll_hides', 'newmail_icon_names'
]);
} else if (firetray.AppIndicator) {
this.hideUnsupportedOptions([
'app_icon_default', 'ui_mail_notification_unread_count',
'newmail_icon_names'
]);
} else {
this.initAppIconNames();
if (firetray.Handler.inMailApp)
this.initNewMailIconNames();
} else {
this.hideUnsupportedOptions();
};
}
window.sizeToContent();
},
@ -66,26 +76,38 @@ var firetrayUIOptions = {
}
},
hideUnsupportedOptions: function() { // full_feat
// windows prefs
['ui_hides_last_only', 'ui_show_activates', 'ui_remember_desktop']
.forEach(function(id){
document.getElementById(id).hidden = true;
});
hideUnsupportedOptions: function(uiElts) {
uiElts.forEach(function(id){
switch(id){
// windows prefs
case 'ui_hides_last_only':
case 'ui_show_activates':
case 'ui_remember_desktop':
// icon prefs
case 'app_icon_default':
case 'ui_show_icon_on_hide':
case 'ui_scroll_hides':
case 'ui_radiogroup_scroll':
document.getElementById(id).hidden = true;
break;
case 'ui_scroll_hides':
document.getElementById(id).removeAttribute("oncommand");
break;
// mail prefs
case 'newmail_icon_names':
for (let i=1; i<4; ++i) {
document.getElementById("radio_mail_notification_newmail_icon_name"+i).
setAttribute("observes", void(0));
}
case 'ui_mail_notification_unread_count':
document.getElementById(id).hidden = true;
break;
default:
log.error("Unhandled id: "+id);
};
});
// icon prefs
['app_icon_default', 'ui_show_icon_on_hide', 'ui_scroll_hides',
'ui_radiogroup_scroll'].forEach(function(id){
document.getElementById(id).hidden = true;
});
document.getElementById("ui_scroll_hides").removeAttribute("oncommand");
// mail prefs
document.getElementById("newmail_icon_names").hidden = true;
for (let i=1; i<4; ++i) {
document.getElementById("radio_mail_notification_newmail_icon_name"+i).
setAttribute("observes", void(0));
}
},
hidePrefPane: function(name){
@ -196,7 +218,7 @@ var firetrayUIOptions = {
},
disableIconTypeMaybe: function(appIconType) {
if (firetray.Handler.support['full_feat']) {
if (firetray.Handler.support['winnt']) {
let appIconDefaultGroup = document.getElementById("app_icon_default");
this.disableNChildren(appIconDefaultGroup, 2,
(appIconType !== FIRETRAY_APPLICATION_ICON_TYPE_THEMED));
@ -301,7 +323,7 @@ var firetrayUIOptions = {
this.disableChildren(iconTextColor,
(notificationSetting !== FIRETRAY_NOTIFICATION_MESSAGE_COUNT));
if (firetray.Handler.support['full_feat']) {
if (firetray.Handler.support['winnt']) {
let newMailIconNames = document.getElementById("newmail_icon_names");
this.disableNChildren(newMailIconNames, 2,
(notificationSetting !== FIRETRAY_NOTIFICATION_NEWMAIL_ICON));
@ -323,7 +345,7 @@ var firetrayUIOptions = {
let mailNotificationType = +mailNotifyRadio.getItemAtIndex(mailNotifyRadio.selectedIndex).value;
if (msgCountTypeIsNewMessages && (mailNotificationType === FIRETRAY_NOTIFICATION_MESSAGE_COUNT)) {
mailNotifyRadio.selectedIndex = this.radioGetIndexByValue(mailNotifyRadio, FIRETRAY_NOTIFICATION_NEWMAIL_ICON);
if (firetray.Handler.support['full_feat']) {
if (firetray.Handler.support['winnt']) {
let newMailIconNames = document.getElementById("newmail_icon_names");
this.disableNChildren(newMailIconNames, 2, false);
}

View File

@ -62,15 +62,15 @@ firetray.Handler = {
}
throw new Error("not resolved");
})(),
support: {chat: false, full_feat: false},
support: {chat: false, winnt: false},
init: function() { // does creates icon
firetray.PrefListener.register(false);
firetray.MailChatPrefListener.register(false);
log.info("OS=" + this.runtimeOS + ", ABI=" + this.runtimeABI + ", XULrunner=" + this.xulVer);
if (FIRETRAY_SUPPORTED_OS.indexOf(this.runtimeOS) < 0) {
let platforms = FIRETRAY_SUPPORTED_OS.join(", ");
if (FIRETRAY_OS_SUPPORT.indexOf(this.runtimeOS) < 0) {
let platforms = FIRETRAY_OS_SUPPORT.join(", ");
log.error("Only "+platforms+" platform(s) supported at this time. Firetray not loaded");
return false;
} else if (this.runtimeOS == "winnt" &&
@ -83,9 +83,8 @@ firetray.Handler = {
Cu.import("resource://firetray/"+this.runtimeOS+"/FiretrayWindow.jsm");
log.debug("FiretrayWindow "+this.runtimeOS+" imported");
this.support['chat'] = FIRETRAY_CHAT_SUPPORTED_OS
.indexOf(this.runtimeOS) > -1;
this.support['full_feat'] = FIRETRAY_FULL_FEAT_SUPPORTED_OS
this.support['chat'] = ['linux'].indexOf(this.runtimeOS) > -1;
this.support['winnt'] = ['winnt']
.indexOf(firetray.Handler.runtimeOS) > -1;
if (this.appId === FIRETRAY_APP_DB['thunderbird']['id'] ||
@ -131,8 +130,7 @@ firetray.Handler = {
this.existsChatAccount())
firetray.Chat.init();
} else {
let platforms = FIRETRAY_CHAT_SUPPORTED_OS.join(", ");
log.warn("Only "+platforms+" platform(s) supported at this time. Chat not loaded");
log.warn("Chat not supported for this platform. Chat not loaded");
}
}

View File

@ -3,8 +3,7 @@
/* for now, logging facilities (imported from logging.jsm) and Services are
automatically provided by this module */
var EXPORTED_SYMBOLS =
[ "firetray", "FIRETRAY_VERSION", "FIRETRAY_SUPPORTED_OS",
"FIRETRAY_CHAT_SUPPORTED_OS", "FIRETRAY_FULL_FEAT_SUPPORTED_OS",
[ "firetray", "FIRETRAY_VERSION", "FIRETRAY_OS_SUPPORT",
"FIRETRAY_ID", "FIRETRAY_PREF_BRANCH", "FIRETRAY_SPLASH_PAGE",
"FIRETRAY_APPLICATION_ICON_TYPE_THEMED",
"FIRETRAY_APPLICATION_ICON_TYPE_CUSTOM",
@ -25,13 +24,11 @@ const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://firetray/logging.jsm");
const FIRETRAY_VERSION = "0.5.3"; // needed for sync call of onVersionChange() :(
const FIRETRAY_SUPPORTED_OS = ['linux', 'winnt']; // install.rdf sync :(
const FIRETRAY_CHAT_SUPPORTED_OS = ['linux'];
const FIRETRAY_FULL_FEAT_SUPPORTED_OS = FIRETRAY_CHAT_SUPPORTED_OS;
const FIRETRAY_ID = "{9533f794-00b4-4354-aa15-c2bbda6989f8}";
const FIRETRAY_PREF_BRANCH = "extensions.firetray.";
const FIRETRAY_SPLASH_PAGE = "http://foudfou.github.com/FireTray/";
const FIRETRAY_VERSION = "0.5.3"; // needed for sync call of onVersionChange() :(
const FIRETRAY_OS_SUPPORT = ['linux', 'winnt']; // install.rdf sync :(
const FIRETRAY_ID = "{9533f794-00b4-4354-aa15-c2bbda6989f8}";
const FIRETRAY_PREF_BRANCH = "extensions.firetray.";
const FIRETRAY_SPLASH_PAGE = "http://foudfou.github.com/FireTray/";
const FIRETRAY_APPLICATION_ICON_TYPE_THEMED = 0;
const FIRETRAY_APPLICATION_ICON_TYPE_CUSTOM = 1;