mirror of
https://github.com/moparisthebest/FireTray
synced 2025-03-11 14:59:41 -04:00
* fix setPopupMenuWindowItemLabel call
* bump to v0.4.0b1 * refactoring
This commit is contained in:
parent
b4b9813d25
commit
fc51dca3fe
2
TODO
2
TODO
@ -36,8 +36,8 @@ ROADMAP
|
||||
NEXT FEATURES
|
||||
-------------
|
||||
|
||||
* mouse scrolls on tray icon hides/shows
|
||||
* when restoring, if the window is iconified, deiconify it
|
||||
* keyboard shortcut hide/show
|
||||
* fetch mail from popup menu
|
||||
|
||||
[Vote](https://docs.google.com/spreadsheet/viewform?hl=fr&formkey=dFJqUC1pLTQzNkJYQldFdzdSV1BaSkE6MQ#gid=0)
|
||||
|
@ -7,6 +7,16 @@ const Cu = Components.utils;
|
||||
Cu.import("resource://firetray/FiretrayHandler.jsm");
|
||||
Cu.import("resource://firetray/commons.js");
|
||||
|
||||
const FLDRS_UNINTERESTING = {
|
||||
Archive: Ci.nsMsgFolderFlags.Archive,
|
||||
Drafts: Ci.nsMsgFolderFlags.Drafts,
|
||||
Junk: Ci.nsMsgFolderFlags.Junk,
|
||||
Queue: Ci.nsMsgFolderFlags.Queue,
|
||||
SentMail: Ci.nsMsgFolderFlags.SentMail,
|
||||
Templates: Ci.nsMsgFolderFlags.Templates,
|
||||
Trash: Ci.nsMsgFolderFlags.Trash
|
||||
};
|
||||
|
||||
const TREEROW_ACCOUNT_OR_SERVER_TYPE_NAME = 0;
|
||||
const TREEROW_ACCOUNT_OR_SERVER_TYPE_EXCLUDED = 1;
|
||||
const TREEROW_ACCOUNT_OR_SERVER_TYPE_ORDER = 2;
|
||||
|
@ -90,10 +90,7 @@ var firetrayChrome = {
|
||||
LOG('Pref changed: '+data);
|
||||
switch (data) {
|
||||
case 'hides_single_window':
|
||||
if (firetray.StatusIcon.popupMenuWindowItemsHandled())
|
||||
firetray.StatusIcon.showAllPopupMenuWindowItems(true);
|
||||
else
|
||||
firetray.StatusIcon.hideAllPopupMenuWindowItems(true);
|
||||
firetray.Handler.updatePopupMenu();
|
||||
break;
|
||||
case 'show_icon_on_hide':
|
||||
firetray.Handler.showHideIcon();
|
||||
|
@ -5,7 +5,7 @@
|
||||
<em:unpack>true</em:unpack> <!-- needed for embedded icons -->
|
||||
<em:type>2</em:type>
|
||||
<em:name>FireTray</em:name>
|
||||
<em:version>0.4.0a6</em:version>
|
||||
<em:version>0.4.0b1</em:version>
|
||||
<em:creator>Hua Luo, Francesco Solero, Foudil BRÉTEL</em:creator>
|
||||
<em:contributor>Hua Luo, Francesco Solero (Firetray original authors)</em:contributor>
|
||||
<em:homepageURL>https://github.com/foudfou/firetray</em:homepageURL>
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
|
||||
var EXPORTED_SYMBOLS = [ "firetray", "FLDRS_UNINTERESTING" ];
|
||||
var EXPORTED_SYMBOLS = [ "firetray" ];
|
||||
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
@ -10,16 +10,6 @@ Cu.import("resource:///modules/mailServices.js");
|
||||
Cu.import("resource://gre/modules/PluralForm.jsm");
|
||||
Cu.import("resource://firetray/commons.js");
|
||||
|
||||
const FLDRS_UNINTERESTING = {
|
||||
Archive: Ci.nsMsgFolderFlags.Archive,
|
||||
Drafts: Ci.nsMsgFolderFlags.Drafts,
|
||||
Junk: Ci.nsMsgFolderFlags.Junk,
|
||||
Queue: Ci.nsMsgFolderFlags.Queue,
|
||||
SentMail: Ci.nsMsgFolderFlags.SentMail,
|
||||
Templates: Ci.nsMsgFolderFlags.Templates,
|
||||
Trash: Ci.nsMsgFolderFlags.Trash
|
||||
};
|
||||
|
||||
/**
|
||||
* firetray namespace.
|
||||
*/
|
||||
@ -77,7 +67,10 @@ firetray.Messaging = {
|
||||
},
|
||||
|
||||
/**
|
||||
* computes total unread message count
|
||||
* computes total unread message count.
|
||||
* NOTE: new messages can(?) be filtered and mark read, but still be
|
||||
* considered new, so we may have to use nsMsgFolderFlagType.GotNew on all
|
||||
* folders
|
||||
*/
|
||||
updateUnreadMsgCount: function() {
|
||||
LOG("unreadMsgCount");
|
||||
|
@ -170,7 +170,6 @@ firetray.StatusIcon = {
|
||||
addPopupMenuWindowItem: function(xid) { // on registerWindow
|
||||
var menuItemWindow = gtk.gtk_image_menu_item_new();
|
||||
firetray.Handler.gtkPopupMenuWindowItems.insert(xid, menuItemWindow);
|
||||
this.setPopupMenuWindowItemLabel(menuItemWindow, xid);
|
||||
|
||||
var menuShell = ctypes.cast(firetray.StatusIcon.menu, gtk.GtkMenuShell.ptr);
|
||||
gtk.gtk_menu_shell_prepend(menuShell,
|
||||
@ -210,6 +209,7 @@ firetray.StatusIcon = {
|
||||
LOG("showSinglePopupMenuWindowItem");
|
||||
let menuItemWindow = firetray.Handler.gtkPopupMenuWindowItems.get(xid);
|
||||
gtk.gtk_widget_show(ctypes.cast(menuItemWindow, gtk.GtkWidget.ptr));
|
||||
this.setPopupMenuWindowItemLabel(menuItemWindow, xid); // not when creating item !
|
||||
this.showPopupMenuWindowSeparator();
|
||||
},
|
||||
|
||||
@ -218,12 +218,13 @@ firetray.StatusIcon = {
|
||||
this.hideSinglePopupMenuWindowItem(xid, forceHideSeparator);
|
||||
},
|
||||
|
||||
// PopupMenu.hideItem(firetray.Handler.gtkPopupMenuWindowItems.get(xid))
|
||||
hideSinglePopupMenuWindowItem: function(xid, forceHideSeparator) {
|
||||
LOG("hideSinglePopupMenuWindowItem");
|
||||
let menuItemWindow = firetray.Handler.gtkPopupMenuWindowItems.get(xid);
|
||||
gtk.gtk_widget_hide(ctypes.cast(menuItemWindow, gtk.GtkWidget.ptr)); // on hideSingleWindow
|
||||
|
||||
if (!forceHideSeparator || (firetray.Handler.visibleWindowsCount === firetray.Handler.windowsCount)) {
|
||||
if (forceHideSeparator || (firetray.Handler.visibleWindowsCount === firetray.Handler.windowsCount)) {
|
||||
this.hidePopupMenuWindowSeparator();
|
||||
}
|
||||
},
|
||||
@ -420,3 +421,10 @@ firetray.Handler.setIconVisibility = function(visible) {
|
||||
gtk.gtk_status_icon_set_visible(firetray.StatusIcon.trayIcon, visible);
|
||||
return true;
|
||||
};
|
||||
|
||||
firetray.Handler.updatePopupMenu = function() {
|
||||
if (firetray.StatusIcon.popupMenuWindowItemsHandled())
|
||||
firetray.StatusIcon.showAllPopupMenuWindowItems(true);
|
||||
else
|
||||
firetray.StatusIcon.hideAllPopupMenuWindowItems(true);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user