rename Deluge.Events to Deluge.EventsManager
This commit is contained in:
parent
ff1ad9d764
commit
af9eeb02b0
|
@ -4,7 +4,7 @@ add_file "Deluge.js"
|
|||
add_file "Deluge.Formatters.js"
|
||||
add_file "Deluge.Keys.js"
|
||||
add_file "Deluge.Menus.js"
|
||||
add_file "Deluge.Events.js"
|
||||
add_file "Deluge.EventsManager.js"
|
||||
add_file "Deluge.OptionsManager.js"
|
||||
add_file "Deluge.MultiOptionsManager.js"
|
||||
add_file "Deluge.Add.js"
|
||||
|
|
|
@ -1,127 +0,0 @@
|
|||
/*
|
||||
Script: Deluge.Events.js
|
||||
Class for holding global events that occur within the UI.
|
||||
|
||||
Copyright:
|
||||
(C) Damien Churchill 2009-2010 <damoxc@gmail.com>
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, write to:
|
||||
The Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
In addition, as a special exception, the copyright holders give
|
||||
permission to link the code of portions of this program with the OpenSSL
|
||||
library.
|
||||
You must obey the GNU General Public License in all respects for all of
|
||||
the code used other than OpenSSL. If you modify file(s) with this
|
||||
exception, you may extend this exception to your version of the file(s),
|
||||
but you are not obligated to do so. If you do not wish to do so, delete
|
||||
this exception statement from your version. If you delete this exception
|
||||
statement from all source files in the program, then also delete it here.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
/**
|
||||
* @class Deluge.Events
|
||||
* <p>Deluge.Events is a singleton that components of the UI can use to fire global events</p>
|
||||
* @singleton
|
||||
* Class for holding global events that occur within the UI.
|
||||
*/
|
||||
Deluge.Events = Ext.extend(Ext.util.Observable, {
|
||||
constructor: function() {
|
||||
this.toRegister = [];
|
||||
this.on('login', this.onLogin, this);
|
||||
Deluge.Events.superclass.constructor.call(this);
|
||||
},
|
||||
|
||||
/**
|
||||
* Append an event handler to this object.
|
||||
*/
|
||||
addListener: function(eventName, fn, scope, o) {
|
||||
this.addEvents(eventName);
|
||||
if (/[A-Z]/.test(eventName.substring(0, 1))) {
|
||||
if (!deluge.client) {
|
||||
this.toRegister.push(eventName);
|
||||
} else {
|
||||
deluge.client.web.register_event_listener(eventName);
|
||||
}
|
||||
}
|
||||
Deluge.Events.superclass.addListener.call(this, eventName, fn, scope, o);
|
||||
},
|
||||
|
||||
getEvents: function() {
|
||||
deluge.client.web.get_events({
|
||||
success: this.onGetEventsSuccess,
|
||||
failure: this.onGetEventsFailure,
|
||||
scope: this
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Starts the EventsManager checking for events.
|
||||
*/
|
||||
start: function() {
|
||||
Ext.each(this.toRegister, function(eventName) {
|
||||
deluge.client.web.register_event_listener(eventName);
|
||||
});
|
||||
this.running = true;
|
||||
this.getEvents();
|
||||
},
|
||||
|
||||
/**
|
||||
* Stops the EventsManager checking for events.
|
||||
*/
|
||||
stop: function() {
|
||||
this.running = false;
|
||||
},
|
||||
|
||||
// private
|
||||
onLogin: function() {
|
||||
this.start();
|
||||
this.on('PluginEnabledEvent', this.onPluginEnabled, this);
|
||||
this.on('PluginDisabledEvent', this.onPluginDisabled, this);
|
||||
},
|
||||
|
||||
onGetEventsSuccess: function(events) {
|
||||
if (!events) return;
|
||||
Ext.each(events, function(event) {
|
||||
var name = event[0], args = event[1];
|
||||
args.splice(0, 0, name);
|
||||
this.fireEvent.apply(this, args);
|
||||
}, this);
|
||||
if (this.running) this.getEvents();
|
||||
},
|
||||
|
||||
// private
|
||||
onGetEventsFailure: function(events) {
|
||||
// the request timed out so we just want to open up another
|
||||
// one.
|
||||
if (this.running) this.getEvents();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Appends an event handler to this object (shorthand for {@link #addListener})
|
||||
* @method
|
||||
*/
|
||||
Deluge.Events.prototype.on = Deluge.Events.prototype.addListener
|
||||
|
||||
/**
|
||||
* Fires the specified event with the passed parameters (minus the
|
||||
* event name).
|
||||
* @method
|
||||
*/
|
||||
Deluge.Events.prototype.fire = Deluge.Events.prototype.fireEvent
|
||||
deluge.events = new Deluge.Events();
|
||||
})();
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
Script: Deluge.EventsManager.js
|
||||
Class for holding global events that occur within the UI.
|
||||
|
||||
Copyright:
|
||||
(C) Damien Churchill 2009-2010 <damoxc@gmail.com>
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, write to:
|
||||
The Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor
|
||||
Boston, MA 02110-1301, USA.
|
||||
|
||||
In addition, as a special exception, the copyright holders give
|
||||
permission to link the code of portions of this program with the OpenSSL
|
||||
library.
|
||||
You must obey the GNU General Public License in all respects for all of
|
||||
the code used other than OpenSSL. If you modify file(s) with this
|
||||
exception, you may extend this exception to your version of the file(s),
|
||||
but you are not obligated to do so. If you do not wish to do so, delete
|
||||
this exception statement from your version. If you delete this exception
|
||||
statement from all source files in the program, then also delete it here.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class Deluge.EventsManager
|
||||
* <p>Deluge.EventsManager is instantated as <tt>deluge.events</tt> and can be used by components of the UI to fire global events</p>
|
||||
* Class for holding global events that occur within the UI.
|
||||
*/
|
||||
Deluge.EventsManager = Ext.extend(Ext.util.Observable, {
|
||||
constructor: function() {
|
||||
this.toRegister = [];
|
||||
this.on('login', this.onLogin, this);
|
||||
Deluge.EventsManager.superclass.constructor.call(this);
|
||||
},
|
||||
|
||||
/**
|
||||
* Append an event handler to this object.
|
||||
*/
|
||||
addListener: function(eventName, fn, scope, o) {
|
||||
this.addEvents(eventName);
|
||||
if (/[A-Z]/.test(eventName.substring(0, 1))) {
|
||||
if (!deluge.client) {
|
||||
this.toRegister.push(eventName);
|
||||
} else {
|
||||
deluge.client.web.register_event_listener(eventName);
|
||||
}
|
||||
}
|
||||
Deluge.EventsManager.superclass.addListener.call(this, eventName, fn, scope, o);
|
||||
},
|
||||
|
||||
getEvents: function() {
|
||||
deluge.client.web.get_events({
|
||||
success: this.onGetEventsSuccess,
|
||||
failure: this.onGetEventsFailure,
|
||||
scope: this
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Starts the EventsManagerManager checking for events.
|
||||
*/
|
||||
start: function() {
|
||||
Ext.each(this.toRegister, function(eventName) {
|
||||
deluge.client.web.register_event_listener(eventName);
|
||||
});
|
||||
this.running = true;
|
||||
this.getEvents();
|
||||
},
|
||||
|
||||
/**
|
||||
* Stops the EventsManagerManager checking for events.
|
||||
*/
|
||||
stop: function() {
|
||||
this.running = false;
|
||||
},
|
||||
|
||||
// private
|
||||
onLogin: function() {
|
||||
this.start();
|
||||
this.on('PluginEnabledEvent', this.onPluginEnabled, this);
|
||||
this.on('PluginDisabledEvent', this.onPluginDisabled, this);
|
||||
},
|
||||
|
||||
onGetEventsSuccess: function(events) {
|
||||
if (!events) return;
|
||||
Ext.each(events, function(event) {
|
||||
var name = event[0], args = event[1];
|
||||
args.splice(0, 0, name);
|
||||
this.fireEvent.apply(this, args);
|
||||
}, this);
|
||||
if (this.running) this.getEvents();
|
||||
},
|
||||
|
||||
// private
|
||||
onGetEventsFailure: function(events) {
|
||||
// the request timed out so we just want to open up another
|
||||
// one.
|
||||
if (this.running) this.getEvents();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Appends an event handler to this object (shorthand for {@link #addListener})
|
||||
* @method
|
||||
*/
|
||||
Deluge.EventsManager.prototype.on = Deluge.EventsManager.prototype.addListener
|
||||
|
||||
/**
|
||||
* Fires the specified event with the passed parameters (minus the
|
||||
* event name).
|
||||
* @method
|
||||
*/
|
||||
Deluge.EventsManager.prototype.fire = Deluge.EventsManager.prototype.fireEvent
|
||||
deluge.events = new Deluge.EventsManager();
|
|
@ -338,7 +338,7 @@ class TopLevel(resource.Resource):
|
|||
"js/deluge-all/Deluge.js",
|
||||
"js/deluge-all/Deluge.Formatters.js",
|
||||
"js/deluge-all/Deluge.Menus.js",
|
||||
"js/deluge-all/Deluge.Events.js",
|
||||
"js/deluge-all/Deluge.EventsManager.js",
|
||||
"js/deluge-all/Deluge.OptionsManager.js",
|
||||
"js/deluge-all/Deluge.MultiOptionsManager.js",
|
||||
"js/deluge-all/Deluge.Add.js",
|
||||
|
|
Loading…
Reference in New Issue