Author: damoxc
Revision: 5374
Log:
tweak the setup script so the web plugin has the correct entry point
implement the webui server side plugin
add a page to the preferences window in the javascript
Diff:
Added: trunk/deluge/plugins/scheduler/scheduler/data/scheduler.js
===================================================================
--- trunk/deluge/plugins/scheduler/scheduler/data/scheduler.js
(rev 0)
+++ trunk/deluge/plugins/scheduler/scheduler/data/scheduler.js 2009-06-10
16:37:21 UTC (rev 5374)
@@ -0,0 +1,92 @@
+(function() {
+ function createEl(parent, type) {
+ var el = document.createElement(type);
+ parent.appendChild(el);
+ return el;
+ }
+
+ var DAYS = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
+
+ ScheduleSelectPanel = Ext.extend(Ext.form.FieldSet, {
+ constructor: function(config) {
+ config = Ext.apply({
+ title: _('Schedule'),
+ autoHeight: true
+ }, config);
+ ScheduleSelectPanel.superclass.constructor.call(this,
config);
+ },
+
+ onRender: function(ct, position) {
+ ScheduleSelectPanel.superclass.onRender.call(this, ct,
position);
+
+ var dom = this.body.dom;
+ var table = createEl(dom, 'table');
+
+ Ext.each(DAYS, function(day) {
+ var row = createEl(table, 'tr');
+ var label = createEl(row, 'th');
+ label.setAttribute('style', 'font-weight: bold;
padding-right: 5px;');
+ label.innerHTML = day;
+ for (var hour = 0; hour < 24; hour++) {
+ var cell = createEl(row, 'td');
+ cell.setAttribute('style', 'border: 1px
solid Green; width: 16px; height: 20px; background: LightGreen;');
+ }
+ });
+ }
+ });
+
+ SchedulerPreferences = Ext.extend(Ext.Panel, {
+ constructor: function(config) {
+ config = Ext.apply({
+ border: false,
+ title: _('Scheduler')
+ }, config);
+ SchedulerPreferences.superclass.constructor.call(this,
config);
+ },
+
+ initComponent: function() {
+
SchedulerPreferences.superclass.initComponent.call(this);
+
+ this.form = this.add({
+ xtype: 'form',
+ layout: 'form',
+ border: false,
+ autoHeight: true
+ });
+
+ this.schedule = this.form.add(new
ScheduleSelectPanel());
+
+ this.slowSettings = this.form.add({
+ xtype: 'fieldset',
+ title: _('Slow Settings'),
+ autoHeight: true,
+ defaultType: 'uxspinner'
+ });
+
+ this.downloadLimit = this.slowSettings.add({
+ fieldLabel: _('Download Limit'),
+ name: 'download_limit'
+ });
+ this.uploadLimit = this.slowSettings.add({
+ fieldLabel: _('Upload Limit'),
+ name: 'upload_limit'
+ });
+ this.activeTorrents = this.slowSettings.add({
+ fieldLabel: _('Active Torrents'),
+ name: 'active_torrents'
+ });
+ },
+
+ onRender: function(ct, position) {
+ SchedulerPreferences.superclass.onRender.call(this, ct,
position);
+ this.form.layout = new Ext.layout.FormLayout();
+ this.form.layout.setContainer(this);
+ this.form.doLayout();
+ },
+
+ onShow: function() {
+ SchedulerPreferences.superclass.onShow.call(this);
+ }
+ });
+ Deluge.Preferences.addPage(new SchedulerPreferences());
+})();
\ No newline at end of file
Modified: trunk/deluge/plugins/scheduler/scheduler/webui.py
===================================================================
--- trunk/deluge/plugins/scheduler/scheduler/webui.py 2009-06-10 14:28:37 UTC
(rev 5373)
+++ trunk/deluge/plugins/scheduler/scheduler/webui.py 2009-06-10 16:37:21 UTC
(rev 5374)
@@ -36,14 +36,26 @@
# statement from all source files in the program, then also delete it here.
#
+import pkg_resources
+
from deluge.log import LOG as log
from deluge.ui.client import client
from deluge import component
from deluge.plugins.pluginbase import WebPluginBase
+from common import get_resource
+
class WebUI(WebPluginBase):
def enable(self):
- pass
+ deluge_web = component.get("DelugeWeb").top_level
+ deluge_web.add_script("/js/scheduler.js")
+
+ javascript = component.get("Javascript").directories
+ javascript.append(get_resource(""))
- def disable(self):
- pass
+ def disable(self):
+ deluge_web = component.get("DelugeWeb").top_level
+ deluge_web.remove_script("/js/scheduler.js")
+
+ javascript = component.get("Javascript").directories
+ javascript.remove(get_resource(""))
Modified: trunk/deluge/plugins/scheduler/setup.py
===================================================================
--- trunk/deluge/plugins/scheduler/setup.py 2009-06-10 14:28:37 UTC (rev
5373)
+++ trunk/deluge/plugins/scheduler/setup.py 2009-06-10 16:37:21 UTC (rev
5374)
@@ -66,7 +66,7 @@
%s = %s:CorePlugin
[deluge.plugin.gtkui]
%s = %s:GtkUIPlugin
- [deluge.plugin.webui]
+ [deluge.plugin.web]
%s = %s:WebUIPlugin
""" % ((__plugin_name__, __plugin_name__.lower())*3)
)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---