Author: damoxc
Revision: 5587
Log:
finish the queue preferences page
Diff:
Modified: trunk/deluge/ui/web/js/Deluge.Preferences.Queue.js
===================================================================
--- trunk/deluge/ui/web/js/Deluge.Preferences.Queue.js 2009-07-30 22:51:44 UTC
(rev 5586)
+++ trunk/deluge/ui/web/js/Deluge.Preferences.Queue.js 2009-07-30 23:11:28 UTC
(rev 5587)
@@ -1,8 +1,186 @@
-/*
-Deluge.Preferences.addPage(_('Queue'), {
- border: false,
- xtype: 'form',
- layout: 'form',
- items: []
+Ext.namespace('Ext.deluge.preferences');
+Ext.deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, {
+ constructor: function(config) {
+ config = Ext.apply({
+ border: false,
+ title: _('Queue'),
+ layout: 'form'
+ }, config);
+ Ext.deluge.preferences.Queue.superclass.constructor.call(this,
config);
+ },
+
+ initComponent: function() {
+
Ext.deluge.preferences.Queue.superclass.initComponent.call(this);
+
+ var optMan = Deluge.Preferences.getOptionsManager();
+
+ var fieldset = this.add({
+ xtype: 'fieldset',
+ border: false,
+ title: _('General'),
+ autoHeight: true,
+ labelWidth: 1,
+ defaultType: 'checkbox'
+ });
+ optMan.bind('queue_new_to_top', fieldset.add({
+ fieldLabel: '',
+ labelSeparator: '',
+ boxLabel: _('Queue new torrents to top'),
+ name: 'queue_new_to_top'
+ }));
+
+ fieldset = this.add({
+ xtype: 'fieldset',
+ border: false,
+ title: _('Active Torrents'),
+ autoHeight: true,
+ labelWidth: 150,
+ defaultType: 'uxspinner',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
+ });
+ optMan.bind('max_active_limit', fieldset.add({
+ fieldLabel: _('Total Active'),
+ name: 'max_active_limit',
+ value: 8,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+ optMan.bind('max_active_downloading', fieldset.add({
+ fieldLabel: _('Total Active Downloading'),
+ name: 'max_active_downloading',
+ value: 3,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+ optMan.bind('max_active_seeding', fieldset.add({
+ fieldLabel: _('Total Active Seeding'),
+ name: 'max_active_seeding',
+ value: 5,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+ optMan.bind('dont_count_slow_torrents', fieldset.add({
+ xtype: 'checkbox',
+ name: 'dont_count_slow_torrents',
+ height: 40,
+ hideLabel: true,
+ boxLabel: _('Do not count slow torrents')
+ }));
+
+ fieldset = this.add({
+ xtype: 'fieldset',
+ border: false,
+ title: _('Seeding'),
+ autoHeight: true,
+ labelWidth: 150,
+ defaultType: 'uxspinner',
+ style: 'margin-bottom: 0px; padding-bottom: 0px;',
+ });
+ optMan.bind('share_ratio_limit', fieldset.add({
+ fieldLabel: _('Share Ratio Limit'),
+ name: 'share_ratio_limit',
+ value: 8,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+ optMan.bind('seed_time_ratio_limit', fieldset.add({
+ fieldLabel: _('Share Time Ratio'),
+ name: 'seed_time_ratio_limit',
+ value: 3,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+ optMan.bind('seed_time_limit', fieldset.add({
+ fieldLabel: _('Seed Time (m)'),
+ name: 'seed_time_limit',
+ value: 5,
+ width: 80,
+ strategy: {
+ xtype: 'number',
+ decimalPrecision: 0,
+ minValue: -1,
+ maxValue: 99999
+ },
+ }));
+
+ fieldset = this.add({
+ xtype: 'fieldset',
+ border: false,
+ autoHeight: true,
+
+ layout: 'table',
+ layoutConfig: {columns: 2},
+ labelWidth: 0,
+ defaultType: 'checkbox',
+
+ defaults: {
+ fieldLabel: '',
+ labelSeparator: ''
+ }
+ });
+ this.stopAtRatio = fieldset.add({
+ name: 'stop_seed_at_ratio',
+ boxLabel: _('Stop seeding when share ratio reaches:')
+ });
+ this.stopAtRatio.on('check', this.onStopRatioCheck, this);
+ optMan.bind('stop_seed_at_ratio', this.stopAtRatio);
+
+ this.stopRatio = fieldset.add({
+ xtype: 'uxspinner',
+ name: 'stop_seed_ratio',
+ ctCls: 'x-deluge-indent-checkbox',
+ disabled: true,
+ value: 2.0,
+ width: 60,
+ strategy: {
+ xtype: 'number',
+ minValue: -1,
+ maxValue: 99999,
+ incrementValue: 0.1,
+ alternateIncrementValue: 1,
+ decimalPrecision: 1
+ }
+ });
+ optMan.bind('stop_seed_ratio', this.stopRatio);
+
+ this.removeAtRatio = fieldset.add({
+ name: 'remove_seed_at_ratio',
+ ctCls: 'x-deluge-indent-checkbox',
+ boxLabel: _('Remove torrent when share ratio is
reached'),
+ disabled: true,
+ colspan: 2
+ });
+ optMan.bind('remove_seed_at_ratio', this.removeAtRatio);
+ },
+
+ onStopRatioCheck: function(e, checked) {
+ this.stopRatio.setDisabled(!checked);
+ this.removeAtRatio.setDisabled(!checked);
+ }
});
-*/
\ No newline at end of file
+Deluge.Preferences.addPage(new Ext.deluge.preferences.Queue());
\ No newline at end of file
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---