diff options
97 files changed, 8334 insertions, 6338 deletions
diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..44cf215cd --- /dev/null +++ b/.prettierignore @@ -0,0 +1,6 @@ +deluge/ui/web/css/ext-*.css +deluge/ui/web/js/extjs/ext-*.js +deluge/ui/web/docs/ +deluge/ui/web/themes/images/ +*.py* +*.html diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 000000000..724d4b933 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,13 @@ +trailingComma: "es5" +tabWidth: 4 +singleQuote: true +overrides: + - files: + - "*.yaml" + - ".*.yaml" + - "*.yml" + - ".*.yml" + - "*.md" + options: + tabWidth: 2 + singleQuote: false diff --git a/.travis.yml b/.travis.yml index fc8e8d9f5..e049201d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: required language: python python: - - "2.7" + - "2.7" cache: pip before_install: diff --git a/appveyor.yml b/appveyor.yml index 80094625e..26a0edaec 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,46 +22,47 @@ install: # purpose but it is problematic because it tends to cancel builds pushed # directly to master instead of just PR builds (or the converse). # credits: JuliaLang developers. - - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` - https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` - Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` - throw "There are newer queued builds for this pull request, failing early." } + - ps: + if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` + https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` + Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` + throw "There are newer queued builds for this pull request, failing early." } - "python -m pip install --upgrade pip" - if defined TOXENV ( - pip install - tox - pywin32 - certifi + pip install + tox + pywin32 + certifi ) - if not defined TOXENV ( - pip install - slimit - twisted[tls] - chardet - mako - pyxdg - pillow - slimit - setproctitle - pywin32 - certifi - pygame - bbfreeze - pefile + pip install + slimit + twisted[tls] + chardet + mako + pyxdg + pillow + slimit + setproctitle + pywin32 + certifi + pygame + bbfreeze + pefile ) - echo "Installing pygtk...." - if not exist pygtk-all-in-one-2.24.2.win32-py2.7.msi ( - echo "Downloading pygtk...." - & appveyor-retry appveyor DownloadFile "https://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi" + echo "Downloading pygtk...." + & appveyor-retry appveyor DownloadFile "https://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi" ) - cmd: msiexec /i pygtk-all-in-one-2.24.2.win32-py2.7.msi /quiet /qn /norestart TARGETDIR=C:\Python27 INSTALLLEVEL=3 - echo "Installing openssl...." - if not exist openssl-1.1.0f-vs2008.7z ( - echo "Downloading openssl...." - & appveyor-retry appveyor DownloadFile "https://www.npcglib.org/~stathis/downloads/openssl-1.1.0f-vs2008.7z" + echo "Downloading openssl...." + & appveyor-retry appveyor DownloadFile "https://www.npcglib.org/~stathis/downloads/openssl-1.1.0f-vs2008.7z" ) - "7z x -oc:\\ -aoa openssl-1.1.0f-vs2008.7z" - "rename c:\\openssl-1.1.0f-vs2008 openssl-1.1" @@ -70,15 +71,15 @@ install: - echo "Installing libtorrent...." - if not exist libtorrent.pyd ( - echo "Downloading libtorrent...." - & appveyor-retry appveyor DownloadFile "https://github.com/doadin/libtorrent/releases/download/1.1.7.test/libtorrent.pyd" + echo "Downloading libtorrent...." + & appveyor-retry appveyor DownloadFile "https://github.com/doadin/libtorrent/releases/download/1.1.7.test/libtorrent.pyd" ) - "copy /Y libtorrent.pyd c:\\Python27\\Lib\\site-packages\\libtorrent.pyd" - "SET PATH=%TOXENV%;%PYTHON%;%PYTHON%\\Scripts;c:\\openssl-1.1\\bin;C:\\Program Files (x86)\\NSIS;%PATH%" - "python --version" - - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - - "python -c \"import libtorrent; print(libtorrent.__version__)\"" + - 'python -c "import struct; print(struct.calcsize(\"P\") * 8)"' + - 'python -c "import libtorrent; print(libtorrent.__version__)"' - openssl version -v cache: diff --git a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd.js b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd.js index 1bb73ebb4..af23fb6c1 100644 --- a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd.js +++ b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd.js @@ -19,7 +19,6 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { - title: _('AutoAdd'), header: false, layout: 'fit', @@ -33,75 +32,91 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { this.list = new Ext.list.ListView({ store: new Ext.data.JsonStore({ - fields: [ - 'id', - 'enabled', - 'owner', - 'path' - ] + fields: ['id', 'enabled', 'owner', 'path'], }), - columns: [{ - id: 'enabled', - header: _('Active'), - sortable: true, - dataIndex: 'enabled', - tpl: new Ext.XTemplate('{enabled:this.getCheckbox}', { - getCheckbox: function(checked, selected) { - Deluge.ux.AutoAdd.onClickFunctions[selected.id] = function () { - if (selected.enabled) { - deluge.client.autoadd.disable_watchdir(selected.id); - checked = false; - } - else { - deluge.client.autoadd.enable_watchdir(selected.id); - checked = true; - } - autoAdd.updateWatchDirs(); - }; - return '<input id="enabled-' + selected.id + '" type="checkbox"' + (checked ? ' checked' : '') + - ' onclick="Deluge.ux.AutoAdd.onClickFunctions[' + selected.id +']()" />' - } - }), - width: .15 - }, { - id: 'owner', - header: _('Owner'), - sortable: true, - dataIndex: 'owner', - width: .2 - }, { - id: 'path', - header: _('Path'), - sortable: true, - dataIndex: 'path' - }], + columns: [ + { + id: 'enabled', + header: _('Active'), + sortable: true, + dataIndex: 'enabled', + tpl: new Ext.XTemplate('{enabled:this.getCheckbox}', { + getCheckbox: function(checked, selected) { + Deluge.ux.AutoAdd.onClickFunctions[ + selected.id + ] = function() { + if (selected.enabled) { + deluge.client.autoadd.disable_watchdir( + selected.id + ); + checked = false; + } else { + deluge.client.autoadd.enable_watchdir( + selected.id + ); + checked = true; + } + autoAdd.updateWatchDirs(); + }; + return ( + '<input id="enabled-' + + selected.id + + '" type="checkbox"' + + (checked ? ' checked' : '') + + ' onclick="Deluge.ux.AutoAdd.onClickFunctions[' + + selected.id + + ']()" />' + ); + }, + }), + width: 0.15, + }, + { + id: 'owner', + header: _('Owner'), + sortable: true, + dataIndex: 'owner', + width: 0.2, + }, + { + id: 'path', + header: _('Path'), + sortable: true, + dataIndex: 'path', + }, + ], singleSelect: true, - autoExpandColumn: 'path' + autoExpandColumn: 'path', }); this.list.on('selectionchange', this.onSelectionChange, this); this.panel = this.add({ items: [this.list], bbar: { - items: [{ + items: [ + { text: _('Add'), iconCls: 'icon-add', handler: this.onAddClick, - scope: this - }, { + scope: this, + }, + { text: _('Edit'), iconCls: 'icon-edit', handler: this.onEditClick, scope: this, - disabled: true - }, '->', { + disabled: true, + }, + '->', + { text: _('Remove'), iconCls: 'icon-remove', handler: this.onRemoveClick, scope: this, - disabled: true - }] - } + disabled: true, + }, + ], + }, }); this.on('show', this.onPreferencesShow, this); @@ -117,7 +132,8 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { var watchdir = {}; watchdir['id'] = id; watchdir['enabled'] = watchdirs[id].enabled; - watchdir['owner'] = watchdirs[id].owner || 'localclient'; + watchdir['owner'] = + watchdirs[id].owner || 'localclient'; watchdir['path'] = watchdirs[id].path; watchdirsArray.push(watchdir); @@ -125,16 +141,20 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { } this.list.getStore().loadData(watchdirsArray); }, - scope: this + scope: this, }); }, onAddClick: function() { if (!this.addWin) { this.addWin = new Deluge.ux.AutoAdd.AddAutoAddCommandWindow(); - this.addWin.on('watchdiradd', function() { - this.updateWatchDirs(); - }, this); + this.addWin.on( + 'watchdiradd', + function() { + this.updateWatchDirs(); + }, + this + ); } this.addWin.show(); }, @@ -142,9 +162,13 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { onEditClick: function() { if (!this.editWin) { this.editWin = new Deluge.ux.AutoAdd.EditAutoAddCommandWindow(); - this.editWin.on('watchdiredit', function() { - this.updateWatchDirs(); - }, this); + this.editWin.on( + 'watchdiredit', + function() { + this.updateWatchDirs(); + }, + this + ); } var id = this.list.getSelectedRecords()[0].id; this.editWin.show(id, this.watchdirs[id]); @@ -160,26 +184,38 @@ Deluge.ux.preferences.AutoAddPage = Ext.extend(Ext.Panel, { success: function() { this.updateWatchDirs(); }, - scope: this + scope: this, }); }, onSelectionChange: function(dv, selections) { if (selections.length) { - this.panel.getBottomToolbar().items.get(1).enable(); - this.panel.getBottomToolbar().items.get(3).enable(); + this.panel + .getBottomToolbar() + .items.get(1) + .enable(); + this.panel + .getBottomToolbar() + .items.get(3) + .enable(); } else { - this.panel.getBottomToolbar().items.get(1).disable(); - this.panel.getBottomToolbar().items.get(3).disable(); + this.panel + .getBottomToolbar() + .items.get(1) + .disable(); + this.panel + .getBottomToolbar() + .items.get(3) + .disable(); } - } + }, }); Deluge.plugins.AutoAddPlugin = Ext.extend(Deluge.Plugin, { name: 'AutoAdd', static: { - prefsPage: null + prefsPage: null, }, onDisable: function() { @@ -193,9 +229,11 @@ Deluge.plugins.AutoAddPlugin = Ext.extend(Deluge.Plugin, { * This will prevent adding unnecessary tabs to the preferences window. */ if (!Deluge.plugins.AutoAddPlugin.prefsPage) { - Deluge.plugins.AutoAddPlugin.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.AutoAddPage()); + Deluge.plugins.AutoAddPlugin.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.AutoAddPage() + ); } - } + }, }); Deluge.registerPlugin('AutoAdd', Deluge.plugins.AutoAddPlugin); diff --git a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options.js b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options.js index 186e52b5b..c4c851eaa 100644 --- a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options.js +++ b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options.js @@ -16,34 +16,48 @@ Ext.ns('Deluge.ux.AutoAdd'); * @extends Ext.Window */ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { - width: 350, autoHeight: true, closeAction: 'hide', spin_ids: ['max_download_speed', 'max_upload_speed', 'stop_ratio'], spin_int_ids: ['max_upload_slots', 'max_connections'], - chk_ids: ['stop_at_ratio', 'remove_at_ratio', 'move_completed', - 'add_paused', 'auto_managed', 'queue_to_top'], - toggle_ids: ['append_extension_toggle', 'download_location_toggle', - 'label_toggle', 'copy_torrent_toggle', - 'delete_copy_torrent_toggle', 'seed_mode'], + chk_ids: [ + 'stop_at_ratio', + 'remove_at_ratio', + 'move_completed', + 'add_paused', + 'auto_managed', + 'queue_to_top', + ], + toggle_ids: [ + 'append_extension_toggle', + 'download_location_toggle', + 'label_toggle', + 'copy_torrent_toggle', + 'delete_copy_torrent_toggle', + 'seed_mode', + ], accounts: new Ext.data.ArrayStore({ storeId: 'accountStore', id: 0, - fields: [{ - name: 'displayText', - type: 'string' - }] + fields: [ + { + name: 'displayText', + type: 'string', + }, + ], }), labels: new Ext.data.ArrayStore({ storeId: 'labelStore', id: 0, - fields: [{ - name: 'displayText', - type: 'string' - }] + fields: [ + { + name: 'displayText', + type: 'string', + }, + ], }), initComponent: function() { @@ -57,14 +71,13 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { xtype: 'form', baseCls: 'x-plain', bodyStyle: 'padding: 5px', - items: [{ - xtype: 'tabpanel', - activeTab: 0, - items: [ - this.MainTab, - this.OptionsTab - ] - }] + items: [ + { + xtype: 'tabpanel', + activeTab: 0, + items: [this.MainTab, this.OptionsTab], + }, + ], }); }, @@ -72,13 +85,17 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { this.hide(); }, - getOptions: function () { + getOptions: function() { var options = {}; options['enabled'] = Ext.getCmp('enabled').getValue(); options['path'] = Ext.getCmp('path').getValue(); - options['download_location'] = Ext.getCmp('download_location').getValue(); - options['move_completed_path'] = Ext.getCmp('move_completed_path').getValue(); + options['download_location'] = Ext.getCmp( + 'download_location' + ).getValue(); + options['move_completed_path'] = Ext.getCmp( + 'move_completed_path' + ).getValue(); options['copy_torrent'] = Ext.getCmp('copy_torrent').getValue(); options['label'] = Ext.getCmp('label').getValue(); @@ -89,27 +106,38 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { options[toggle_id] = Ext.getCmp(toggle_id).getValue(); }); this.spin_ids.forEach(function(spin_id) { - options[spin_id] = Ext.getCmp(spin_id).getValue(); - options[spin_id + '_toggle'] = Ext.getCmp(spin_id + '_toggle').getValue(); + options[spin_id] = Ext.getCmp(spin_id).getValue(); + options[spin_id + '_toggle'] = Ext.getCmp( + spin_id + '_toggle' + ).getValue(); }); this.spin_int_ids.forEach(function(spin_int_id) { - options[spin_int_id] = Ext.getCmp(spin_int_id).getValue(); - options[spin_int_id + '_toggle'] = Ext.getCmp(spin_int_id + '_toggle').getValue(); + options[spin_int_id] = Ext.getCmp(spin_int_id).getValue(); + options[spin_int_id + '_toggle'] = Ext.getCmp( + spin_int_id + '_toggle' + ).getValue(); }); this.chk_ids.forEach(function(chk_id) { - options[chk_id] = Ext.getCmp(chk_id).getValue(); - options[chk_id + '_toggle'] = Ext.getCmp(chk_id + '_toggle').getValue(); + options[chk_id] = Ext.getCmp(chk_id).getValue(); + options[chk_id + '_toggle'] = Ext.getCmp( + chk_id + '_toggle' + ).getValue(); }); - if (options['copy_torrent_toggle'] && options['path'] === options['copy_torrent']) { - throw _('"Watch Folder" directory and "Copy of .torrent' + - ' files to" directory cannot be the same!'); + if ( + options['copy_torrent_toggle'] && + options['path'] === options['copy_torrent'] + ) { + throw _( + '"Watch Folder" directory and "Copy of .torrent' + + ' files to" directory cannot be the same!' + ); } return options; }, - loadOptions: function (options) { + loadOptions: function(options) { /* * Populate all available options data to the UI */ @@ -123,22 +151,33 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { ); Ext.getCmp('isnt_append_extension').setValue(true); Ext.getCmp('append_extension_toggle').setValue( - options['append_extension_toggle'] !== undefined ? options['append_extension_toggle'] : false + options['append_extension_toggle'] !== undefined + ? options['append_extension_toggle'] + : false ); Ext.getCmp('append_extension').setValue( - options['append_extension'] !== undefined ? options['append_extension'] : '.added' + options['append_extension'] !== undefined + ? options['append_extension'] + : '.added' ); Ext.getCmp('download_location_toggle').setValue( - options['download_location_toggle'] !== undefined ? options['download_location_toggle'] : false + options['download_location_toggle'] !== undefined + ? options['download_location_toggle'] + : false ); Ext.getCmp('copy_torrent_toggle').setValue( - options['copy_torrent_toggle'] !== undefined ? options['copy_torrent_toggle'] : false + options['copy_torrent_toggle'] !== undefined + ? options['copy_torrent_toggle'] + : false ); Ext.getCmp('delete_copy_torrent_toggle').setValue( - options['delete_copy_torrent_toggle'] !== undefined ? options['delete_copy_torrent_toggle'] : false + options['delete_copy_torrent_toggle'] !== undefined + ? options['delete_copy_torrent_toggle'] + : false ); - value = options['seed_mode'] !== undefined ? options['seed_mode'] : false; + value = + options['seed_mode'] !== undefined ? options['seed_mode'] : false; Ext.getCmp('seed_mode').setValue(value); this.accounts.removeAll(true); @@ -149,7 +188,9 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { options['label'] !== undefined ? options['label'] : '' ); Ext.getCmp('label_toggle').setValue( - options['label_toggle'] !== undefined ? options['label_toggle'] : false + options['label_toggle'] !== undefined + ? options['label_toggle'] + : false ); this.spin_ids.forEach(function(spin_id) { @@ -157,7 +198,9 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { options[spin_id] !== undefined ? options[spin_id] : 0 ); Ext.getCmp(spin_id + '_toggle').setValue( - options[spin_id + '_toggle'] !== undefined ? options[spin_id + '_toggle'] : false + options[spin_id + '_toggle'] !== undefined + ? options[spin_id + '_toggle'] + : false ); }); this.chk_ids.forEach(function(chk_id) { @@ -165,23 +208,36 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { options[chk_id] !== undefined ? options[chk_id] : true ); Ext.getCmp(chk_id + '_toggle').setValue( - options[chk_id + '_toggle'] !== undefined ? options[chk_id + '_toggle'] : false + options[chk_id + '_toggle'] !== undefined + ? options[chk_id + '_toggle'] + : false ); }); - value = options['add_paused'] !== undefined ? options['add_paused'] : true; + value = + options['add_paused'] !== undefined ? options['add_paused'] : true; if (!value) { Ext.getCmp('not_add_paused').setValue(true); } - value = options['queue_to_top'] !== undefined ? options['queue_to_top'] : true; + value = + options['queue_to_top'] !== undefined + ? options['queue_to_top'] + : true; if (!value) { Ext.getCmp('not_queue_to_top').setValue(true); } - value = options['auto_managed'] !== undefined ? options['auto_managed'] : true; + value = + options['auto_managed'] !== undefined + ? options['auto_managed'] + : true; if (!value) { - Ext.getCmp('not_auto_managed').setValue(true) + Ext.getCmp('not_auto_managed').setValue(true); } - ['move_completed_path', 'path', 'download_location', - 'copy_torrent'].forEach(function(field) { + [ + 'move_completed_path', + 'path', + 'download_location', + 'copy_torrent', + ].forEach(function(field) { value = options[field] !== undefined ? options[field] : ''; Ext.getCmp(field).setValue(value); }); @@ -191,53 +247,60 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { success: function(config) { var value; Ext.getCmp('download_location').setValue( - options['download_location'] !== undefined ? - options['download_location'] : - config['download_location'] + options['download_location'] !== undefined + ? options['download_location'] + : config['download_location'] ); - value = options['move_completed_toggle'] !== undefined ? - options['move_completed_toggle'] : - config['move_completed']; + value = + options['move_completed_toggle'] !== undefined + ? options['move_completed_toggle'] + : config['move_completed']; if (value) { Ext.getCmp('move_completed_toggle').setValue( - options['move_completed_toggle'] !== undefined ? - options['move_completed_toggle'] : - false + options['move_completed_toggle'] !== undefined + ? options['move_completed_toggle'] + : false ); Ext.getCmp('move_completed_path').setValue( - options['move_completed_path'] !== undefined ? - options['move_completed_path'] : - config['move_completed_path'] + options['move_completed_path'] !== undefined + ? options['move_completed_path'] + : config['move_completed_path'] ); } - value = options['copy_torrent_toggle'] !== undefined ? - options['copy_torrent_toggle'] : - config['copy_torrent_file']; + value = + options['copy_torrent_toggle'] !== undefined + ? options['copy_torrent_toggle'] + : config['copy_torrent_file']; if (value) { Ext.getCmp('copy_torrent_toggle').setValue(true); Ext.getCmp('copy_torrent').setValue( - options['copy_torrent'] !== undefined ? - options['copy_torrent'] : - config['torrentfiles_location'] + options['copy_torrent'] !== undefined + ? options['copy_torrent'] + : config['torrentfiles_location'] ); } - value = options['delete_copy_torrent_toggle'] !== undefined ? - options['copy_torrent_toggle'] : - config['del_copy_torrent_file']; + value = + options['delete_copy_torrent_toggle'] !== undefined + ? options['copy_torrent_toggle'] + : config['del_copy_torrent_file']; if (value) { - Ext.getCmp('delete_copy_torrent_toggle').setValue(true) + Ext.getCmp('delete_copy_torrent_toggle').setValue(true); } - } - }) + }, + }); } deluge.client.core.get_enabled_plugins({ - success: function (plugins) { + success: function(plugins) { if (plugins !== undefined && plugins.indexOf('Label') > -1) { this.MainTab.LabelFset.setVisible(true); deluge.client.label.get_labels({ success: function(labels) { - for (var index = 0; index < labels.length; index++) { + for ( + var index = 0; + index < labels.length; + index++ + ) { labels[index] = [labels[index]]; } this.labels.loadData(labels, false); @@ -245,14 +308,13 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { failure: function(failure) { console.error(failure); }, - scope: this + scope: this, }); - } - else { + } else { this.MainTab.LabelFset.setVisible(false); } }, - scope: this + scope: this, }); var me = this; @@ -262,137 +324,152 @@ Deluge.ux.AutoAdd.AutoAddWindowBase = Ext.extend(Ext.Window, { accounts[index] = [accounts[index]['username']]; } me.accounts.loadData(accounts, false); - Ext.getCmp('owner').setValue(owner).enable(); + Ext.getCmp('owner') + .setValue(owner) + .enable(); } - function on_accounts_failure(failure){ + function on_accounts_failure(failure) { deluge.client.autoadd.get_auth_user({ - success: function (user) { + success: function(user) { me.accounts.loadData([[user]], false); - Ext.getCmp('owner').setValue(user).disable(true); + Ext.getCmp('owner') + .setValue(user) + .disable(true); }, - scope: this + scope: this, }); } deluge.client.autoadd.is_admin_level({ - success: function (is_admin) { + success: function(is_admin) { if (is_admin) { deluge.client.core.get_known_accounts({ - success: function (accounts) { + success: function(accounts) { deluge.client.autoadd.get_auth_user({ success: function(user) { - on_accounts(accounts, - options['owner'] !== undefined ? options['owner'] : user + on_accounts( + accounts, + options['owner'] !== undefined + ? options['owner'] + : user ); }, - scope: this + scope: this, }); }, failure: on_accounts_failure, - scope: this - }) - } - else { + scope: this, + }); + } else { on_accounts_failure(null); } }, - scope: this + scope: this, }); - } + }, }); /** * @class Deluge.ux.AutoAdd.EditAutoAddCommandWindow * @extends Deluge.ux.AutoAdd.AutoAddWindowBase */ -Deluge.ux.AutoAdd.EditAutoAddCommandWindow = Ext.extend(Deluge.ux.AutoAdd.AutoAddWindowBase, { - - title: _('Edit Watch Folder'), - - initComponent: function() { - Deluge.ux.AutoAdd.EditAutoAddCommandWindow.superclass.initComponent.call(this); - this.addButton(_('Save'), this.onSaveClick, this); - this.addEvents({ - 'watchdiredit': true - }); - }, - - show: function(watchdir_id, options) { - Deluge.ux.AutoAdd.EditAutoAddCommandWindow.superclass.show.call(this); - this.watchdir_id = watchdir_id; - this.loadOptions(options); - }, - - onSaveClick: function() { - try { - var options = this.getOptions(); - deluge.client.autoadd.set_options(this.watchdir_id, options, { - success: function() { - this.fireEvent('watchdiredit', this, options); - }, - scope: this - }); - } - catch(err) { - Ext.Msg.show({ - title: _('Incompatible Option'), - msg: err, - buttons: Ext.Msg.OK, - scope: this +Deluge.ux.AutoAdd.EditAutoAddCommandWindow = Ext.extend( + Deluge.ux.AutoAdd.AutoAddWindowBase, + { + title: _('Edit Watch Folder'), + + initComponent: function() { + Deluge.ux.AutoAdd.EditAutoAddCommandWindow.superclass.initComponent.call( + this + ); + this.addButton(_('Save'), this.onSaveClick, this); + this.addEvents({ + watchdiredit: true, }); - } + }, - this.hide(); - } + show: function(watchdir_id, options) { + Deluge.ux.AutoAdd.EditAutoAddCommandWindow.superclass.show.call( + this + ); + this.watchdir_id = watchdir_id; + this.loadOptions(options); + }, + + onSaveClick: function() { + try { + var options = this.getOptions(); + deluge.client.autoadd.set_options(this.watchdir_id, options, { + success: function() { + this.fireEvent('watchdiredit', this, options); + }, + scope: this, + }); + } catch (err) { + Ext.Msg.show({ + title: _('Incompatible Option'), + msg: err, + buttons: Ext.Msg.OK, + scope: this, + }); + } -}); + this.hide(); + }, + } +); /** * @class Deluge.ux.AutoAdd.AddAutoAddCommandWindow * @extends Deluge.ux.AutoAdd.AutoAddWindowBase */ -Deluge.ux.AutoAdd.AddAutoAddCommandWindow = Ext.extend(Deluge.ux.AutoAdd.AutoAddWindowBase, { - - title: _('Add Watch Folder'), - - initComponent: function() { - Deluge.ux.AutoAdd.AddAutoAddCommandWindow.superclass.initComponent.call(this); - this.addButton(_('Add'), this.onAddClick, this); - this.addEvents({ - 'watchdiradd': true - }); - }, +Deluge.ux.AutoAdd.AddAutoAddCommandWindow = Ext.extend( + Deluge.ux.AutoAdd.AutoAddWindowBase, + { + title: _('Add Watch Folder'), + + initComponent: function() { + Deluge.ux.AutoAdd.AddAutoAddCommandWindow.superclass.initComponent.call( + this + ); + this.addButton(_('Add'), this.onAddClick, this); + this.addEvents({ + watchdiradd: true, + }); + }, - show: function() { - Deluge.ux.AutoAdd.AddAutoAddCommandWindow.superclass.show.call(this); - this.loadOptions(); - }, + show: function() { + Deluge.ux.AutoAdd.AddAutoAddCommandWindow.superclass.show.call( + this + ); + this.loadOptions(); + }, - onAddClick: function() { - var options = this.getOptions(); - deluge.client.autoadd.add(options, { - success: function() { - this.fireEvent('watchdiradd', this, options); - this.hide(); - }, - failure: function(err) { - const regex = /: (.*\n)\n?\]/m; - var error; - if ((error = regex.exec(err.error.message)) !== null) { - error = error[1]; - } - else { - error = err.error.message; - } - Ext.Msg.show({ - title: _('Incompatible Option'), - msg: error, - buttons: Ext.Msg.OK, - scope: this - }); - }, - scope: this - }); + onAddClick: function() { + var options = this.getOptions(); + deluge.client.autoadd.add(options, { + success: function() { + this.fireEvent('watchdiradd', this, options); + this.hide(); + }, + failure: function(err) { + const regex = /: (.*\n)\n?\]/m; + var error; + if ((error = regex.exec(err.error.message)) !== null) { + error = error[1]; + } else { + error = err.error.message; + } + Ext.Msg.show({ + title: _('Incompatible Option'), + msg: error, + buttons: Ext.Msg.OK, + scope: this, + }); + }, + scope: this, + }); + }, } -}); +); diff --git a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/main_tab.js b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/main_tab.js index 113b4ef23..2a485007a 100644 --- a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/main_tab.js +++ b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/main_tab.js @@ -29,18 +29,21 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', width: '85%', labelWidth: 1, - items: [{ - xtype: 'textfield', - id: 'path', - hideLabel: true, - width: 304 - }, { - hideLabel: true, - id: 'enabled', - xtype: 'checkbox', - boxLabel: _('Enable this watch folder'), - checked: true - }] + items: [ + { + xtype: 'textfield', + id: 'path', + hideLabel: true, + width: 304, + }, + { + hideLabel: true, + id: 'enabled', + xtype: 'checkbox', + boxLabel: _('Enable this watch folder'), + checked: true, + }, + ], }); this.torrentActionFset = new Ext.form.FieldSet({ @@ -51,93 +54,136 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { width: '85%', labelWidth: 1, defaults: { - style: 'margin-bottom: 2px' + style: 'margin-bottom: 2px', }, - items: [{ - xtype: 'radiogroup', - columns: 1, - items: [{ - xtype: 'radio', - name: 'torrent_action', - id: 'isnt_append_extension', - boxLabel: _('Delete .torrent after adding'), - checked: true, - hideLabel: true, - listeners: { - check: function (cb, newValue) { - if (newValue) { - Ext.getCmp('append_extension').setDisabled(newValue); - Ext.getCmp('copy_torrent').setDisabled(newValue); - Ext.getCmp('delete_copy_torrent_toggle').setDisabled(newValue); - } - } - } - }, { - xtype: 'container', - layout: 'hbox', - hideLabel: true, - items: [{ - xtype: 'radio', - name: 'torrent_action', - id: 'append_extension_toggle', - boxLabel: _('Append extension after adding:'), - hideLabel: true, - listeners: { - check: function (cb, newValue) { - if (newValue) { - Ext.getCmp('append_extension').setDisabled(!newValue); - Ext.getCmp('copy_torrent').setDisabled(newValue); - Ext.getCmp('delete_copy_torrent_toggle').setDisabled(newValue); - } - } - } - }, { - xtype: 'textfield', - id: 'append_extension', - hideLabel: true, - disabled: true, - style: 'margin-left: 2px', - width: 112 - }] - }, { - xtype: 'container', - hideLabel: true, - items: [{ - xtype: 'container', - layout: 'hbox', - hideLabel: true, - items: [{ + items: [ + { + xtype: 'radiogroup', + columns: 1, + items: [ + { xtype: 'radio', name: 'torrent_action', - id: 'copy_torrent_toggle', - boxLabel: _('Copy of .torrent files to:'), + id: 'isnt_append_extension', + boxLabel: _('Delete .torrent after adding'), + checked: true, hideLabel: true, listeners: { - check: function (cb, newValue) { + check: function(cb, newValue) { if (newValue) { - Ext.getCmp('append_extension').setDisabled(newValue); - Ext.getCmp('copy_torrent').setDisabled(!newValue); - Ext.getCmp('delete_copy_torrent_toggle').setDisabled(!newValue); + Ext.getCmp( + 'append_extension' + ).setDisabled(newValue); + Ext.getCmp('copy_torrent').setDisabled( + newValue + ); + Ext.getCmp( + 'delete_copy_torrent_toggle' + ).setDisabled(newValue); } - } - } - }, { - xtype: 'textfield', - id: 'copy_torrent', + }, + }, + }, + { + xtype: 'container', + layout: 'hbox', hideLabel: true, - disabled: true, - style: 'margin-left: 2px', - width: 152 - }] - }, { - xtype: 'checkbox', - id: 'delete_copy_torrent_toggle', - boxLabel: _('Delete copy of torrent file on remove'), - style: 'margin-left: 10px', - disabled: true - }] - }] - }] + items: [ + { + xtype: 'radio', + name: 'torrent_action', + id: 'append_extension_toggle', + boxLabel: _( + 'Append extension after adding:' + ), + hideLabel: true, + listeners: { + check: function(cb, newValue) { + if (newValue) { + Ext.getCmp( + 'append_extension' + ).setDisabled(!newValue); + Ext.getCmp( + 'copy_torrent' + ).setDisabled(newValue); + Ext.getCmp( + 'delete_copy_torrent_toggle' + ).setDisabled(newValue); + } + }, + }, + }, + { + xtype: 'textfield', + id: 'append_extension', + hideLabel: true, + disabled: true, + style: 'margin-left: 2px', + width: 112, + }, + ], + }, + { + xtype: 'container', + hideLabel: true, + items: [ + { + xtype: 'container', + layout: 'hbox', + hideLabel: true, + items: [ + { + xtype: 'radio', + name: 'torrent_action', + id: 'copy_torrent_toggle', + boxLabel: _( + 'Copy of .torrent files to:' + ), + hideLabel: true, + listeners: { + check: function(cb, newValue) { + if (newValue) { + Ext.getCmp( + 'append_extension' + ).setDisabled(newValue); + Ext.getCmp( + 'copy_torrent' + ).setDisabled( + !newValue + ); + Ext.getCmp( + 'delete_copy_torrent_toggle' + ).setDisabled( + !newValue + ); + } + }, + }, + }, + { + xtype: 'textfield', + id: 'copy_torrent', + hideLabel: true, + disabled: true, + style: 'margin-left: 2px', + width: 152, + }, + ], + }, + { + xtype: 'checkbox', + id: 'delete_copy_torrent_toggle', + boxLabel: _( + 'Delete copy of torrent file on remove' + ), + style: 'margin-left: 10px', + disabled: true, + }, + ], + }, + ], + }, + ], }); this.downloadFolderFset = new Ext.form.FieldSet({ @@ -148,23 +194,28 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', width: '85%', labelWidth: 1, - items: [{ - hideLabel: true, - id: 'download_location_toggle', - xtype: 'checkbox', - boxLabel: _('Set download folder'), - listeners: { - check: function (cb, checked) { - Ext.getCmp('download_location').setDisabled(!checked); - } - } - }, { - xtype: 'textfield', - id: 'download_location', - hideLabel: true, - width: 304, - disabled: true - }] + items: [ + { + hideLabel: true, + id: 'download_location_toggle', + xtype: 'checkbox', + boxLabel: _('Set download folder'), + listeners: { + check: function(cb, checked) { + Ext.getCmp('download_location').setDisabled( + !checked + ); + }, + }, + }, + { + xtype: 'textfield', + id: 'download_location', + hideLabel: true, + width: 304, + disabled: true, + }, + ], }); this.moveCompletedFset = new Ext.form.FieldSet({ @@ -175,23 +226,28 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', width: '85%', labelWidth: 1, - items: [{ - hideLabel: true, - id: 'move_completed_toggle', - xtype: 'checkbox', - boxLabel: _('Set move completed folder'), - listeners: { - check: function (cb, checked) { - Ext.getCmp('move_completed_path').setDisabled(!checked); - } - } - }, { - xtype: 'textfield', - id: 'move_completed_path', - hideLabel: true, - width: 304, - disabled: true - }] + items: [ + { + hideLabel: true, + id: 'move_completed_toggle', + xtype: 'checkbox', + boxLabel: _('Set move completed folder'), + listeners: { + check: function(cb, checked) { + Ext.getCmp('move_completed_path').setDisabled( + !checked + ); + }, + }, + }, + { + xtype: 'textfield', + id: 'move_completed_path', + hideLabel: true, + width: 304, + disabled: true, + }, + ], }); this.LabelFset = new Ext.form.FieldSet({ @@ -203,33 +259,38 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { //width: '85%', labelWidth: 1, //hidden: true, - items: [{ - xtype: 'container', - layout: 'hbox', - hideLabel: true, - items: [{ - hashLabel: false, - id: 'label_toggle', - xtype: 'checkbox', - boxLabel: _('Label:'), - listeners: { - check: function (cb, checked) { - Ext.getCmp('label').setDisabled(!checked); - } - } - }, { - xtype: 'combo', - id: 'label', + items: [ + { + xtype: 'container', + layout: 'hbox', hideLabel: true, - //width: 220, - width: 254, - disabled: true, - style: 'margin-left: 2px', - mode: 'local', - valueField: 'displayText', - displayField: 'displayText' - }] - }] + items: [ + { + hashLabel: false, + id: 'label_toggle', + xtype: 'checkbox', + boxLabel: _('Label:'), + listeners: { + check: function(cb, checked) { + Ext.getCmp('label').setDisabled(!checked); + }, + }, + }, + { + xtype: 'combo', + id: 'label', + hideLabel: true, + //width: 220, + width: 254, + disabled: true, + style: 'margin-left: 2px', + mode: 'local', + valueField: 'displayText', + displayField: 'displayText', + }, + ], + }, + ], }); this.add([ @@ -237,7 +298,7 @@ Deluge.ux.AutoAdd.AutoAddMainPanel = Ext.extend(Ext.Panel, { this.torrentActionFset, this.downloadFolderFset, this.moveCompletedFset, - this.LabelFset - ]) - } + this.LabelFset, + ]); + }, }); diff --git a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/options_tab.js b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/options_tab.js index 674f0a410..c7a4dbe06 100644 --- a/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/options_tab.js +++ b/deluge/plugins/AutoAdd/deluge/plugins/autoadd/data/autoadd_options/options_tab.js @@ -20,30 +20,32 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { title: _('Options'), initComponent: function() { - Deluge.ux.AutoAdd.AutoAddOptionsPanel.superclass.initComponent.call(this); + Deluge.ux.AutoAdd.AutoAddOptionsPanel.superclass.initComponent.call( + this + ); var maxDownload = { idCheckbox: 'max_download_speed_toggle', labelCheckbox: 'Max Download Speed (KiB/s):', idSpinner: 'max_download_speed', - decimalPrecision: 1 + decimalPrecision: 1, }; var maxUploadSpeed = { idCheckbox: 'max_upload_speed_toggle', labelCheckbox: 'Max upload Speed (KiB/s):', idSpinner: 'max_upload_speed', - decimalPrecision: 1 + decimalPrecision: 1, }; var maxConnections = { idCheckbox: 'max_connections_toggle', labelCheckbox: 'Max Connections::', idSpinner: 'max_connections', - decimalPrecision: 0 + decimalPrecision: 0, }; var maxUploadSlots = { idCheckbox: 'max_upload_slots_toggle', labelCheckbox: 'Max Upload Slots:', idSpinner: 'max_upload_slots', - decimalPrecision: 0 + decimalPrecision: 0, }; // queue data var addPause = { @@ -52,8 +54,8 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { nameRadio: 'add_paused', labelRadio: { yes: 'Yes', - no: 'No' - } + no: 'No', + }, }; var queueTo = { idCheckbox: 'queue_to_top_toggle', @@ -61,8 +63,8 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { nameRadio: 'queue_to_top', labelRadio: { yes: 'Top', - no: 'Bottom' - } + no: 'Bottom', + }, }; var autoManaged = { idCheckbox: 'auto_managed_toggle', @@ -70,8 +72,8 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { nameRadio: 'auto_managed', labelRadio: { yes: 'Yes', - no: 'No' - } + no: 'No', + }, }; this.ownerFset = new Ext.form.FieldSet({ @@ -81,15 +83,17 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', //width: '85%', labelWidth: 1, - items: [{ - xtype: 'combo', - id: 'owner', - hideLabel: true, - width: 312, - mode: 'local', - valueField: 'displayText', - displayField: 'displayText' - }] + items: [ + { + xtype: 'combo', + id: 'owner', + hideLabel: true, + width: 312, + mode: 'local', + valueField: 'displayText', + displayField: 'displayText', + }, + ], }); this.bandwidthFset = new Ext.form.FieldSet({ @@ -100,8 +104,8 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { //width: '85%', labelWidth: 1, defaults: { - style: 'margin-bottom: 5px' - } + style: 'margin-bottom: 5px', + }, }); this.bandwidthFset.add(this._getBandwidthContainer(maxDownload)); this.bandwidthFset.add(this._getBandwidthContainer(maxUploadSpeed)); @@ -116,13 +120,15 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { //width: '85%', labelWidth: 1, defaults: { - style: 'margin-bottom: 5px' + style: 'margin-bottom: 5px', }, - items: [{ - xtype: 'container', - layout: 'hbox', - hideLabel: true - }] + items: [ + { + xtype: 'container', + layout: 'hbox', + hideLabel: true, + }, + ], }); this.queueFset.add(this._getQueueContainer(addPause)); this.queueFset.add(this._getQueueContainer(queueTo)); @@ -130,80 +136,91 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { this.queueFset.add({ xtype: 'container', hideLabel: true, - items: [{ - xtype: 'container', - layout: 'hbox', - hideLabel: true, - items: [{ - xtype: 'checkbox', - id: 'stop_at_ratio_toggle', - boxLabel: _('Stop seed at ratio:'), + items: [ + { + xtype: 'container', + layout: 'hbox', hideLabel: true, - width: 175, - listeners: { - check: function(cb, checked) { - Ext.getCmp('stop_ratio').setDisabled(!checked); - Ext.getCmp('remove_at_ratio').setDisabled(!checked); - } - } - }, { - xtype: 'spinnerfield', - id: 'stop_ratio', + items: [ + { + xtype: 'checkbox', + id: 'stop_at_ratio_toggle', + boxLabel: _('Stop seed at ratio:'), + hideLabel: true, + width: 175, + listeners: { + check: function(cb, checked) { + Ext.getCmp('stop_ratio').setDisabled( + !checked + ); + Ext.getCmp('remove_at_ratio').setDisabled( + !checked + ); + }, + }, + }, + { + xtype: 'spinnerfield', + id: 'stop_ratio', + hideLabel: true, + disabled: true, + value: 0.0, + minValue: 0.0, + maxValue: 100.0, + decimalPrecision: 1, + incrementValue: 0.1, + style: 'margin-left: 2px', + width: 100, + }, + ], + }, + { + xtype: 'container', + layout: 'hbox', hideLabel: true, - disabled: true, - value: 0.0, - minValue: 0.0, - maxValue: 100.0, - decimalPrecision: 1, - incrementValue: 0.1, - style: 'margin-left: 2px', - width: 100 - }] - }, { - xtype: 'container', - layout: 'hbox', - hideLabel: true, - style: 'margin-left: 10px', - items: [{ - xtype: 'checkbox', - id: 'remove_at_ratio', - boxLabel: _('Remove at ratio'), - disabled: true, - checked: true - }, { - xtype: 'checkbox', - id: 'remove_at_ratio_toggle', - disabled: true, - checked: true, - hidden: true - }, { - xtype: 'checkbox', - id: 'stop_ratio_toggle', - disabled: true, - checked: true, - hidden: true - }, { - xtype: 'checkbox', - id: 'stop_ratio_toggle', - disabled: true, - checked: true, - hidden: true - }] - }] + style: 'margin-left: 10px', + items: [ + { + xtype: 'checkbox', + id: 'remove_at_ratio', + boxLabel: _('Remove at ratio'), + disabled: true, + checked: true, + }, + { + xtype: 'checkbox', + id: 'remove_at_ratio_toggle', + disabled: true, + checked: true, + hidden: true, + }, + { + xtype: 'checkbox', + id: 'stop_ratio_toggle', + disabled: true, + checked: true, + hidden: true, + }, + { + xtype: 'checkbox', + id: 'stop_ratio_toggle', + disabled: true, + checked: true, + hidden: true, + }, + ], + }, + ], }); this.queueFset.add({ xtype: 'checkbox', id: 'seed_mode', boxLabel: _('Skip File Hash Check'), hideLabel: true, - width: 175 + width: 175, }); - this.add([ - this.ownerFset, - this.bandwidthFset, - this.queueFset - ]); + this.add([this.ownerFset, this.bandwidthFset, this.queueFset]); }, _getBandwidthContainer: function(values) { @@ -211,66 +228,75 @@ Deluge.ux.AutoAdd.AutoAddOptionsPanel = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', hideLabel: true, - items: [{ - xtype: 'checkbox', - hideLabel: true, - id: values.idCheckbox, - boxLabel: _(values.labelCheckbox), - width: 175, - listeners: { - check: function(cb, checked) { - Ext.getCmp(values.idSpinner).setDisabled(!checked); - } - } - }, { - xtype: 'spinnerfield', - id: values.idSpinner, - hideLabel: true, - disabled: true, - minValue: -1, - maxValue: 10000, - value: 0.0, - decimalPrecision: values.decimalPrecision, - style: 'margin-left: 2px', - width: 100 - }] + items: [ + { + xtype: 'checkbox', + hideLabel: true, + id: values.idCheckbox, + boxLabel: _(values.labelCheckbox), + width: 175, + listeners: { + check: function(cb, checked) { + Ext.getCmp(values.idSpinner).setDisabled(!checked); + }, + }, + }, + { + xtype: 'spinnerfield', + id: values.idSpinner, + hideLabel: true, + disabled: true, + minValue: -1, + maxValue: 10000, + value: 0.0, + decimalPrecision: values.decimalPrecision, + style: 'margin-left: 2px', + width: 100, + }, + ], }); }, - _getQueueContainer: function (values) { + _getQueueContainer: function(values) { return new Ext.Container({ xtype: 'container', layout: 'hbox', hideLabel: true, - items: [{ - xtype: 'checkbox', - hideLabel: true, - id: values.idCheckbox, - boxLabel: _(values.labelCheckbox), - width: 175, - listeners: { - check: function(cb, checked) { - Ext.getCmp(values.nameRadio).setDisabled(!checked); - Ext.getCmp('not_' + values.nameRadio).setDisabled(!checked); - } - } - }, { - xtype: 'radio', - name: values.nameRadio, - id: values.nameRadio, - boxLabel: _(values.labelRadio.yes), - hideLabel: true, - checked: true, - disabled: true, - width: 50 - }, { - xtype: 'radio', - name: values.nameRadio, - id: 'not_' + values.nameRadio, - boxLabel: _(values.labelRadio.no), - hideLabel: true, - disabled: true - }] + items: [ + { + xtype: 'checkbox', + hideLabel: true, + id: values.idCheckbox, + boxLabel: _(values.labelCheckbox), + width: 175, + listeners: { + check: function(cb, checked) { + Ext.getCmp(values.nameRadio).setDisabled(!checked); + Ext.getCmp('not_' + values.nameRadio).setDisabled( + !checked + ); + }, + }, + }, + { + xtype: 'radio', + name: values.nameRadio, + id: values.nameRadio, + boxLabel: _(values.labelRadio.yes), + hideLabel: true, + checked: true, + disabled: true, + width: 50, + }, + { + xtype: 'radio', + name: values.nameRadio, + id: 'not_' + values.nameRadio, + boxLabel: _(values.labelRadio.no), + hideLabel: true, + disabled: true, + }, + ], }); - } + }, }); diff --git a/deluge/plugins/Blocklist/deluge/plugins/blocklist/data/blocklist.js b/deluge/plugins/Blocklist/deluge/plugins/blocklist/data/blocklist.js index 8d15ef195..051247b1d 100644 --- a/deluge/plugins/Blocklist/deluge/plugins/blocklist/data/blocklist.js +++ b/deluge/plugins/Blocklist/deluge/plugins/blocklist/data/blocklist.js @@ -16,7 +16,6 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { - title: _('Blocklist'), header: false, layout: 'fit', @@ -34,14 +33,14 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { defaultType: 'textfield', style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: true, - labelWidth: 40 + labelWidth: 40, }); this.URL = this.URLFset.add({ fieldLabel: _('URL:'), labelSeparator: '', name: 'url', - width: '80%' + width: '80%', }); this.SettingsFset = this.add({ @@ -52,7 +51,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { defaultType: 'spinnerfield', style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: true, - labelWidth: 160 + labelWidth: 160, }); this.checkListDays = this.SettingsFset.add({ @@ -61,13 +60,13 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { name: 'check_list_days', value: 4, decimalPrecision: 0, - width: 80 + width: 80, }); this.chkImportOnStart = this.SettingsFset.add({ xtype: 'checkbox', fieldLabel: _('Import blocklist on startup'), - name: 'check_import_startup' + name: 'check_import_startup', }); this.OptionsFset = this.add({ @@ -79,7 +78,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: false, width: '80%', - labelWidth: 0 + labelWidth: 0, }); this.checkDownload = this.OptionsFset.add({ @@ -88,18 +87,21 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', margins: '4 0 0 5', - items: [{ + items: [ + { xtype: 'button', text: ' Check Download and Import ', - scale: 'medium' - }, { + scale: 'medium', + }, + { xtype: 'box', autoEl: { tag: 'img', - src: '../icons/ok.png' + src: '../icons/ok.png', }, - margins: '4 0 0 3' - }] + margins: '4 0 0 3', + }, + ], }); this.forceDownload = this.OptionsFset.add({ @@ -108,7 +110,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { text: ' Force Download and Import ', margins: '2 0 0 0', //icon: '../icons/blocklist_import24.png', - scale: 'medium' + scale: 'medium', }); this.ProgressFset = this.add({ @@ -120,13 +122,13 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { style: 'margin-top: 1px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: true, labelWidth: 0, - hidden: true + hidden: true, }); this.downProgBar = this.ProgressFset.add({ fieldLabel: _(''), name: 'progress_bar', - width: '90%' + width: '90%', }); this.InfoFset = this.add({ @@ -136,31 +138,31 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { autoHeight: true, defaultType: 'label', style: 'margin-top: 0px; margin-bottom: 0px; padding-bottom: 0px;', - labelWidth: 60 + labelWidth: 60, }); this.lblFileSize = this.InfoFset.add({ fieldLabel: _('File Size:'), labelSeparator: '', - name: 'file_size' + name: 'file_size', }); this.lblDate = this.InfoFset.add({ fieldLabel: _('Date:'), labelSeparator: '', - name: 'date' + name: 'date', }); this.lblType = this.InfoFset.add({ fieldLabel: _('Type:'), labelSeparator: '', - name: 'type' + name: 'type', }); this.lblURL = this.InfoFset.add({ fieldLabel: _('URL:'), labelSeparator: '', - name: 'lbl_URL' + name: 'lbl_URL', }); this.WhitelistFset = this.add({ @@ -172,7 +174,8 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: true, labelWidth: 0, - items: [{ + items: [ + { fieldLabel: _(''), name: 'whitelist', margins: '2 0 5 5', @@ -181,10 +184,11 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { autoExpandColumn: 'ip', viewConfig: { emptyText: _('Add an IP...'), - deferEmptyText: false + deferEmptyText: false, }, colModel: new Ext.grid.ColumnModel({ - columns: [{ + columns: [ + { id: 'ip', header: _('IP'), dataIndex: 'ip', @@ -192,29 +196,30 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { hideable: false, editable: true, editor: { - xtype: 'textfield' - } - }] + xtype: 'textfield', + }, + }, + ], }), selModel: new Ext.grid.RowSelectionModel({ singleSelect: false, - moveEditorOnEnter: false + moveEditorOnEnter: false, }), store: new Ext.data.ArrayStore({ autoDestroy: true, - fields: [{name: 'ip'}] + fields: [{ name: 'ip' }], }), listeners: { afteredit: function(e) { e.record.commit(); - } + }, }, setEmptyText: function(text) { if (this.viewReady) { this.getView().emptyText = text; this.getView().refresh(); } else { - Ext.apply(this.viewConfig, {emptyText: text}); + Ext.apply(this.viewConfig, { emptyText: text }); } }, loadData: function(data) { @@ -222,28 +227,32 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { if (this.viewReady) { this.getView().updateHeaders(); } - } - }] + }, + }, + ], }); this.ipButtonsContainer = this.WhitelistFset.add({ xtype: 'container', layout: 'hbox', margins: '4 0 0 5', - items: [{ + items: [ + { xtype: 'button', text: ' Add IP ', - margins: '0 5 0 0' - },{ + margins: '0 5 0 0', + }, + { xtype: 'button', - text: ' Delete IP ' - }] + text: ' Delete IP ', + }, + ], }); this.updateTask = Ext.TaskMgr.start({ interval: 2000, run: this.onUpdate, - scope: this + scope: this, }); this.on('show', this.updateConfig, this); @@ -290,8 +299,13 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { this.forceDownload.setDisabled(true); this.ProgressFset.show(); - this.downProgBar.updateProgress(status['file_progress'],'Downloading '.concat((status['file_progress'] * 100).toFixed(2)).concat('%'),true); - + this.downProgBar.updateProgress( + status['file_progress'], + 'Downloading ' + .concat((status['file_progress'] * 100).toFixed(2)) + .concat('%'), + true + ); } else if (status['state'] == 'Importing') { this.InfoFset.hide(); this.checkDownload.getComponent(0).setDisabled(true); @@ -299,8 +313,9 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { this.forceDownload.setDisabled(true); this.ProgressFset.show(); - this.downProgBar.updateText('Importing '.concat(status['num_blocked'])); - + this.downProgBar.updateText( + 'Importing '.concat(status['num_blocked']) + ); } else if (status['state'] == 'Idle') { this.ProgressFset.hide(); this.checkDownload.getComponent(0).setDisabled(false); @@ -315,10 +330,12 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { this.lblFileSize.setText(fsize(status['file_size'])); this.lblDate.setText(fdate(status['file_date'])); this.lblType.setText(status['file_type']); - this.lblURL.setText(status['file_url'].substr(0,40).concat('...')); + this.lblURL.setText( + status['file_url'].substr(0, 40).concat('...') + ); } }, - scope: this + scope: this, }); }, @@ -329,7 +346,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { forceDown: function() { this.onApply(); - deluge.client.blocklist.check_import(force = true); + deluge.client.blocklist.check_import((force = true)); }, updateConfig: function() { @@ -348,7 +365,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { this.WhitelistFset.getComponent(0).loadData(data); }, - scope: this + scope: this, }); deluge.client.blocklist.get_status({ @@ -356,9 +373,11 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { this.lblFileSize.setText(fsize(status['file_size'])); this.lblDate.setText(fdate(status['file_date'])); this.lblType.setText(status['file_type']); - this.lblURL.setText(status['file_url'].substr(0,40).concat('...')); + this.lblURL.setText( + status['file_url'].substr(0, 40).concat('...') + ); }, - scope: this + scope: this, }); }, @@ -366,7 +385,7 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { var store = this.WhitelistFset.getComponent(0).getStore(); var IP = store.recordType; var i = new IP({ - ip: '' + ip: '', }); this.WhitelistFset.getComponent(0).stopEditing(); store.insert(0, i); @@ -374,12 +393,13 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { }, deleteIP: function() { - var selections = this.WhitelistFset.getComponent(0).getSelectionModel().getSelections(); + var selections = this.WhitelistFset.getComponent(0) + .getSelectionModel() + .getSelections(); var store = this.WhitelistFset.getComponent(0).getStore(); this.WhitelistFset.getComponent(0).stopEditing(); - for (var i = 0; i < selections.length; i++) - store.remove(selections[i]); + for (var i = 0; i < selections.length; i++) store.remove(selections[i]); store.commitChanges(); }, @@ -389,11 +409,10 @@ Deluge.ux.preferences.BlocklistPage = Ext.extend(Ext.Panel, { deluge.preferences.un('show', this.updateConfig, this); Deluge.ux.preferences.BlocklistPage.superclass.onDestroy.call(this); - } + }, }); Deluge.plugins.BlocklistPlugin = Ext.extend(Deluge.Plugin, { - name: 'Blocklist', onDisable: function() { @@ -401,8 +420,10 @@ Deluge.plugins.BlocklistPlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.BlocklistPage()); - } + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.BlocklistPage() + ); + }, }); Deluge.registerPlugin('Blocklist', Deluge.plugins.BlocklistPlugin); diff --git a/deluge/plugins/Execute/deluge/plugins/execute/data/execute.js b/deluge/plugins/Execute/deluge/plugins/execute/data/execute.js index 115565c77..8f0d80976 100644 --- a/deluge/plugins/Execute/deluge/plugins/execute/data/execute.js +++ b/deluge/plugins/Execute/deluge/plugins/execute/data/execute.js @@ -13,7 +13,6 @@ Ext.ns('Deluge.ux'); Deluge.ux.ExecuteWindowBase = Ext.extend(Ext.Window, { - layout: 'fit', width: 400, height: 130, @@ -27,47 +26,49 @@ Deluge.ux.ExecuteWindowBase = Ext.extend(Ext.Window, { xtype: 'form', baseCls: 'x-plain', bodyStyle: 'padding: 5px', - items: [{ + items: [ + { xtype: 'combo', width: 270, fieldLabel: _('Event'), store: new Ext.data.ArrayStore({ fields: ['id', 'text'], data: [ - ['complete', _('Torrent Complete')], - ['added', _('Torrent Added')], - ['removed', _('Torrent Removed')] - ] + ['complete', _('Torrent Complete')], + ['added', _('Torrent Added')], + ['removed', _('Torrent Removed')], + ], }), name: 'event', mode: 'local', editable: false, triggerAction: 'all', - valueField: 'id', - displayField: 'text' - }, { + valueField: 'id', + displayField: 'text', + }, + { xtype: 'textfield', fieldLabel: _('Command'), name: 'command', - width: 270 - }] + width: 270, + }, + ], }); }, onCancelClick: function() { this.hide(); - } + }, }); Deluge.ux.EditExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { - title: _('Edit Command'), initComponent: function() { Deluge.ux.EditExecuteCommandWindow.superclass.initComponent.call(this); this.addButton(_('Save'), this.onSaveClick, this); this.addEvents({ - 'commandedit': true + commandedit: true, }); }, @@ -76,32 +77,40 @@ Deluge.ux.EditExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { this.command = command; this.form.getForm().setValues({ event: command.get('event'), - command: command.get('name') + command: command.get('name'), }); }, onSaveClick: function() { var values = this.form.getForm().getFieldValues(); - deluge.client.execute.save_command(this.command.id, values.event, values.command, { - success: function() { - this.fireEvent('commandedit', this, values.event, values.command); - }, - scope: this - }); + deluge.client.execute.save_command( + this.command.id, + values.event, + values.command, + { + success: function() { + this.fireEvent( + 'commandedit', + this, + values.event, + values.command + ); + }, + scope: this, + } + ); this.hide(); - } - + }, }); Deluge.ux.AddExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { - title: _('Add Command'), initComponent: function() { Deluge.ux.AddExecuteCommandWindow.superclass.initComponent.call(this); this.addButton(_('Add'), this.onAddClick, this); this.addEvents({ - 'commandadd': true + commandadd: true, }); }, @@ -109,13 +118,17 @@ Deluge.ux.AddExecuteCommandWindow = Ext.extend(Deluge.ux.ExecuteWindowBase, { var values = this.form.getForm().getFieldValues(); deluge.client.execute.add_command(values.event, values.command, { success: function() { - this.fireEvent('commandadd', this, values.event, values.command); + this.fireEvent( + 'commandadd', + this, + values.event, + values.command + ); }, - scope: this + scope: this, }); this.hide(); - } - + }, }); Ext.ns('Deluge.ux.preferences'); @@ -125,7 +138,6 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { - title: _('Execute'), header: false, layout: 'fit', @@ -133,63 +145,71 @@ Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { initComponent: function() { Deluge.ux.preferences.ExecutePage.superclass.initComponent.call(this); - var event_map = this.event_map = { - 'complete': _('Torrent Complete'), - 'added': _('Torrent Added'), - 'removed': _('Torrent Removed') - }; + var event_map = (this.event_map = { + complete: _('Torrent Complete'), + added: _('Torrent Added'), + removed: _('Torrent Removed'), + }); this.list = new Ext.list.ListView({ store: new Ext.data.SimpleStore({ fields: [ - {name: 'event', mapping: 1}, - {name: 'name', mapping: 2} - ], - id: 0 + { name: 'event', mapping: 1 }, + { name: 'name', mapping: 2 }, + ], + id: 0, }), - columns: [{ - width: .3, + columns: [ + { + width: 0.3, header: _('Event'), sortable: true, dataIndex: 'event', tpl: new Ext.XTemplate('{[this.getEvent(values.event)]}', { getEvent: function(e) { - return (event_map[e]) ? event_map[e] : e; - } - }) - }, { + return event_map[e] ? event_map[e] : e; + }, + }), + }, + { id: 'name', header: _('Command'), sortable: true, - dataIndex: 'name' - }], + dataIndex: 'name', + }, + ], singleSelect: true, - autoExpandColumn: 'name' + autoExpandColumn: 'name', }); this.list.on('selectionchange', this.onSelectionChange, this); this.panel = this.add({ items: [this.list], bbar: { - items: [{ + items: [ + { text: _('Add'), iconCls: 'icon-add', handler: this.onAddClick, - scope: this - }, { + scope: this, + }, + { text: _('Edit'), iconCls: 'icon-edit', handler: this.onEditClick, scope: this, - disabled: true - }, '->', { + disabled: true, + }, + '->', + { text: _('Remove'), iconCls: 'icon-remove', handler: this.onRemoveClick, scope: this, - disabled: true - }] - } + disabled: true, + }, + ], + }, }); this.on('show', this.onPreferencesShow, this); @@ -200,16 +220,20 @@ Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { success: function(commands) { this.list.getStore().loadData(commands); }, - scope: this + scope: this, }); }, onAddClick: function() { if (!this.addWin) { this.addWin = new Deluge.ux.AddExecuteCommandWindow(); - this.addWin.on('commandadd', function() { - this.updateCommands(); - }, this); + this.addWin.on( + 'commandadd', + function() { + this.updateCommands(); + }, + this + ); } this.addWin.show(); }, @@ -217,16 +241,20 @@ Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { onCommandAdded: function(win, evt, cmd) { var record = new this.list.getStore().recordType({ event: evt, - command: cmd + command: cmd, }); }, onEditClick: function() { if (!this.editWin) { this.editWin = new Deluge.ux.EditExecuteCommandWindow(); - this.editWin.on('commandedit', function() { - this.updateCommands(); - }, this); + this.editWin.on( + 'commandedit', + function() { + this.updateCommands(); + }, + this + ); } this.editWin.show(this.list.getSelectedRecords()[0]); }, @@ -241,23 +269,34 @@ Deluge.ux.preferences.ExecutePage = Ext.extend(Ext.Panel, { success: function() { this.updateCommands(); }, - scope: this + scope: this, }); }, onSelectionChange: function(dv, selections) { if (selections.length) { - this.panel.getBottomToolbar().items.get(1).enable(); - this.panel.getBottomToolbar().items.get(3).enable(); + this.panel + .getBottomToolbar() + .items.get(1) + .enable(); + this.panel + .getBottomToolbar() + .items.get(3) + .enable(); } else { - this.panel.getBottomToolbar().items.get(1).disable(); - this.panel.getBottomToolbar().items.get(3).disable(); + this.panel + .getBottomToolbar() + .items.get(1) + .disable(); + this.panel + .getBottomToolbar() + .items.get(3) + .disable(); } - } + }, }); Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, { - name: 'Execute', onDisable: function() { @@ -265,7 +304,9 @@ Deluge.plugins.ExecutePlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.ExecutePage()); - } + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.ExecutePage() + ); + }, }); Deluge.registerPlugin('Execute', Deluge.plugins.ExecutePlugin); diff --git a/deluge/plugins/Extractor/deluge/plugins/extractor/data/extractor.js b/deluge/plugins/Extractor/deluge/plugins/extractor/data/extractor.js index cffae9f61..187047e83 100644 --- a/deluge/plugins/Extractor/deluge/plugins/extractor/data/extractor.js +++ b/deluge/plugins/Extractor/deluge/plugins/extractor/data/extractor.js @@ -16,7 +16,6 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.ExtractorPage = Ext.extend(Ext.Panel, { - title: _('Extractor'), header: false, layout: 'fit', @@ -29,7 +28,7 @@ Deluge.ux.preferences.ExtractorPage = Ext.extend(Ext.Panel, { xtype: 'form', layout: 'form', border: false, - autoHeight: true + autoHeight: true, }); fieldset = this.form.add({ @@ -39,23 +38,22 @@ Deluge.ux.preferences.ExtractorPage = Ext.extend(Ext.Panel, { autoHeight: true, labelAlign: 'top', labelWidth: 80, - defaultType: 'textfield' + defaultType: 'textfield', }); this.extract_path = fieldset.add({ fieldLabel: _('Extract to:'), labelSeparator: '', name: 'extract_path', - width: '97%' + width: '97%', }); - this.use_name_folder = fieldset.add({ xtype: 'checkbox', name: 'use_name_folder', height: 22, hideLabel: true, - boxLabel: _('Create torrent name sub-folder') + boxLabel: _('Create torrent name sub-folder'), }); this.on('show', this.updateConfig, this); @@ -81,14 +79,12 @@ Deluge.ux.preferences.ExtractorPage = Ext.extend(Ext.Panel, { this.extract_path.setValue(config['extract_path']); this.use_name_folder.setValue(config['use_name_folder']); }, - scope: this + scope: this, }); - } + }, }); - Deluge.plugins.ExtractorPlugin = Ext.extend(Deluge.Plugin, { - name: 'Extractor', onDisable: function() { @@ -96,7 +92,9 @@ Deluge.plugins.ExtractorPlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.ExtractorPage()); - } + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.ExtractorPage() + ); + }, }); Deluge.registerPlugin('Extractor', Deluge.plugins.ExtractorPlugin); diff --git a/deluge/plugins/Label/deluge/plugins/label/data/label.js b/deluge/plugins/Label/deluge/plugins/label/data/label.js index 5f00d2313..7b813f5f6 100644 --- a/deluge/plugins/Label/deluge/plugins/label/data/label.js +++ b/deluge/plugins/Label/deluge/plugins/label/data/label.js @@ -16,7 +16,6 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.LabelPage = Ext.extend(Ext.Panel, { - title: _('Label'), layout: 'fit', border: false, @@ -29,20 +28,20 @@ Deluge.ux.preferences.LabelPage = Ext.extend(Ext.Panel, { title: _('Label Preferences'), autoHeight: true, labelWidth: 1, - defaultType: 'panel' + defaultType: 'panel', }); fieldset.add({ border: false, bodyCfg: { - html: _('<p>The Label plugin is enabled.</p><br>' + + html: _( + '<p>The Label plugin is enabled.</p><br>' + '<p>To add, remove or edit labels right-click on the Label filter ' + 'entry in the sidebar.</p><br>' + - '<p>To apply a label right-click on torrent(s).<p>') - } + '<p>To apply a label right-click on torrent(s).<p>' + ), + }, }); - }, - }); Ext.ns('Deluge.ux'); @@ -52,7 +51,6 @@ Ext.ns('Deluge.ux'); * @extends Ext.Window */ Deluge.ux.AddLabelWindow = Ext.extend(Ext.Window, { - title: _('Add Label'), width: 300, height: 100, @@ -66,23 +64,25 @@ Deluge.ux.AddLabelWindow = Ext.extend(Ext.Window, { xtype: 'form', height: 35, baseCls: 'x-plain', - bodyStyle:'padding:5px 5px 0', + bodyStyle: 'padding:5px 5px 0', defaultType: 'textfield', labelWidth: 50, - items: [{ + items: [ + { fieldLabel: _('Name'), name: 'name', allowBlank: false, width: 220, listeners: { - 'specialkey': { + specialkey: { fn: function(field, e) { if (e.getKey() == 13) this.onOkClick(); }, - scope: this - } - } - }] + scope: this, + }, + }, + }, + ], }); }, @@ -97,7 +97,7 @@ Deluge.ux.AddLabelWindow = Ext.extend(Ext.Window, { deluge.ui.update(); this.fireEvent('labeladded', label); }, - scope: this + scope: this, }); this.hide(); }, @@ -109,9 +109,11 @@ Deluge.ux.AddLabelWindow = Ext.extend(Ext.Window, { onShow: function(comp) { Deluge.ux.AddLabelWindow.superclass.onShow.call(this, comp); - this.form.getForm().findField('name').focus(false, 150); - } - + this.form + .getForm() + .findField('name') + .focus(false, 150); + }, }); /** @@ -119,9 +121,8 @@ Deluge.ux.AddLabelWindow = Ext.extend(Ext.Window, { * @extends Ext.Window */ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, { - title: _('Label Options'), - width: 325, + width: 325, height: 240, initComponent: function() { @@ -130,136 +131,178 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, { this.addButton(_('Ok'), this.onOkClick, this); this.form = this.add({ - xtype: 'form' + xtype: 'form', }); this.tabs = this.form.add({ xtype: 'tabpanel', height: 175, border: false, - items: [{ + items: [ + { title: _('Maximum'), - items: [{ + items: [ + { border: false, - items: [{ + items: [ + { xtype: 'fieldset', border: false, labelWidth: 1, - style: 'margin-bottom: 0px; padding-bottom: 0px;', - items: [{ + style: + 'margin-bottom: 0px; padding-bottom: 0px;', + items: [ + { xtype: 'checkbox', name: 'apply_max', fieldLabel: '', - boxLabel: _('Apply per torrent max settings:'), + boxLabel: _( + 'Apply per torrent max settings:' + ), listeners: { - check: this.onFieldChecked - } - }] - }, { + check: this.onFieldChecked, + }, + }, + ], + }, + { xtype: 'fieldset', border: false, defaultType: 'spinnerfield', style: 'margin-top: 0px; padding-top: 0px;', - items: [{ + items: [ + { fieldLabel: _('Download Speed'), name: 'max_download_speed', width: 80, disabled: true, value: -1, - minValue: -1 - }, { + minValue: -1, + }, + { fieldLabel: _('Upload Speed'), name: 'max_upload_speed', width: 80, disabled: true, value: -1, - minValue: -1 - }, { + minValue: -1, + }, + { fieldLabel: _('Upload Slots'), name: 'max_upload_slots', width: 80, disabled: true, value: -1, - minValue: -1 - }, { + minValue: -1, + }, + { fieldLabel: _('Connections'), name: 'max_connections', width: 80, disabled: true, value: -1, - minValue: -1 - }] - }] - }] - }, { + minValue: -1, + }, + ], + }, + ], + }, + ], + }, + { title: _('Queue'), - items: [{ + items: [ + { border: false, - items: [{ + items: [ + { xtype: 'fieldset', border: false, labelWidth: 1, - style: 'margin-bottom: 0px; padding-bottom: 0px;', - items: [{ + style: + 'margin-bottom: 0px; padding-bottom: 0px;', + items: [ + { xtype: 'checkbox', name: 'apply_queue', fieldLabel: '', - boxLabel: _('Apply queue settings:'), + boxLabel: _( + 'Apply queue settings:' + ), listeners: { - check: this.onFieldChecked - } - }] - }, { + check: this.onFieldChecked, + }, + }, + ], + }, + { xtype: 'fieldset', border: false, labelWidth: 1, defaultType: 'checkbox', style: 'margin-top: 0px; padding-top: 0px;', defaults: { - style: 'margin-left: 20px' + style: 'margin-left: 20px', }, - items: [{ + items: [ + { boxLabel: _('Auto Managed'), name: 'is_auto_managed', - disabled: true - }, { + disabled: true, + }, + { boxLabel: _('Stop seed at ratio:'), name: 'stop_at_ratio', - disabled: true - }, { + disabled: true, + }, + { xtype: 'spinnerfield', name: 'stop_ratio', width: 60, decimalPrecision: 2, incrementValue: 0.1, - style: 'position: relative; left: 100px', - disabled: true - }, { + style: + 'position: relative; left: 100px', + disabled: true, + }, + { boxLabel: _('Remove at ratio'), name: 'remove_at_ratio', - disabled: true - }] - }] - }] - }, { + disabled: true, + }, + ], + }, + ], + }, + ], + }, + { title: _('Folders'), - items: [{ + items: [ + { border: false, - items: [{ + items: [ + { xtype: 'fieldset', border: false, labelWidth: 1, - style: 'margin-bottom: 0px; padding-bottom: 0px;', - items: [{ + style: + 'margin-bottom: 0px; padding-bottom: 0px;', + items: [ + { xtype: 'checkbox', name: 'apply_move_completed', fieldLabel: '', - boxLabel: _('Apply folder settings:'), + boxLabel: _( + 'Apply folder settings:' + ), listeners: { - check: this.onFieldChecked - } - }] - }, { + check: this.onFieldChecked, + }, + }, + ], + }, + { xtype: 'fieldset', border: false, labelWidth: 1, @@ -267,64 +310,83 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, { labelWidth: 1, style: 'margin-top: 0px; padding-top: 0px;', defaults: { - style: 'margin-left: 20px' + style: 'margin-left: 20px', }, - items: [{ + items: [ + { boxLabel: _('Move completed to:'), name: 'move_completed', - disabled: true - }, { + disabled: true, + }, + { xtype: 'textfield', name: 'move_completed_path', width: 250, - disabled: true - }] - }] - }] - }, { + disabled: true, + }, + ], + }, + ], + }, + ], + }, + { title: _('Trackers'), - items: [{ + items: [ + { border: false, - items: [{ + items: [ + { xtype: 'fieldset', border: false, labelWidth: 1, - style: 'margin-bottom: 0px; padding-bottom: 0px;', - items: [{ + style: + 'margin-bottom: 0px; padding-bottom: 0px;', + items: [ + { xtype: 'checkbox', name: 'auto_add', fieldLabel: '', - boxLabel: _('Automatically apply label:'), + boxLabel: _( + 'Automatically apply label:' + ), listeners: { - check: this.onFieldChecked - } - }] - }, { + check: this.onFieldChecked, + }, + }, + ], + }, + { xtype: 'fieldset', border: false, labelWidth: 1, style: 'margin-top: 0px; padding-top: 0px;', defaults: { - style: 'margin-left: 20px' + style: 'margin-left: 20px', }, defaultType: 'textarea', - items: [{ + items: [ + { boxLabel: _('Move completed to:'), name: 'auto_add_trackers', width: 250, height: 100, - disabled: true - }] - }] - }] - }] + disabled: true, + }, + ], + }, + ], + }, + ], + }, + ], }); }, getLabelOptions: function() { deluge.client.label.get_options(this.label, { success: this.gotOptions, - scope: this + scope: this, }); }, @@ -347,7 +409,9 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, { onOkClick: function() { var values = this.form.getForm().getFieldValues(); if (values['auto_add_trackers']) { - values['auto_add_trackers'] = values['auto_add_trackers'].split('\n'); + values['auto_add_trackers'] = values['auto_add_trackers'].split( + '\n' + ); } deluge.client.label.set_options(this.label, values); this.hide(); @@ -358,11 +422,9 @@ Deluge.ux.LabelOptionsWindow = Ext.extend(Ext.Window, { fs.items.each(function(field) { field.setDisabled(!checked); }); - } - + }, }); - Ext.ns('Deluge.plugins'); /** @@ -370,28 +432,31 @@ Ext.ns('Deluge.plugins'); * @extends Deluge.Plugin */ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { - name: 'Label', createMenu: function() { this.labelMenu = new Ext.menu.Menu({ - items: [{ + items: [ + { text: _('Add Label'), iconCls: 'icon-add', handler: this.onLabelAddClick, - scope: this - }, { + scope: this, + }, + { text: _('Remove Label'), disabled: true, iconCls: 'icon-remove', handler: this.onLabelRemoveClick, - scope: this - }, { + scope: this, + }, + { text: _('Label Options'), disabled: true, handler: this.onLabelOptionsClick, - scope: this - }] + scope: this, + }, + ], }); }, @@ -409,7 +474,7 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { text: _('No Label'), label: '', handler: this.onTorrentMenuClick, - scope: this + scope: this, }); for (var state in states) { if (!state || state == 'All') continue; @@ -417,7 +482,7 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { text: state, label: state, handler: this.onTorrentMenuClick, - scope: this + scope: this, }); } }, @@ -433,19 +498,22 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.LabelPage()); + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.LabelPage() + ); this.torrentMenu = new Ext.menu.Menu(); this.tmSep = deluge.menus.torrent.add({ - xtype: 'menuseparator' + xtype: 'menuseparator', }); this.tm = deluge.menus.torrent.add({ text: _('Label'), - menu: this.torrentMenu + menu: this.torrentMenu, }); - var lbltpl = '<div class="x-deluge-filter">' + + var lbltpl = + '<div class="x-deluge-filter">' + '<tpl if="filter">{filter}</tpl>' + '<tpl if="!filter">No Label</tpl>' + ' ({count})' + @@ -459,7 +527,11 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { filter.list.refresh(); } else { deluge.sidebar.on('filtercreate', this.onFilterCreate, this); - deluge.sidebar.on('afterfiltercreate', this.onAfterFilterCreate, this); + deluge.sidebar.on( + 'afterfiltercreate', + this.onAfterFilterCreate, + this + ); Deluge.FilterPanel.templates.label = lbltpl; } this.registerTorrentStatus('label', _('Label')); @@ -499,7 +571,7 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { //console.log(states); //console.log(statesArray); - states = {} + states = {}; for (i = 0; i < statesArray.length; ++i) { states[statesArray[i]] = 0; @@ -532,7 +604,8 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { }, onLabelOptionsClick: function() { - if (!this.labelOpts) this.labelOpts = new Deluge.ux.LabelOptionsWindow(); + if (!this.labelOpts) + this.labelOpts = new Deluge.ux.LabelOptionsWindow(); this.labelOpts.show(this.filter.getState()); }, @@ -547,7 +620,7 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { var i = item; }, this); }, - scope: this + scope: this, }); }, @@ -558,12 +631,12 @@ Deluge.plugins.LabelPlugin = Ext.extend(Deluge.Plugin, { deluge.client.label.set_torrent(id, item.label, { success: function() { deluge.ui.update(); - } + }, }); } else { deluge.client.label.set_torrent(id, item.label); } }); - } + }, }); Deluge.registerPlugin('Label', Deluge.plugins.LabelPlugin); diff --git a/deluge/plugins/Notifications/deluge/plugins/notifications/data/notifications.js b/deluge/plugins/Notifications/deluge/plugins/notifications/data/notifications.js index a59a7076b..205fd7e7f 100644 --- a/deluge/plugins/Notifications/deluge/plugins/notifications/data/notifications.js +++ b/deluge/plugins/Notifications/deluge/plugins/notifications/data/notifications.js @@ -16,14 +16,15 @@ Ext.ns('Deluge.ux.preferences'); * @extends Ext.Panel */ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { - title: _('Notifications'), header: false, layout: 'fit', border: false, initComponent: function() { - Deluge.ux.preferences.NotificationsPage.superclass.initComponent.call(this); + Deluge.ux.preferences.NotificationsPage.superclass.initComponent.call( + this + ); this.emailNotiFset = new Ext.form.FieldSet({ xtype: 'fieldset', @@ -33,7 +34,7 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { defaultType: 'textfield', style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', width: '85%', - labelWidth: 1 + labelWidth: 1, }); this.chkEnableEmail = this.emailNotiFset.add({ @@ -46,8 +47,8 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { check: function(object, checked) { this.setSmtpDisabled(!checked); }, - scope: this - } + scope: this, + }, }); this.hBoxHost = this.emailNotiFset.add({ @@ -57,14 +58,17 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', disabled: true, - items: [{ + items: [ + { xtype: 'label', text: _('Hostname:'), - margins: '6 0 0 6' - },{ + margins: '6 0 0 6', + }, + { xtype: 'textfield', - margins: '2 0 0 4' - }] + margins: '2 0 0 4', + }, + ], }); this.hBoxPort = this.emailNotiFset.add({ @@ -74,18 +78,21 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', disabled: true, - items: [{ + items: [ + { xtype: 'label', text: _('Port:'), - margins: '6 0 0 6' - },{ + margins: '6 0 0 6', + }, + { xtype: 'spinnerfield', margins: '2 0 0 34', width: 64, decimalPrecision: 0, minValue: 0, - maxValue: 65535 - }] + maxValue: 65535, + }, + ], }); this.hBoxUser = this.emailNotiFset.add({ @@ -95,14 +102,17 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', disabled: true, - items: [{ + items: [ + { xtype: 'label', text: _('Username:'), - margins: '6 0 0 6' - },{ + margins: '6 0 0 6', + }, + { xtype: 'textfield', - margins: '2 0 0 3' - }] + margins: '2 0 0 3', + }, + ], }); this.hBoxPassword = this.emailNotiFset.add({ @@ -112,15 +122,18 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', disabled: true, - items: [{ + items: [ + { xtype: 'label', text: _('Password:'), - margins: '6 0 0 6' - },{ + margins: '6 0 0 6', + }, + { xtype: 'textfield', inputType: 'password', - margins: '2 0 0 5' - }] + margins: '2 0 0 5', + }, + ], }); this.hBoxFrom = this.emailNotiFset.add({ @@ -130,14 +143,17 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { xtype: 'container', layout: 'hbox', disabled: true, - items: [{ + items: [ + { xtype: 'label', text: _('From:'), - margins: '6 0 0 6' - },{ + margins: '6 0 0 6', + }, + { xtype: 'textfield', - margins: '2 0 0 28' - }] + margins: '2 0 0 28', + }, + ], }); this.chkTLS = this.emailNotiFset.add({ @@ -146,7 +162,7 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { name: 'enable_tls_ssl', xtype: 'checkbox', disabled: true, - boxLabel: _('Server requires TLS/SSL') + boxLabel: _('Server requires TLS/SSL'), }); this.recipientsFset = new Ext.form.FieldSet({ @@ -157,7 +173,8 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { defaultType: 'editorgrid', style: 'margin-top: 3px; margin-bottom: 0px; padding-bottom: 0px;', autoWidth: true, - items: [{ + items: [ + { fieldLabel: '', name: 'recipients', margins: '2 0 5 5', @@ -167,24 +184,28 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { disabled: true, autoExpandColumn: 'recipient', bbar: { - items: [{ + items: [ + { text: _('Add'), iconCls: 'icon-add', handler: this.onAddClick, - scope: this - },{ + scope: this, + }, + { text: _('Remove'), iconCls: 'icon-remove', handler: this.onRemoveClick, - scope: this - }] + scope: this, + }, + ], }, viewConfig: { emptyText: _('Add an recipient...'), - deferEmptyText: false + deferEmptyText: false, }, colModel: new Ext.grid.ColumnModel({ - columns: [{ + columns: [ + { id: 'recipient', header: _('Recipient'), dataIndex: 'recipient', @@ -192,29 +213,30 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { hideable: false, editable: true, editor: { - xtype: 'textfield' - } - }] + xtype: 'textfield', + }, + }, + ], }), selModel: new Ext.grid.RowSelectionModel({ singleSelect: false, - moveEditorOnEnter: false + moveEditorOnEnter: false, }), store: new Ext.data.ArrayStore({ autoDestroy: true, - fields: [{name: 'recipient'}] + fields: [{ name: 'recipient' }], }), listeners: { afteredit: function(e) { e.record.commit(); - } + }, }, setEmptyText: function(text) { if (this.viewReady) { this.getView().emptyText = text; this.getView().refresh(); } else { - Ext.apply(this.viewConfig, {emptyText: text}); + Ext.apply(this.viewConfig, { emptyText: text }); } }, loadData: function(data) { @@ -222,8 +244,9 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { if (this.viewReady) { this.getView().updateHeaders(); } - } - }] + }, + }, + ], }); this.edGridSubs = new Ext.grid.EditorGridPanel({ @@ -232,43 +255,59 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { autoExpandColumn: 'event', viewConfig: { emptyText: _('Loading events...'), - deferEmptyText: false + deferEmptyText: false, }, colModel: new Ext.grid.ColumnModel({ defaults: { - renderer: function(value, meta, record, rowIndex, colIndex, store) { + renderer: function( + value, + meta, + record, + rowIndex, + colIndex, + store + ) { if (Ext.isNumber(value) && parseInt(value) !== value) { return value.toFixed(6); } else if (Ext.isBoolean(value)) { - return '<div class="x-grid3-check-col' + (value ? '-on' : '') + - '" style="width: 20px;"> </div>'; + return ( + '<div class="x-grid3-check-col' + + (value ? '-on' : '') + + '" style="width: 20px;"> </div>' + ); } return value; - } + }, }, - columns: [{ + columns: [ + { id: 'event', header: 'Event', dataIndex: 'event', sortable: true, - hideable: false - },{ + hideable: false, + }, + { id: 'email', header: _('Email'), dataIndex: 'email', sortable: true, hideable: false, menuDisabled: true, - width: 40 - }] + width: 40, + }, + ], }), store: new Ext.data.ArrayStore({ autoDestroy: true, - fields: [{ - name: 'event' - },{ - name: 'email' - }] + fields: [ + { + name: 'event', + }, + { + name: 'email', + }, + ], }), listeners: { cellclick: function(grid, rowIndex, colIndex, e) { @@ -292,20 +331,20 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { }, afteredit: function(e) { e.record.commit(); - } + }, }, setEmptyText: function(text) { if (this.viewReady) { this.getView().emptyText = text; this.getView().refresh(); } else { - Ext.apply(this.viewConfig, {emptyText: text}); + Ext.apply(this.viewConfig, { emptyText: text }); } }, setSub: function(eventName) { var store = this.getStore(); - var index = store.find('event',eventName); - store.getAt(index).set('email',true); + var index = store.find('event', eventName); + store.getAt(index).set('email', true); store.getAt(index).commit(); }, loadData: function(data) { @@ -313,20 +352,23 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { if (this.viewReady) { this.getView().updateHeaders(); } - } + }, }); this.tabPanSettings = this.add({ xtype: 'tabpanel', activeTab: 0, - items: [{ + items: [ + { title: _('Settings'), - items: [this.emailNotiFset,this.recipientsFset], - autoScroll: true - },{ + items: [this.emailNotiFset, this.recipientsFset], + autoScroll: true, + }, + { title: _('Subscriptions'), - items: this.edGridSubs - }] + items: this.edGridSubs, + }, + ], }); this.on('show', this.updateConfig, this); @@ -343,7 +385,7 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { } this.edGridSubs.loadData(data); }, - scope: this + scope: this, }); deluge.client.notifications.get_config({ success: function(config) { @@ -369,10 +411,12 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { keys = Ext.keys(config['subscriptions']['email']); for (var i = 0; i < keys.length; i++) { var key = keys[i]; - this.edGridSubs.setSub(config['subscriptions']['email'][key]); + this.edGridSubs.setSub( + config['subscriptions']['email'][key] + ); } }, - scope: this + scope: this, }); }, @@ -425,7 +469,7 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { var store = this.recipientsFset.getComponent(0).getStore(); var Recipient = store.recordType; var i = new Recipient({ - recipient: '' + recipient: '', }); this.recipientsFset.getComponent(0).stopEditing(); store.insert(0, i); @@ -433,12 +477,14 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { }, onRemoveClick: function() { - var selections = this.recipientsFset.getComponent(0).getSelectionModel().getSelections(); + var selections = this.recipientsFset + .getComponent(0) + .getSelectionModel() + .getSelections(); var store = this.recipientsFset.getComponent(0).getStore(); this.recipientsFset.getComponent(0).stopEditing(); - for (var i = 0; i < selections.length; i++) - store.remove(selections[i]); + for (var i = 0; i < selections.length; i++) store.remove(selections[i]); store.commitChanges(); }, @@ -456,8 +502,7 @@ Deluge.ux.preferences.NotificationsPage = Ext.extend(Ext.Panel, { deluge.preferences.un('show', this.updateConfig, this); Deluge.ux.preferences.NotificationsPage.superclass.onDestroy.call(this); - } - + }, }); Deluge.plugins.NotificationsPlugin = Ext.extend(Deluge.Plugin, { @@ -468,8 +513,10 @@ Deluge.plugins.NotificationsPlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.NotificationsPage()); - } + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.NotificationsPage() + ); + }, }); Deluge.registerPlugin('Notifications', Deluge.plugins.NotificationsPlugin); diff --git a/deluge/plugins/Scheduler/deluge/plugins/scheduler/data/scheduler.js b/deluge/plugins/Scheduler/deluge/plugins/scheduler/data/scheduler.js index 73b1c574c..2b7c41f90 100644 --- a/deluge/plugins/Scheduler/deluge/plugins/scheduler/data/scheduler.js +++ b/deluge/plugins/Scheduler/deluge/plugins/scheduler/data/scheduler.js @@ -13,7 +13,6 @@ Ext.ns('Deluge.ux'); Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { - title: _('Schedule'), autoHeight: true, style: 'margin-bottom: 0px; padding-bottom: 0px;', @@ -24,21 +23,21 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { name: 'Normal', backgroundColor: 'LightGreen', borderColor: 'DarkGreen', - value: 0 + value: 0, }, { name: 'Throttled', backgroundColor: 'Yellow', borderColor: 'Gold', - value: 1 + value: 1, }, { name: 'Paused', backgroundColor: 'OrangeRed', borderColor: 'FireBrick', - value: 2 - } - ], + value: 2, + }, + ], daysOfWeek: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], initComponent: function() { @@ -71,7 +70,8 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { // create state brushes // tack a random number to the end to avoid clashes - this.stateBrushName = 'schedule-state-brush-' + Math.round(Math.random() * 10000); + this.stateBrushName = + 'schedule-state-brush-' + Math.round(Math.random() * 10000); var el1 = createEl(dom, 'div'); @@ -124,47 +124,55 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { // cache access to cells for easier access later this.scheduleCells = {}; - Ext.each(this.daysOfWeek, function(day) { - var cells = []; - var row = createEl(table, 'tr'); - var label = createEl(row, 'th'); - label.setAttribute('style', 'font-weight: bold; padding-right: 5px;'); - label.appendChild(document.createTextNode(day)); - for (var hour = 0; hour < 24; hour++) { - var cell = createEl(row, 'td'); - - // assume the first state is the default state - cell.currentValue = cell.oldValue = this.states[0].value; - cell.day = day; - cell.hour = hour; - - cell.width = '16px'; - cell.height = '20px'; - - cell.style.border = '1px solid #999999'; - // don't repeat borders in between cells - if (hour != 23) // not the last cell - cell.style.borderRight = 'none'; - - this.updateCell(cell); - - cells.push(cell); - - cell = Ext.get(cell); - cell.on('click', this.onCellClick, this); - cell.on('mouseover', this.onCellMouseOver, this); - cell.on('mouseout', this.onCellMouseOut, this); - cell.on('mousedown', this.onCellMouseDown, this); - cell.on('mouseup', this.onCellMouseUp, this); - } + Ext.each( + this.daysOfWeek, + function(day) { + var cells = []; + var row = createEl(table, 'tr'); + var label = createEl(row, 'th'); + label.setAttribute( + 'style', + 'font-weight: bold; padding-right: 5px;' + ); + label.appendChild(document.createTextNode(day)); + for (var hour = 0; hour < 24; hour++) { + var cell = createEl(row, 'td'); + + // assume the first state is the default state + cell.currentValue = cell.oldValue = this.states[0].value; + cell.day = day; + cell.hour = hour; + + cell.width = '16px'; + cell.height = '20px'; + + cell.style.border = '1px solid #999999'; + // don't repeat borders in between cells + if (hour != 23) + // not the last cell + cell.style.borderRight = 'none'; + + this.updateCell(cell); + + cells.push(cell); + + cell = Ext.get(cell); + cell.on('click', this.onCellClick, this); + cell.on('mouseover', this.onCellMouseOver, this); + cell.on('mouseout', this.onCellMouseOut, this); + cell.on('mousedown', this.onCellMouseDown, this); + cell.on('mouseup', this.onCellMouseUp, this); + } - // insert gap row to provide visual separation - row = createEl(table, 'tr'); - // blank cell to create gap - createEl(row, 'td').height = '3px'; + // insert gap row to provide visual separation + row = createEl(table, 'tr'); + // blank cell to create gap + createEl(row, 'td').height = '3px'; - this.scheduleCells[day] = cells; - }, this); + this.scheduleCells[day] = cells; + }, + this + ); }, updateCell: function(cell) { @@ -182,10 +190,11 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { getCurrentBrushValue: function() { var v = null; - var brushes = Ext.get(this.body.dom).findParent('form').elements[this.stateBrushName]; + var brushes = Ext.get(this.body.dom).findParent('form').elements[ + this.stateBrushName + ]; Ext.each(brushes, function(b) { - if (b.checked) - v = b.value; + if (b.checked) v = b.value; }); return v; @@ -209,8 +218,7 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { this.confirmCells(cell.day, this.dragAnchor.hour, cell.hour); else if (cell.hour < this.dragAnchor.hour) this.confirmCells(cell.day, cell.hour, this.dragAnchor.hour); - else - this.confirmCells(cell.day, cell.hour, cell.hour); + else this.confirmCells(cell.day, cell.hour, cell.hour); this.hideCellLeftTooltip(); this.hideCellRightTooltip(); @@ -224,10 +232,11 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { // otherwise if dragging, leave it alone unless we're dragging to the left. // if we're not dragging, show it. var leftTooltipCell = null; - if (!this.dragAnchor) - leftTooltipCell = cell; - else if ((this.dragAnchor && this.isCellLeftTooltipHidden()) || - (this.dragAnchor && this.dragAnchor.hour > cell.hour)) + if (!this.dragAnchor) leftTooltipCell = cell; + else if ( + (this.dragAnchor && this.isCellLeftTooltipHidden()) || + (this.dragAnchor && this.dragAnchor.hour > cell.hour) + ) leftTooltipCell = this.dragAnchor; if (leftTooltipCell) { @@ -238,23 +247,27 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { if (hour >= 12) { pm = true; if (hour > 12) hour -= 12; - } - else if (hour == 0) { + } else if (hour == 0) { // change 0 hour to 12am hour = 12; } - this.showCellLeftTooltip(hour + ' ' + (pm ? 'pm' : 'am'), leftTooltipCell); + this.showCellLeftTooltip( + hour + ' ' + (pm ? 'pm' : 'am'), + leftTooltipCell + ); } // RIGHT TOOL TIP var rightTooltipCell = null; if (this.dragAnchor) { - if (this.dragAnchor.hour == cell.hour) - this.hideCellRightTooltip(); - else if (this.dragAnchor.hour > cell.hour && this.isCellRightTooltipHidden()) + if (this.dragAnchor.hour == cell.hour) this.hideCellRightTooltip(); + else if ( + this.dragAnchor.hour > cell.hour && + this.isCellRightTooltipHidden() + ) rightTooltipCell = this.dragAnchor; - else // cell.hour > this.dragAnchor.hour - rightTooltipCell = cell; + // cell.hour > this.dragAnchor.hour + else rightTooltipCell = cell; } if (rightTooltipCell) { @@ -265,12 +278,14 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { if (hour >= 12) { pm = true; if (hour > 12) hour -= 12; - } - else if (hour == 0) { + } else if (hour == 0) { // change 0 hour to 12am hour = 12; } - this.showCellRightTooltip(hour + ' ' + (pm ? 'pm' : 'am'), rightTooltipCell); + this.showCellRightTooltip( + hour + ' ' + (pm ? 'pm' : 'am'), + rightTooltipCell + ); } // preview colour change and @@ -278,39 +293,38 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { if (this.dragAnchor) { if (cell.day != this.dragAnchor.day) { // dragged into another day. Abort! Abort! - Ext.each(this.daysOfWeek, function(day) { - this.revertCells(day, 0, 23); - }, this); + Ext.each( + this.daysOfWeek, + function(day) { + this.revertCells(day, 0, 23); + }, + this + ); this.dragAnchor = null; this.hideCellLeftTooltip(); this.hideCellRightTooltip(); - } - else if (cell.hour > this.dragAnchor.hour) { + } else if (cell.hour > this.dragAnchor.hour) { // dragging right this.revertCells(cell.day, cell.hour + 1, 23); this.previewCells(cell.day, this.dragAnchor.hour, cell.hour); - } - else if (cell.hour < this.dragAnchor.hour) { + } else if (cell.hour < this.dragAnchor.hour) { // dragging left this.revertCells(cell.day, 0, cell.hour - 1); this.previewCells(cell.day, cell.hour, this.dragAnchor.hour); - } - else { + } else { // back to anchor cell // don't know if it is from right or left, so revert all except this this.revertCells(cell.day, cell.hour + 1, 23); this.revertCells(cell.day, 0, cell.hour - 1); } - } - else { + } else { // not dragging, just preview this cell this.previewCells(cell.day, cell.hour, cell.hour); } }, onCellMouseOut: function(event, cell) { - if (!this.dragAnchor) - this.hideCellLeftTooltip(); + if (!this.dragAnchor) this.hideCellLeftTooltip(); // revert state. If new state has been set, old and new will be equal. // if dragging, this will be handled by the next mouse over @@ -395,8 +409,7 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { isCellLeftTooltipHidden: function() { if (this.cellLeftTooltip) return this.cellLeftTooltip.style.visibility == 'hidden'; - else - return true; + else return true; }, showCellRightTooltip: function(text, cell) { @@ -437,8 +450,7 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { isCellRightTooltipHidden: function() { if (this.cellRightTooltip) return this.cellRightTooltip.style.visibility == 'hidden'; - else - return true; + else return true; }, getConfig: function() { @@ -448,7 +460,9 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { var hourConfig = [0, 0, 0, 0, 0, 0, 0]; for (var j = 0; j < this.daysOfWeek.length; j++) { - hourConfig[j] = parseInt(this.scheduleCells[this.daysOfWeek[j]][i].currentValue); + hourConfig[j] = parseInt( + this.scheduleCells[this.daysOfWeek[j]][i].currentValue + ); } config.push(hourConfig); @@ -471,13 +485,12 @@ Deluge.ux.ScheduleSelector = Ext.extend(Ext.form.FieldSet, { this.updateCell(cell); } } - } + }, }); Ext.ns('Deluge.ux.preferences'); Deluge.ux.preferences.SchedulerPage = Ext.extend(Ext.Panel, { - border: false, title: _('Scheduler'), header: false, @@ -490,7 +503,7 @@ Deluge.ux.preferences.SchedulerPage = Ext.extend(Ext.Panel, { xtype: 'form', layout: 'form', border: false, - autoHeight: true + autoHeight: true, }); this.schedule = this.form.add(new Deluge.ux.ScheduleSelector()); @@ -503,10 +516,10 @@ Deluge.ux.preferences.SchedulerPage = Ext.extend(Ext.Panel, { defaultType: 'spinnerfield', defaults: { minValue: -1, - maxValue: 99999 + maxValue: 99999, }, style: 'margin-top: 5px; margin-bottom: 0px; padding-bottom: 0px;', - labelWidth: 200 + labelWidth: 200, }); this.downloadLimit = this.slowSettings.add({ @@ -514,42 +527,46 @@ Deluge.ux.preferences.SchedulerPage = Ext.extend(Ext.Panel, { name: 'download_limit', width: 80, value: -1, - decimalPrecision: 0 + decimalPrecision: 0, }); this.uploadLimit = this.slowSettings.add({ fieldLabel: _('Maximum Upload Speed (KiB/s)'), name: 'upload_limit', width: 80, value: -1, - decimalPrecision: 0 + decimalPrecision: 0, }); this.activeTorrents = this.slowSettings.add({ fieldLabel: _('Active Torrents'), name: 'active_torrents', width: 80, value: -1, - decimalPrecision: 0 + decimalPrecision: 0, }); this.activeDownloading = this.slowSettings.add({ fieldLabel: _('Active Downloading'), name: 'active_downloading', width: 80, value: -1, - decimalPrecision: 0 + decimalPrecision: 0, }); this.activeSeeding = this.slowSettings.add({ fieldLabel: _('Active Seeding'), name: 'active_seeding', width: 80, value: -1, - decimalPrecision: 0 + decimalPrecision: 0, }); this.on('show', this.updateConfig, this); }, onRender: function(ct, position) { - Deluge.ux.preferences.SchedulerPage.superclass.onRender.call(this, ct, position); + Deluge.ux.preferences.SchedulerPage.superclass.onRender.call( + this, + ct, + position + ); this.form.layout = new Ext.layout.FormLayout(); this.form.layout.setContainer(this); this.form.doLayout(); @@ -583,13 +600,12 @@ Deluge.ux.preferences.SchedulerPage = Ext.extend(Ext.Panel, { this.activeDownloading.setValue(config['low_active_down']); this.activeSeeding.setValue(config['low_active_up']); }, - scope: this + scope: this, }); - } + }, }); Deluge.plugins.SchedulerPlugin = Ext.extend(Deluge.Plugin, { - name: 'Scheduler', onDisable: function() { @@ -597,7 +613,9 @@ Deluge.plugins.SchedulerPlugin = Ext.extend(Deluge.Plugin, { }, onEnable: function() { - this.prefsPage = deluge.preferences.addPage(new Deluge.ux.preferences.SchedulerPage()); - } + this.prefsPage = deluge.preferences.addPage( + new Deluge.ux.preferences.SchedulerPage() + ); + }, }); Deluge.registerPlugin('Scheduler', Deluge.plugins.SchedulerPlugin); diff --git a/deluge/plugins/Stats/deluge/plugins/stats/data/stats.js b/deluge/plugins/Stats/deluge/plugins/stats/data/stats.js index 83492c83e..71002d38f 100644 --- a/deluge/plugins/Stats/deluge/plugins/stats/data/stats.js +++ b/deluge/plugins/Stats/deluge/plugins/stats/data/stats.js @@ -11,16 +11,17 @@ StatsPlugin = Ext.extend(Deluge.Plugin, { constructor: function(config) { - config = Ext.apply({ - name: "Stats" - }, config); + config = Ext.apply( + { + name: 'Stats', + }, + config + ); StatsPlugin.superclass.constructor.call(this, config); }, - onDisable: function() { - }, + onDisable: function() {}, - onEnable: function() { - } + onEnable: function() {}, }); new StatsPlugin(); diff --git a/deluge/plugins/Toggle/deluge/plugins/toggle/data/toggle.js b/deluge/plugins/Toggle/deluge/plugins/toggle/data/toggle.js index d926d1739..21e2ce110 100644 --- a/deluge/plugins/Toggle/deluge/plugins/toggle/data/toggle.js +++ b/deluge/plugins/Toggle/deluge/plugins/toggle/data/toggle.js @@ -11,18 +11,17 @@ TogglePlugin = Ext.extend(Deluge.Plugin, { constructor: function(config) { - config = Ext.apply({ - name: "Toggle" - }, config); + config = Ext.apply( + { + name: 'Toggle', + }, + config + ); TogglePlugin.superclass.constructor.call(this, config); }, - onDisable: function() { + onDisable: function() {}, - }, - - onEnable: function() { - - } + onEnable: function() {}, }); new TogglePlugin(); diff --git a/deluge/ui/web/css/deluge.css b/deluge/ui/web/css/deluge.css index b0a0544c8..f520a4747 100644 --- a/deluge/ui/web/css/deluge.css +++ b/deluge/ui/web/css/deluge.css @@ -1,10 +1,11 @@ -html, body { +html, +body { font: normal 11px arial, tahoma, helvetica, sans-serif; margin: 0; padding: 0; border: 0 none; overflow: hidden; - height:100%; + height: 100%; } input { @@ -21,7 +22,7 @@ button::-moz-focus-inner { } #tbar-deluge-text.x-item-disabled * { - color:black !important; + color: black !important; font-weight: bold; } @@ -29,13 +30,15 @@ button::-moz-focus-inner { opacity: 1 !important; } - -.deluge-torrents td, .x-deluge-peers td { +.deluge-torrents td, +.x-deluge-peers td { height: 16px; line-height: 16px; } -.deluge-torrents .torrent-name, .x-deluge-peer, .x-deluge-seed { +.deluge-torrents .torrent-name, +.x-deluge-peer, +.x-deluge-seed { padding-left: 20px; background-repeat: no-repeat; } @@ -45,40 +48,95 @@ button::-moz-focus-inner { } /* Icon classes */ -.x-deluge-all { background-image: url('../icons/all.png'); } -.x-deluge-active { background-image: url('../icons/active.png'); } -.x-deluge-downloading, .x-btn .x-deluge-downloading, .x-deluge-peer { background-image: url('../icons/downloading.png'); } -.x-deluge-seeding, .x-btn .x-deluge-seeding, .deluge-torrents .seeding, .x-deluge-seed { background-image: url('../icons/seeding.png'); } -.x-deluge-queued, .x-btn .x-deluge-queued, .deluge-torrents .queued { background-image: url('../icons/queued.png'); } -.x-deluge-paused, .x-btn .x-deluge-paused, .deluge-torrents .paused { background-image: url('../icons/inactive.png'); } -.x-deluge-error, .deluge-torrents .error { background-image: url('../icons/alert.png'); } -.x-deluge-checking, .deluge-torrents .checking { background-image: url('../icons/checking.png'); } -.x-deluge-dht, .x-btn .x-deluge-dht { background-image: url('../icons/dht.png'); } -.x-deluge-preferences, .x-btn .x-deluge-preferences { background-image: url('../icons/preferences.png') } -.x-deluge-connections, .x-btn .x-deluge-connections { background-image: url('../icons/connections.png') } -.x-deluge-connection-manager, .x-btn .x-deluge-connection-manager { background-image: url('../icons/connection_manager.png') } -.x-deluge-traffic, .x-btn .x-deluge-traffic { background-image: url('../icons/traffic.png') } -.x-deluge-edit-trackers, .x-btn .x-deluge-edit-trackers {background-image: url('../icons/edit_trackers.png'); } -.x-deluge-freespace, .x-btn .x-deluge-freespace {background-image: url('../icons/drive.png'); } - -.x-deluge-install-plugin, .x-btn .x-deluge-install-plugin {background-image: url('../icons/install_plugin.png'); } -.x-deluge-find-more, .x-btn .x-deluge-find-more {background-image: url('../icons/find_more.png'); } - +.x-deluge-all { + background-image: url('../icons/all.png'); +} +.x-deluge-active { + background-image: url('../icons/active.png'); +} +.x-deluge-downloading, +.x-btn .x-deluge-downloading, +.x-deluge-peer { + background-image: url('../icons/downloading.png'); +} +.x-deluge-seeding, +.x-btn .x-deluge-seeding, +.deluge-torrents .seeding, +.x-deluge-seed { + background-image: url('../icons/seeding.png'); +} +.x-deluge-queued, +.x-btn .x-deluge-queued, +.deluge-torrents .queued { + background-image: url('../icons/queued.png'); +} +.x-deluge-paused, +.x-btn .x-deluge-paused, +.deluge-torrents .paused { + background-image: url('../icons/inactive.png'); +} +.x-deluge-error, +.deluge-torrents .error { + background-image: url('../icons/alert.png'); +} +.x-deluge-checking, +.deluge-torrents .checking { + background-image: url('../icons/checking.png'); +} +.x-deluge-dht, +.x-btn .x-deluge-dht { + background-image: url('../icons/dht.png'); +} +.x-deluge-preferences, +.x-btn .x-deluge-preferences { + background-image: url('../icons/preferences.png'); +} +.x-deluge-connections, +.x-btn .x-deluge-connections { + background-image: url('../icons/connections.png'); +} +.x-deluge-connection-manager, +.x-btn .x-deluge-connection-manager { + background-image: url('../icons/connection_manager.png'); +} +.x-deluge-traffic, +.x-btn .x-deluge-traffic { + background-image: url('../icons/traffic.png'); +} +.x-deluge-edit-trackers, +.x-btn .x-deluge-edit-trackers { + background-image: url('../icons/edit_trackers.png'); +} +.x-deluge-freespace, +.x-btn .x-deluge-freespace { + background-image: url('../icons/drive.png'); +} +.x-deluge-install-plugin, +.x-btn .x-deluge-install-plugin { + background-image: url('../icons/install_plugin.png'); +} +.x-deluge-find-more, +.x-btn .x-deluge-find-more { + background-image: url('../icons/find_more.png'); +} /* Torrent Details */ -#torrentDetails dl, #torrentDetails dl.singleline { +#torrentDetails dl, +#torrentDetails dl.singleline { float: left; min-height: 120px; } -#torrentDetails dl dt, dl.singleline dt { +#torrentDetails dl dt, +dl.singleline dt { float: left; font-weight: bold; height: 19px; } -#torrentDetails dl dd, dl.singleline dd { +#torrentDetails dl dd, +dl.singleline dd { margin-left: 100px; width: 140px; height: 19px; @@ -185,7 +243,8 @@ dl.singleline dd { } /* Add Url Window */ -.x-deluge-add-file, .x-btn .x-deluge-add-file { +.x-deluge-add-file, +.x-btn .x-deluge-add-file { background: url('../icons/add_file.png') no-repeat 2px; } @@ -280,11 +339,11 @@ dl.singleline dd { } .x-treegrid-resizer { - border-left:1px solid; - border-right:1px solid; - position:absolute; - left:0; - top:0; + border-left: 1px solid; + border-right: 1px solid; + position: absolute; + left: 0; + top: 0; } .x-treegrid-header-inner { @@ -297,8 +356,8 @@ dl.singleline dd { } .x-treegrid-resizer { - border-left-color:#555; - border-right-color:#555; + border-left-color: #555; + border-right-color: #555; } /* Options Tab Styles */ @@ -348,7 +407,11 @@ dl.singleline dd { } /* Filepriority styles */ -.x-no-download, .x-low-download, .x-normal-download, .x-high-download, .x-mixed-download { +.x-no-download, +.x-low-download, +.x-normal-download, +.x-high-download, +.x-mixed-download { padding-left: 20px; background-repeat: no-repeat; line-height: 16px; @@ -431,7 +494,8 @@ dl.singleline dd { background-image: url('../icons/update.png') !important; } -.icon-edit-trackers, .icon-edit { +.icon-edit-trackers, +.icon-edit { background-image: url('../icons/edit_trackers.png') !important; } diff --git a/deluge/ui/web/js/deluge-all/AddConnectionWindow.js b/deluge/ui/web/js/deluge-all/AddConnectionWindow.js index 92256c693..89c4da108 100644 --- a/deluge/ui/web/js/deluge-all/AddConnectionWindow.js +++ b/deluge/ui/web/js/deluge-all/AddConnectionWindow.js @@ -14,12 +14,11 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, { - title: _('Add Connection'), iconCls: 'x-deluge-add-window-icon', layout: 'fit', - width: 300, + width: 300, height: 195, constrainHeader: true, bodyStyle: 'padding: 10px 5px;', @@ -40,65 +39,79 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, { defaultType: 'textfield', baseCls: 'x-plain', labelWidth: 60, - items: [{ - fieldLabel: _('Host:'), - labelSeparator : '', - name: 'host', - anchor: '75%', - value: '' - }, { - xtype: 'spinnerfield', - fieldLabel: _('Port:'), - labelSeparator : '', - name: 'port', - strategy: { - xtype: 'number', - decimalPrecision: 0, - minValue: -1, - maxValue: 65535 + items: [ + { + fieldLabel: _('Host:'), + labelSeparator: '', + name: 'host', + anchor: '75%', + value: '', + }, + { + xtype: 'spinnerfield', + fieldLabel: _('Port:'), + labelSeparator: '', + name: 'port', + strategy: { + xtype: 'number', + decimalPrecision: 0, + minValue: -1, + maxValue: 65535, + }, + value: '58846', + anchor: '40%', + }, + { + fieldLabel: _('Username:'), + labelSeparator: '', + name: 'username', + anchor: '75%', + value: '', + }, + { + fieldLabel: _('Password:'), + labelSeparator: '', + anchor: '75%', + name: 'password', + inputType: 'password', + value: '', }, - value: '58846', - anchor: '40%' - }, { - fieldLabel: _('Username:'), - labelSeparator : '', - name: 'username', - anchor: '75%', - value: '' - }, { - fieldLabel: _('Password:'), - labelSeparator : '', - anchor: '75%', - name: 'password', - inputType: 'password', - value: '' - }] + ], }); }, onAddClick: function() { var values = this.form.getForm().getValues(); - deluge.client.web.add_host(values.host, Number(values.port), values.username, values.password, { - success: function(result) { - if (!result[0]) { - Ext.MessageBox.show({ - title: _('Error'), - msg: String.format(_('Unable to add host: {0}'), result[1]), - buttons: Ext.MessageBox.OK, - modal: false, - icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' - }); - } else { - this.fireEvent('hostadded'); - } - this.hide(); - }, - scope: this - }); + deluge.client.web.add_host( + values.host, + Number(values.port), + values.username, + values.password, + { + success: function(result) { + if (!result[0]) { + Ext.MessageBox.show({ + title: _('Error'), + msg: String.format( + _('Unable to add host: {0}'), + result[1] + ), + buttons: Ext.MessageBox.OK, + modal: false, + icon: Ext.MessageBox.ERROR, + iconCls: 'x-deluge-icon-error', + }); + } else { + this.fireEvent('hostadded'); + } + this.hide(); + }, + scope: this, + } + ); }, onHide: function() { this.form.getForm().reset(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js index d0ea0a062..81f4f3b07 100644 --- a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js +++ b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js @@ -12,10 +12,10 @@ Ext.ns('Deluge'); // Custom VType validator for tracker urls var trackerUrlTest = /(((^https?)|(^udp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i; Ext.apply(Ext.form.VTypes, { - trackerUrl: function(val, field) { - return trackerUrlTest.test(val); - }, - trackerUrlText: 'Not a valid tracker url' + trackerUrl: function(val, field) { + return trackerUrlTest.test(val); + }, + trackerUrlText: 'Not a valid tracker url', }); /** @@ -23,7 +23,6 @@ Ext.apply(Ext.form.VTypes, { * @extends Ext.Window */ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { - title: _('Add Tracker'), layout: 'fit', width: 375, @@ -49,32 +48,47 @@ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { defaultType: 'textarea', baseCls: 'x-plain', labelWidth: 55, - items: [{ - fieldLabel: _('Trackers:'), - labelSeparator: '', - name: 'trackers', - anchor: '100%' - }] - }) + items: [ + { + fieldLabel: _('Trackers:'), + labelSeparator: '', + name: 'trackers', + anchor: '100%', + }, + ], + }); }, onAddClick: function() { - var trackers = this.form.getForm().findField('trackers').getValue(); + var trackers = this.form + .getForm() + .findField('trackers') + .getValue(); trackers = trackers.split('\n'); var cleaned = []; - Ext.each(trackers, function(tracker) { - if (Ext.form.VTypes.trackerUrl(tracker)) { - cleaned.push(tracker); - } - }, this); + Ext.each( + trackers, + function(tracker) { + if (Ext.form.VTypes.trackerUrl(tracker)) { + cleaned.push(tracker); + } + }, + this + ); this.fireEvent('add', cleaned); this.hide(); - this.form.getForm().findField('trackers').setValue(''); + this.form + .getForm() + .findField('trackers') + .setValue(''); }, onCancelClick: function() { - this.form.getForm().findField('trackers').setValue(''); + this.form + .getForm() + .findField('trackers') + .setValue(''); this.hide(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/Client.js b/deluge/ui/web/js/deluge-all/Client.js index 8efc35585..d661d481c 100644 --- a/deluge/ui/web/js/deluge-all/Client.js +++ b/deluge/ui/web/js/deluge-all/Client.js @@ -16,7 +16,6 @@ Ext.namespace('Ext.ux.util'); * @namespace Ext.ux.util */ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { - _components: [], _methods: [], @@ -33,15 +32,14 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { * @param {Ext.ux.util.RpcClient} this */ constructor: function(config) { - Ext.ux.util.RpcClient.superclass.constructor.call(this, config); this._url = config.url || null; this._id = 0; this.addEvents( - // raw events - 'connected', - 'error' + // raw events + 'connected', + 'error' ); this.reloadMethods(); }, @@ -49,7 +47,7 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { reloadMethods: function() { this._execute('system.listMethods', { success: this._setMethods, - scope: this + scope: this, }); }, @@ -61,7 +59,7 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { var request = Ext.encode({ method: method, params: options.params, - id: options.id + id: options.id, }); this._id++; @@ -72,7 +70,7 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { failure: this._onFailure, scope: this, jsonData: request, - options: options + options: options, }); }, @@ -83,15 +81,20 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { result: null, error: { msg: 'HTTP: ' + response.status + ' ' + response.statusText, - code: 255 - } - } + code: 255, + }, + }; - this.fireEvent('error', errorObj, response, requestOptions) + this.fireEvent('error', errorObj, response, requestOptions); if (Ext.type(options.failure) != 'function') return; if (options.scope) { - options.failure.call(options.scope, errorObj, response, requestOptions); + options.failure.call( + options.scope, + errorObj, + response, + requestOptions + ); } else { options.failure(errorObj, response, requestOptions); } @@ -105,16 +108,32 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { if (Ext.type(options.failure) != 'function') return; if (options.scope) { - options.failure.call(options.scope, responseObj, response, requestOptions); + options.failure.call( + options.scope, + responseObj, + response, + requestOptions + ); } else { options.failure(responseObj, response, requestOptions); } } else { if (Ext.type(options.success) != 'function') return; if (options.scope) { - options.success.call(options.scope, responseObj.result, responseObj, response, requestOptions); + options.success.call( + options.scope, + responseObj.result, + responseObj, + response, + requestOptions + ); } else { - options.success(responseObj.result, responseObj, response, requestOptions); + options.success( + responseObj.result, + responseObj, + response, + requestOptions + ); } } }, @@ -127,26 +146,28 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { var options = params[params.length - 1]; if (Ext.type(options) == 'object') { - var keys = Ext.keys(options), isOption = false; + var keys = Ext.keys(options), + isOption = false; Ext.each(this._optionKeys, function(key) { if (keys.indexOf(key) > -1) isOption = true; }); if (isOption) { - params.remove(options) + params.remove(options); } else { - options = {} + options = {}; } } else { - options = {} + options = {}; } options.params = params; return options; }, _setMethods: function(methods) { - var components = {}, self = this; + var components = {}, + self = this; Ext.each(methods, function(method) { var parts = method.split('.'); @@ -155,7 +176,7 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { var fn = function() { var options = self._parseArgs(arguments); return self._execute(method, options); - } + }; component[parts[1]] = fn; components[parts[0]] = component; }); @@ -163,12 +184,16 @@ Ext.ux.util.RpcClient = Ext.extend(Ext.util.Observable, { for (var name in components) { self[name] = components[name]; } - Ext.each(this._components, function(component) { - if (!component in components) { - delete this[component]; - } - }, this); + Ext.each( + this._components, + function(component) { + if (!component in components) { + delete this[component]; + } + }, + this + ); this._components = Ext.keys(components); this.fireEvent('connected', this); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/ConnectionManager.js b/deluge/ui/web/js/deluge-all/ConnectionManager.js index 11e6ca8a5..bac519149 100644 --- a/deluge/ui/web/js/deluge-all/ConnectionManager.js +++ b/deluge/ui/web/js/deluge-all/ConnectionManager.js @@ -9,7 +9,6 @@ */ Deluge.ConnectionManager = Ext.extend(Ext.Window, { - layout: 'fit', width: 300, height: 220, @@ -24,7 +23,7 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { initComponent: function() { Deluge.ConnectionManager.superclass.initComponent.call(this); - this.on('hide', this.onHide, this); + this.on('hide', this.onHide, this); this.on('show', this.onShow, this); deluge.events.on('login', this.onLogin, this); @@ -36,47 +35,52 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { this.list = new Ext.list.ListView({ store: new Ext.data.ArrayStore({ fields: [ - {name: 'status', mapping: 4}, - {name: 'host', mapping: 1}, - {name: 'port', mapping: 2}, - {name: 'user', mapping: 3}, - {name: 'version', mapping: 5} + { name: 'status', mapping: 4 }, + { name: 'host', mapping: 1 }, + { name: 'port', mapping: 2 }, + { name: 'user', mapping: 3 }, + { name: 'version', mapping: 5 }, ], - id: 0 + id: 0, }), - columns: [{ - header: _('Status'), - width: .24, - sortable: true, - tpl: new Ext.XTemplate( - '<tpl if="status == \'Online\'">', + columns: [ + { + header: _('Status'), + width: 0.24, + sortable: true, + tpl: new Ext.XTemplate( + '<tpl if="status == \'Online\'">', _('Online'), - '</tpl>', - '<tpl if="status == \'Offline\'">', + '</tpl>', + '<tpl if="status == \'Offline\'">', _('Offline'), - '</tpl>', - '<tpl if="status == \'Connected\'">', + '</tpl>', + '<tpl if="status == \'Connected\'">', _('Connected'), - '</tpl>'), - dataIndex: 'status' - }, { - id:'host', - header: _('Host'), - width: .51, - sortable: true, - tpl: '{user}@{host}:{port}', - dataIndex: 'host' - }, { - header: _('Version'), - width: .25, - sortable: true, - tpl: '<tpl if="version">{version}</tpl>', - dataIndex: 'version' - }], + '</tpl>' + ), + dataIndex: 'status', + }, + { + id: 'host', + header: _('Host'), + width: 0.51, + sortable: true, + tpl: '{user}@{host}:{port}', + dataIndex: 'host', + }, + { + header: _('Version'), + width: 0.25, + sortable: true, + tpl: '<tpl if="version">{version}</tpl>', + dataIndex: 'version', + }, + ], singleSelect: true, listeners: { - 'selectionchange': {fn: this.onSelectionChanged, scope: this} - } + selectionchange: { fn: this.onSelectionChanged, scope: this }, + }, }); this.panel = this.add({ @@ -90,33 +94,37 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { text: _('Add'), iconCls: 'icon-add', handler: this.onAddClick, - scope: this - }, { + scope: this, + }, + { id: 'cm-edit', cls: 'x-btn-text-icon', text: _('Edit'), iconCls: 'icon-edit', handler: this.onEditClick, - scope: this - }, { + scope: this, + }, + { id: 'cm-remove', cls: 'x-btn-text-icon', text: _('Remove'), iconCls: 'icon-remove', handler: this.onRemoveClick, disabled: true, - scope: this - }, '->', { + scope: this, + }, + '->', + { id: 'cm-stop', cls: 'x-btn-text-icon', text: _('Stop Daemon'), iconCls: 'icon-error', handler: this.onStopClick, disabled: true, - scope: this - } - ] - }) + scope: this, + }, + ], + }), }); this.update = this.update.createDelegate(this); }, @@ -134,7 +142,7 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { this.show(); } }, - scope: this + scope: this, }); }, @@ -149,7 +157,7 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { loadHosts: function() { deluge.client.web.get_hosts({ success: this.onGetHosts, - scope: this + scope: this, }); }, @@ -157,7 +165,7 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { this.list.getStore().each(function(r) { deluge.client.web.get_host_status(r.id, { success: this.onGetHostStatus, - scope: this + scope: this, }); }, this); }, @@ -168,7 +176,8 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { * @param {Ext.data.Record} record The hosts record to update the UI for */ updateButtons: function(record) { - var button = this.buttons[1], status = record.get('status'); + var button = this.buttons[1], + status = record.get('status'); // Update the Connect/Disconnect button button.enable(); @@ -180,11 +189,17 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { } // Update the Stop/Start Daemon button - if (status.toLowerCase() == 'connected' || status.toLowerCase() == 'online') { + if ( + status.toLowerCase() == 'connected' || + status.toLowerCase() == 'online' + ) { this.stopHostButton.enable(); this.stopHostButton.setText(_('Stop Daemon')); } else { - if (record.get('host') == '127.0.0.1' || record.get('host') == 'localhost') { + if ( + record.get('host') == '127.0.0.1' || + record.get('host') == 'localhost' + ) { this.stopHostButton.enable(); this.stopHostButton.setText(_('Start Daemon')); } else { @@ -236,26 +251,38 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { this.update(this); deluge.events.fire('disconnect'); }, - scope: me + scope: me, }); }; if (selected.get('status').toLowerCase() == 'connected') { disconnect(); - } else { - if (this.list.getStore().find('status', 'Connected', 0, false, false) > -1) { + } else { + if ( + this.list + .getStore() + .find('status', 'Connected', 0, false, false) > -1 + ) { disconnect(); } var id = selected.id; - deluge.client.web.connect(id, { - success: function(methods) { - deluge.client.reloadMethods(); - deluge.client.on('connected', function(e) { - deluge.events.fire('connect'); - }, this, {single: true}); + deluge.client.web.connect( + id, + { + success: function(methods) { + deluge.client.reloadMethods(); + deluge.client.on( + 'connected', + function(e) { + deluge.events.fire('connect'); + }, + this, + { single: true } + ); + }, } - }); + ); this.hide(); } }, @@ -263,21 +290,25 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { // private onGetHosts: function(hosts) { this.list.getStore().loadData(hosts); - Ext.each(hosts, function(host) { - deluge.client.web.get_host_status(host[0], { - success: this.onGetHostStatus, - scope: this - }); - }, this); + Ext.each( + hosts, + function(host) { + deluge.client.web.get_host_status(host[0], { + success: this.onGetHostStatus, + scope: this, + }); + }, + this + ); }, // private onGetHostStatus: function(host) { var record = this.list.getStore().getById(host[0]); - record.set('status', host[1]) - record.set('version', host[2]) + record.set('status', host[1]); + record.set('version', host[2]); record.commit(); - var selected = this.list.getSelectedRecords()[0] + var selected = this.list.getSelectedRecords()[0]; if (!selected) return; if (selected == record) this.updateButtons(record); }, @@ -290,16 +321,21 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { // private onLogin: function() { if (deluge.config.first_login) { - Ext.MessageBox.confirm(_('Change Default Password'), - _('We recommend changing the default password.<br><br>Would you like to change it now?'), + Ext.MessageBox.confirm( + _('Change Default Password'), + _( + 'We recommend changing the default password.<br><br>Would you like to change it now?' + ), function(res) { this.checkConnected(); if (res == 'yes') { deluge.preferences.show(); deluge.preferences.selectPage('Interface'); } - deluge.client.web.set_config({first_login: false}); - }, this); + deluge.client.web.set_config({ first_login: false }); + }, + this + ); } else { this.checkConnected(); } @@ -327,13 +363,13 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' + iconCls: 'x-deluge-icon-error', }); } else { this.list.getStore().remove(connection); } }, - scope: this + scope: this, }); }, @@ -386,11 +422,11 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' + iconCls: 'x-deluge-icon-error', }); } - } + }, }); } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/Deluge.js b/deluge/ui/web/js/deluge-all/Deluge.js index 0a09e349d..6cd43006f 100644 --- a/deluge/ui/web/js/deluge-all/Deluge.js +++ b/deluge/ui/web/js/deluge-all/Deluge.js @@ -9,25 +9,33 @@ */ // Setup the state manager -Ext.state.Manager.setProvider(new Ext.state.CookieProvider({ - /** - * By default, cookies will expire after 7 days. Provide - * an expiry date 10 years in the future to approximate - * a cookie that does not expire. - */ - expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 365 * 10)) -})); +Ext.state.Manager.setProvider( + new Ext.state.CookieProvider({ + /** + * By default, cookies will expire after 7 days. Provide + * an expiry date 10 years in the future to approximate + * a cookie that does not expire. + */ + expires: new Date( + new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 10 + ), + }) +); // Add some additional functions to ext and setup some of the // configurable parameters Ext.apply(Ext, { escapeHTML: function(text) { - text = String(text).replace('<', '<').replace('>', '>'); + text = String(text) + .replace('<', '<') + .replace('>', '>'); return text.replace('&', '&'); }, isObjectEmpty: function(obj) { - for(var i in obj) { return false; } + for (var i in obj) { + return false; + } return true; }, @@ -44,10 +52,10 @@ Ext.apply(Ext, { keys: function(obj) { var keys = []; - for (var i in obj) if (obj.hasOwnProperty(i)) - { - keys.push(i); - } + for (var i in obj) + if (obj.hasOwnProperty(i)) { + keys.push(i); + } return keys; }, @@ -63,8 +71,8 @@ Ext.apply(Ext, { splat: function(obj) { var type = Ext.type(obj); - return (type) ? ((type != 'array') ? [obj] : obj) : []; - } + return type ? (type != 'array' ? [obj] : obj) : []; + }, }); Ext.getKeys = Ext.keys; Ext.BLANK_IMAGE_URL = deluge.config.base + 'images/s.gif'; @@ -72,24 +80,23 @@ Ext.USE_NATIVE_JSON = true; // Create the Deluge namespace Ext.apply(Deluge, { - // private pluginStore: {}, // private - progressTpl: '<div class="x-progress-wrap x-progress-renderered">' + - '<div class="x-progress-inner">' + - '<div style="width: {2}px" class="x-progress-bar">' + - '<div style="z-index: 99; width: {3}px" class="x-progress-text">' + - '<div style="width: {1}px;">{0}</div>' + - '</div>' + - '</div>' + - '<div class="x-progress-text x-progress-text-back">' + - '<div style="width: {1}px;">{0}</div>' + - '</div>' + - '</div>' + - '</div>', - + progressTpl: + '<div class="x-progress-wrap x-progress-renderered">' + + '<div class="x-progress-inner">' + + '<div style="width: {2}px" class="x-progress-bar">' + + '<div style="z-index: 99; width: {3}px" class="x-progress-text">' + + '<div style="width: {1}px;">{0}</div>' + + '</div>' + + '</div>' + + '<div class="x-progress-text x-progress-text-back">' + + '<div style="width: {1}px;">{0}</div>' + + '</div>' + + '</div>' + + '</div>', /** * A method to create a progress bar that can be used by renderers @@ -103,8 +110,15 @@ Ext.apply(Deluge, { modifier = Ext.value(modifier, 10); var progressWidth = ((width / 100.0) * progress).toFixed(0); var barWidth = progressWidth - 1; - var textWidth = ((progressWidth - modifier) > 0 ? progressWidth - modifier : 0); - return String.format(Deluge.progressTpl, text, width, barWidth, textWidth); + var textWidth = + progressWidth - modifier > 0 ? progressWidth - modifier : 0; + return String.format( + Deluge.progressTpl, + text, + width, + barWidth, + textWidth + ); }, /** @@ -120,7 +134,7 @@ Ext.apply(Deluge, { * @param {String} name The plugin name to check */ hasPlugin: function(name) { - return (Deluge.pluginStore[name]) ? true : false; + return Deluge.pluginStore[name] ? true : false; }, /** @@ -130,8 +144,7 @@ Ext.apply(Deluge, { */ registerPlugin: function(name, plugin) { Deluge.pluginStore[name] = plugin; - } - + }, }); // Setup a space for plugins to insert themselves @@ -152,12 +165,12 @@ FILE_PRIORITY = { 6: 'High', 7: 'High', 9: 'Mixed', - 'Ignore': 0, - 'Low': 1, - 'Normal': 4, - 'High': 7, - 'Mixed': 9 -} + Ignore: 0, + Low: 1, + Normal: 4, + High: 7, + Mixed: 9, +}; FILE_PRIORITY_CSS = { 0: 'x-no-download', @@ -168,5 +181,5 @@ FILE_PRIORITY_CSS = { 5: 'x-high-download', 6: 'x-high-download', 7: 'x-high-download', - 9: 'x-mixed-download' -} + 9: 'x-mixed-download', +}; diff --git a/deluge/ui/web/js/deluge-all/EditConnectionWindow.js b/deluge/ui/web/js/deluge-all/EditConnectionWindow.js index 07b883236..9e24ec8f8 100644 --- a/deluge/ui/web/js/deluge-all/EditConnectionWindow.js +++ b/deluge/ui/web/js/deluge-all/EditConnectionWindow.js @@ -14,12 +14,11 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.EditConnectionWindow = Ext.extend(Ext.Window, { - title: _('Edit Connection'), iconCls: 'x-deluge-add-window-icon', layout: 'fit', - width: 300, + width: 300, height: 195, constrainHeader: true, bodyStyle: 'padding: 10px 5px;', @@ -40,75 +39,96 @@ Deluge.EditConnectionWindow = Ext.extend(Ext.Window, { defaultType: 'textfield', baseCls: 'x-plain', labelWidth: 60, - items: [{ - fieldLabel: _('Host:'), - labelSeparator : '', - name: 'host', - anchor: '75%', - value: '' - }, { - xtype: 'spinnerfield', - fieldLabel: _('Port:'), - labelSeparator : '', - name: 'port', - strategy: { - xtype: 'number', - decimalPrecision: 0, - minValue: 0, - maxValue: 65535 + items: [ + { + fieldLabel: _('Host:'), + labelSeparator: '', + name: 'host', + anchor: '75%', + value: '', + }, + { + xtype: 'spinnerfield', + fieldLabel: _('Port:'), + labelSeparator: '', + name: 'port', + strategy: { + xtype: 'number', + decimalPrecision: 0, + minValue: 0, + maxValue: 65535, + }, + anchor: '40%', + value: 58846, + }, + { + fieldLabel: _('Username:'), + labelSeparator: '', + name: 'username', + anchor: '75%', + value: '', + }, + { + fieldLabel: _('Password:'), + labelSeparator: '', + anchor: '75%', + name: 'password', + inputType: 'password', + value: '', }, - anchor: '40%', - value: 58846 - }, { - fieldLabel: _('Username:'), - labelSeparator : '', - name: 'username', - anchor: '75%', - value: '' - }, { - fieldLabel: _('Password:'), - labelSeparator : '', - anchor: '75%', - name: 'password', - inputType: 'password', - value: '' - }] + ], }); }, show: function(connection) { Deluge.EditConnectionWindow.superclass.show.call(this); - this.form.getForm().findField('host').setValue(connection.get('host')); - this.form.getForm().findField('port').setValue(connection.get('port')); - this.form.getForm().findField('username').setValue(connection.get('user')); - this.host_id = connection.id + this.form + .getForm() + .findField('host') + .setValue(connection.get('host')); + this.form + .getForm() + .findField('port') + .setValue(connection.get('port')); + this.form + .getForm() + .findField('username') + .setValue(connection.get('user')); + this.host_id = connection.id; }, onEditClick: function() { var values = this.form.getForm().getValues(); - deluge.client.web.edit_host(this.host_id, values.host, Number(values.port), values.username, values.password, { - success: function(result) { - if (!result) { - console.log(result) - Ext.MessageBox.show({ - title: _('Error'), - msg: String.format(_('Unable to edit host')), - buttons: Ext.MessageBox.OK, - modal: false, - icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' - }); - } else { - this.fireEvent('hostedited'); - } - this.hide(); - }, - scope: this - }); + deluge.client.web.edit_host( + this.host_id, + values.host, + Number(values.port), + values.username, + values.password, + { + success: function(result) { + if (!result) { + console.log(result); + Ext.MessageBox.show({ + title: _('Error'), + msg: String.format(_('Unable to edit host')), + buttons: Ext.MessageBox.OK, + modal: false, + icon: Ext.MessageBox.ERROR, + iconCls: 'x-deluge-icon-error', + }); + } else { + this.fireEvent('hostedited'); + } + this.hide(); + }, + scope: this, + } + ); }, onHide: function() { this.form.getForm().reset(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/EditTrackerWindow.js b/deluge/ui/web/js/deluge-all/EditTrackerWindow.js index 7d0d464e6..dcc7764bb 100644 --- a/deluge/ui/web/js/deluge-all/EditTrackerWindow.js +++ b/deluge/ui/web/js/deluge-all/EditTrackerWindow.js @@ -14,7 +14,6 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, { - title: _('Edit Tracker'), layout: 'fit', width: 375, @@ -40,12 +39,14 @@ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, { defaultType: 'textfield', baseCls: 'x-plain', labelWidth: 55, - items: [{ - fieldLabel: _('Tracker:'), - labelSeparator: '', - name: 'tracker', - anchor: '100%' - }] + items: [ + { + fieldLabel: _('Tracker:'), + labelSeparator: '', + name: 'tracker', + anchor: '100%', + }, + ], }); }, @@ -53,7 +54,10 @@ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, { Deluge.EditTrackerWindow.superclass.show.call(this); this.record = record; - this.form.getForm().findField('tracker').setValue(record.data['url']); + this.form + .getForm() + .findField('tracker') + .setValue(record.data['url']); }, onCancelClick: function() { @@ -61,13 +65,19 @@ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, { }, onHide: function() { - this.form.getForm().findField('tracker').setValue(''); + this.form + .getForm() + .findField('tracker') + .setValue(''); }, onSaveClick: function() { - var url = this.form.getForm().findField('tracker').getValue(); + var url = this.form + .getForm() + .findField('tracker') + .getValue(); this.record.set('url', url); this.record.commit(); this.hide(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/EditTrackersWindow.js b/deluge/ui/web/js/deluge-all/EditTrackersWindow.js index 7e16997fa..7d32c8561 100644 --- a/deluge/ui/web/js/deluge-all/EditTrackersWindow.js +++ b/deluge/ui/web/js/deluge-all/EditTrackersWindow.js @@ -14,7 +14,6 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { - title: _('Edit Trackers'), layout: 'fit', width: 350, @@ -46,29 +45,29 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { this.list = new Ext.list.ListView({ store: new Ext.data.JsonStore({ root: 'trackers', - fields: [ - 'tier', - 'url' - ] + fields: ['tier', 'url'], }), - columns: [{ - header: _('Tier'), - width: .1, - dataIndex: 'tier' - }, { - header: _('Tracker'), - width: .9, - dataIndex: 'url' - }], + columns: [ + { + header: _('Tier'), + width: 0.1, + dataIndex: 'tier', + }, + { + header: _('Tracker'), + width: 0.9, + dataIndex: 'url', + }, + ], columnSort: { - sortClasses: ['', ''] + sortClasses: ['', ''], }, stripeRows: true, singleSelect: true, listeners: { - 'dblclick': {fn: this.onListNodeDblClicked, scope: this}, - 'selectionchange': {fn: this.onSelect, scope: this} - } + dblclick: { fn: this.onListNodeDblClicked, scope: this }, + selectionchange: { fn: this.onSelect, scope: this }, + }, }); this.panel = this.add({ @@ -80,30 +79,35 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { text: _('Up'), iconCls: 'icon-up', handler: this.onUpClick, - scope: this - }, { + scope: this, + }, + { text: _('Down'), iconCls: 'icon-down', handler: this.onDownClick, - scope: this - }, '->', { + scope: this, + }, + '->', + { text: _('Add'), iconCls: 'icon-add', handler: this.onAddClick, - scope: this - }, { + scope: this, + }, + { text: _('Edit'), iconCls: 'icon-edit-trackers', handler: this.onEditClick, - scope: this - }, { + scope: this, + }, + { text: _('Remove'), iconCls: 'icon-remove', handler: this.onRemoveClick, - scope: this - } - ] - }) + scope: this, + }, + ], + }), }); }, @@ -113,20 +117,30 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { onAddTrackers: function(trackers) { var store = this.list.getStore(); - Ext.each(trackers, function(tracker) { - var duplicate = false, heightestTier = -1; - store.each(function(record) { - if (record.get('tier') > heightestTier) { - heightestTier = record.get('tier'); - } - if (tracker == record.get('tracker')) { - duplicate = true; - return false; - } - }, this); - if (duplicate) return; - store.add(new store.recordType({'tier': heightestTier + 1, 'url': tracker})); - }, this); + Ext.each( + trackers, + function(tracker) { + var duplicate = false, + heightestTier = -1; + store.each(function(record) { + if (record.get('tier') > heightestTier) { + heightestTier = record.get('tier'); + } + if (tracker == record.get('tracker')) { + duplicate = true; + return false; + } + }, this); + if (duplicate) return; + store.add( + new store.recordType({ + tier: heightestTier + 1, + url: tracker, + }) + ); + }, + this + ); }, onCancelClick: function() { @@ -151,14 +165,14 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { var trackers = []; this.list.getStore().each(function(record) { trackers.push({ - 'tier': record.get('tier'), - 'url': record.get('url') - }) + tier: record.get('tier'), + url: record.get('url'), + }); }, this); deluge.client.core.set_torrent_trackers(this.torrentId, trackers, { failure: this.onSaveFail, - scope: this + scope: this, }); this.hide(); @@ -176,23 +190,27 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { this.list.getStore().sort('tier', 'ASC'); }, - onSaveFail: function() { - - }, + onSaveFail: function() {}, onSelect: function(list) { if (list.getSelectionCount()) { - this.panel.getBottomToolbar().items.get(4).enable(); + this.panel + .getBottomToolbar() + .items.get(4) + .enable(); } }, onShow: function() { - this.panel.getBottomToolbar().items.get(4).disable(); + this.panel + .getBottomToolbar() + .items.get(4) + .disable(); var r = deluge.torrents.getSelected(); this.torrentId = r.id; deluge.client.core.get_torrent_status(r.id, ['trackers'], { success: this.onRequestComplete, - scope: this + scope: this, }); }, @@ -217,5 +235,5 @@ Deluge.EditTrackersWindow = Ext.extend(Ext.Window, { r.store.commitChanges(); this.list.select(r.store.indexOf(r)); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/EventsManager.js b/deluge/ui/web/js/deluge-all/EventsManager.js index 162176353..f60f2038f 100644 --- a/deluge/ui/web/js/deluge-all/EventsManager.js +++ b/deluge/ui/web/js/deluge-all/EventsManager.js @@ -33,14 +33,20 @@ Deluge.EventsManager = Ext.extend(Ext.util.Observable, { deluge.client.web.register_event_listener(eventName); } } - Deluge.EventsManager.superclass.addListener.call(this, eventName, fn, scope, o); + 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 + scope: this, }); }, @@ -71,11 +77,16 @@ Deluge.EventsManager = Ext.extend(Ext.util.Observable, { onGetEventsSuccess: function(events) { if (!this.running) return; if (events) { - Ext.each(events, function(event) { - var name = event[0], args = event[1]; - args.splice(0, 0, name); - this.fireEvent.apply(this, args); - }, this); + Ext.each( + events, + function(event) { + var name = event[0], + args = event[1]; + args.splice(0, 0, name); + this.fireEvent.apply(this, args); + }, + this + ); } this.getEvents(); }, @@ -89,19 +100,19 @@ Deluge.EventsManager = Ext.extend(Ext.util.Observable, { return; } this.getEvents(); - } + }, }); /** * Appends an event handler to this object (shorthand for {@link #addListener}) * @method */ -Deluge.EventsManager.prototype.on = Deluge.EventsManager.prototype.addListener +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.EventsManager.prototype.fire = Deluge.EventsManager.prototype.fireEvent; deluge.events = new Deluge.EventsManager(); diff --git a/deluge/ui/web/js/deluge-all/FileBrowser.js b/deluge/ui/web/js/deluge-all/FileBrowser.js index 474dacfdf..d4346d854 100644 --- a/deluge/ui/web/js/deluge-all/FileBrowser.js +++ b/deluge/ui/web/js/deluge-all/FileBrowser.js @@ -10,10 +10,9 @@ Ext.namespace('Deluge'); Deluge.FileBrowser = Ext.extend(Ext.Window, { - title: _('File Browser'), - width: 500, + width: 500, height: 400, initComponent: function() { @@ -21,20 +20,24 @@ Deluge.FileBrowser = Ext.extend(Ext.Window, { this.add({ xtype: 'toolbar', - items: [{ - text: _('Back'), - iconCls: 'icon-back' - }, { - text: _('Forward'), - iconCls: 'icon-forward' - }, { - text: _('Up'), - iconCls: 'icon-up' - }, { - text: _('Home'), - iconCls: 'icon-home' - }] + items: [ + { + text: _('Back'), + iconCls: 'icon-back', + }, + { + text: _('Forward'), + iconCls: 'icon-forward', + }, + { + text: _('Up'), + iconCls: 'icon-up', + }, + { + text: _('Home'), + iconCls: 'icon-home', + }, + ], }); - } - + }, }); diff --git a/deluge/ui/web/js/deluge-all/FilterPanel.js b/deluge/ui/web/js/deluge-all/FilterPanel.js index a7d651d83..ddf5b37fb 100644 --- a/deluge/ui/web/js/deluge-all/FilterPanel.js +++ b/deluge/ui/web/js/deluge-all/FilterPanel.js @@ -14,7 +14,6 @@ Ext.ns('Deluge'); * @extends Ext.list.ListView */ Deluge.FilterPanel = Ext.extend(Ext.Panel, { - autoScroll: true, border: false, @@ -34,9 +33,9 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { } else if (this.filterType == 'label') { title = _('Labels'); } else { - title = this.filterType.replace('_', ' '), - parts = title.split(' '), - title = ''; + (title = this.filterType.replace('_', ' ')), + (parts = title.split(' ')), + (title = ''); Ext.each(parts, function(p) { fl = p.substring(0, 1).toUpperCase(); title += fl + p.substring(1) + ' '; @@ -47,7 +46,8 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { if (Deluge.FilterPanel.templates[this.filterType]) { var tpl = Deluge.FilterPanel.templates[this.filterType]; } else { - var tpl = '<div class="x-deluge-filter x-deluge-{filter:lowercase}">{filter} ({count})</div>'; + var tpl = + '<div class="x-deluge-filter x-deluge-{filter:lowercase}">{filter} ({count})</div>'; } this.list = this.add({ @@ -57,14 +57,16 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { reserveScrollOffset: true, store: new Ext.data.ArrayStore({ idIndex: 0, - fields: ['filter', 'count'] + fields: ['filter', 'count'], }), - columns: [{ - id: 'filter', - sortable: false, - tpl: tpl, - dataIndex: 'filter' - }] + columns: [ + { + id: 'filter', + sortable: false, + tpl: tpl, + dataIndex: 'filter', + }, + ], }); this.relayEvents(this.list, ['selectionchange']); }, @@ -102,11 +104,18 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { */ updateStates: function(states) { this.states = {}; - Ext.each(states, function(state) { - this.states[state[0]] = state[1]; - }, this); - - var show_zero = (this.show_zero == null) ? deluge.config.sidebar_show_zero : this.show_zero; + Ext.each( + states, + function(state) { + this.states[state[0]] = state[1]; + }, + this + ); + + var show_zero = + this.show_zero == null + ? deluge.config.sidebar_show_zero + : this.show_zero; if (!show_zero) { var newStates = []; Ext.each(states, function(state) { @@ -119,22 +128,26 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { var store = this.getStore(); var filters = {}; - Ext.each(states, function(s, i) { - var record = store.getById(s[0]); - if (!record) { - record = new store.recordType({ - filter: s[0], - count: s[1] - }); - record.id = s[0]; - store.insert(i, record); - } - record.beginEdit(); - record.set('filter', _(s[0])); - record.set('count', s[1]); - record.endEdit(); - filters[s[0]] = true; - }, this); + Ext.each( + states, + function(s, i) { + var record = store.getById(s[0]); + if (!record) { + record = new store.recordType({ + filter: s[0], + count: s[1], + }); + record.id = s[0]; + store.insert(i, record); + } + record.beginEdit(); + record.set('filter', _(s[0])); + record.set('count', s[1]); + record.endEdit(); + filters[s[0]] = true; + }, + this + ); store.each(function(record) { if (filters[record.id]) return; @@ -151,10 +164,12 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { if (!this.list.getSelectionCount()) { this.list.select(0); } - } - + }, }); Deluge.FilterPanel.templates = { - 'tracker_host': '<div class="x-deluge-filter" style="background-image: url(' + deluge.config.base + 'tracker/{filter});">{filter} ({count})</div>' -} + tracker_host: + '<div class="x-deluge-filter" style="background-image: url(' + + deluge.config.base + + 'tracker/{filter});">{filter} ({count})</div>', +}; diff --git a/deluge/ui/web/js/deluge-all/Formatters.js b/deluge/ui/web/js/deluge-all/Formatters.js index 1c9869e60..e894159e7 100644 --- a/deluge/ui/web/js/deluge-all/Formatters.js +++ b/deluge/ui/web/js/deluge-all/Formatters.js @@ -34,9 +34,15 @@ Deluge.Formatters = { } timestamp = timestamp * 1000; var date = new Date(timestamp); - return String.format('{0}/{1}/{2} {3}:{4}:{5}', - zeroPad(date.getDate(), 2), zeroPad(date.getMonth() + 1, 2), date.getFullYear(), - zeroPad(date.getHours(), 2), zeroPad(date.getMinutes(), 2), zeroPad(date.getSeconds(), 2)); + return String.format( + '{0}/{1}/{2} {3}:{4}:{5}', + zeroPad(date.getDate(), 2), + zeroPad(date.getMonth() + 1, 2), + date.getFullYear(), + zeroPad(date.getHours(), 2), + zeroPad(date.getMinutes(), 2), + zeroPad(date.getSeconds(), 2) + ); }, /** @@ -50,13 +56,19 @@ Deluge.Formatters = { if (!bytes && !showZero) return ''; bytes = bytes / 1024.0; - if (bytes < 1024) { return bytes.toFixed(1) + ' KiB'; } - else { bytes = bytes / 1024; } + if (bytes < 1024) { + return bytes.toFixed(1) + ' KiB'; + } else { + bytes = bytes / 1024; + } - if (bytes < 1024) { return bytes.toFixed(1) + ' MiB'; } - else { bytes = bytes / 1024; } + if (bytes < 1024) { + return bytes.toFixed(1) + ' MiB'; + } else { + bytes = bytes / 1024; + } - return bytes.toFixed(1) + ' GiB' + return bytes.toFixed(1) + ' GiB'; }, /** @@ -70,13 +82,19 @@ Deluge.Formatters = { if (!bytes && !showZero) return ''; bytes = bytes / 1024.0; - if (bytes < 1024) { return bytes.toFixed(1) + ' K'; } - else { bytes = bytes / 1024; } + if (bytes < 1024) { + return bytes.toFixed(1) + ' K'; + } else { + bytes = bytes / 1024; + } - if (bytes < 1024) { return bytes.toFixed(1) + ' M'; } - else { bytes = bytes / 1024; } + if (bytes < 1024) { + return bytes.toFixed(1) + ' M'; + } else { + bytes = bytes / 1024; + } - return bytes.toFixed(1) + ' G' + return bytes.toFixed(1) + ' G'; }, /** @@ -87,7 +105,7 @@ Deluge.Formatters = { * @return {String} formatted string with KiB, MiB or GiB units. */ speed: function(bytes, showZero) { - return (!bytes && !showZero) ? '' : fsize(bytes, showZero) + '/s'; + return !bytes && !showZero ? '' : fsize(bytes, showZero) + '/s'; }, /** @@ -97,34 +115,42 @@ Deluge.Formatters = { * @return {String} a formatted time string. will return '' if seconds == 0 */ timeRemaining: function(time) { - if (time <= 0) { return '∞' } + if (time <= 0) { + return '∞'; + } time = time.toFixed(0); - if (time < 60) { return time + 's'; } - else { time = time / 60; } + if (time < 60) { + return time + 's'; + } else { + time = time / 60; + } if (time < 60) { - var minutes = Math.floor(time) - var seconds = Math.round(60 * (time - minutes)) + var minutes = Math.floor(time); + var seconds = Math.round(60 * (time - minutes)); if (seconds > 0) { return minutes + 'm ' + seconds + 's'; } else { - return minutes + 'm'; } + return minutes + 'm'; } - else { time = time / 60; } + } else { + time = time / 60; + } if (time < 24) { - var hours = Math.floor(time) - var minutes = Math.round(60 * (time - hours)) + var hours = Math.floor(time); + var minutes = Math.round(60 * (time - hours)); if (minutes > 0) { return hours + 'h ' + minutes + 'm'; } else { return hours + 'h'; } + } else { + time = time / 24; } - else { time = time / 24; } - var days = Math.floor(time) - var hours = Math.round(24 * (time - days)) + var days = Math.floor(time); + var hours = Math.round(24 * (time - days)); if (hours > 0) { return days + 'd ' + hours + 'h'; } else { @@ -144,8 +170,8 @@ Deluge.Formatters = { cssClassEscape: function(value) { return value.toLowerCase().replace('.', '_'); - } -} + }, +}; var fsize = Deluge.Formatters.size; var fsize_short = Deluge.Formatters.sizeShort; var fspeed = Deluge.Formatters.speed; diff --git a/deluge/ui/web/js/deluge-all/Keys.js b/deluge/ui/web/js/deluge-all/Keys.js index 1b7803178..af17acb73 100644 --- a/deluge/ui/web/js/deluge-all/Keys.js +++ b/deluge/ui/web/js/deluge-all/Keys.js @@ -14,7 +14,6 @@ * @singleton */ Deluge.Keys = { - /** * Keys that are used within the torrent grid. * <pre>['queue', 'name', 'total_wanted', 'state', 'progress', 'num_seeds', @@ -25,12 +24,33 @@ Deluge.Keys = { * 'seeds_peers_ratio', 'total_remaining', 'completed_time', 'time_since_transfer']</pre> */ Grid: [ - 'queue', 'name', 'total_wanted', 'state', 'progress', 'num_seeds', - 'total_seeds', 'num_peers', 'total_peers', 'download_payload_rate', - 'upload_payload_rate', 'eta', 'ratio', 'distributed_copies', - 'is_auto_managed', 'time_added', 'tracker_host', 'download_location', 'last_seen_complete', - 'total_done', 'total_uploaded', 'max_download_speed', 'max_upload_speed', - 'seeds_peers_ratio', 'total_remaining', 'completed_time', 'time_since_transfer' + 'queue', + 'name', + 'total_wanted', + 'state', + 'progress', + 'num_seeds', + 'total_seeds', + 'num_peers', + 'total_peers', + 'download_payload_rate', + 'upload_payload_rate', + 'eta', + 'ratio', + 'distributed_copies', + 'is_auto_managed', + 'time_added', + 'tracker_host', + 'download_location', + 'last_seen_complete', + 'total_done', + 'total_uploaded', + 'max_download_speed', + 'max_upload_speed', + 'seeds_peers_ratio', + 'total_remaining', + 'completed_time', + 'time_since_transfer', ], /** @@ -42,34 +62,50 @@ Deluge.Keys = { * 'seed_rank', 'last_seen_complete', 'completed_time', 'owner', 'public', 'shared']</pre> */ Status: [ - 'total_done', 'total_payload_download', 'total_uploaded', - 'total_payload_upload', 'next_announce', 'tracker_status', 'num_pieces', - 'piece_length', 'is_auto_managed', 'active_time', 'seeding_time', 'time_since_transfer', - 'seed_rank', 'last_seen_complete', 'completed_time', 'owner', 'public', 'shared' + 'total_done', + 'total_payload_download', + 'total_uploaded', + 'total_payload_upload', + 'next_announce', + 'tracker_status', + 'num_pieces', + 'piece_length', + 'is_auto_managed', + 'active_time', + 'seeding_time', + 'time_since_transfer', + 'seed_rank', + 'last_seen_complete', + 'completed_time', + 'owner', + 'public', + 'shared', ], /** * Keys used in the files tab of the statistics panel. * <pre>['files', 'file_progress', 'file_priorities']</pre> */ - Files: [ - 'files', 'file_progress', 'file_priorities' - ], + Files: ['files', 'file_progress', 'file_priorities'], /** * Keys used in the peers tab of the statistics panel. * <pre>['peers']</pre> */ - Peers: [ - 'peers' - ], + Peers: ['peers'], /** * Keys used in the details tab of the statistics panel. */ Details: [ - 'name', 'download_location', 'total_size', 'num_files', 'message', - 'tracker_host', 'comment', 'creator' + 'name', + 'download_location', + 'total_size', + 'num_files', + 'message', + 'tracker_host', + 'comment', + 'creator', ], /** @@ -79,11 +115,19 @@ Deluge.Keys = { * 'prioritize_first_last']</pre> */ Options: [ - 'max_download_speed', 'max_upload_speed', 'max_connections', - 'max_upload_slots','is_auto_managed', 'stop_at_ratio', 'stop_ratio', - 'remove_at_ratio', 'private', 'prioritize_first_last', - 'move_completed', 'move_completed_path' - ] + 'max_download_speed', + 'max_upload_speed', + 'max_connections', + 'max_upload_slots', + 'is_auto_managed', + 'stop_at_ratio', + 'stop_ratio', + 'remove_at_ratio', + 'private', + 'prioritize_first_last', + 'move_completed', + 'move_completed_path', + ], }; // Merge the grid and status keys together as the status keys contain all the diff --git a/deluge/ui/web/js/deluge-all/LoginWindow.js b/deluge/ui/web/js/deluge-all/LoginWindow.js index 37a5cc4bf..9e42eee95 100644 --- a/deluge/ui/web/js/deluge-all/LoginWindow.js +++ b/deluge/ui/web/js/deluge-all/LoginWindow.js @@ -9,20 +9,19 @@ */ Deluge.LoginWindow = Ext.extend(Ext.Window, { - - firstShow: true, - bodyStyle: 'padding: 10px 5px;', + firstShow: true, + bodyStyle: 'padding: 10px 5px;', buttonAlign: 'center', - closable: false, + closable: false, closeAction: 'hide', - iconCls: 'x-deluge-login-window-icon', - layout: 'fit', - modal: true, - plain: true, - resizable: false, - title: _('Login'), - width: 300, - height: 120, + iconCls: 'x-deluge-login-window-icon', + layout: 'fit', + modal: true, + plain: true, + resizable: false, + title: _('Login'), + width: 300, + height: 120, initComponent: function() { Deluge.LoginWindow.superclass.initComponent.call(this); @@ -31,7 +30,7 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { this.addButton({ text: _('Login'), handler: this.onLogin, - scope: this + scope: this, }); this.form = this.add({ @@ -39,20 +38,20 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { baseCls: 'x-plain', labelWidth: 120, labelAlign: 'right', - defaults: {width: 110}, - defaultType: 'textfield' + defaults: { width: 110 }, + defaultType: 'textfield', }); this.passwordField = this.form.add({ xtype: 'textfield', fieldLabel: _('Password:'), - labelSeparator : '', + labelSeparator: '', grow: true, growMin: '110', growMax: '145', id: '_password', name: 'password', - inputType: 'password' + inputType: 'password', }); this.passwordField.on('specialkey', this.onSpecialKey, this); }, @@ -63,7 +62,7 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { success: function(result) { this.show(true); }, - scope: this + scope: this, }); }, @@ -88,7 +87,7 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { failure: function(result) { this.show(true); }, - scope: this + scope: this, }); }, @@ -114,11 +113,11 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { passwordField.focus(true, 10); }, icon: Ext.MessageBox.WARNING, - iconCls: 'x-deluge-icon-warning' + iconCls: 'x-deluge-icon-warning', }); } }, - scope: this + scope: this, }); }, @@ -131,5 +130,5 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { onShow: function() { this.passwordField.focus(true, 300); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/Menus.js b/deluge/ui/web/js/deluge-all/Menus.js index c5fc69f8e..e345ad106 100644 --- a/deluge/ui/web/js/deluge-all/Menus.js +++ b/deluge/ui/web/js/deluge-all/Menus.js @@ -23,7 +23,7 @@ deluge.menus = { deluge.client.core[action](ids, { success: function() { deluge.ui.update(); - } + }, }); }, @@ -41,284 +41,348 @@ deluge.menus = { deluge.moveStorage.show(ids); break; } - } -} + }, +}; deluge.menus.torrent = new Ext.menu.Menu({ id: 'torrentMenu', - items: [{ - torrentAction: 'pause_torrent', - text: _('Pause'), - iconCls: 'icon-pause', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - }, { - torrentAction: 'resume_torrent', - text: _('Resume'), - iconCls: 'icon-resume', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - }, '-', { - text: _('Options'), - iconCls: 'icon-options', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - text: _('D/L Speed Limit'), - iconCls: 'x-deluge-downloading', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: ['max_download_speed', 5], - text: _('5 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_download_speed', 10], - text: _('10 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_download_speed', 30], - text: _('30 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_download_speed', 80], - text: _('80 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_download_speed', 300], - text: _('300 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - },{ - torrentAction: ['max_download_speed', -1], - text: _('Unlimited'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }] - }) - }, { - text: _('U/L Speed Limit'), - iconCls: 'x-deluge-seeding', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: ['max_upload_speed', 5], - text: _('5 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_speed', 10], - text: _('10 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_speed', 30], - text: _('30 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_speed', 80], - text: _('80 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_speed', 300], - text: _('300 KiB/s'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - },{ - torrentAction: ['max_upload_speed', -1], - text: _('Unlimited'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }] - }) - }, { - text: _('Connection Limit'), - iconCls: 'x-deluge-connections', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: ['max_connections', 50], - text: '50', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_connections', 100], - text: '100', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_connections', 200], - text: '200', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_connections', 300], - text: '300', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_connections', 500], - text: '500', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - },{ - torrentAction: ['max_connections', -1], - text: _('Unlimited'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }] - }) - }, { - text: _('Upload Slot Limit'), - iconCls: 'icon-upload-slots', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: ['max_upload_slots', 0], - text: '0', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_slots', 1], - text: '1', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_slots', 2], - text: '2', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_slots', 3], - text: '3', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['max_upload_slots', 5], - text: '5', - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - },{ - torrentAction: ['max_upload_slots', -1], - text: _('Unlimited'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }] - }) - }, { - id: 'auto_managed', - text: _('Auto Managed'), - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: ['auto_managed', true], - text: _('On'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }, { - torrentAction: ['auto_managed', false], - text: _('Off'), - handler: deluge.menus.onTorrentActionSetOpt, - scope: deluge.menus - }] - }) - }] - }) - }, '-', { - text: _('Queue'), - iconCls: 'icon-queue', - hideOnClick: false, - menu: new Ext.menu.Menu({ - items: [{ - torrentAction: 'queue_top', - text: _('Top'), - iconCls: 'icon-top', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - },{ - torrentAction: 'queue_up', - text: _('Up'), - iconCls: 'icon-up', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - },{ - torrentAction: 'queue_down', - text: _('Down'), - iconCls: 'icon-down', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - },{ - torrentAction: 'queue_bottom', - text: _('Bottom'), - iconCls: 'icon-bottom', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - }] - }) - }, '-', { - torrentAction: 'force_reannounce', - text: _('Update Tracker'), - iconCls: 'icon-update-tracker', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - }, { - torrentAction: 'edit_trackers', - text: _('Edit Trackers'), - iconCls: 'icon-edit-trackers', - handler: deluge.menus.onTorrentActionShow, - scope: deluge.menus - }, '-', { - torrentAction: 'remove', - text: _('Remove Torrent'), - iconCls: 'icon-remove', - handler: deluge.menus.onTorrentActionShow, - scope: deluge.menus - }, '-', { - torrentAction: 'force_recheck', - text: _('Force Recheck'), - iconCls: 'icon-recheck', - handler: deluge.menus.onTorrentActionMethod, - scope: deluge.menus - }, { - torrentAction: 'move', - text: _('Move Download Folder'), - iconCls: 'icon-move', - handler: deluge.menus.onTorrentActionShow, - scope: deluge.menus - }] + items: [ + { + torrentAction: 'pause_torrent', + text: _('Pause'), + iconCls: 'icon-pause', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'resume_torrent', + text: _('Resume'), + iconCls: 'icon-resume', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + '-', + { + text: _('Options'), + iconCls: 'icon-options', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + text: _('D/L Speed Limit'), + iconCls: 'x-deluge-downloading', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: ['max_download_speed', 5], + text: _('5 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_download_speed', 10], + text: _('10 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_download_speed', 30], + text: _('30 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_download_speed', 80], + text: _('80 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_download_speed', 300], + text: _('300 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_download_speed', -1], + text: _('Unlimited'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + ], + }), + }, + { + text: _('U/L Speed Limit'), + iconCls: 'x-deluge-seeding', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: ['max_upload_speed', 5], + text: _('5 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_speed', 10], + text: _('10 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_speed', 30], + text: _('30 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_speed', 80], + text: _('80 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_speed', 300], + text: _('300 KiB/s'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_speed', -1], + text: _('Unlimited'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + ], + }), + }, + { + text: _('Connection Limit'), + iconCls: 'x-deluge-connections', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: ['max_connections', 50], + text: '50', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_connections', 100], + text: '100', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_connections', 200], + text: '200', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_connections', 300], + text: '300', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_connections', 500], + text: '500', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_connections', -1], + text: _('Unlimited'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + ], + }), + }, + { + text: _('Upload Slot Limit'), + iconCls: 'icon-upload-slots', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: ['max_upload_slots', 0], + text: '0', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_slots', 1], + text: '1', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_slots', 2], + text: '2', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_slots', 3], + text: '3', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_slots', 5], + text: '5', + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['max_upload_slots', -1], + text: _('Unlimited'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + ], + }), + }, + { + id: 'auto_managed', + text: _('Auto Managed'), + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: ['auto_managed', true], + text: _('On'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + { + torrentAction: ['auto_managed', false], + text: _('Off'), + handler: deluge.menus.onTorrentActionSetOpt, + scope: deluge.menus, + }, + ], + }), + }, + ], + }), + }, + '-', + { + text: _('Queue'), + iconCls: 'icon-queue', + hideOnClick: false, + menu: new Ext.menu.Menu({ + items: [ + { + torrentAction: 'queue_top', + text: _('Top'), + iconCls: 'icon-top', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'queue_up', + text: _('Up'), + iconCls: 'icon-up', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'queue_down', + text: _('Down'), + iconCls: 'icon-down', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'queue_bottom', + text: _('Bottom'), + iconCls: 'icon-bottom', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + ], + }), + }, + '-', + { + torrentAction: 'force_reannounce', + text: _('Update Tracker'), + iconCls: 'icon-update-tracker', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'edit_trackers', + text: _('Edit Trackers'), + iconCls: 'icon-edit-trackers', + handler: deluge.menus.onTorrentActionShow, + scope: deluge.menus, + }, + '-', + { + torrentAction: 'remove', + text: _('Remove Torrent'), + iconCls: 'icon-remove', + handler: deluge.menus.onTorrentActionShow, + scope: deluge.menus, + }, + '-', + { + torrentAction: 'force_recheck', + text: _('Force Recheck'), + iconCls: 'icon-recheck', + handler: deluge.menus.onTorrentActionMethod, + scope: deluge.menus, + }, + { + torrentAction: 'move', + text: _('Move Download Folder'), + iconCls: 'icon-move', + handler: deluge.menus.onTorrentActionShow, + scope: deluge.menus, + }, + ], }); deluge.menus.filePriorities = new Ext.menu.Menu({ id: 'filePrioritiesMenu', - items: [{ - id: 'expandAll', - text: _('Expand All'), - iconCls: 'icon-expand-all' - }, '-', { - id: 'ignore', - text: _('Ignore'), - iconCls: 'icon-do-not-download', - filePriority: FILE_PRIORITY['Ignore'] - }, { - id: 'low', - text: _('Low'), - iconCls: 'icon-low', - filePriority: FILE_PRIORITY['Low'] - }, { - id: 'normal', - text: _('Normal'), - iconCls: 'icon-normal', - filePriority: FILE_PRIORITY['Normal'] - }, { - id: 'high', - text: _('High'), - iconCls: 'icon-high', - filePriority: FILE_PRIORITY['High'] - }] + items: [ + { + id: 'expandAll', + text: _('Expand All'), + iconCls: 'icon-expand-all', + }, + '-', + { + id: 'ignore', + text: _('Ignore'), + iconCls: 'icon-do-not-download', + filePriority: FILE_PRIORITY['Ignore'], + }, + { + id: 'low', + text: _('Low'), + iconCls: 'icon-low', + filePriority: FILE_PRIORITY['Low'], + }, + { + id: 'normal', + text: _('Normal'), + iconCls: 'icon-normal', + filePriority: FILE_PRIORITY['Normal'], + }, + { + id: 'high', + text: _('High'), + iconCls: 'icon-high', + filePriority: FILE_PRIORITY['High'], + }, + ], }); diff --git a/deluge/ui/web/js/deluge-all/MoveStorage.js b/deluge/ui/web/js/deluge-all/MoveStorage.js index b86271cd7..2cfbc4dd4 100644 --- a/deluge/ui/web/js/deluge-all/MoveStorage.js +++ b/deluge/ui/web/js/deluge-all/MoveStorage.js @@ -10,21 +10,23 @@ Ext.namespace('Deluge'); Deluge.MoveStorage = Ext.extend(Ext.Window, { - constructor: function(config) { - config = Ext.apply({ - title: _('Move Download Folder'), - width: 375, - height: 110, - layout: 'fit', - buttonAlign: 'right', - closeAction: 'hide', - closable: true, - iconCls: 'x-deluge-move-storage', - plain: true, - constrainHeader: true, - resizable: false - }, config); + config = Ext.apply( + { + title: _('Move Download Folder'), + width: 375, + height: 110, + layout: 'fit', + buttonAlign: 'right', + closeAction: 'hide', + closable: true, + iconCls: 'x-deluge-move-storage', + plain: true, + constrainHeader: true, + resizable: false, + }, + config + ); Deluge.MoveStorage.superclass.constructor.call(this, config); }, @@ -39,13 +41,13 @@ Deluge.MoveStorage = Ext.extend(Ext.Window, { border: false, defaultType: 'textfield', width: 300, - bodyStyle: 'padding: 5px' + bodyStyle: 'padding: 5px', }); this.moveLocation = this.form.add({ fieldLabel: _('Download Folder'), name: 'location', - width: 240 + width: 240, }); //this.form.add({ // xtype: 'button', @@ -78,6 +80,6 @@ Deluge.MoveStorage = Ext.extend(Ext.Window, { var dest = this.moveLocation.getValue(); deluge.client.core.move_storage(this.torrentIds, dest); this.hide(); - } + }, }); deluge.moveStorage = new Deluge.MoveStorage(); diff --git a/deluge/ui/web/js/deluge-all/MultiOptionsManager.js b/deluge/ui/web/js/deluge-all/MultiOptionsManager.js index b490fdf93..f2ed096c7 100644 --- a/deluge/ui/web/js/deluge-all/MultiOptionsManager.js +++ b/deluge/ui/web/js/deluge-all/MultiOptionsManager.js @@ -15,7 +15,6 @@ * @extends Deluge.OptionsManager */ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { - constructor: function(config) { this.currentId = null; this.stored = {}; @@ -32,9 +31,13 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { if (!dontUpdateBinds) { for (var option in this.options) { if (!this.binds[option]) continue; - Ext.each(this.binds[option], function(bind) { - bind.setValue(this.get(option)); - }, this); + Ext.each( + this.binds[option], + function(bind) { + bind.setValue(this.get(option)); + }, + this + ); } } return oldId; @@ -45,7 +48,10 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { * @param {String} id */ commit: function() { - this.stored[this.currentId] = Ext.apply(this.stored[this.currentId], this.changed[this.currentId]); + this.stored[this.currentId] = Ext.apply( + this.stored[this.currentId], + this.changed[this.currentId] + ); this.reset(); }, @@ -57,18 +63,28 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { get: function() { if (arguments.length == 1) { var option = arguments[0]; - return (this.isDirty(option)) ? this.changed[this.currentId][option] : this.getDefault(option); + return this.isDirty(option) + ? this.changed[this.currentId][option] + : this.getDefault(option); } else if (arguments.length == 0) { var options = {}; for (var option in this.options) { - options[option] = (this.isDirty(option)) ? this.changed[this.currentId][option] : this.getDefault(option); + options[option] = this.isDirty(option) + ? this.changed[this.currentId][option] + : this.getDefault(option); } return options; } else { var options = {}; - Ext.each(arguments, function(option) { - options[option] = (this.isDirty(option)) ? this.changed[this.currentId][option] : this.getDefault(option); - }, this); + Ext.each( + arguments, + function(option) { + options[option] = this.isDirty(option) + ? this.changed[this.currentId][option] + : this.getDefault(option); + }, + this + ); return options; } }, @@ -79,7 +95,9 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { * @returns {Object} the value of the option */ getDefault: function(option) { - return (this.has(option)) ? this.stored[this.currentId][option] : this.options[option]; + return this.has(option) + ? this.stored[this.currentId][option] + : this.options[option]; }, /** @@ -87,7 +105,7 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { * @returns {Object} the changed options */ getDirty: function() { - return (this.changed[this.currentId]) ? this.changed[this.currentId] : {}; + return this.changed[this.currentId] ? this.changed[this.currentId] : {}; }, /** @@ -96,7 +114,10 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { * @returns {Boolean} true if the option has been changed, else false. */ isDirty: function(option) { - return (this.changed[this.currentId] && !Ext.isEmpty(this.changed[this.currentId][option])); + return ( + this.changed[this.currentId] && + !Ext.isEmpty(this.changed[this.currentId][option]) + ); }, /** @@ -106,7 +127,10 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { * @returns {Boolean} true if the id has an option, else false. */ has: function(option) { - return (this.stored[this.currentId] && !Ext.isEmpty(this.stored[this.currentId][option])); + return ( + this.stored[this.currentId] && + !Ext.isEmpty(this.stored[this.currentId][option]) + ); }, /** @@ -171,7 +195,8 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { this.update(key, option[key]); } } else { - if (!this.changed[this.currentId]) this.changed[this.currentId] = {}; + if (!this.changed[this.currentId]) + this.changed[this.currentId] = {}; var defaultValue = this.getDefault(option); value = this.convertValueType(defaultValue, value); @@ -180,7 +205,8 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { if (oldValue == value) return; if (defaultValue == value) { - if (this.isDirty(option)) delete this.changed[this.currentId][option]; + if (this.isDirty(option)) + delete this.changed[this.currentId][option]; this.fireEvent('changed', option, value, oldValue); return; } else { @@ -188,5 +214,5 @@ Deluge.MultiOptionsManager = Ext.extend(Deluge.OptionsManager, { this.fireEvent('changed', option, value, oldValue); } } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/OptionsManager.js b/deluge/ui/web/js/deluge-all/OptionsManager.js index 1782851ae..694359708 100644 --- a/deluge/ui/web/js/deluge-all/OptionsManager.js +++ b/deluge/ui/web/js/deluge-all/OptionsManager.js @@ -18,7 +18,6 @@ Ext.namespace('Deluge'); * @param {Object} config Configuration options */ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { - constructor: function(config) { config = config || {}; this.binds = {}; @@ -31,7 +30,7 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { * @event add * Fires when an option is added */ - 'add': true, + add: true, /** * @event changed @@ -40,13 +39,13 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { * @param {Mixed} value The options new value * @param {Mixed} oldValue The options old value */ - 'changed': true, + changed: true, /** * @event reset * Fires when the options are reset */ - 'reset': true + reset: true, }); this.on('changed', this.onChange, this); @@ -104,7 +103,10 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { case 'boolean': if (Ext.type(value) == 'string') { value = value.toLowerCase(); - value = (value == 'true' || value == '1' || value == 'on') ? true : false; + value = + value == 'true' || value == '1' || value == 'on' + ? true + : false; } else { value = Boolean(value); } @@ -122,13 +124,21 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { get: function() { if (arguments.length == 1) { var option = arguments[0]; - return (this.isDirty(option)) ? this.changed[option] : this.options[option]; + return this.isDirty(option) + ? this.changed[option] + : this.options[option]; } else { var options = {}; - Ext.each(arguments, function(option) { - if (!this.has(option)) return; - options[option] = (this.isDirty(option)) ? this.changed[option] : this.options[option]; - }, this); + Ext.each( + arguments, + function(option) { + if (!this.has(option)) return; + options[option] = this.isDirty(option) + ? this.changed[option] + : this.options[option]; + }, + this + ); return options; } }, @@ -164,7 +174,7 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { * @returns {Boolean} true if the option exists, else false. */ has: function(option) { - return (this.options[option]); + return this.options[option]; }, /** @@ -190,7 +200,7 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { } } else { this.options[option] = value; - this.onChange(option, value) + this.onChange(option, value); } }, @@ -255,11 +265,15 @@ Deluge.OptionsManager = Ext.extend(Ext.util.Observable, { onChange: function(option, newValue, oldValue) { // If we don't have a bind there's nothing to do. if (Ext.isEmpty(this.binds[option])) return; - Ext.each(this.binds[option], function(bind) { - // The field is currently focused so we do not want to change it. - if (bind == this.focused) return; - // Set the form field to the new value. - bind.setValue(newValue); - }, this); - } + Ext.each( + this.binds[option], + function(bind) { + // The field is currently focused so we do not want to change it. + if (bind == this.focused) return; + // Set the form field to the new value. + bind.setValue(newValue); + }, + this + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/OtherLimitWindow.js b/deluge/ui/web/js/deluge-all/OtherLimitWindow.js index a1e744581..c29414491 100644 --- a/deluge/ui/web/js/deluge-all/OtherLimitWindow.js +++ b/deluge/ui/web/js/deluge-all/OtherLimitWindow.js @@ -14,7 +14,6 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.OtherLimitWindow = Ext.extend(Ext.Window, { - layout: 'fit', width: 210, height: 100, @@ -29,19 +28,21 @@ Deluge.OtherLimitWindow = Ext.extend(Ext.Window, { bodyStyle: 'padding: 5px', layout: 'hbox', layoutConfig: { - pack: 'start' + pack: 'start', }, - items: [{ - xtype: 'spinnerfield', - name: 'limit' - }] + items: [ + { + xtype: 'spinnerfield', + name: 'limit', + }, + ], }); if (this.initialConfig.unit) { this.form.add({ border: false, baseCls: 'x-plain', bodyStyle: 'padding: 5px', - html: this.initialConfig.unit + html: this.initialConfig.unit, }); } else { this.setSize(180, 100); @@ -53,7 +54,7 @@ Deluge.OtherLimitWindow = Ext.extend(Ext.Window, { }, setValue: function(value) { - this.form.getForm().setValues({limit: value}); + this.form.getForm().setValues({ limit: value }); }, onCancelClick: function() { @@ -67,12 +68,15 @@ Deluge.OtherLimitWindow = Ext.extend(Ext.Window, { deluge.client.core.set_config(config, { success: function() { deluge.ui.update(); - } + }, }); this.hide(); }, doFocusField: function() { - this.form.getForm().findField('limit').focus(true, 10); - } + this.form + .getForm() + .findField('limit') + .focus(true, 10); + }, }); diff --git a/deluge/ui/web/js/deluge-all/Plugin.js b/deluge/ui/web/js/deluge-all/Plugin.js index 172d1cc30..cd9463041 100644 --- a/deluge/ui/web/js/deluge-all/Plugin.js +++ b/deluge/ui/web/js/deluge-all/Plugin.js @@ -14,7 +14,6 @@ Ext.ns('Deluge'); * @extends Ext.util.Observable */ Deluge.Plugin = Ext.extend(Ext.util.Observable, { - /** * The plugins name * @property name @@ -29,13 +28,13 @@ Deluge.Plugin = Ext.extend(Ext.util.Observable, { * @event enabled * @param {Plugin} plugin the plugin instance */ - 'enabled': true, + enabled: true, /** * @event disabled * @param {Plugin} plugin the plugin instance */ - 'disabled': true + disabled: true, }); Deluge.Plugin.superclass.constructor.call(this, config); }, @@ -61,14 +60,15 @@ Deluge.Plugin = Ext.extend(Ext.util.Observable, { registerTorrentStatus: function(key, header, options) { options = options || {}; - var cc = options.colCfg || {}, sc = options.storeCfg || {}; - sc = Ext.apply(sc, {name: key}); + var cc = options.colCfg || {}, + sc = options.storeCfg || {}; + sc = Ext.apply(sc, { name: key }); deluge.torrents.meta.fields.push(sc); deluge.torrents.getStore().reader.onMetaChange(deluge.torrents.meta); cc = Ext.apply(cc, { header: header, - dataIndex: key + dataIndex: key, }); var cols = deluge.torrents.columns.slice(0); cols.push(cc); @@ -100,7 +100,7 @@ Deluge.Plugin = Ext.extend(Ext.util.Observable, { }); Deluge.Keys.Grid = keys; deluge.torrents.getView().refresh(true); - } + }, }); Ext.ns('Deluge.plugins'); diff --git a/deluge/ui/web/js/deluge-all/RemoveWindow.js b/deluge/ui/web/js/deluge-all/RemoveWindow.js index 070e86ca8..646a7183c 100644 --- a/deluge/ui/web/js/deluge-all/RemoveWindow.js +++ b/deluge/ui/web/js/deluge-all/RemoveWindow.js @@ -13,17 +13,16 @@ * @extends Ext.Window */ Deluge.RemoveWindow = Ext.extend(Ext.Window, { - - title: _('Remove Torrent'), + title: _('Remove Torrent'), layout: 'fit', - width: 350, + width: 350, height: 100, constrainHeader: true, buttonAlign: 'right', closeAction: 'hide', - closable: true, - iconCls: 'x-deluge-remove-window-icon', - plain: true, + closable: true, + iconCls: 'x-deluge-remove-window-icon', + plain: true, bodyStyle: 'padding: 5px; padding-left: 10px;', html: 'Are you sure you wish to remove the torrent (s)?', @@ -39,12 +38,14 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, { deluge.client.core.remove_torrents(this.torrentIds, removeData, { success: function(result) { if (result == true) { - console.log('Error(s) occured when trying to delete torrent(s).'); + console.log( + 'Error(s) occured when trying to delete torrent(s).' + ); } this.onRemoved(this.torrentIds); }, scope: this, - torrentIds: this.torrentIds + torrentIds: this.torrentIds, }); }, @@ -70,7 +71,7 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, { deluge.events.fire('torrentsRemoved', torrentIds); this.hide(); deluge.ui.update(); - } + }, }); deluge.removeWindow = new Deluge.RemoveWindow(); diff --git a/deluge/ui/web/js/deluge-all/Sidebar.js b/deluge/ui/web/js/deluge-all/Sidebar.js index 9356f47de..35c438c55 100644 --- a/deluge/ui/web/js/deluge-all/Sidebar.js +++ b/deluge/ui/web/js/deluge-all/Sidebar.js @@ -18,7 +18,6 @@ * @version 1.3 */ Deluge.Sidebar = Ext.extend(Ext.Panel, { - // private panels: {}, @@ -26,17 +25,20 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { selected: null, constructor: function(config) { - config = Ext.apply({ - id: 'sidebar', - region: 'west', - cls: 'deluge-sidebar', - title: _('Filters'), - layout: 'accordion', - split: true, - width: 200, - minSize: 100, - collapsible: true - }, config); + config = Ext.apply( + { + id: 'sidebar', + region: 'west', + cls: 'deluge-sidebar', + title: _('Filters'), + layout: 'accordion', + split: true, + width: 200, + minSize: 100, + collapsible: true, + }, + config + ); Deluge.Sidebar.superclass.constructor.call(this, config); }, @@ -48,7 +50,7 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { createFilter: function(filter, states) { var panel = new Deluge.FilterPanel({ - filter: filter + filter: filter, }); panel.on('selectionchange', function(view, nodes) { deluge.ui.update(); @@ -77,7 +79,7 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { }, getFilterStates: function() { - var states = {} + var states = {}; if (deluge.config.sidebar_multiple_filters) { // Grab the filters from each of the filter panels @@ -99,7 +101,7 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { }, hasFilter: function(filter) { - return (this.panels[filter]) ? true : false; + return this.panels[filter] ? true : false; }, // private @@ -126,13 +128,17 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { } // Perform a cleanup of fitlers that are not enabled any more. - Ext.each(Ext.keys(this.panels), function(filter) { - if (Ext.keys(filters).indexOf(filter) == -1) { - // We need to remove the panel - this.remove(this.panels[filter]); - this.doLayout(); - delete this.panels[filter]; - } - }, this); - } + Ext.each( + Ext.keys(this.panels), + function(filter) { + if (Ext.keys(filters).indexOf(filter) == -1) { + // We need to remove the panel + this.remove(this.panels[filter]); + this.doLayout(); + delete this.panels[filter]; + } + }, + this + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/Statusbar.js b/deluge/ui/web/js/deluge-all/Statusbar.js index 90d220f93..9c3d204f1 100644 --- a/deluge/ui/web/js/deluge-all/Statusbar.js +++ b/deluge/ui/web/js/deluge-all/Statusbar.js @@ -11,11 +11,14 @@ Ext.namespace('Deluge'); Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { constructor: function(config) { - config = Ext.apply({ - id: 'deluge-statusbar', - defaultIconCls: 'x-deluge-statusbar x-not-connected', - defaultText: _('Not Connected') - }, config); + config = Ext.apply( + { + id: 'deluge-statusbar', + defaultIconCls: 'x-deluge-statusbar x-not-connected', + defaultText: _('Not Connected'), + }, + config + ); Deluge.Statusbar.superclass.constructor.call(this, config); }, @@ -27,188 +30,229 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { }, createButtons: function() { - this.buttons = this.add({ - id: 'statusbar-connections', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-connections', - tooltip: _('Connections'), - menu: new Deluge.StatusbarMenu({ - items: [{ - text: '50', - value: '50', - group: 'max_connections_global', - checked: false - },{ - text: '100', - value: '100', - group: 'max_connections_global', - checked: false - },{ - text: '200', - value: '200', - group: 'max_connections_global', - checked: false - },{ - text: '300', - value: '300', - group: 'max_connections_global', - checked: false - },{ - text: '500', - value: '500', - group: 'max_connections_global', - checked: false - },{ - text: _('Unlimited'), - value: '-1', - group: 'max_connections_global', - checked: false - },'-',{ - text: _('Other'), - value: 'other', - group: 'max_connections_global', - checked: false - }], - otherWin: { - title: _('Set Maximum Connections') - } - }) - }, '-', { - id: 'statusbar-downspeed', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-downloading', - tooltip: _('Download Speed'), - menu: new Deluge.StatusbarMenu({ - items: [{ - value: '5', - text: _('5 KiB/s'), - group: 'max_download_speed', - checked: false - },{ - value: '10', - text: _('10 KiB/s'), - group: 'max_download_speed', - checked: false - },{ - value: '30', - text: _('30 KiB/s'), - group: 'max_download_speed', - checked: false - },{ - value: '80', - text: _('80 KiB/s'), - group: 'max_download_speed', - checked: false - },{ - value: '300', - text: _('300 KiB/s'), - group: 'max_download_speed', - checked: false - },{ - value: '-1', - text: _('Unlimited'), - group: 'max_download_speed', - checked: false - },'-',{ - value: 'other', - text: _('Other'), - group: 'max_download_speed', - checked: false - }], - otherWin: { - title: _('Set Maximum Download Speed'), - unit: _('KiB/s') - } - }) - }, '-', { - id: 'statusbar-upspeed', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-seeding', - tooltip: _('Upload Speed'), - menu: new Deluge.StatusbarMenu({ - items: [{ - value: '5', - text: _('5 KiB/s'), - group: 'max_upload_speed', - checked: false - },{ - value: '10', - text: _('10 KiB/s'), - group: 'max_upload_speed', - checked: false - },{ - value: '30', - text: _('30 KiB/s'), - group: 'max_upload_speed', - checked: false - },{ - value: '80', - text: _('80 KiB/s'), - group: 'max_upload_speed', - checked: false - },{ - value: '300', - text: _('300 KiB/s'), - group: 'max_upload_speed', - checked: false - },{ - value: '-1', - text: _('Unlimited'), - group: 'max_upload_speed', - checked: false - },'-',{ - value: 'other', - text: _('Other'), - group: 'max_upload_speed', - checked: false - }], - otherWin: { - title: _('Set Maximum Upload Speed'), - unit: _('KiB/s') - } - }) - }, '-', { - id: 'statusbar-traffic', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-traffic', - tooltip: _('Protocol Traffic Download/Upload'), - handler: function() { - deluge.preferences.show(); - deluge.preferences.selectPage('Network'); - } - }, '-', { - id: 'statusbar-externalip', - text: ' ', - cls: 'x-btn-text', - tooltip: _('External IP Address') - }, '-', { - id: 'statusbar-dht', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-dht', - tooltip: _('DHT Nodes') - }, '-', { - id: 'statusbar-freespace', - text: ' ', - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-freespace', - tooltip: _('Freespace in download folder'), - handler: function() { - deluge.preferences.show(); - deluge.preferences.selectPage('Downloads'); + this.buttons = this.add( + { + id: 'statusbar-connections', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-connections', + tooltip: _('Connections'), + menu: new Deluge.StatusbarMenu({ + items: [ + { + text: '50', + value: '50', + group: 'max_connections_global', + checked: false, + }, + { + text: '100', + value: '100', + group: 'max_connections_global', + checked: false, + }, + { + text: '200', + value: '200', + group: 'max_connections_global', + checked: false, + }, + { + text: '300', + value: '300', + group: 'max_connections_global', + checked: false, + }, + { + text: '500', + value: '500', + group: 'max_connections_global', + checked: false, + }, + { + text: _('Unlimited'), + value: '-1', + group: 'max_connections_global', + checked: false, + }, + '-', + { + text: _('Other'), + value: 'other', + group: 'max_connections_global', + checked: false, + }, + ], + otherWin: { + title: _('Set Maximum Connections'), + }, + }), + }, + '-', + { + id: 'statusbar-downspeed', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-downloading', + tooltip: _('Download Speed'), + menu: new Deluge.StatusbarMenu({ + items: [ + { + value: '5', + text: _('5 KiB/s'), + group: 'max_download_speed', + checked: false, + }, + { + value: '10', + text: _('10 KiB/s'), + group: 'max_download_speed', + checked: false, + }, + { + value: '30', + text: _('30 KiB/s'), + group: 'max_download_speed', + checked: false, + }, + { + value: '80', + text: _('80 KiB/s'), + group: 'max_download_speed', + checked: false, + }, + { + value: '300', + text: _('300 KiB/s'), + group: 'max_download_speed', + checked: false, + }, + { + value: '-1', + text: _('Unlimited'), + group: 'max_download_speed', + checked: false, + }, + '-', + { + value: 'other', + text: _('Other'), + group: 'max_download_speed', + checked: false, + }, + ], + otherWin: { + title: _('Set Maximum Download Speed'), + unit: _('KiB/s'), + }, + }), + }, + '-', + { + id: 'statusbar-upspeed', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-seeding', + tooltip: _('Upload Speed'), + menu: new Deluge.StatusbarMenu({ + items: [ + { + value: '5', + text: _('5 KiB/s'), + group: 'max_upload_speed', + checked: false, + }, + { + value: '10', + text: _('10 KiB/s'), + group: 'max_upload_speed', + checked: false, + }, + { + value: '30', + text: _('30 KiB/s'), + group: 'max_upload_speed', + checked: false, + }, + { + value: '80', + text: _('80 KiB/s'), + group: 'max_upload_speed', + checked: false, + }, + { + value: '300', + text: _('300 KiB/s'), + group: 'max_upload_speed', + checked: false, + }, + { + value: '-1', + text: _('Unlimited'), + group: 'max_upload_speed', + checked: false, + }, + '-', + { + value: 'other', + text: _('Other'), + group: 'max_upload_speed', + checked: false, + }, + ], + otherWin: { + title: _('Set Maximum Upload Speed'), + unit: _('KiB/s'), + }, + }), + }, + '-', + { + id: 'statusbar-traffic', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-traffic', + tooltip: _('Protocol Traffic Download/Upload'), + handler: function() { + deluge.preferences.show(); + deluge.preferences.selectPage('Network'); + }, + }, + '-', + { + id: 'statusbar-externalip', + text: ' ', + cls: 'x-btn-text', + tooltip: _('External IP Address'), + }, + '-', + { + id: 'statusbar-dht', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-dht', + tooltip: _('DHT Nodes'), + }, + '-', + { + id: 'statusbar-freespace', + text: ' ', + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-freespace', + tooltip: _('Freespace in download folder'), + handler: function() { + deluge.preferences.show(); + deluge.preferences.selectPage('Downloads'); + }, } - }); + ); this.created = true; }, onConnect: function() { this.setStatus({ iconCls: 'x-connected', - text: '' + text: '', }); if (!this.created) { this.createButtons(); @@ -222,7 +266,7 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { }, onDisconnect: function() { - this.clearStatus({useDefaults:true}); + this.clearStatus({ useDefaults: true }); Ext.each(this.buttons, function(item) { item.hide(); item.disable(); @@ -233,16 +277,24 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { update: function(stats) { if (!stats) return; - function addSpeed(val) {return val + ' KiB/s'} + function addSpeed(val) { + return val + ' KiB/s'; + } var updateStat = function(name, config) { var item = this.items.get('statusbar-' + name); if (config.limit.value > 0) { - var value = (config.value.formatter) ? config.value.formatter(config.value.value, true) : config.value.value; - var limit = (config.limit.formatter) ? config.limit.formatter(config.limit.value, true) : config.limit.value; + var value = config.value.formatter + ? config.value.formatter(config.value.value, true) + : config.value.value; + var limit = config.limit.formatter + ? config.limit.formatter(config.limit.value, true) + : config.limit.value; var str = String.format(config.format, value, limit); } else { - var str = (config.value.formatter) ? config.value.formatter(config.value.value, true) : config.value.value; + var str = config.value.formatter + ? config.value.formatter(config.value.value, true) + : config.value.value; } item.setText(str); @@ -251,50 +303,60 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { }.createDelegate(this); updateStat('connections', { - value: {value: stats.num_connections}, - limit: {value: stats.max_num_connections}, - format: '{0} ({1})' + value: { value: stats.num_connections }, + limit: { value: stats.max_num_connections }, + format: '{0} ({1})', }); updateStat('downspeed', { value: { value: stats.download_rate, - formatter: Deluge.Formatters.speed + formatter: Deluge.Formatters.speed, }, limit: { value: stats.max_download, - formatter: addSpeed + formatter: addSpeed, }, - format: '{0} ({1})' + format: '{0} ({1})', }); updateStat('upspeed', { value: { value: stats.upload_rate, - formatter: Deluge.Formatters.speed + formatter: Deluge.Formatters.speed, }, limit: { value: stats.max_upload, - formatter: addSpeed + formatter: addSpeed, }, - format: '{0} ({1})' + format: '{0} ({1})', }); updateStat('traffic', { value: { value: stats.download_protocol_rate, - formatter: Deluge.Formatters.speed + formatter: Deluge.Formatters.speed, }, limit: { value: stats.upload_protocol_rate, - formatter: Deluge.Formatters.speed + formatter: Deluge.Formatters.speed, }, - format: '{0}/{1}' + format: '{0}/{1}', }); this.items.get('statusbar-dht').setText(stats.dht_nodes); - this.items.get('statusbar-freespace').setText(stats.free_space >= 0 ? fsize(stats.free_space): _('Error')); - this.items.get('statusbar-externalip').setText( - String.format(_('<b>IP</b> {0}'), stats.external_ip ? stats.external_ip: _("n/a"))); - } + this.items + .get('statusbar-freespace') + .setText( + stats.free_space >= 0 ? fsize(stats.free_space) : _('Error') + ); + this.items + .get('statusbar-externalip') + .setText( + String.format( + _('<b>IP</b> {0}'), + stats.external_ip ? stats.external_ip : _('n/a') + ) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/StatusbarMenu.js b/deluge/ui/web/js/deluge-all/StatusbarMenu.js index 99ddda090..2b377d8f6 100644 --- a/deluge/ui/web/js/deluge-all/StatusbarMenu.js +++ b/deluge/ui/web/js/deluge-all/StatusbarMenu.js @@ -15,10 +15,11 @@ Ext.ns('Deluge'); * @extends Ext.menu.Menu */ Deluge.StatusbarMenu = Ext.extend(Ext.menu.Menu, { - initComponent: function() { Deluge.StatusbarMenu.superclass.initComponent.call(this); - this.otherWin = new Deluge.OtherLimitWindow(this.initialConfig.otherWin || {}); + this.otherWin = new Deluge.OtherLimitWindow( + this.initialConfig.otherWin || {} + ); this.items.each(function(item) { if (item.getXType() != 'menucheckitem') return; @@ -33,7 +34,7 @@ Deluge.StatusbarMenu = Ext.extend(Ext.menu.Menu, { setValue: function(value) { var beenSet = false; // set the new value - this.value = value = (value == 0) ? -1 : value; + this.value = value = value == 0 ? -1 : value; var other = null; // uncheck all items @@ -61,12 +62,12 @@ Deluge.StatusbarMenu = Ext.extend(Ext.menu.Menu, { onLimitChanged: function(item, checked) { if (!checked || item.value == 'other') return; // We do not care about unchecked or other. - var config = {} - config[item.group] = item.value + var config = {}; + config[item.group] = item.value; deluge.client.core.set_config(config, { success: function() { deluge.ui.update(); - } + }, }); }, @@ -74,5 +75,5 @@ Deluge.StatusbarMenu = Ext.extend(Ext.menu.Menu, { this.otherWin.group = item.group; this.otherWin.setValue(this.value); this.otherWin.show(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/Toolbar.js b/deluge/ui/web/js/deluge-all/Toolbar.js index f096333db..8296cfd36 100644 --- a/deluge/ui/web/js/deluge-all/Toolbar.js +++ b/deluge/ui/web/js/deluge-all/Toolbar.js @@ -15,92 +15,108 @@ */ Deluge.Toolbar = Ext.extend(Ext.Toolbar, { constructor: function(config) { - config = Ext.apply({ - items: [ - { - id: 'tbar-deluge-text', - disabled: true, - text: _('Deluge'), - iconCls: 'x-deluge-main-panel' - }, new Ext.Toolbar.Separator(), - { - id: 'create', - disabled: true, - hidden: true, - text: _('Create'), - iconCls: 'icon-create', - handler: this.onTorrentAction - },{ - id: 'add', - disabled: true, - text: _('Add'), - iconCls: 'icon-add', - handler: this.onTorrentAdd - },{ - id: 'remove', - disabled: true, - text: _('Remove'), - iconCls: 'icon-remove', - handler: this.onTorrentAction - }, new Ext.Toolbar.Separator(),{ - id: 'pause', - disabled: true, - text: _('Pause'), - iconCls: 'icon-pause', - handler: this.onTorrentAction - },{ - id: 'resume', - disabled: true, - text: _('Resume'), - iconCls: 'icon-resume', - handler: this.onTorrentAction - }, new Ext.Toolbar.Separator(),{ - id: 'up', - cls: 'x-btn-text-icon', - disabled: true, - text: _('Up'), - iconCls: 'icon-up', - handler: this.onTorrentAction - },{ - id: 'down', - disabled: true, - text: _('Down'), - iconCls: 'icon-down', - handler: this.onTorrentAction - }, new Ext.Toolbar.Separator(),{ - id: 'preferences', - text: _('Preferences'), - iconCls: 'x-deluge-preferences', - handler: this.onPreferencesClick, - scope: this - },{ - id: 'connectionman', - text: _('Connection Manager'), - iconCls: 'x-deluge-connection-manager', - handler: this.onConnectionManagerClick, - scope: this - },'->',{ - id: 'help', - iconCls: 'icon-help', - text: _('Help'), - handler: this.onHelpClick, - scope: this - },{ - id: 'logout', - iconCls: 'icon-logout', - disabled: true, - text: _('Logout'), - handler: this.onLogout, - scope: this - } - ] - }, config); + config = Ext.apply( + { + items: [ + { + id: 'tbar-deluge-text', + disabled: true, + text: _('Deluge'), + iconCls: 'x-deluge-main-panel', + }, + new Ext.Toolbar.Separator(), + { + id: 'create', + disabled: true, + hidden: true, + text: _('Create'), + iconCls: 'icon-create', + handler: this.onTorrentAction, + }, + { + id: 'add', + disabled: true, + text: _('Add'), + iconCls: 'icon-add', + handler: this.onTorrentAdd, + }, + { + id: 'remove', + disabled: true, + text: _('Remove'), + iconCls: 'icon-remove', + handler: this.onTorrentAction, + }, + new Ext.Toolbar.Separator(), + { + id: 'pause', + disabled: true, + text: _('Pause'), + iconCls: 'icon-pause', + handler: this.onTorrentAction, + }, + { + id: 'resume', + disabled: true, + text: _('Resume'), + iconCls: 'icon-resume', + handler: this.onTorrentAction, + }, + new Ext.Toolbar.Separator(), + { + id: 'up', + cls: 'x-btn-text-icon', + disabled: true, + text: _('Up'), + iconCls: 'icon-up', + handler: this.onTorrentAction, + }, + { + id: 'down', + disabled: true, + text: _('Down'), + iconCls: 'icon-down', + handler: this.onTorrentAction, + }, + new Ext.Toolbar.Separator(), + { + id: 'preferences', + text: _('Preferences'), + iconCls: 'x-deluge-preferences', + handler: this.onPreferencesClick, + scope: this, + }, + { + id: 'connectionman', + text: _('Connection Manager'), + iconCls: 'x-deluge-connection-manager', + handler: this.onConnectionManagerClick, + scope: this, + }, + '->', + { + id: 'help', + iconCls: 'icon-help', + text: _('Help'), + handler: this.onHelpClick, + scope: this, + }, + { + id: 'logout', + iconCls: 'icon-logout', + disabled: true, + text: _('Logout'), + handler: this.onLogout, + scope: this, + }, + ], + }, + config + ); Deluge.Toolbar.superclass.constructor.call(this, config); }, - connectedButtons: [ - 'add', 'remove', 'pause', 'resume', 'up', 'down' - ], + connectedButtons: ['add', 'remove', 'pause', 'resume', 'up', 'down'], initComponent: function() { Deluge.Toolbar.superclass.initComponent.call(this); @@ -109,15 +125,23 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, { }, onConnect: function() { - Ext.each(this.connectedButtons, function(buttonId) { - this.items.get(buttonId).enable(); - }, this); + Ext.each( + this.connectedButtons, + function(buttonId) { + this.items.get(buttonId).enable(); + }, + this + ); }, onDisconnect: function() { - Ext.each(this.connectedButtons, function(buttonId) { - this.items.get(buttonId).disable(); - }, this); + Ext.each( + this.connectedButtons, + function(buttonId) { + this.items.get(buttonId).disable(); + }, + this + ); }, onLogin: function() { @@ -157,7 +181,7 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, { deluge.client.core[item.id + '_torrent'](ids, { success: function() { deluge.ui.update(); - } + }, }); break; case 'up': @@ -165,7 +189,7 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, { deluge.client.core['queue_' + item.id](ids, { success: function() { deluge.ui.update(); - } + }, }); break; } @@ -173,5 +197,5 @@ Deluge.Toolbar = Ext.extend(Ext.Toolbar, { onTorrentAdd: function() { deluge.add.show(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/TorrentGrid.js b/deluge/ui/web/js/deluge-all/TorrentGrid.js index 486771ba1..9eff8bc25 100644 --- a/deluge/ui/web/js/deluge-all/TorrentGrid.js +++ b/deluge/ui/web/js/deluge-all/TorrentGrid.js @@ -9,13 +9,16 @@ */ (function() { - /* Renderers for the Torrent Grid */ function queueRenderer(value) { - return (value == -1) ? '' : value + 1; + return value == -1 ? '' : value + 1; } function torrentNameRenderer(value, p, r) { - return String.format('<div class="torrent-name x-deluge-{0}">{1}</div>', r.data['state'].toLowerCase(), value); + return String.format( + '<div class="torrent-name x-deluge-{0}">{1}</div>', + r.data['state'].toLowerCase(), + value + ); } function torrentSpeedRenderer(value) { if (!value) return; @@ -29,10 +32,10 @@ value = new Number(value); var progress = value; var text = _(r.data['state']) + ' ' + value.toFixed(2) + '%'; - if ( this.style ) { - var style = this.style + if (this.style) { + var style = this.style; } else { - var style = p.style + var style = p.style; } var width = new Number(style.match(/\w+:\s*(\d+)\w+/)[1]); return Deluge.progressBar(value, width - 8, text); @@ -52,10 +55,15 @@ } } function availRenderer(value, p, r) { - return (value < 0) ? '∞' : parseFloat(new Number(value).toFixed(3)); + return value < 0 ? '∞' : parseFloat(new Number(value).toFixed(3)); } function trackerRenderer(value, p, r) { - return String.format('<div style="background: url(' + deluge.config.base + 'tracker/{0}) no-repeat; padding-left: 20px;">{0}</div>', value); + return String.format( + '<div style="background: url(' + + deluge.config.base + + 'tracker/{0}) no-repeat; padding-left: 20px;">{0}</div>', + value + ); } function etaSorter(eta) { @@ -63,7 +71,7 @@ } function dateOrNever(date) { - return date > 0.0 ? fdate(date) : _('Never') + return date > 0.0 ? fdate(date) : _('Never'); } /** @@ -78,383 +86,421 @@ * @param {Object} config Configuration options */ Deluge.TorrentGrid = Ext.extend(Ext.grid.GridPanel, { - // object to store contained torrent ids torrents: {}, - columns: [{ - id:'queue', - header: '#', - width: 30, - sortable: true, - renderer: queueRenderer, - dataIndex: 'queue' - }, { - id:'name', - header: _('Name'), - width: 150, - sortable: true, - renderer: torrentNameRenderer, - dataIndex: 'name' - }, { - header: _('Size'), - width: 75, - sortable: true, - renderer: fsize, - dataIndex: 'total_wanted' - }, { - header: _('Progress'), - width: 150, - sortable: true, - renderer: torrentProgressRenderer, - dataIndex: 'progress' - }, { - header: _('Seeds'), - hidden: true, - width: 60, - sortable: true, - renderer: seedsRenderer, - dataIndex: 'num_seeds' - }, { - header: _('Peers'), - hidden: true, - width: 60, - sortable: true, - renderer: peersRenderer, - dataIndex: 'num_peers' - }, { - header: _('Down Speed'), - width: 80, - sortable: true, - renderer: torrentSpeedRenderer, - dataIndex: 'download_payload_rate' - }, { - header: _('Up Speed'), - width: 80, - sortable: true, - renderer: torrentSpeedRenderer, - dataIndex: 'upload_payload_rate' - }, { - header: _('ETA'), - width: 60, - sortable: true, - renderer: ftime, - dataIndex: 'eta' - }, { - header: _('Ratio'), - hidden: true, - width: 60, - sortable: true, - renderer: availRenderer, - dataIndex: 'ratio' - }, { - header: _('Avail'), - hidden: true, - width: 60, - sortable: true, - renderer: availRenderer, - dataIndex: 'distributed_copies' - }, { - header: _('Added'), - hidden: true, - width: 80, - sortable: true, - renderer: fdate, - dataIndex: 'time_added' - }, { - header: _('Complete Seen'), - hidden: true, - width: 80, - sortable: true, - renderer: dateOrNever, - dataIndex: 'last_seen_complete' - }, { - header: _('Completed'), - hidden: true, - width: 80, - sortable: true, - renderer: dateOrNever, - dataIndex: 'completed_time' - }, { - header: _('Tracker'), - hidden: true, - width: 120, - sortable: true, - renderer: trackerRenderer, - dataIndex: 'tracker_host' - }, { - header: _('Download Folder'), - hidden: true, - width: 120, - sortable: true, - renderer: fplain, - dataIndex: 'download_location' - }, { - header: _('Owner'), - width: 80, - sortable: true, - renderer: fplain, - dataIndex: 'owner' - }, { - header: _('Public'), - hidden: true, - width: 80, - sortable: true, - renderer: fplain, - dataIndex: 'public' - }, { - header: _('Shared'), - hidden: true, - width: 80, - sortable: true, - renderer: fplain, - dataIndex: 'shared' - }, { - header: _('Downloaded'), - hidden: true, - width: 75, - sortable: true, - renderer: fsize, - dataIndex: 'total_done' - }, { - header: _('Uploaded'), - hidden: true, - width: 75, - sortable: true, - renderer: fsize, - dataIndex: 'total_uploaded' - }, { - header: _('Remaining'), - hidden: true, - width: 75, - sortable: true, - renderer: fsize, - dataIndex: 'total_remaining' - }, { - header: _('Down Limit'), - hidden: true, - width: 75, - sortable: true, - renderer: torrentLimitRenderer, - dataIndex: 'max_download_speed' - }, { - header: _('Up Limit'), - hidden: true, - width: 75, - sortable: true, - renderer: torrentLimitRenderer, - dataIndex: 'max_upload_speed' - }, { - header: _('Seeds:Peers'), - hidden: true, - width: 75, - sortable: true, - renderer: availRenderer, - dataIndex: 'seeds_peers_ratio' - }, { - header: _('Last Transfer'), - hidden: true, - width: 75, - sortable: true, - renderer: ftime, - dataIndex: 'time_since_transfer' - }], - + columns: [ + { + id: 'queue', + header: '#', + width: 30, + sortable: true, + renderer: queueRenderer, + dataIndex: 'queue', + }, + { + id: 'name', + header: _('Name'), + width: 150, + sortable: true, + renderer: torrentNameRenderer, + dataIndex: 'name', + }, + { + header: _('Size'), + width: 75, + sortable: true, + renderer: fsize, + dataIndex: 'total_wanted', + }, + { + header: _('Progress'), + width: 150, + sortable: true, + renderer: torrentProgressRenderer, + dataIndex: 'progress', + }, + { + header: _('Seeds'), + hidden: true, + width: 60, + sortable: true, + renderer: seedsRenderer, + dataIndex: 'num_seeds', + }, + { + header: _('Peers'), + hidden: true, + width: 60, + sortable: true, + renderer: peersRenderer, + dataIndex: 'num_peers', + }, + { + header: _('Down Speed'), + width: 80, + sortable: true, + renderer: torrentSpeedRenderer, + dataIndex: 'download_payload_rate', + }, + { + header: _('Up Speed'), + width: 80, + sortable: true, + renderer: torrentSpeedRenderer, + dataIndex: 'upload_payload_rate', + }, + { + header: _('ETA'), + width: 60, + sortable: true, + renderer: ftime, + dataIndex: 'eta', + }, + { + header: _('Ratio'), + hidden: true, + width: 60, + sortable: true, + renderer: availRenderer, + dataIndex: 'ratio', + }, + { + header: _('Avail'), + hidden: true, + width: 60, + sortable: true, + renderer: availRenderer, + dataIndex: 'distributed_copies', + }, + { + header: _('Added'), + hidden: true, + width: 80, + sortable: true, + renderer: fdate, + dataIndex: 'time_added', + }, + { + header: _('Complete Seen'), + hidden: true, + width: 80, + sortable: true, + renderer: dateOrNever, + dataIndex: 'last_seen_complete', + }, + { + header: _('Completed'), + hidden: true, + width: 80, + sortable: true, + renderer: dateOrNever, + dataIndex: 'completed_time', + }, + { + header: _('Tracker'), + hidden: true, + width: 120, + sortable: true, + renderer: trackerRenderer, + dataIndex: 'tracker_host', + }, + { + header: _('Download Folder'), + hidden: true, + width: 120, + sortable: true, + renderer: fplain, + dataIndex: 'download_location', + }, + { + header: _('Owner'), + width: 80, + sortable: true, + renderer: fplain, + dataIndex: 'owner', + }, + { + header: _('Public'), + hidden: true, + width: 80, + sortable: true, + renderer: fplain, + dataIndex: 'public', + }, + { + header: _('Shared'), + hidden: true, + width: 80, + sortable: true, + renderer: fplain, + dataIndex: 'shared', + }, + { + header: _('Downloaded'), + hidden: true, + width: 75, + sortable: true, + renderer: fsize, + dataIndex: 'total_done', + }, + { + header: _('Uploaded'), + hidden: true, + width: 75, + sortable: true, + renderer: fsize, + dataIndex: 'total_uploaded', + }, + { + header: _('Remaining'), + hidden: true, + width: 75, + sortable: true, + renderer: fsize, + dataIndex: 'total_remaining', + }, + { + header: _('Down Limit'), + hidden: true, + width: 75, + sortable: true, + renderer: torrentLimitRenderer, + dataIndex: 'max_download_speed', + }, + { + header: _('Up Limit'), + hidden: true, + width: 75, + sortable: true, + renderer: torrentLimitRenderer, + dataIndex: 'max_upload_speed', + }, + { + header: _('Seeds:Peers'), + hidden: true, + width: 75, + sortable: true, + renderer: availRenderer, + dataIndex: 'seeds_peers_ratio', + }, + { + header: _('Last Transfer'), + hidden: true, + width: 75, + sortable: true, + renderer: ftime, + dataIndex: 'time_since_transfer', + }, + ], meta: { root: 'torrents', idProperty: 'id', fields: [ - {name: 'queue', sortType: Deluge.data.SortTypes.asQueuePosition}, - {name: 'name', sortType: Deluge.data.SortTypes.asName}, - {name: 'total_wanted', type: 'int'}, - {name: 'state'}, - {name: 'progress', type: 'float'}, - {name: 'num_seeds', type: 'int'}, - {name: 'total_seeds', type: 'int'}, - {name: 'num_peers', type: 'int'}, - {name: 'total_peers', type: 'int'}, - {name: 'download_payload_rate', type: 'int'}, - {name: 'upload_payload_rate', type: 'int'}, - {name: 'eta', type: 'int', sortType: etaSorter}, - {name: 'ratio', type: 'float'}, - {name: 'distributed_copies', type: 'float'}, - {name: 'time_added', type: 'int'}, - {name: 'tracker_host'}, - {name: 'download_location'}, - {name: 'total_done', type: 'int'}, - {name: 'total_uploaded', type: 'int'}, - {name: 'total_remaining', type: 'int'}, - {name: 'max_download_speed', type: 'int'}, - {name: 'max_upload_speed', type: 'int'}, - {name: 'seeds_peers_ratio', type: 'float'}, - {name: 'time_since_transfer', type: 'int'} - ] + { + name: 'queue', + sortType: Deluge.data.SortTypes.asQueuePosition, + }, + { name: 'name', sortType: Deluge.data.SortTypes.asName }, + { name: 'total_wanted', type: 'int' }, + { name: 'state' }, + { name: 'progress', type: 'float' }, + { name: 'num_seeds', type: 'int' }, + { name: 'total_seeds', type: 'int' }, + { name: 'num_peers', type: 'int' }, + { name: 'total_peers', type: 'int' }, + { name: 'download_payload_rate', type: 'int' }, + { name: 'upload_payload_rate', type: 'int' }, + { name: 'eta', type: 'int', sortType: etaSorter }, + { name: 'ratio', type: 'float' }, + { name: 'distributed_copies', type: 'float' }, + { name: 'time_added', type: 'int' }, + { name: 'tracker_host' }, + { name: 'download_location' }, + { name: 'total_done', type: 'int' }, + { name: 'total_uploaded', type: 'int' }, + { name: 'total_remaining', type: 'int' }, + { name: 'max_download_speed', type: 'int' }, + { name: 'max_upload_speed', type: 'int' }, + { name: 'seeds_peers_ratio', type: 'float' }, + { name: 'time_since_transfer', type: 'int' }, + ], }, - keys: [{ - key: 'a', - ctrl: true, - stopEvent: true, - handler: function() { - deluge.torrents.getSelectionModel().selectAll(); - } - }, { - key: [46], - stopEvent: true, - handler: function() { - ids = deluge.torrents.getSelectedIds(); - deluge.removeWindow.show(ids); - } - }], + keys: [ + { + key: 'a', + ctrl: true, + stopEvent: true, + handler: function() { + deluge.torrents.getSelectionModel().selectAll(); + }, + }, + { + key: [46], + stopEvent: true, + handler: function() { + ids = deluge.torrents.getSelectedIds(); + deluge.removeWindow.show(ids); + }, + }, + ], constructor: function(config) { - config = Ext.apply({ - id: 'torrentGrid', - store: new Ext.data.JsonStore(this.meta), - columns: this.columns, - keys: this.keys, - region: 'center', - cls: 'deluge-torrents', - stripeRows: true, - autoExpandColumn: 'name', - autoExpandMin: 150, - deferredRender:false, - autoScroll:true, - stateful: true, - view: new Ext.ux.grid.BufferView({ - rowHeight: 26, - scrollDelay: false - }) - }, config); + config = Ext.apply( + { + id: 'torrentGrid', + store: new Ext.data.JsonStore(this.meta), + columns: this.columns, + keys: this.keys, + region: 'center', + cls: 'deluge-torrents', + stripeRows: true, + autoExpandColumn: 'name', + autoExpandMin: 150, + deferredRender: false, + autoScroll: true, + stateful: true, + view: new Ext.ux.grid.BufferView({ + rowHeight: 26, + scrollDelay: false, + }), + }, + config + ); Deluge.TorrentGrid.superclass.constructor.call(this, config); }, - initComponent: function() { - Deluge.TorrentGrid.superclass.initComponent.call(this); - deluge.events.on('torrentsRemoved', this.onTorrentsRemoved, this); - deluge.events.on('disconnect', this.onDisconnect, this); + initComponent: function() { + Deluge.TorrentGrid.superclass.initComponent.call(this); + deluge.events.on('torrentsRemoved', this.onTorrentsRemoved, this); + deluge.events.on('disconnect', this.onDisconnect, this); - this.on('rowcontextmenu', function(grid, rowIndex, e) { - e.stopEvent(); - var selection = grid.getSelectionModel(); - if (!selection.isSelected(rowIndex)) { - selection.selectRow(rowIndex); - } - deluge.menus.torrent.showAt(e.getPoint()); - }); - }, + this.on('rowcontextmenu', function(grid, rowIndex, e) { + e.stopEvent(); + var selection = grid.getSelectionModel(); + if (!selection.isSelected(rowIndex)) { + selection.selectRow(rowIndex); + } + deluge.menus.torrent.showAt(e.getPoint()); + }); + }, - /** - * Returns the record representing the torrent at the specified index. - * - * @param index {int} The row index of the torrent you wish to retrieve. - * @return {Ext.data.Record} The record representing the torrent. - */ - getTorrent: function(index) { - return this.getStore().getAt(index); - }, + /** + * Returns the record representing the torrent at the specified index. + * + * @param index {int} The row index of the torrent you wish to retrieve. + * @return {Ext.data.Record} The record representing the torrent. + */ + getTorrent: function(index) { + return this.getStore().getAt(index); + }, - /** - * Returns the currently selected record. - * @ return {Array/Ext.data.Record} The record(s) representing the rows - */ - getSelected: function() { - return this.getSelectionModel().getSelected(); - }, + /** + * Returns the currently selected record. + * @ return {Array/Ext.data.Record} The record(s) representing the rows + */ + getSelected: function() { + return this.getSelectionModel().getSelected(); + }, - /** - * Returns the currently selected records. - */ - getSelections: function() { - return this.getSelectionModel().getSelections(); - }, + /** + * Returns the currently selected records. + */ + getSelections: function() { + return this.getSelectionModel().getSelections(); + }, - /** - * Return the currently selected torrent id. - * @return {String} The currently selected id. - */ - getSelectedId: function() { - return this.getSelectionModel().getSelected().id - }, + /** + * Return the currently selected torrent id. + * @return {String} The currently selected id. + */ + getSelectedId: function() { + return this.getSelectionModel().getSelected().id; + }, - /** - * Return the currently selected torrent ids. - * @return {Array} The currently selected ids. - */ - getSelectedIds: function() { - var ids = []; - Ext.each(this.getSelectionModel().getSelections(), function(r) { - ids.push(r.id); - }); - return ids; - }, + /** + * Return the currently selected torrent ids. + * @return {Array} The currently selected ids. + */ + getSelectedIds: function() { + var ids = []; + Ext.each(this.getSelectionModel().getSelections(), function(r) { + ids.push(r.id); + }); + return ids; + }, - update: function(torrents, wipe) { - var store = this.getStore(); + update: function(torrents, wipe) { + var store = this.getStore(); - // Need to perform a complete reload of the torrent grid. - if (wipe) { - store.removeAll(); - this.torrents = {}; - } + // Need to perform a complete reload of the torrent grid. + if (wipe) { + store.removeAll(); + this.torrents = {}; + } - var newTorrents = []; + var newTorrents = []; - // Update and add any new torrents. - for (var t in torrents) { - var torrent = torrents[t]; + // Update and add any new torrents. + for (var t in torrents) { + var torrent = torrents[t]; - if (this.torrents[t]) { - var record = store.getById(t); - record.beginEdit(); - for (var k in torrent) { - if (record.get(k) != torrent[k]) { - record.set(k, torrent[k]); + if (this.torrents[t]) { + var record = store.getById(t); + record.beginEdit(); + for (var k in torrent) { + if (record.get(k) != torrent[k]) { + record.set(k, torrent[k]); + } } + record.endEdit(); + } else { + var record = new Deluge.data.Torrent(torrent); + record.id = t; + this.torrents[t] = 1; + newTorrents.push(record); } - record.endEdit(); - } else { - var record = new Deluge.data.Torrent(torrent); - record.id = t; - this.torrents[t] = 1; - newTorrents.push(record); } - } - store.add(newTorrents); + store.add(newTorrents); - // Remove any torrents that should not be in the store. - store.each(function(record) { - if (!torrents[record.id]) { - store.remove(record); - delete this.torrents[record.id]; - } - }, this); - store.commitChanges(); + // Remove any torrents that should not be in the store. + store.each(function(record) { + if (!torrents[record.id]) { + store.remove(record); + delete this.torrents[record.id]; + } + }, this); + store.commitChanges(); - var sortState = store.getSortState() - if (!sortState) return; - store.sort(sortState.field, sortState.direction); - }, + var sortState = store.getSortState(); + if (!sortState) return; + store.sort(sortState.field, sortState.direction); + }, - // private - onDisconnect: function() { - this.getStore().removeAll(); - this.torrents = {}; - }, + // private + onDisconnect: function() { + this.getStore().removeAll(); + this.torrents = {}; + }, - // private - onTorrentsRemoved: function(torrentIds) { - var selModel = this.getSelectionModel(); - Ext.each(torrentIds, function(torrentId) { - var record = this.getStore().getById(torrentId); - if (selModel.isSelected(record)) { - selModel.deselectRow(this.getStore().indexOf(record)); - } - this.getStore().remove(record); - delete this.torrents[torrentId]; - }, this); - } -}); -deluge.torrents = new Deluge.TorrentGrid(); + // private + onTorrentsRemoved: function(torrentIds) { + var selModel = this.getSelectionModel(); + Ext.each( + torrentIds, + function(torrentId) { + var record = this.getStore().getById(torrentId); + if (selModel.isSelected(record)) { + selModel.deselectRow(this.getStore().indexOf(record)); + } + this.getStore().remove(record); + delete this.torrents[torrentId]; + }, + this + ); + }, + }); + deluge.torrents = new Deluge.TorrentGrid(); })(); diff --git a/deluge/ui/web/js/deluge-all/UI.js b/deluge/ui/web/js/deluge-all/UI.js index 398c86988..be89cf1af 100644 --- a/deluge/ui/web/js/deluge-all/UI.js +++ b/deluge/ui/web/js/deluge-all/UI.js @@ -9,11 +9,11 @@ */ /** Dummy translation arrays so Torrent states are available for gettext.js and Translators. -* -* All entries in deluge.common.TORRENT_STATE should be added here. -* -* No need to import these, just simply use the `_()` function around a status variable. -*/ + * + * All entries in deluge.common.TORRENT_STATE should be added here. + * + * No need to import these, just simply use the `_()` function around a status variable. + */ var TORRENT_STATE_TRANSLATION = [ _('All'), _('Active'), @@ -24,7 +24,8 @@ var TORRENT_STATE_TRANSLATION = [ _('Paused'), _('Checking'), _('Queued'), - _('Error')]; + _('Error'), +]; /** * @static @@ -33,7 +34,6 @@ var TORRENT_STATE_TRANSLATION = [ * together and handles the 2 second poll. */ deluge.ui = { - errorCount: 0, filters: null, @@ -62,9 +62,7 @@ deluge.ui = { minSize: 100, collapsible: true, layout: 'fit', - items: [ - deluge.details - ] + items: [deluge.details], }); this.MainPanel = new Ext.Panel({ @@ -73,17 +71,13 @@ deluge.ui = { layout: 'border', border: false, tbar: deluge.toolbar, - items: [ - deluge.sidebar, - this.detailsPanel, - deluge.torrents - ], - bbar: deluge.statusbar + items: [deluge.sidebar, this.detailsPanel, deluge.torrents], + bbar: deluge.statusbar, }); this.Viewport = new Ext.Viewport({ layout: 'fit', - items: [this.MainPanel] + items: [this.MainPanel], }); deluge.events.on('connect', this.onConnect, this); @@ -91,7 +85,7 @@ deluge.ui = { deluge.events.on('PluginDisabledEvent', this.onPluginDisabled, this); deluge.events.on('PluginEnabledEvent', this.onPluginEnabled, this); deluge.client = new Ext.ux.util.RpcClient({ - url: deluge.config.base + 'json' + url: deluge.config.base + 'json', }); // enable all the already active plugins @@ -104,9 +98,14 @@ deluge.ui = { // Initialize quicktips so all the tooltip configs start working. Ext.QuickTips.init(); - deluge.client.on('connected', function(e) { - deluge.login.show(); - }, this, {single: true}); + deluge.client.on( + 'connected', + function(e) { + deluge.login.show(); + }, + this, + { single: true } + ); this.update = this.update.createDelegate(this); this.checkConnection = this.checkConnection.createDelegate(this); @@ -118,7 +117,7 @@ deluge.ui = { deluge.client.web.connected({ success: this.onConnectionSuccess, failure: this.onConnectionError, - scope: this + scope: this, }); }, @@ -130,19 +129,17 @@ deluge.ui = { deluge.client.web.update_ui(Deluge.Keys.Grid, filters, { success: this.onUpdate, failure: this.onUpdateError, - scope: this + scope: this, }); deluge.details.update(); }, - onConnectionError: function(error) { - - }, + onConnectionError: function(error) {}, onConnectionSuccess: function(result) { deluge.statusbar.setStatus({ iconCls: 'x-deluge-statusbar icon-ok', - text: _('Connection restored') + text: _('Connection restored'), }); clearInterval(this.checking); if (!result) { @@ -156,12 +153,12 @@ deluge.ui = { title: _('Lost Connection'), msg: _('The connection to the webserver has been lost!'), buttons: Ext.MessageBox.OK, - icon: Ext.MessageBox.ERROR + icon: Ext.MessageBox.ERROR, }); deluge.events.fire('disconnect'); deluge.statusbar.setStatus({ - text: _('Lost connection to webserver')} - ); + text: _('Lost connection to webserver'), + }); this.checking = setInterval(this.checkConnection, 2000); } this.errorCount++; @@ -179,8 +176,12 @@ deluge.ui = { } if (deluge.config.show_session_speed) { - document.title = 'D: ' + fsize_short(data['stats'].download_rate, true) + - ' U: ' + fsize_short(data['stats'].upload_rate, true) + ' - ' + + document.title = + 'D: ' + + fsize_short(data['stats'].download_rate, true) + + ' U: ' + + fsize_short(data['stats'].upload_rate, true) + + ' - ' + this.originalTitle; } if (Ext.areObjectsEqual(this.filters, this.oldFilters)) { @@ -205,7 +206,7 @@ deluge.ui = { } deluge.client.web.get_plugins({ success: this.onGotPlugins, - scope: this + scope: this, }); }, @@ -218,13 +219,17 @@ deluge.ui = { }, onGotPlugins: function(plugins) { - Ext.each(plugins.enabled_plugins, function(plugin) { - if (deluge.plugins[plugin]) return; - deluge.client.web.get_plugin_resources(plugin, { - success: this.onGotPluginResources, - scope: this - }); - }, this); + Ext.each( + plugins.enabled_plugins, + function(plugin) { + if (deluge.plugins[plugin]) return; + deluge.client.web.get_plugin_resources(plugin, { + success: this.onGotPluginResources, + scope: this, + }); + }, + this + ); }, onPluginEnabled: function(pluginName) { @@ -233,20 +238,26 @@ deluge.ui = { } else { deluge.client.web.get_plugin_resources(pluginName, { success: this.onGotPluginResources, - scope: this + scope: this, }); } }, onGotPluginResources: function(resources) { - var scripts = (Deluge.debug) ? resources.debug_scripts : resources.scripts; - Ext.each(scripts, function(script) { - Ext.ux.JSLoader({ - url: deluge.config.base + script, - onLoad: this.onPluginLoaded, - pluginName: resources.name - }); - }, this); + var scripts = Deluge.debug + ? resources.debug_scripts + : resources.scripts; + Ext.each( + scripts, + function(script) { + Ext.ux.JSLoader({ + url: deluge.config.base + script, + onLoad: this.onPluginLoaded, + pluginName: resources.name, + }); + }, + this + ); }, onPluginDisabled: function(pluginName) { @@ -273,8 +284,8 @@ deluge.ui = { this.running = false; deluge.torrents.getStore().removeAll(); } - } -} + }, +}; Ext.onReady(function(e) { deluge.ui.initialize(); diff --git a/deluge/ui/web/js/deluge-all/add/AddWindow.js b/deluge/ui/web/js/deluge-all/add/AddWindow.js index ad230515f..c5c219125 100644 --- a/deluge/ui/web/js/deluge-all/add/AddWindow.js +++ b/deluge/ui/web/js/deluge-all/add/AddWindow.js @@ -12,30 +12,38 @@ Ext.namespace('Deluge.add'); // This override allows file upload buttons to contain icons Ext.override(Ext.ux.form.FileUploadField, { - onRender : function(ct, position){ - Ext.ux.form.FileUploadField.superclass.onRender.call(this, ct, position); + onRender: function(ct, position) { + Ext.ux.form.FileUploadField.superclass.onRender.call( + this, + ct, + position + ); - this.wrap = this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'}); + this.wrap = this.el.wrap({ cls: 'x-form-field-wrap x-form-file-wrap' }); this.el.addClass('x-form-file-text'); this.el.dom.removeAttribute('name'); this.createFileInput(); var btnCfg = Ext.applyIf(this.buttonCfg || {}, { - text: this.buttonText + text: this.buttonText, }); - this.button = new Ext.Button(Ext.apply(btnCfg, { - renderTo: this.wrap, - cls: 'x-form-file-btn' + (btnCfg.iconCls ? ' x-btn-text-icon' : '') - })); + this.button = new Ext.Button( + Ext.apply(btnCfg, { + renderTo: this.wrap, + cls: + 'x-form-file-btn' + + (btnCfg.iconCls ? ' x-btn-text-icon' : ''), + }) + ); - if(this.buttonOnly){ + if (this.buttonOnly) { this.el.hide(); this.wrap.setWidth(this.button.getEl().getWidth()); } this.bindListeners(); this.resizeEl = this.positionEl = this.wrap; - } + }, }); Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { @@ -58,39 +66,47 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { function torrentRenderer(value, p, r) { if (r.data['info_hash']) { - return String.format('<div class="x-deluge-add-torrent-name">{0}</div>', value); + return String.format( + '<div class="x-deluge-add-torrent-name">{0}</div>', + value + ); } else { - return String.format('<div class="x-deluge-add-torrent-name-loading">{0}</div>', value); + return String.format( + '<div class="x-deluge-add-torrent-name-loading">{0}</div>', + value + ); } } this.list = new Ext.list.ListView({ store: new Ext.data.SimpleStore({ fields: [ - {name: 'info_hash', mapping: 1}, - {name: 'text', mapping: 2} + { name: 'info_hash', mapping: 1 }, + { name: 'text', mapping: 2 }, ], - id: 0 + id: 0, }), - columns: [{ - id: 'torrent', - width: 150, - sortable: true, - renderer: torrentRenderer, - dataIndex: 'text' - }], + columns: [ + { + id: 'torrent', + width: 150, + sortable: true, + renderer: torrentRenderer, + dataIndex: 'text', + }, + ], stripeRows: true, singleSelect: true, listeners: { - 'selectionchange': { + selectionchange: { fn: this.onSelect, - scope: this - } + scope: this, + }, }, hideHeaders: true, autoExpandColumn: 'torrent', height: '100%', - autoScroll: true + autoScroll: true, }); this.add({ @@ -98,43 +114,51 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { items: [this.list], border: false, bbar: new Ext.Toolbar({ - items: [{ - id: 'fileUploadForm', - xtype: 'form', - layout: 'fit', - baseCls: 'x-plain', - fileUpload: true, - items: [{ - buttonOnly: true, - xtype: 'fileuploadfield', - id: 'torrentFile', - name: 'file', - buttonCfg: { - iconCls: 'x-deluge-add-file', - text: _('File') - }, - listeners: { - scope: this, - 'fileselected': this.onFileSelected - } - }] - }, { - text: _('Url'), - iconCls: 'icon-add-url', - handler: this.onUrl, - scope: this - }, { - text: _('Infohash'), - iconCls: 'icon-add-magnet', - hidden: true, - disabled: true - }, '->', { - text: _('Remove'), - iconCls: 'icon-remove', - handler: this.onRemove, - scope: this - }] - }) + items: [ + { + id: 'fileUploadForm', + xtype: 'form', + layout: 'fit', + baseCls: 'x-plain', + fileUpload: true, + items: [ + { + buttonOnly: true, + xtype: 'fileuploadfield', + id: 'torrentFile', + name: 'file', + buttonCfg: { + iconCls: 'x-deluge-add-file', + text: _('File'), + }, + listeners: { + scope: this, + fileselected: this.onFileSelected, + }, + }, + ], + }, + { + text: _('Url'), + iconCls: 'icon-add-url', + handler: this.onUrl, + scope: this, + }, + { + text: _('Infohash'), + iconCls: 'icon-add-magnet', + hidden: true, + disabled: true, + }, + '->', + { + text: _('Remove'), + iconCls: 'icon-remove', + handler: this.onRemove, + scope: this, + }, + ], + }), }); this.fileUploadForm = Ext.getCmp('fileUploadForm').getForm(); @@ -157,13 +181,12 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { var id = r.get('info_hash'); torrents.push({ path: this.optionsPanel.getFilename(id), - options: this.optionsPanel.getOptions(id) + options: this.optionsPanel.getOptions(id), }); }, this); deluge.client.web.add_torrents(torrents, { - success: function(result) { - } + success: function(result) {}, }); this.clear(); this.hide(); @@ -192,7 +215,8 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { this.list.getStore().remove(torrent); this.optionsPanel.clear(); - if (this.torrents && this.torrents[torrent.id]) delete this.torrents[torrent.id]; + if (this.torrents && this.torrents[torrent.id]) + delete this.torrents[torrent.id]; }, onSelect: function(list, selections) { @@ -222,7 +246,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { url: deluge.config.base + 'upload', waitMsg: _('Uploading your torrent...'), success: this.onUploadSuccess, - scope: this + scope: this, }); var name = this.fileUploadForm.findField('torrentFile').value; name = name.split('\\').slice(-1)[0]; @@ -237,7 +261,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { deluge.client.web.get_torrent_info(filename, { success: this.onGotInfo, scope: this, - filename: filename + filename: filename, }); } }, @@ -261,7 +285,7 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' + iconCls: 'x-deluge-icon-error', }); this.list.getStore().remove(r); } else { @@ -275,5 +299,5 @@ Deluge.add.AddWindow = Ext.extend(Deluge.add.Window, { onUrl: function(button, event) { this.url.show(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/add/FilesTab.js b/deluge/ui/web/js/deluge-all/add/FilesTab.js index ecbd536f0..a12b661c9 100644 --- a/deluge/ui/web/js/deluge-all/add/FilesTab.js +++ b/deluge/ui/web/js/deluge-all/add/FilesTab.js @@ -14,39 +14,46 @@ Ext.ns('Deluge.add'); * @extends Ext.ux.tree.TreeGrid */ Deluge.add.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { - layout: 'fit', - title: _('Files'), + title: _('Files'), - autoScroll: false, - animate: false, - border: false, - disabled: true, + autoScroll: false, + animate: false, + border: false, + disabled: true, rootVisible: false, - columns: [{ - header: _('Filename'), - width: 295, - dataIndex: 'filename' - },{ - header: _('Size'), - width: 60, - dataIndex: 'size', - tpl: new Ext.XTemplate('{size:this.fsize}', { - fsize: function(v) { - return fsize(v); - } - }) - },{ - header: _('Download'), - width: 65, - dataIndex: 'download', - tpl: new Ext.XTemplate('{download:this.format}', { - format: function(v) { - return '<div rel="chkbox" class="x-grid3-check-col'+(v?'-on':'')+'"> </div>'; - } - }) - }], + columns: [ + { + header: _('Filename'), + width: 295, + dataIndex: 'filename', + }, + { + header: _('Size'), + width: 60, + dataIndex: 'size', + tpl: new Ext.XTemplate('{size:this.fsize}', { + fsize: function(v) { + return fsize(v); + }, + }), + }, + { + header: _('Download'), + width: 65, + dataIndex: 'download', + tpl: new Ext.XTemplate('{download:this.format}', { + format: function(v) { + return ( + '<div rel="chkbox" class="x-grid3-check-col' + + (v ? '-on' : '') + + '"> </div>' + ); + }, + }), + }, + ], initComponent: function() { Deluge.add.FilesTab.superclass.initComponent.call(this); @@ -88,5 +95,5 @@ Deluge.add.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { if (el.getAttribute('rel') == 'chkbox') { this.setDownload(node, !node.attributes.download); } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/add/OptionsPanel.js b/deluge/ui/web/js/deluge-all/add/OptionsPanel.js index 8cb19273d..4aecfb5ae 100644 --- a/deluge/ui/web/js/deluge-all/add/OptionsPanel.js +++ b/deluge/ui/web/js/deluge-all/add/OptionsPanel.js @@ -10,7 +10,6 @@ Ext.ns('Deluge.add'); Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { - torrents: {}, // layout options @@ -30,17 +29,24 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { addTorrent: function(torrent) { this.torrents[torrent['info_hash']] = torrent; var fileIndexes = {}; - this.walkFileTree(torrent['files_tree'], function(filename, type, entry, parent) { - if (type != 'file') return; - fileIndexes[entry.index] = entry.download; - }, this); + this.walkFileTree( + torrent['files_tree'], + function(filename, type, entry, parent) { + if (type != 'file') return; + fileIndexes[entry.index] = entry.download; + }, + this + ); var priorities = []; Ext.each(Ext.keys(fileIndexes), function(index) { priorities[index] = fileIndexes[index]; }); - var oldId = this.form.optionsManager.changeId(torrent['info_hash'], true); + var oldId = this.form.optionsManager.changeId( + torrent['info_hash'], + true + ); this.form.optionsManager.setDefault('file_priorities', priorities); this.form.optionsManager.changeId(oldId, true); }, @@ -59,7 +65,7 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { var options = this.form.optionsManager.get(); this.form.optionsManager.changeId(oldId, true); Ext.each(options['file_priorities'], function(priority, index) { - options['file_priorities'][index] = (priority) ? 1 : 0; + options['file_priorities'][index] = priority ? 1 : 0; }); return options; }, @@ -77,17 +83,22 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { this.form.setDisabled(false); if (this.torrents[torrentId]['files_tree']) { - this.walkFileTree(this.torrents[torrentId]['files_tree'], function(filename, type, entry, parentNode) { - var node = new Ext.tree.TreeNode({ - download: (entry.index) ? priorities[entry.index] : true, - filename: filename, - fileindex: entry.index, - leaf: type != 'dir', - size: entry.length - }); - parentNode.appendChild(node); - if (type == 'dir') return node; - }, this, root); + this.walkFileTree( + this.torrents[torrentId]['files_tree'], + function(filename, type, entry, parentNode) { + var node = new Ext.tree.TreeNode({ + download: entry.index ? priorities[entry.index] : true, + filename: filename, + fileindex: entry.index, + leaf: type != 'dir', + size: entry.length, + }); + parentNode.appendChild(node); + if (type == 'dir') return node; + }, + this, + root + ); root.firstChild.expand(); this.files.setDisabled(false); this.files.show(); @@ -96,7 +107,6 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { this.form.show(); this.files.setDisabled(true); } - }, walkFileTree: function(files, callback, scope, parentNode) { @@ -105,7 +115,12 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { var type = entry.type; if (scope) { - var ret = callback.apply(scope, [filename, type, entry, parentNode]); + var ret = callback.apply(scope, [ + filename, + type, + entry, + parentNode, + ]); } else { var ret = callback(filename, type, entry, parentNode); } @@ -115,12 +130,17 @@ Deluge.add.OptionsPanel = Ext.extend(Ext.TabPanel, { }, onFilesChecked: function(nodes, newValue, oldValue) { - Ext.each(nodes, function(node) { - if (node.attributes.fileindex < 0) return; - var priorities = this.form.optionsManager.get('file_priorities'); - priorities[node.attributes.fileindex] = newValue; - this.form.optionsManager.update('file_priorities', priorities); - }, this); - - } + Ext.each( + nodes, + function(node) { + if (node.attributes.fileindex < 0) return; + var priorities = this.form.optionsManager.get( + 'file_priorities' + ); + priorities[node.attributes.fileindex] = newValue; + this.form.optionsManager.update('file_priorities', priorities); + }, + this + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/add/OptionsTab.js b/deluge/ui/web/js/deluge-all/add/OptionsTab.js index c111bc98a..256696960 100644 --- a/deluge/ui/web/js/deluge-all/add/OptionsTab.js +++ b/deluge/ui/web/js/deluge-all/add/OptionsTab.js @@ -14,7 +14,6 @@ Ext.ns('Deluge.add'); * @extends Ext.form.FormPanel */ Deluge.add.OptionsTab = Ext.extend(Ext.form.FormPanel, { - title: _('Options'), height: 170, border: false, @@ -35,14 +34,17 @@ Deluge.add.OptionsTab = Ext.extend(Ext.form.FormPanel, { defaultType: 'textfield', labelWidth: 1, fieldLabel: '', - style: 'padding: 5px 0; margin-bottom: 0;' + style: 'padding: 5px 0; margin-bottom: 0;', }); - this.optionsManager.bind('download_location', fieldset.add({ - fieldLabel: '', - name: 'download_location', - anchor:'95%', - labelSeparator: '' - })); + this.optionsManager.bind( + 'download_location', + fieldset.add({ + fieldLabel: '', + name: 'download_location', + anchor: '95%', + labelSeparator: '', + }) + ); var fieldset = this.add({ xtype: 'fieldset', title: _('Move Completed Folder'), @@ -51,20 +53,20 @@ Deluge.add.OptionsTab = Ext.extend(Ext.form.FormPanel, { defaultType: 'togglefield', labelWidth: 1, fieldLabel: '', - style: 'padding: 5px 0; margin-bottom: 0;' + style: 'padding: 5px 0; margin-bottom: 0;', }); var field = fieldset.add({ fieldLabel: '', name: 'move_completed_path', - anchor:'98%' + anchor: '98%', }); - this.optionsManager.bind('move_completed', field.toggle) - this.optionsManager.bind('move_completed_path', field.input) + this.optionsManager.bind('move_completed', field.toggle); + this.optionsManager.bind('move_completed_path', field.input); var panel = this.add({ border: false, layout: 'column', - defaultType: 'fieldset' + defaultType: 'fieldset', }); fieldset = panel.add({ @@ -75,95 +77,131 @@ Deluge.add.OptionsTab = Ext.extend(Ext.form.FormPanel, { labelWidth: 105, width: 200, defaultType: 'spinnerfield', - style: 'padding-right: 10px;' + style: 'padding-right: 10px;', }); - this.optionsManager.bind('max_download_speed', fieldset.add({ - fieldLabel: _('Max Down Speed'), - name: 'max_download_speed', - width: 60 - })); - this.optionsManager.bind('max_upload_speed', fieldset.add({ - fieldLabel: _('Max Up Speed'), - name: 'max_upload_speed', - width: 60 - })); - this.optionsManager.bind('max_connections', fieldset.add({ - fieldLabel: _('Max Connections'), - name: 'max_connections', - width: 60 - })); - this.optionsManager.bind('max_upload_slots', fieldset.add({ - fieldLabel: _('Max Upload Slots'), - name: 'max_upload_slots', - width: 60 - })); + this.optionsManager.bind( + 'max_download_speed', + fieldset.add({ + fieldLabel: _('Max Down Speed'), + name: 'max_download_speed', + width: 60, + }) + ); + this.optionsManager.bind( + 'max_upload_speed', + fieldset.add({ + fieldLabel: _('Max Up Speed'), + name: 'max_upload_speed', + width: 60, + }) + ); + this.optionsManager.bind( + 'max_connections', + fieldset.add({ + fieldLabel: _('Max Connections'), + name: 'max_connections', + width: 60, + }) + ); + this.optionsManager.bind( + 'max_upload_slots', + fieldset.add({ + fieldLabel: _('Max Upload Slots'), + name: 'max_upload_slots', + width: 60, + }) + ); fieldset = panel.add({ title: _('General'), border: false, autoHeight: true, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - this.optionsManager.bind('add_paused', fieldset.add({ - name: 'add_paused', - boxLabel: _('Add In Paused State'), - fieldLabel: '', - labelSeparator: '' - })); - this.optionsManager.bind('prioritize_first_last_pieces', fieldset.add({ - name: 'prioritize_first_last_pieces', - boxLabel: _('Prioritize First/Last Pieces'), - fieldLabel: '', - labelSeparator: '' - })); - this.optionsManager.bind('sequential_download', fieldset.add({ - name: 'sequential_download', - boxLabel: _('Sequential Download'), - fieldLabel: '', - labelSeparator: '' - })); - this.optionsManager.bind('seed_mode', fieldset.add({ - name: 'seed_mode', - boxLabel: _('Skip File Hash Check'), - fieldLabel: '', - labelSeparator: '' - })); - this.optionsManager.bind('pre_allocate_storage', fieldset.add({ - name: 'pre_allocate_storage', - boxLabel: _('Preallocate Disk Space'), - fieldLabel: '', - labelSeparator: '' - })); + this.optionsManager.bind( + 'add_paused', + fieldset.add({ + name: 'add_paused', + boxLabel: _('Add In Paused State'), + fieldLabel: '', + labelSeparator: '', + }) + ); + this.optionsManager.bind( + 'prioritize_first_last_pieces', + fieldset.add({ + name: 'prioritize_first_last_pieces', + boxLabel: _('Prioritize First/Last Pieces'), + fieldLabel: '', + labelSeparator: '', + }) + ); + this.optionsManager.bind( + 'sequential_download', + fieldset.add({ + name: 'sequential_download', + boxLabel: _('Sequential Download'), + fieldLabel: '', + labelSeparator: '', + }) + ); + this.optionsManager.bind( + 'seed_mode', + fieldset.add({ + name: 'seed_mode', + boxLabel: _('Skip File Hash Check'), + fieldLabel: '', + labelSeparator: '', + }) + ); + this.optionsManager.bind( + 'pre_allocate_storage', + fieldset.add({ + name: 'pre_allocate_storage', + boxLabel: _('Preallocate Disk Space'), + fieldLabel: '', + labelSeparator: '', + }) + ); }, getDefaults: function() { - var keys = ['add_paused','pre_allocate_storage','download_location', - 'max_connections_per_torrent','max_download_speed_per_torrent', - 'move_completed', 'move_completed_path', - 'max_upload_slots_per_torrent','max_upload_speed_per_torrent', - 'prioritize_first_last_pieces', 'sequential_download']; + var keys = [ + 'add_paused', + 'pre_allocate_storage', + 'download_location', + 'max_connections_per_torrent', + 'max_download_speed_per_torrent', + 'move_completed', + 'move_completed_path', + 'max_upload_slots_per_torrent', + 'max_upload_speed_per_torrent', + 'prioritize_first_last_pieces', + 'sequential_download', + ]; deluge.client.core.get_config_values(keys, { success: function(config) { var options = { - 'file_priorities': [], - 'add_paused': config.add_paused, - 'sequential_download': config.sequential_download, - 'pre_allocate_storage': config.pre_allocate_storage, - 'download_location': config.download_location, - 'move_completed': config.move_completed, - 'move_completed_path': config.move_completed_path, - 'max_connections': config.max_connections_per_torrent, - 'max_download_speed': config.max_download_speed_per_torrent, - 'max_upload_slots': config.max_upload_slots_per_torrent, - 'max_upload_speed': config.max_upload_speed_per_torrent, - 'prioritize_first_last_pieces': config.prioritize_first_last_pieces, - 'seed_mode': false - } + file_priorities: [], + add_paused: config.add_paused, + sequential_download: config.sequential_download, + pre_allocate_storage: config.pre_allocate_storage, + download_location: config.download_location, + move_completed: config.move_completed, + move_completed_path: config.move_completed_path, + max_connections: config.max_connections_per_torrent, + max_download_speed: config.max_download_speed_per_torrent, + max_upload_slots: config.max_upload_slots_per_torrent, + max_upload_speed: config.max_upload_speed_per_torrent, + prioritize_first_last_pieces: + config.prioritize_first_last_pieces, + seed_mode: false, + }; this.optionsManager.options = options; this.optionsManager.resetAll(); }, - scope: this + scope: this, }); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/add/UrlWindow.js b/deluge/ui/web/js/deluge-all/add/UrlWindow.js index 77850121b..dc4d9a61e 100644 --- a/deluge/ui/web/js/deluge-all/add/UrlWindow.js +++ b/deluge/ui/web/js/deluge-all/add/UrlWindow.js @@ -10,7 +10,6 @@ Ext.namespace('Deluge.add'); Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, { - title: _('Add from Url'), modal: true, plain: true, @@ -31,14 +30,14 @@ Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, { xtype: 'form', defaultType: 'textfield', baseCls: 'x-plain', - labelWidth: 55 + labelWidth: 55, }); this.urlField = form.add({ fieldLabel: _('Url'), id: 'url', name: 'url', - width: '97%' + width: '97%', }); this.urlField.on('specialkey', this.onAdd, this); @@ -46,13 +45,17 @@ Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, { fieldLabel: _('Cookies'), id: 'cookies', name: 'cookies', - width: '97%' + width: '97%', }); this.cookieField.on('specialkey', this.onAdd, this); }, onAddClick: function(field, e) { - if ((field.id == 'url' || field.id == 'cookies') && e.getKey() != e.ENTER) return; + if ( + (field.id == 'url' || field.id == 'cookies') && + e.getKey() != e.ENTER + ) + return; var field = this.urlField; var url = field.getValue(); @@ -64,13 +67,13 @@ Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, { success: this.onGotInfo, scope: this, filename: url, - torrentId: torrentId + torrentId: torrentId, }); } else { deluge.client.web.download_torrent_from_url(url, cookies, { success: this.onDownload, scope: this, - torrentId: torrentId + torrentId: torrentId, }); } @@ -84,12 +87,12 @@ Deluge.add.UrlWindow = Ext.extend(Deluge.add.Window, { success: this.onGotInfo, scope: this, filename: filename, - torrentId: req.options.torrentId + torrentId: req.options.torrentId, }); }, onGotInfo: function(info, obj, response, request) { info['filename'] = request.options.filename; this.fireEvent('add', request.options.torrentId, info); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/add/Window.js b/deluge/ui/web/js/deluge-all/add/Window.js index 92482de32..a58cf91fc 100644 --- a/deluge/ui/web/js/deluge-all/add/Window.js +++ b/deluge/ui/web/js/deluge-all/add/Window.js @@ -17,10 +17,7 @@ Ext.ns('Deluge.add'); Deluge.add.Window = Ext.extend(Ext.Window, { initComponent: function() { Deluge.add.Window.superclass.initComponent.call(this); - this.addEvents( - 'beforeadd', - 'add' - ); + this.addEvents('beforeadd', 'add'); }, /** @@ -28,5 +25,5 @@ Deluge.add.Window = Ext.extend(Ext.Window, { */ createTorrentId: function() { return new Date().getTime(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/data/PeerRecord.js b/deluge/ui/web/js/deluge-all/data/PeerRecord.js index a9ce4ee95..7e178b859 100644 --- a/deluge/ui/web/js/deluge-all/data/PeerRecord.js +++ b/deluge/ui/web/js/deluge-all/data/PeerRecord.js @@ -23,25 +23,31 @@ Ext.namespace('Deluge.data'); Deluge.data.Peer = Ext.data.Record.create([ { name: 'country', - type: 'string' - }, { + type: 'string', + }, + { name: 'ip', type: 'string', - sortType: Deluge.data.SortTypes.asIPAddress - }, { + sortType: Deluge.data.SortTypes.asIPAddress, + }, + { name: 'client', - type: 'string' - }, { + type: 'string', + }, + { name: 'progress', - type: 'float' - }, { + type: 'float', + }, + { name: 'down_speed', - type: 'int' - }, { + type: 'int', + }, + { name: 'up_speed', - type: 'int' - }, { + type: 'int', + }, + { name: 'seed', - type: 'int' - } + type: 'int', + }, ]); diff --git a/deluge/ui/web/js/deluge-all/data/SortTypes.js b/deluge/ui/web/js/deluge-all/data/SortTypes.js index 02c750de7..df2daba65 100644 --- a/deluge/ui/web/js/deluge-all/data/SortTypes.js +++ b/deluge/ui/web/js/deluge-all/data/SortTypes.js @@ -20,15 +20,17 @@ Ext.namespace('Deluge.data'); */ Deluge.data.SortTypes = { asIPAddress: function(value) { - var d = value.match(/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\:(\d+)/); - return ((((((+d[1])*256)+(+d[2]))*256)+(+d[3]))*256)+(+d[4]); + var d = value.match( + /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\:(\d+)/ + ); + return ((+d[1] * 256 + +d[2]) * 256 + +d[3]) * 256 + +d[4]; }, asQueuePosition: function(value) { - return (value > -1) ? value : Number.MAX_VALUE; + return value > -1 ? value : Number.MAX_VALUE; }, asName: function(value) { - return String(value).toLowerCase(); - } -} + return String(value).toLowerCase(); + }, +}; diff --git a/deluge/ui/web/js/deluge-all/data/TorrentRecord.js b/deluge/ui/web/js/deluge-all/data/TorrentRecord.js index b37211321..38f334a2d 100644 --- a/deluge/ui/web/js/deluge-all/data/TorrentRecord.js +++ b/deluge/ui/web/js/deluge-all/data/TorrentRecord.js @@ -20,78 +20,102 @@ Ext.namespace('Deluge.data'); * @constructor * @param {Object} data The torrents data */ -Deluge.data.Torrent = Ext.data.Record.create([{ +Deluge.data.Torrent = Ext.data.Record.create([ + { name: 'queue', - type: 'int' - }, { + type: 'int', + }, + { name: 'name', type: 'string', - sortType: Deluge.data.SortTypes.asName - }, { + sortType: Deluge.data.SortTypes.asName, + }, + { name: 'total_wanted', - type: 'int' - }, { + type: 'int', + }, + { name: 'state', - type: 'string' - }, { + type: 'string', + }, + { name: 'progress', - type: 'int' - }, { + type: 'int', + }, + { name: 'num_seeds', - type: 'int' - }, { + type: 'int', + }, + { name: 'total_seeds', - type: 'int' - }, { + type: 'int', + }, + { name: 'num_peers', - type: 'int' - }, { + type: 'int', + }, + { name: 'total_peers', - type: 'int' - }, { + type: 'int', + }, + { name: 'download_payload_rate', - type: 'int' - }, { + type: 'int', + }, + { name: 'upload_payload_rate', - type: 'int' - }, { + type: 'int', + }, + { name: 'eta', - type: 'int' - }, { + type: 'int', + }, + { name: 'ratio', - type: 'float' - }, { + type: 'float', + }, + { name: 'distributed_copies', - type: 'float' - }, { + type: 'float', + }, + { name: 'time_added', - type: 'int' - }, { + type: 'int', + }, + { name: 'tracker_host', - type: 'string' - }, { + type: 'string', + }, + { name: 'save_path', - type: 'string' - }, { + type: 'string', + }, + { name: 'total_done', - type: 'int' - }, { + type: 'int', + }, + { name: 'total_uploaded', - type: 'int' - }, { + type: 'int', + }, + { name: 'total_remaining', - type: 'int' - }, { + type: 'int', + }, + { name: 'max_download_speed', - type: 'int' - }, { + type: 'int', + }, + { name: 'max_upload_speed', - type: 'int' - }, { + type: 'int', + }, + { name: 'seeds_peers_ratio', - type: 'float' - }, { + type: 'float', + }, + { name: 'time_since_transfer', - type: 'int' - } + type: 'int', + }, ]); diff --git a/deluge/ui/web/js/deluge-all/details/DetailsPanel.js b/deluge/ui/web/js/deluge-all/details/DetailsPanel.js index ca1277b4b..48722f97a 100644 --- a/deluge/ui/web/js/deluge-all/details/DetailsPanel.js +++ b/deluge/ui/web/js/deluge-all/details/DetailsPanel.js @@ -13,7 +13,6 @@ Ext.namespace('Deluge.details'); * @class Deluge.details.DetailsPanel */ Deluge.details.DetailsPanel = Ext.extend(Ext.TabPanel, { - id: 'torrentDetails', activeTab: 0, @@ -35,7 +34,6 @@ Deluge.details.DetailsPanel = Ext.extend(Ext.TabPanel, { }); }, - update: function(tab) { var torrent = deluge.torrents.getSelected(); if (!torrent) { @@ -55,14 +53,22 @@ Deluge.details.DetailsPanel = Ext.extend(Ext.TabPanel, { // We need to add the events in onRender since Deluge.Torrents has not been created yet. onRender: function(ct, position) { - Deluge.details.DetailsPanel.superclass.onRender.call(this, ct, position); + Deluge.details.DetailsPanel.superclass.onRender.call( + this, + ct, + position + ); deluge.events.on('disconnect', this.clear, this); deluge.torrents.on('rowclick', this.onTorrentsClick, this); this.on('tabchange', this.onTabChange, this); - deluge.torrents.getSelectionModel().on('selectionchange', function(selModel) { - if (!selModel.hasSelection()) this.clear(); - }, this); + deluge.torrents.getSelectionModel().on( + 'selectionchange', + function(selModel) { + if (!selModel.hasSelection()) this.clear(); + }, + this + ); }, onTabChange: function(panel, tab) { @@ -71,5 +77,5 @@ Deluge.details.DetailsPanel = Ext.extend(Ext.TabPanel, { onTorrentsClick: function(grid, rowIndex, e) { this.update(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/details/DetailsTab.js b/deluge/ui/web/js/deluge-all/details/DetailsTab.js index 2ef513185..86b0ada54 100644 --- a/deluge/ui/web/js/deluge-all/details/DetailsTab.js +++ b/deluge/ui/web/js/deluge-all/details/DetailsTab.js @@ -16,7 +16,6 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { autoScroll: true, queuedItems: {}, - oldData: {}, initComponent: function() { @@ -35,7 +34,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { onRender: function(ct, position) { Deluge.details.DetailsTab.superclass.onRender.call(this, ct, position); this.body.setStyle('padding', '10px'); - this.dl = Ext.DomHelper.append(this.body, {tag: 'dl'}, true); + this.dl = Ext.DomHelper.append(this.body, { tag: 'dl' }, true); for (var id in this.queuedItems) { this.doAddItem(id, this.queuedItems[id]); @@ -52,8 +51,12 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { // private doAddItem: function(id, label) { - Ext.DomHelper.append(this.dl, {tag: 'dt', cls: id, html: label}); - this.fields[id] = Ext.DomHelper.append(this.dl, {tag: 'dd', cls: id, html: ''}, true); + Ext.DomHelper.append(this.dl, { tag: 'dt', cls: id, html: label }); + this.fields[id] = Ext.DomHelper.append( + this.dl, + { tag: 'dd', cls: id, html: '' }, + true + ); }, clear: function() { @@ -61,14 +64,14 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { for (var k in this.fields) { this.fields[k].dom.innerHTML = ''; } - this.oldData = {} + this.oldData = {}; }, update: function(torrentId) { deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Details, { success: this.onRequestComplete, scope: this, - torrentId: torrentId + torrentId: torrentId, }); }, @@ -82,7 +85,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { status: torrent.message, tracker: torrent.tracker_host, comment: torrent.comment, - creator: torrent.creator + creator: torrent.creator, }; for (var field in this.fields) { @@ -91,5 +94,5 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { this.fields[field].dom.innerHTML = Ext.escapeHTML(data[field]); } this.oldData = data; - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/details/FilesTab.js b/deluge/ui/web/js/deluge-all/details/FilesTab.js index 7784f2abc..25a92cb0f 100644 --- a/deluge/ui/web/js/deluge-all/details/FilesTab.js +++ b/deluge/ui/web/js/deluge-all/details/FilesTab.js @@ -9,54 +9,68 @@ */ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { - title: _('Files'), rootVisible: false, - columns: [{ - header: _('Filename'), - width: 330, - dataIndex: 'filename' - }, { - header: _('Size'), - width: 150, - dataIndex: 'size', - tpl: new Ext.XTemplate('{size:this.fsize}', { - fsize: function(v) { return fsize(v); } - }) - }, { - xtype: 'tgrendercolumn', - header: _('Progress'), - width: 150, - dataIndex: 'progress', - renderer: function(v) { - var progress = v * 100; - return Deluge.progressBar(progress, this.col.width, progress.toFixed(2) + '%', 0); - } - }, { - header: _('Priority'), - width: 150, - dataIndex: 'priority', - tpl: new Ext.XTemplate('<tpl if="!isNaN(priority)">' + - '<div class="{priority:this.getClass}">' + - '{priority:this.getName}' + - '</div></tpl>', { - getClass: function(v) { - return FILE_PRIORITY_CSS[v]; + columns: [ + { + header: _('Filename'), + width: 330, + dataIndex: 'filename', + }, + { + header: _('Size'), + width: 150, + dataIndex: 'size', + tpl: new Ext.XTemplate('{size:this.fsize}', { + fsize: function(v) { + return fsize(v); + }, + }), + }, + { + xtype: 'tgrendercolumn', + header: _('Progress'), + width: 150, + dataIndex: 'progress', + renderer: function(v) { + var progress = v * 100; + return Deluge.progressBar( + progress, + this.col.width, + progress.toFixed(2) + '%', + 0 + ); }, + }, + { + header: _('Priority'), + width: 150, + dataIndex: 'priority', + tpl: new Ext.XTemplate( + '<tpl if="!isNaN(priority)">' + + '<div class="{priority:this.getClass}">' + + '{priority:this.getName}' + + '</div></tpl>', + { + getClass: function(v) { + return FILE_PRIORITY_CSS[v]; + }, - getName: function(v) { - return _(FILE_PRIORITY[v]); - } - }) - }], + getName: function(v) { + return _(FILE_PRIORITY[v]); + }, + } + ), + }, + ], selModel: new Ext.tree.MultiSelectionModel(), initComponent: function() { Deluge.details.FilesTab.superclass.initComponent.call(this); - this.setRootNode(new Ext.tree.TreeNode({text: _('Files')})); + this.setRootNode(new Ext.tree.TreeNode({ text: _('Files') })); }, clear: function() { @@ -75,25 +89,32 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { for (var file in files.contents) { var item = files.contents[file]; if (item.type == 'dir') { - walk(item, parentNode.appendChild(new Ext.tree.TreeNode({ - text: file, - filename: file, - size: item.size, - progress: item.progress, - priority: item.priority - }))); + walk( + item, + parentNode.appendChild( + new Ext.tree.TreeNode({ + text: file, + filename: file, + size: item.size, + progress: item.progress, + priority: item.priority, + }) + ) + ); } else { - parentNode.appendChild(new Ext.tree.TreeNode({ - text: file, - filename: file, - fileIndex: item.index, - size: item.size, - progress: item.progress, - priority: item.priority, - leaf: true, - iconCls: 'x-deluge-file', - uiProvider: Ext.ux.tree.TreeGridNodeUI - })); + parentNode.appendChild( + new Ext.tree.TreeNode({ + text: file, + filename: file, + fileIndex: item.index, + size: item.size, + progress: item.progress, + priority: item.priority, + leaf: true, + iconCls: 'x-deluge-file', + uiProvider: Ext.ux.tree.TreeGridNodeUI, + }) + ); } } } @@ -111,7 +132,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { deluge.client.web.get_torrent_files(torrentId, { success: this.onRequestComplete, scope: this, - torrentId: torrentId + torrentId: torrentId, }); }, @@ -120,7 +141,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { for (var file in files.contents) { var item = files.contents[file]; var node = parentNode.findChild('filename', file); - node.attributes.size = item.size; + node.attributes.size = item.size; node.attributes.progress = item.progress; node.attributes.priority = item.priority; node.ui.updateColumns(); @@ -137,7 +158,7 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { deluge.menus.filePriorities.on('itemclick', this.onItemClick, this); this.on('contextmenu', this.onContextMenu, this); this.sorter = new Ext.tree.TreeSorter(this, { - folderSort: true + folderSort: true, }); }, @@ -160,7 +181,8 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { var indexes = {}; function walk(node) { if (Ext.isEmpty(node.attributes.fileIndex)) return; - indexes[node.attributes.fileIndex] = node.attributes.priority; + indexes[node.attributes.fileIndex] = + node.attributes.priority; } this.getRootNode().cascade(walk); @@ -169,11 +191,13 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { if (!node.isLeaf()) { function setPriorities(node) { if (Ext.isEmpty(node.attributes.fileIndex)) return; - indexes[node.attributes.fileIndex] = baseItem.filePriority; + indexes[node.attributes.fileIndex] = + baseItem.filePriority; } node.cascade(setPriorities); } else if (!Ext.isEmpty(node.attributes.fileIndex)) { - indexes[node.attributes.fileIndex] = baseItem.filePriority; + indexes[node.attributes.fileIndex] = + baseItem.filePriority; return; } }); @@ -183,14 +207,18 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { priorities[index] = indexes[index]; } - deluge.client.core.set_torrent_options([this.torrentId], {'file_priorities': priorities}, { - success: function() { - Ext.each(nodes, function(node) { - node.setColumnValue(3, baseItem.filePriority); - }); - }, - scope: this - }); + deluge.client.core.set_torrent_options( + [this.torrentId], + { file_priorities: priorities }, + { + success: function() { + Ext.each(nodes, function(node) { + node.setColumnValue(3, baseItem.filePriority); + }); + }, + scope: this, + } + ); break; } }, @@ -201,5 +229,5 @@ Deluge.details.FilesTab = Ext.extend(Ext.ux.tree.TreeGrid, { } else { this.updateFileTree(files); } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/details/OptionsTab.js b/deluge/ui/web/js/deluge-all/details/OptionsTab.js index 51cde9272..af577c536 100644 --- a/deluge/ui/web/js/deluge-all/details/OptionsTab.js +++ b/deluge/ui/web/js/deluge-all/details/OptionsTab.js @@ -8,46 +8,47 @@ * See LICENSE for more details. */ - Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { - constructor: function(config) { - config = Ext.apply({ - autoScroll: true, - bodyStyle: 'padding: 5px;', - border: false, - cls: 'x-deluge-options', - defaults: { - autoHeight: true, - labelWidth: 1, - defaultType: 'checkbox' + config = Ext.apply( + { + autoScroll: true, + bodyStyle: 'padding: 5px;', + border: false, + cls: 'x-deluge-options', + defaults: { + autoHeight: true, + labelWidth: 1, + defaultType: 'checkbox', + }, + deferredRender: false, + layout: 'column', + title: _('Options'), }, - deferredRender: false, - layout: 'column', - title: _('Options') - }, config); + config + ); Deluge.details.OptionsTab.superclass.constructor.call(this, config); }, initComponent: function() { Deluge.details.OptionsTab.superclass.initComponent.call(this); - this.fieldsets = {}, this.fields = {}; + (this.fieldsets = {}), (this.fields = {}); this.optionsManager = new Deluge.MultiOptionsManager({ options: { - 'max_download_speed': -1, - 'max_upload_speed': -1, - 'max_connections': -1, - 'max_upload_slots': -1, - 'auto_managed': false, - 'stop_at_ratio': false, - 'stop_ratio': 2.0, - 'remove_at_ratio': false, - 'move_completed': false, - 'move_completed_path': '', - 'private': false, - 'prioritize_first_last': false - } + max_download_speed: -1, + max_upload_speed: -1, + max_connections: -1, + max_upload_slots: -1, + auto_managed: false, + stop_at_ratio: false, + stop_ratio: 2.0, + remove_at_ratio: false, + move_completed: false, + move_completed_path: '', + private: false, + prioritize_first_last: false, + }, }); /* @@ -59,12 +60,12 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { bodyStyle: 'padding: 5px', layout: 'table', - layoutConfig: {columns: 3}, + layoutConfig: { columns: 3 }, labelWidth: 150, style: 'margin-left: 10px; margin-right: 5px; padding: 5px', title: _('Bandwidth'), - width: 250 + width: 250, }); /* @@ -74,7 +75,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'label', text: _('Max Download Speed:'), forId: 'max_download_speed', - cls: 'x-deluge-options-label' + cls: 'x-deluge-options-label', }); this.fields.max_download_speed = this.fieldsets.bandwidth.add({ id: 'max_download_speed', @@ -84,13 +85,13 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'number', decimalPrecision: 1, minValue: -1, - maxValue: 99999 - } + maxValue: 99999, + }, }); this.fieldsets.bandwidth.add({ xtype: 'label', text: _('KiB/s'), - style: 'margin-left: 10px' + style: 'margin-left: 10px', }); /* @@ -100,7 +101,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'label', text: _('Max Upload Speed:'), forId: 'max_upload_speed', - cls: 'x-deluge-options-label' + cls: 'x-deluge-options-label', }); this.fields.max_upload_speed = this.fieldsets.bandwidth.add({ id: 'max_upload_speed', @@ -111,13 +112,13 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'number', decimalPrecision: 1, minValue: -1, - maxValue: 99999 - } + maxValue: 99999, + }, }); this.fieldsets.bandwidth.add({ xtype: 'label', text: _('KiB/s'), - style: 'margin-left: 10px' + style: 'margin-left: 10px', }); /* @@ -127,7 +128,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'label', text: _('Max Connections:'), forId: 'max_connections', - cls: 'x-deluge-options-label' + cls: 'x-deluge-options-label', }); this.fields.max_connections = this.fieldsets.bandwidth.add({ id: 'max_connections', @@ -138,9 +139,9 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'number', decimalPrecision: 0, minValue: -1, - maxValue: 99999 + maxValue: 99999, }, - colspan: 2 + colspan: 2, }); /* @@ -150,7 +151,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'label', text: _('Max Upload Slots:'), forId: 'max_upload_slots', - cls: 'x-deluge-options-label' + cls: 'x-deluge-options-label', }); this.fields.max_upload_slots = this.fieldsets.bandwidth.add({ id: 'max_upload_slots', @@ -161,9 +162,9 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { xtype: 'number', decimalPrecision: 0, minValue: -1, - maxValue: 99999 + maxValue: 99999, }, - colspan: 2 + colspan: 2, }); /* @@ -176,13 +177,13 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { width: 210, layout: 'table', - layoutConfig: {columns: 2}, + layoutConfig: { columns: 2 }, labelWidth: 0, defaults: { fieldLabel: '', - labelSeparator: '' - } + labelSeparator: '', + }, }); this.fields.auto_managed = this.fieldsets.queue.add({ @@ -192,7 +193,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { name: 'is_auto_managed', boxLabel: _('Auto Managed'), width: 200, - colspan: 2 + colspan: 2, }); this.fields.stop_at_ratio = this.fieldsets.queue.add({ @@ -202,7 +203,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { width: 120, boxLabel: _('Stop seed at ratio:'), handler: this.onStopRatioChecked, - scope: this + scope: this, }); this.fields.stop_ratio = this.fieldsets.queue.add({ @@ -218,8 +219,8 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { maxValue: 99999, incrementValue: 0.1, alternateIncrementValue: 1, - decimalPrecision: 1 - } + decimalPrecision: 1, + }, }); this.fields.remove_at_ratio = this.fieldsets.queue.add({ @@ -230,7 +231,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { bodyStyle: 'padding-left: 10px', boxLabel: _('Remove at ratio'), disabled: true, - colspan: 2 + colspan: 2, }); this.fields.move_completed = this.fieldsets.queue.add({ @@ -240,7 +241,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { boxLabel: _('Move Completed:'), colspan: 2, handler: this.onMoveCompletedChecked, - scope: this + scope: this, }); this.fields.move_completed_path = this.fieldsets.queue.add({ @@ -250,18 +251,17 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { colspan: 3, bodyStyle: 'margin-left: 20px', width: 180, - disabled: true + disabled: true, }); - /* * General Options */ - this.rightColumn = this.add({ + this.rightColumn = this.add({ border: false, autoHeight: true, style: 'margin-left: 5px', - width: 210 + width: 210, }); this.fieldsets.general = this.rightColumn.add({ @@ -269,7 +269,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { autoHeight: true, defaultType: 'checkbox', title: _('General'), - layout: 'form' + layout: 'form', }); this.fields['private'] = this.fieldsets.general.add({ @@ -277,14 +277,14 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', boxLabel: _('Private'), id: 'private', - disabled: true + disabled: true, }); this.fields.prioritize_first_last = this.fieldsets.general.add({ fieldLabel: '', labelSeparator: '', boxLabel: _('Prioritize First/Last'), - id: 'prioritize_first_last' + id: 'prioritize_first_last', }); // Bind the fields so the options manager can manage them. @@ -298,7 +298,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { this.buttonPanel = this.rightColumn.add({ layout: 'hbox', xtype: 'panel', - border: false + border: false, }); /* @@ -313,7 +313,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { border: false, width: 100, handler: this.onEditTrackers, - scope: this + scope: this, }); /* @@ -327,7 +327,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { border: false, width: 100, handler: this.onApply, - scope: this + scope: this, }); }, @@ -361,7 +361,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { } deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Options, { success: this.onRequestComplete, - scope: this + scope: this, }); }, @@ -371,7 +371,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { success: function() { this.optionsManager.commit(); }, - scope: this + scope: this, }); }, @@ -396,11 +396,14 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { this.fields['private'].setDisabled(true); delete torrent['private']; torrent['auto_managed'] = torrent['is_auto_managed']; - torrent['prioritize_first_last_pieces'] = torrent['prioritize_first_last']; + torrent['prioritize_first_last_pieces'] = + torrent['prioritize_first_last']; this.optionsManager.setDefault(torrent); var stop_at_ratio = this.optionsManager.get('stop_at_ratio'); this.fields.remove_at_ratio.setDisabled(!stop_at_ratio); this.fields.stop_ratio.setDisabled(!stop_at_ratio); - this.fields.move_completed_path.setDisabled(!this.optionsManager.get('move_completed')); - } + this.fields.move_completed_path.setDisabled( + !this.optionsManager.get('move_completed') + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/details/PeersTab.js b/deluge/ui/web/js/deluge-all/details/PeersTab.js index 321c18377..64409e768 100644 --- a/deluge/ui/web/js/deluge-all/details/PeersTab.js +++ b/deluge/ui/web/js/deluge-all/details/PeersTab.js @@ -10,13 +10,18 @@ (function() { function flagRenderer(value) { - if (!value.replace(' ', '').replace(' ', '')){ + if (!value.replace(' ', '').replace(' ', '')) { return ''; } - return String.format('<img src="{0}flag/{1}" />', deluge.config.base, value); + return String.format( + '<img src="{0}flag/{1}" />', + deluge.config.base, + value + ); } function peerAddressRenderer(value, p, record) { - var seed = (record.data['seed'] == 1024) ? 'x-deluge-seed' : 'x-deluge-peer'; + var seed = + record.data['seed'] == 1024 ? 'x-deluge-seed' : 'x-deluge-peer'; // Modify display of IPv6 to include brackets var peer_ip = value.split(':'); if (peer_ip.length > 2) { @@ -32,61 +37,73 @@ } Deluge.details.PeersTab = Ext.extend(Ext.grid.GridPanel, { - // fast way to figure out if we have a peer already. peers: {}, constructor: function(config) { - config = Ext.apply({ - title: _('Peers'), - cls: 'x-deluge-peers', - store: new Ext.data.Store({ - reader: new Ext.data.JsonReader({ - idProperty: 'ip', - root: 'peers' - }, Deluge.data.Peer) - }), - columns: [{ - header: ' ', - width: 30, - sortable: true, - renderer: flagRenderer, - dataIndex: 'country' - }, { - header: _('Address'), - width: 125, - sortable: true, - renderer: peerAddressRenderer, - dataIndex: 'ip' - }, { - header: _('Client'), - width: 125, - sortable: true, - renderer: fplain, - dataIndex: 'client' - }, { - header: _('Progress'), - width: 150, - sortable: true, - renderer: peerProgressRenderer, - dataIndex: 'progress' - }, { - header: _('Down Speed'), - width: 100, - sortable: true, - renderer: fspeed, - dataIndex: 'down_speed' - }, { - header: _('Up Speed'), - width: 100, - sortable: true, - renderer: fspeed, - dataIndex: 'up_speed' - }], - stripeRows: true, - deferredRender:false, - autoScroll:true - }, config); + config = Ext.apply( + { + title: _('Peers'), + cls: 'x-deluge-peers', + store: new Ext.data.Store({ + reader: new Ext.data.JsonReader( + { + idProperty: 'ip', + root: 'peers', + }, + Deluge.data.Peer + ), + }), + columns: [ + { + header: ' ', + width: 30, + sortable: true, + renderer: flagRenderer, + dataIndex: 'country', + }, + { + header: _('Address'), + width: 125, + sortable: true, + renderer: peerAddressRenderer, + dataIndex: 'ip', + }, + { + header: _('Client'), + width: 125, + sortable: true, + renderer: fplain, + dataIndex: 'client', + }, + { + header: _('Progress'), + width: 150, + sortable: true, + renderer: peerProgressRenderer, + dataIndex: 'progress', + }, + { + header: _('Down Speed'), + width: 100, + sortable: true, + renderer: fspeed, + dataIndex: 'down_speed', + }, + { + header: _('Up Speed'), + width: 100, + sortable: true, + renderer: fspeed, + dataIndex: 'up_speed', + }, + ], + stripeRows: true, + deferredRender: false, + autoScroll: true, + }, + config + ); Deluge.details.PeersTab.superclass.constructor.call(this, config); }, @@ -98,7 +115,7 @@ update: function(torrentId) { deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Peers, { success: this.onRequestComplete, - scope: this + scope: this, }); }, @@ -110,22 +127,26 @@ var addresses = {}; // Go through the peers updating and creating peer records - Ext.each(torrent.peers, function(peer) { - if (this.peers[peer.ip]) { - var record = store.getById(peer.ip); - record.beginEdit(); - for (var k in peer) { - if (record.get(k) != peer[k]) { - record.set(k, peer[k]); + Ext.each( + torrent.peers, + function(peer) { + if (this.peers[peer.ip]) { + var record = store.getById(peer.ip); + record.beginEdit(); + for (var k in peer) { + if (record.get(k) != peer[k]) { + record.set(k, peer[k]); + } } + record.endEdit(); + } else { + this.peers[peer.ip] = 1; + newPeers.push(new Deluge.data.Peer(peer, peer.ip)); } - record.endEdit(); - } else { - this.peers[peer.ip] = 1; - newPeers.push(new Deluge.data.Peer(peer, peer.ip)); - } - addresses[peer.ip] = 1; - }, this); + addresses[peer.ip] = 1; + }, + this + ); store.add(newPeers); // Remove any peers that should not be left in the store. @@ -140,6 +161,6 @@ var sortState = store.getSortState(); if (!sortState) return; store.sort(sortState.field, sortState.direction); - } + }, }); })(); diff --git a/deluge/ui/web/js/deluge-all/details/StatusTab.js b/deluge/ui/web/js/deluge-all/details/StatusTab.js index 424860781..52bb63d9d 100644 --- a/deluge/ui/web/js/deluge-all/details/StatusTab.js +++ b/deluge/ui/web/js/deluge-all/details/StatusTab.js @@ -22,7 +22,7 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, { this.progressBar = this.add({ xtype: 'progress', - cls: 'x-deluge-status-progressbar' + cls: 'x-deluge-status-progressbar', }); this.status = this.add({ @@ -32,17 +32,19 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, { border: false, width: 1000, listeners: { - 'render': { + render: { fn: function(panel) { panel.load({ url: deluge.config.base + 'render/tab_status.html', - text: _('Loading') + '...' + text: _('Loading') + '...', }); - panel.getUpdater().on('update', this.onPanelUpdate, this); + panel + .getUpdater() + .on('update', this.onPanelUpdate, this); }, - scope: this - } - } + scope: this, + }, + }, }); }, @@ -57,31 +59,49 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, { if (!this.fields) this.getFields(); deluge.client.web.get_torrent_status(torrentId, Deluge.Keys.Status, { success: this.onRequestComplete, - scope: this + scope: this, }); }, onPanelUpdate: function(el, response) { this.fields = {}; - Ext.each(Ext.query('dd', this.status.body.dom), function(field) { - this.fields[field.className] = field; - }, this); + Ext.each( + Ext.query('dd', this.status.body.dom), + function(field) { + this.fields[field.className] = field; + }, + this + ); }, onRequestComplete: function(status) { - seeds = status.total_seeds > -1 ? status.num_seeds + ' (' + status.total_seeds + ')' : status.num_seeds; - peers = status.total_peers > -1 ? status.num_peers + ' (' + status.total_peers + ')' : status.num_peers; - last_seen_complete = status.last_seen_complete > 0.0 ? fdate(status.last_seen_complete) : 'Never'; - completed_time = status.completed_time > 0.0 ? fdate(status.completed_time) : ''; + seeds = + status.total_seeds > -1 + ? status.num_seeds + ' (' + status.total_seeds + ')' + : status.num_seeds; + peers = + status.total_peers > -1 + ? status.num_peers + ' (' + status.total_peers + ')' + : status.num_peers; + last_seen_complete = + status.last_seen_complete > 0.0 + ? fdate(status.last_seen_complete) + : 'Never'; + completed_time = + status.completed_time > 0.0 ? fdate(status.completed_time) : ''; var data = { downloaded: fsize(status.total_done, true), uploaded: fsize(status.total_uploaded, true), - share: (status.ratio == -1) ? '∞' : status.ratio.toFixed(3), + share: status.ratio == -1 ? '∞' : status.ratio.toFixed(3), announce: ftime(status.next_announce), tracker_status: status.tracker_status, - downspeed: (status.download_payload_rate) ? fspeed(status.download_payload_rate) : '0.0 KiB/s', - upspeed: (status.upload_payload_rate) ? fspeed(status.upload_payload_rate) : '0.0 KiB/s', + downspeed: status.download_payload_rate + ? fspeed(status.download_payload_rate) + : '0.0 KiB/s', + upspeed: status.upload_payload_rate + ? fspeed(status.upload_payload_rate) + : '0.0 KiB/s', eta: ftime(status.eta), pieces: status.num_pieces + ' (' + fsize(status.piece_length) + ')', seeds: seeds, @@ -93,30 +113,43 @@ Deluge.details.StatusTab = Ext.extend(Ext.Panel, { time_added: fdate(status.time_added), last_seen_complete: last_seen_complete, completed_time: completed_time, - time_since_transfer: ftime(status.time_since_transfer) - } - data.auto_managed = _((status.is_auto_managed) ? 'True' : 'False'); + time_since_transfer: ftime(status.time_since_transfer), + }; + data.auto_managed = _(status.is_auto_managed ? 'True' : 'False'); var translate_tracker_status = { - 'Error' : _('Error'), - 'Warning' : _('Warning'), - 'Announce OK' : _('Announce OK'), - 'Announce Sent' : _('Announce Sent') + Error: _('Error'), + Warning: _('Warning'), + 'Announce OK': _('Announce OK'), + 'Announce Sent': _('Announce Sent'), }; for (var key in translate_tracker_status) { if (data.tracker_status.indexOf(key) != -1) { - data.tracker_status = data.tracker_status.replace(key, translate_tracker_status[key]); + data.tracker_status = data.tracker_status.replace( + key, + translate_tracker_status[key] + ); break; } } - data.downloaded += ' (' + ((status.total_payload_download) ? fsize(status.total_payload_download) : '0.0 KiB') + ')'; - data.uploaded += ' (' + ((status.total_payload_upload) ? fsize(status.total_payload_upload): '0.0 KiB') + ')'; + data.downloaded += + ' (' + + (status.total_payload_download + ? fsize(status.total_payload_download) + : '0.0 KiB') + + ')'; + data.uploaded += + ' (' + + (status.total_payload_upload + ? fsize(status.total_payload_upload) + : '0.0 KiB') + + ')'; for (var field in this.fields) { this.fields[field].innerHTML = data[field]; } var text = status.state + ' ' + status.progress.toFixed(2) + '%'; this.progressBar.updateProgress(status.progress / 100.0, text); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js index 3ebe3d629..15d5b4c40 100644 --- a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js @@ -15,13 +15,16 @@ Ext.namespace('Deluge.preferences'); */ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { constructor: function(config) { - config = Ext.apply({ - border: false, - title: _('Bandwidth'), - header: false, - layout: 'form', - labelWidth: 10 - }, config); + config = Ext.apply( + { + border: false, + title: _('Bandwidth'), + header: false, + layout: 'form', + labelWidth: 10, + }, + config + ); Deluge.preferences.Bandwidth.superclass.constructor.call(this, config); }, @@ -37,82 +40,107 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { defaultType: 'spinnerfield', defaults: { minValue: -1, - maxValue: 99999 + maxValue: 99999, }, style: 'margin-bottom: 0px; padding-bottom: 0px;', - autoHeight: true + autoHeight: true, }); - om.bind('max_connections_global', fieldset.add({ - name: 'max_connections_global', - fieldLabel: _('Maximum Connections:'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_upload_slots_global', fieldset.add({ - name: 'max_upload_slots_global', - fieldLabel: _('Maximum Upload Slots'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_download_speed', fieldset.add({ - name: 'max_download_speed', - fieldLabel: _('Maximum Download Speed (KiB/s):'), - labelSeparator: '', - width: 80, - value: -1.0, - decimalPrecision: 1 - })); - om.bind('max_upload_speed', fieldset.add({ - name: 'max_upload_speed', - fieldLabel: _('Maximum Upload Speed (KiB/s):'), - labelSeparator: '', - width: 80, - value: -1.0, - decimalPrecision: 1 - })); - om.bind('max_half_open_connections', fieldset.add({ - name: 'max_half_open_connections', - fieldLabel: _('Maximum Half-Open Connections:'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_connections_per_second', fieldset.add({ - name: 'max_connections_per_second', - fieldLabel: _('Maximum Connection Attempts per Second:'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); + om.bind( + 'max_connections_global', + fieldset.add({ + name: 'max_connections_global', + fieldLabel: _('Maximum Connections:'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_upload_slots_global', + fieldset.add({ + name: 'max_upload_slots_global', + fieldLabel: _('Maximum Upload Slots'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_download_speed', + fieldset.add({ + name: 'max_download_speed', + fieldLabel: _('Maximum Download Speed (KiB/s):'), + labelSeparator: '', + width: 80, + value: -1.0, + decimalPrecision: 1, + }) + ); + om.bind( + 'max_upload_speed', + fieldset.add({ + name: 'max_upload_speed', + fieldLabel: _('Maximum Upload Speed (KiB/s):'), + labelSeparator: '', + width: 80, + value: -1.0, + decimalPrecision: 1, + }) + ); + om.bind( + 'max_half_open_connections', + fieldset.add({ + name: 'max_half_open_connections', + fieldLabel: _('Maximum Half-Open Connections:'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_connections_per_second', + fieldset.add({ + name: 'max_connections_per_second', + fieldLabel: _('Maximum Connection Attempts per Second:'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); fieldset = this.add({ xtype: 'fieldset', border: false, title: '', defaultType: 'checkbox', - style: 'padding-top: 0px; padding-bottom: 5px; margin-top: 0px; margin-bottom: 0px;', - autoHeight: true + style: + 'padding-top: 0px; padding-bottom: 5px; margin-top: 0px; margin-bottom: 0px;', + autoHeight: true, }); - om.bind('ignore_limits_on_local_network', fieldset.add({ - name: 'ignore_limits_on_local_network', - height: 22, - fieldLabel: '', - labelSeparator: '', - boxLabel: _('Ignore limits on local network') - })); - om.bind('rate_limit_ip_overhead', fieldset.add({ - name: 'rate_limit_ip_overhead', - height: 22, - fieldLabel: '', - labelSeparator: '', - boxLabel: _('Rate limit IP overhead') - })); + om.bind( + 'ignore_limits_on_local_network', + fieldset.add({ + name: 'ignore_limits_on_local_network', + height: 22, + fieldLabel: '', + labelSeparator: '', + boxLabel: _('Ignore limits on local network'), + }) + ); + om.bind( + 'rate_limit_ip_overhead', + fieldset.add({ + name: 'rate_limit_ip_overhead', + height: 22, + fieldLabel: '', + labelSeparator: '', + boxLabel: _('Rate limit IP overhead'), + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -123,41 +151,53 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { labelWidth: 200, defaults: { minValue: -1, - maxValue: 99999 + maxValue: 99999, }, - autoHeight: true + autoHeight: true, }); - om.bind('max_connections_per_torrent', fieldset.add({ - name: 'max_connections_per_torrent', - fieldLabel: _('Maximum Connections:'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_upload_slots_per_torrent', fieldset.add({ - name: 'max_upload_slots_per_torrent', - fieldLabel: _('Maximum Upload Slots:'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_download_speed_per_torrent', fieldset.add({ - name: 'max_download_speed_per_torrent', - fieldLabel: _('Maximum Download Speed (KiB/s):'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - om.bind('max_upload_speed_per_torrent', fieldset.add({ - name: 'max_upload_speed_per_torrent', - fieldLabel: _('Maximum Upload Speed (KiB/s):'), - labelSeparator: '', - width: 80, - value: -1, - decimalPrecision: 0 - })); - } + om.bind( + 'max_connections_per_torrent', + fieldset.add({ + name: 'max_connections_per_torrent', + fieldLabel: _('Maximum Connections:'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_upload_slots_per_torrent', + fieldset.add({ + name: 'max_upload_slots_per_torrent', + fieldLabel: _('Maximum Upload Slots:'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_download_speed_per_torrent', + fieldset.add({ + name: 'max_download_speed_per_torrent', + fieldLabel: _('Maximum Download Speed (KiB/s):'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + om.bind( + 'max_upload_speed_per_torrent', + fieldset.add({ + name: 'max_upload_speed_per_torrent', + fieldLabel: _('Maximum Upload Speed (KiB/s):'), + labelSeparator: '', + width: 80, + value: -1, + decimalPrecision: 0, + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/CachePage.js b/deluge/ui/web/js/deluge-all/preferences/CachePage.js index 9225b5336..51b1aaf98 100644 --- a/deluge/ui/web/js/deluge-all/preferences/CachePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/CachePage.js @@ -14,13 +14,11 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.form.FormPanel */ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, { - border: false, title: _('Cache'), header: false, layout: 'form', - initComponent: function() { Deluge.preferences.Cache.superclass.initComponent.call(this); @@ -36,22 +34,28 @@ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, { defaults: { decimalPrecision: 0, minValue: -1, - maxValue: 999999 - } + maxValue: 999999, + }, }); - om.bind('cache_size', fieldset.add({ - fieldLabel: _('Cache Size (16 KiB Blocks):'), - labelSeparator: '', - name: 'cache_size', - width: 60, - value: 512 - })); - om.bind('cache_expiry', fieldset.add({ - fieldLabel: _('Cache Expiry (seconds):'), - labelSeparator: '', - name: 'cache_expiry', - width: 60, - value: 60 - })); - } + om.bind( + 'cache_size', + fieldset.add({ + fieldLabel: _('Cache Size (16 KiB Blocks):'), + labelSeparator: '', + name: 'cache_size', + width: 60, + value: 512, + }) + ); + om.bind( + 'cache_expiry', + fieldset.add({ + fieldLabel: _('Cache Expiry (seconds):'), + labelSeparator: '', + name: 'cache_expiry', + width: 60, + value: 60, + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js b/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js index 219e324f6..b8db154ca 100644 --- a/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.form.FormPanel */ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { - border: false, title: _('Daemon'), header: false, @@ -30,17 +29,20 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { border: false, title: _('Port'), autoHeight: true, - defaultType: 'spinnerfield' + defaultType: 'spinnerfield', }); - om.bind('daemon_port', fieldset.add({ - fieldLabel: _('Daemon port:'), - labelSeparator: '', - name: 'daemon_port', - value: 58846, - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); + om.bind( + 'daemon_port', + fieldset.add({ + fieldLabel: _('Daemon port:'), + labelSeparator: '', + name: 'daemon_port', + value: 58846, + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -48,15 +50,18 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { title: _('Connections'), autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - om.bind('allow_remote', fieldset.add({ - fieldLabel: '', - height: 22, - labelSeparator: '', - boxLabel: _('Allow Remote Connections'), - name: 'allow_remote' - })); + om.bind( + 'allow_remote', + fieldset.add({ + fieldLabel: '', + height: 22, + labelSeparator: '', + boxLabel: _('Allow Remote Connections'), + name: 'allow_remote', + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -64,14 +69,17 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { title: _('Other'), autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - om.bind('new_release_check', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - height: 40, - boxLabel: _('Periodically check the website for new releases'), - id: 'new_release_check' - })); - } + om.bind( + 'new_release_check', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + height: 40, + boxLabel: _('Periodically check the website for new releases'), + id: 'new_release_check', + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js b/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js index 7f029e85c..fad0dc2b9 100644 --- a/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js @@ -15,14 +15,17 @@ Ext.namespace('Deluge.preferences'); */ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { constructor: function(config) { - config = Ext.apply({ - border: false, - title: _('Downloads'), - header: false, - layout: 'form', - autoHeight: true, - width: 320 - }, config); + config = Ext.apply( + { + border: false, + title: _('Downloads'), + header: false, + layout: 'form', + autoHeight: true, + width: 320, + }, + config + ); Deluge.preferences.Downloads.superclass.constructor.call(this, config); }, @@ -39,22 +42,25 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { autoHeight: true, labelAlign: 'top', width: 300, - style: 'margin-bottom: 5px; padding-bottom: 5px;' + style: 'margin-bottom: 5px; padding-bottom: 5px;', }); - optMan.bind('download_location', fieldset.add({ - xtype: 'textfield', - name: 'download_location', - fieldLabel: _('Download to:'), - labelSeparator: '', - width: 280 - })); + optMan.bind( + 'download_location', + fieldset.add({ + xtype: 'textfield', + name: 'download_location', + fieldLabel: _('Download to:'), + labelSeparator: '', + width: 280, + }) + ); var field = fieldset.add({ name: 'move_completed_path', fieldLabel: _('Move completed to:'), labelSeparator: '', - width: 280 + width: 280, }); optMan.bind('move_completed', field.toggle); optMan.bind('move_completed_path', field.input); @@ -63,7 +69,7 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { name: 'torrentfiles_location', fieldLabel: _('Copy of .torrent files to:'), labelSeparator: '', - width: 280 + width: 280, }); optMan.bind('copy_torrent_file', field.toggle); optMan.bind('torrentfiles_location', field.input); @@ -76,32 +82,43 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { labelWidth: 1, defaultType: 'checkbox', style: 'margin-bottom: 0; padding-bottom: 0;', - width: 280 + width: 280, }); - optMan.bind('prioritize_first_last_pieces', fieldset.add({ - name: 'prioritize_first_last_pieces', - labelSeparator: '', - height: 22, - boxLabel: _('Prioritize first and last pieces of torrent') - })); - optMan.bind('sequential_download', fieldset.add({ - name: 'sequential_download', - labelSeparator: '', - height: 22, - boxLabel: _('Sequential download') - })); - optMan.bind('add_paused', fieldset.add({ - name: 'add_paused', - labelSeparator: '', - height: 22, - boxLabel: _('Add torrents in Paused state') - })); - optMan.bind('pre_allocate_storage', fieldset.add({ - name: 'pre_allocate_storage', - labelSeparator: '', - height: 22, - boxLabel: _('Pre-allocate disk space') - })); - - } + optMan.bind( + 'prioritize_first_last_pieces', + fieldset.add({ + name: 'prioritize_first_last_pieces', + labelSeparator: '', + height: 22, + boxLabel: _('Prioritize first and last pieces of torrent'), + }) + ); + optMan.bind( + 'sequential_download', + fieldset.add({ + name: 'sequential_download', + labelSeparator: '', + height: 22, + boxLabel: _('Sequential download'), + }) + ); + optMan.bind( + 'add_paused', + fieldset.add({ + name: 'add_paused', + labelSeparator: '', + height: 22, + boxLabel: _('Add torrents in Paused state'), + }) + ); + optMan.bind( + 'pre_allocate_storage', + fieldset.add({ + name: 'pre_allocate_storage', + labelSeparator: '', + height: 22, + boxLabel: _('Pre-allocate disk space'), + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/EncryptionPage.js b/deluge/ui/web/js/deluge-all/preferences/EncryptionPage.js index 75323818d..ba4ad3cda 100644 --- a/deluge/ui/web/js/deluge-all/preferences/EncryptionPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/EncryptionPage.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.form.FormPanel */ Deluge.preferences.Encryption = Ext.extend(Ext.form.FormPanel, { - border: false, title: _('Encryption'), header: false, @@ -31,61 +30,70 @@ Deluge.preferences.Encryption = Ext.extend(Ext.form.FormPanel, { header: false, autoHeight: true, defaultType: 'combo', - width: 300 + width: 300, }); - optMan.bind('enc_in_policy', fieldset.add({ - fieldLabel: _('Incoming:'), - labelSeparator : '', - mode: 'local', - width: 150, - store: new Ext.data.ArrayStore({ - fields: ['id', 'text'], - data: [ - [0, _('Forced')], - [1, _('Enabled')], - [2, _('Disabled')] - ] - }), - editable: false, - triggerAction: 'all', - valueField: 'id', - displayField: 'text' - })); - optMan.bind('enc_out_policy', fieldset.add({ - fieldLabel: _('Outgoing:'), - labelSeparator : '', - mode: 'local', - width: 150, - store: new Ext.data.SimpleStore({ - fields: ['id', 'text'], - data: [ - [0, _('Forced')], - [1, _('Enabled')], - [2, _('Disabled')] - ] - }), - editable: false, - triggerAction: 'all', - valueField: 'id', - displayField: 'text' - })); - optMan.bind('enc_level', fieldset.add({ - fieldLabel: _('Level:'), - labelSeparator : '', - mode: 'local', - width: 150, - store: new Ext.data.SimpleStore({ - fields: ['id', 'text'], - data: [ - [0, _('Handshake')], - [1, _('Full Stream')], - [2, _('Either')] - ] - }), - editable: false, - triggerAction: 'all', - valueField: 'id', - displayField: 'text' - })); - } + optMan.bind( + 'enc_in_policy', + fieldset.add({ + fieldLabel: _('Incoming:'), + labelSeparator: '', + mode: 'local', + width: 150, + store: new Ext.data.ArrayStore({ + fields: ['id', 'text'], + data: [ + [0, _('Forced')], + [1, _('Enabled')], + [2, _('Disabled')], + ], + }), + editable: false, + triggerAction: 'all', + valueField: 'id', + displayField: 'text', + }) + ); + optMan.bind( + 'enc_out_policy', + fieldset.add({ + fieldLabel: _('Outgoing:'), + labelSeparator: '', + mode: 'local', + width: 150, + store: new Ext.data.SimpleStore({ + fields: ['id', 'text'], + data: [ + [0, _('Forced')], + [1, _('Enabled')], + [2, _('Disabled')], + ], + }), + editable: false, + triggerAction: 'all', + valueField: 'id', + displayField: 'text', + }) + ); + optMan.bind( + 'enc_level', + fieldset.add({ + fieldLabel: _('Level:'), + labelSeparator: '', + mode: 'local', + width: 150, + store: new Ext.data.SimpleStore({ + fields: ['id', 'text'], + data: [ + [0, _('Handshake')], + [1, _('Full Stream')], + [2, _('Either')], + ], + }), + editable: false, + triggerAction: 'all', + valueField: 'id', + displayField: 'text', + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/InstallPluginWindow.js b/deluge/ui/web/js/deluge-all/preferences/InstallPluginWindow.js index b437ea97f..391f8dff4 100644 --- a/deluge/ui/web/js/deluge-all/preferences/InstallPluginWindow.js +++ b/deluge/ui/web/js/deluge-all/preferences/InstallPluginWindow.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.Window */ Deluge.preferences.InstallPluginWindow = Ext.extend(Ext.Window, { - title: _('Install Plugin'), layout: 'fit', height: 115, @@ -28,7 +27,9 @@ Deluge.preferences.InstallPluginWindow = Ext.extend(Ext.Window, { plain: true, initComponent: function() { - Deluge.preferences.InstallPluginWindow.superclass.initComponent.call(this); + Deluge.preferences.InstallPluginWindow.superclass.initComponent.call( + this + ); this.addButton(_('Install'), this.onInstall, this); this.form = this.add({ @@ -37,16 +38,18 @@ Deluge.preferences.InstallPluginWindow = Ext.extend(Ext.Window, { labelWidth: 70, autoHeight: true, fileUpload: true, - items: [{ - xtype: 'fileuploadfield', - width: 240, - emptyText: _('Select an egg'), - fieldLabel: _('Plugin Egg'), - name: 'file', - buttonCfg: { - text: _('Browse...') - } - }] + items: [ + { + xtype: 'fileuploadfield', + width: 240, + emptyText: _('Select an egg'), + fieldLabel: _('Plugin Egg'), + name: 'file', + buttonCfg: { + text: _('Browse...'), + }, + }, + ], }); }, @@ -55,7 +58,7 @@ Deluge.preferences.InstallPluginWindow = Ext.extend(Ext.Window, { url: deluge.config.base + 'upload', waitMsg: _('Uploading your plugin...'), success: this.onUploadSuccess, - scope: this + scope: this, }); }, @@ -67,14 +70,14 @@ Deluge.preferences.InstallPluginWindow = Ext.extend(Ext.Window, { this.hide(); if (upload.result.success) { var filename = this.form.getForm().getFieldValues().file; - filename = filename.split('\\').slice(-1)[0] + filename = filename.split('\\').slice(-1)[0]; var path = upload.result.files[0]; - this.form.getForm().setValues({file: ''}); + this.form.getForm().setValues({ file: '' }); deluge.client.web.upload_plugin(filename, path, { success: this.onUploadPlugin, scope: this, - filename: filename + filename: filename, }); } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js b/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js index 0423ce3af..73f527632 100644 --- a/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.form.FormPanel */ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { - border: false, title: _('Interface'), header: false, @@ -23,7 +22,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { initComponent: function() { Deluge.preferences.Interface.superclass.initComponent.call(this); - var om = this.optionsManager = new Deluge.OptionsManager(); + var om = (this.optionsManager = new Deluge.OptionsManager()); this.on('show', this.onPageShow, this); var fieldset = this.add({ @@ -37,21 +36,30 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { defaults: { height: 17, fieldLabel: '', - labelSeparator: '' - } + labelSeparator: '', + }, }); - om.bind('show_session_speed', fieldset.add({ - name: 'show_session_speed', - boxLabel: _('Show session speed in titlebar') - })); - om.bind('sidebar_show_zero', fieldset.add({ - name: 'sidebar_show_zero', - boxLabel: _('Show filters with zero torrents') - })); - om.bind('sidebar_multiple_filters', fieldset.add({ - name: 'sidebar_multiple_filters', - boxLabel: _('Allow the use of multiple filters at once') - })); + om.bind( + 'show_session_speed', + fieldset.add({ + name: 'show_session_speed', + boxLabel: _('Show session speed in titlebar'), + }) + ); + om.bind( + 'sidebar_show_zero', + fieldset.add({ + name: 'sidebar_show_zero', + boxLabel: _('Show filters with zero torrents'), + }) + ); + om.bind( + 'sidebar_multiple_filters', + fieldset.add({ + name: 'sidebar_multiple_filters', + boxLabel: _('Allow the use of multiple filters at once'), + }) + ); var languagePanel = this.add({ xtype: 'fieldset', @@ -60,22 +68,25 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 0px; padding-bottom: 5px; padding-top: 5px', autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - this.language = om.bind('language', languagePanel.add({ - xtype: 'combo', - labelSeparator: '', - name: 'language', - mode: 'local', - width: 200, - store: new Ext.data.ArrayStore({ - fields: ['id', 'text'] - }), - editable: false, - triggerAction: 'all', - valueField: 'id', - displayField: 'text' - })); + this.language = om.bind( + 'language', + languagePanel.add({ + xtype: 'combo', + labelSeparator: '', + name: 'language', + mode: 'local', + width: 200, + store: new Ext.data.ArrayStore({ + fields: ['id', 'text'], + }), + editable: false, + triggerAction: 'all', + valueField: 'id', + displayField: 'text', + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -90,21 +101,21 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { inputType: 'password', labelStyle: 'padding-left: 5px', height: 20, - labelSeparator: '' - } + labelSeparator: '', + }, }); this.oldPassword = fieldset.add({ name: 'old_password', - fieldLabel: _('Old:') + fieldLabel: _('Old:'), }); this.newPassword = fieldset.add({ name: 'new_password', - fieldLabel: _('New:') + fieldLabel: _('New:'), }); this.confirmPassword = fieldset.add({ name: 'confirm_password', - fieldLabel: _('Confirm:') + fieldLabel: _('Confirm:'), }); fieldset = this.add({ @@ -119,46 +130,63 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', labelStyle: 'padding-left: 5px', height: 20, - width: 80 - } + width: 80, + }, }); - om.bind('session_timeout', fieldset.add({ - name: 'session_timeout', - fieldLabel: _('Session Timeout:'), - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); - om.bind('port', fieldset.add({ - name: 'port', - fieldLabel: _('Port:'), - decimalPrecision: 0, - minValue: 1, - maxValue: 65535 - })); - this.httpsField = om.bind('https', fieldset.add({ - xtype: 'checkbox', - name: 'https', - hideLabel: true, - width: 300, - style: 'margin-left: 5px', - boxLabel: _('Enable SSL (paths relative to Deluge config folder)') - })); + om.bind( + 'session_timeout', + fieldset.add({ + name: 'session_timeout', + fieldLabel: _('Session Timeout:'), + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); + om.bind( + 'port', + fieldset.add({ + name: 'port', + fieldLabel: _('Port:'), + decimalPrecision: 0, + minValue: 1, + maxValue: 65535, + }) + ); + this.httpsField = om.bind( + 'https', + fieldset.add({ + xtype: 'checkbox', + name: 'https', + hideLabel: true, + width: 300, + style: 'margin-left: 5px', + boxLabel: _( + 'Enable SSL (paths relative to Deluge config folder)' + ), + }) + ); this.httpsField.on('check', this.onSSLCheck, this); - this.pkeyField = om.bind('pkey', fieldset.add({ - xtype: 'textfield', - disabled: true, - name: 'pkey', - width: 180, - fieldLabel: _('Private Key:') - })); - this.certField = om.bind('cert', fieldset.add({ - xtype: 'textfield', - disabled: true, - name: 'cert', - width: 180, - fieldLabel: _('Certificate:') - })); + this.pkeyField = om.bind( + 'pkey', + fieldset.add({ + xtype: 'textfield', + disabled: true, + name: 'pkey', + width: 180, + fieldLabel: _('Private Key:'), + }) + ); + this.certField = om.bind( + 'cert', + fieldset.add({ + xtype: 'textfield', + disabled: true, + name: 'cert', + width: 180, + fieldLabel: _('Certificate:'), + }) + ); }, onApply: function() { @@ -166,7 +194,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { if (!Ext.isObjectEmpty(changed)) { deluge.client.web.set_config(changed, { success: this.onSetConfig, - scope: this + scope: this, }); for (var key in deluge.config) { @@ -175,16 +203,18 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { if ('language' in changed) { Ext.Msg.show({ title: _('WebUI Language Changed'), - msg: _('Do you want to refresh the page now to use the new language?'), + msg: _( + 'Do you want to refresh the page now to use the new language?' + ), buttons: { yes: _('Refresh'), - no: _('Close') + no: _('Close'), }, - multiline : false, + multiline: false, fn: function(btnText) { - if(btnText === 'yes') location.reload(); + if (btnText === 'yes') location.reload(); }, - icon: Ext.MessageBox.QUESTION + icon: Ext.MessageBox.QUESTION, }); } } @@ -202,7 +232,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { }, onGotLanguages: function(info, obj, response, request) { - info.unshift(['', _('System Default')]) + info.unshift(['', _('System Default')]); this.language.store.loadData(info); this.language.setValue(this.optionsManager.get('language')); }, @@ -212,11 +242,11 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { if (newPassword != this.confirmPassword.getValue()) { Ext.MessageBox.show({ title: _('Invalid Password'), - msg: _('Your passwords don\'t match!'), + msg: _("Your passwords don't match!"), buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' + iconCls: 'x-deluge-icon-error', }); return; } @@ -231,7 +261,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, - iconCls: 'x-deluge-icon-error' + iconCls: 'x-deluge-icon-error', }); this.oldPassword.setValue(''); } else { @@ -241,14 +271,14 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.INFO, - iconCls: 'x-deluge-icon-info' + iconCls: 'x-deluge-icon-info', }); this.oldPassword.setValue(''); this.newPassword.setValue(''); this.confirmPassword.setValue(''); } }, - scope: this + scope: this, }); }, @@ -259,16 +289,16 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { onPageShow: function() { deluge.client.web.get_config({ success: this.onGotConfig, - scope: this + scope: this, }); deluge.client.webutils.get_languages({ success: this.onGotLanguages, - scope: this + scope: this, }); }, onSSLCheck: function(e, checked) { this.pkeyField.setDisabled(!checked); this.certField.setDisabled(!checked); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js b/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js index 167be3b1d..3b153149e 100644 --- a/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js @@ -11,11 +11,11 @@ Ext.namespace('Deluge.preferences'); // custom Vtype for vtype:'IPAddress' Ext.apply(Ext.form.VTypes, { - IPAddress: function(v) { + IPAddress: function(v) { return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(v); }, IPAddressText: 'Must be a numeric IP address', - IPAddressMask: /[\d\.]/i + IPAddressMask: /[\d\.]/i, }); /** @@ -23,10 +23,9 @@ Ext.apply(Ext.form.VTypes, { * @extends Ext.form.FormPanel */ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { - border: false, layout: 'form', - title: _('Network'), + title: _('Network'), header: false, initComponent: function() { @@ -40,15 +39,18 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 5px; padding-bottom: 0px;', autoHeight: true, labelWidth: 1, - defaultType: 'textfield' + defaultType: 'textfield', }); - optMan.bind('listen_interface', fieldset.add({ - name: 'listen_interface', - fieldLabel: '', - labelSeparator: '', - width: 200, - vtype: 'IPAddress' - })); + optMan.bind( + 'listen_interface', + fieldset.add({ + name: 'listen_interface', + fieldLabel: '', + labelSeparator: '', + width: 200, + vtype: 'IPAddress', + }) + ); var fieldset = this.add({ xtype: 'fieldset', @@ -57,23 +59,26 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 5px; padding-bottom: 0px;', autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - optMan.bind('random_port', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('Use Random Port'), - name: 'random_port', - height: 22, - listeners: { - 'check': { - fn: function(e, checked) { - this.listenPort.setDisabled(checked); + optMan.bind( + 'random_port', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('Use Random Port'), + name: 'random_port', + height: 22, + listeners: { + check: { + fn: function(e, checked) { + this.listenPort.setDisabled(checked); + }, + scope: this, }, - scope: this - } - } - })); + }, + }) + ); this.listenPort = fieldset.add({ xtype: 'spinnerfield', @@ -85,8 +90,8 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { xtype: 'number', decimalPrecision: 0, minValue: 0, - maxValue: 65535 - } + maxValue: 65535, + }, }); optMan.bind('listen_ports', this.listenPort); @@ -97,14 +102,17 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 5px; padding-bottom: 0px;', autoHeight: true, labelWidth: 1, - defaultType: 'textfield' + defaultType: 'textfield', }); - optMan.bind('outgoing_interface', fieldset.add({ - name: 'outgoing_interface', - fieldLabel: '', - labelSeparator: '', - width: 40, - })); + optMan.bind( + 'outgoing_interface', + fieldset.add({ + name: 'outgoing_interface', + fieldLabel: '', + labelSeparator: '', + width: 40, + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -113,23 +121,26 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 5px; padding-bottom: 0px;', autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - optMan.bind('random_outgoing_ports', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('Use Random Ports'), - name: 'random_outgoing_ports', - height: 22, - listeners: { - 'check': { - fn: function(e, checked) { - this.outgoingPorts.setDisabled(checked); + optMan.bind( + 'random_outgoing_ports', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('Use Random Ports'), + name: 'random_outgoing_ports', + height: 22, + listeners: { + check: { + fn: function(e, checked) { + this.outgoingPorts.setDisabled(checked); + }, + scope: this, }, - scope: this - } - } - })); + }, + }) + ); this.outgoingPorts = fieldset.add({ xtype: 'spinnergroup', name: 'outgoing_ports', @@ -137,27 +148,30 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', colCfg: { labelWidth: 40, - style: 'margin-right: 10px;' + style: 'margin-right: 10px;', }, - items: [{ - fieldLabel: _('From:'), - labelSeparator: '', - strategy: { - xtype: 'number', - decimalPrecision: 0, - minValue: 0, - maxValue: 65535 - } - }, { - fieldLabel: _('To:'), - labelSeparator: '', - strategy: { - xtype: 'number', - decimalPrecision: 0, - minValue: 0, - maxValue: 65535 - } - }] + items: [ + { + fieldLabel: _('From:'), + labelSeparator: '', + strategy: { + xtype: 'number', + decimalPrecision: 0, + minValue: 0, + maxValue: 65535, + }, + }, + { + fieldLabel: _('To:'), + labelSeparator: '', + strategy: { + xtype: 'number', + decimalPrecision: 0, + minValue: 0, + maxValue: 65535, + }, + }, + ], }); optMan.bind('outgoing_ports', this.outgoingPorts); @@ -168,43 +182,58 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { autoHeight: true, layout: 'table', layoutConfig: { - columns: 3 + columns: 3, }, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - optMan.bind('upnp', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('UPnP'), - name: 'upnp' - })); - optMan.bind('natpmp', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('NAT-PMP'), - ctCls: 'x-deluge-indent-checkbox', - name: 'natpmp' - })); - optMan.bind('utpex', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('Peer Exchange'), - ctCls: 'x-deluge-indent-checkbox', - name: 'utpex' - })); - optMan.bind('lsd', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('LSD'), - name: 'lsd' - })); - optMan.bind('dht', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - boxLabel: _('DHT'), - ctCls: 'x-deluge-indent-checkbox', - name: 'dht' - })); + optMan.bind( + 'upnp', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('UPnP'), + name: 'upnp', + }) + ); + optMan.bind( + 'natpmp', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('NAT-PMP'), + ctCls: 'x-deluge-indent-checkbox', + name: 'natpmp', + }) + ); + optMan.bind( + 'utpex', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('Peer Exchange'), + ctCls: 'x-deluge-indent-checkbox', + name: 'utpex', + }) + ); + optMan.bind( + 'lsd', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('LSD'), + name: 'lsd', + }) + ); + optMan.bind( + 'dht', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + boxLabel: _('DHT'), + ctCls: 'x-deluge-indent-checkbox', + name: 'dht', + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -213,13 +242,16 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 5px; padding-bottom: 0px;', bodyStyle: 'margin: 0px; padding: 0px', autoHeight: true, - defaultType: 'textfield' + defaultType: 'textfield', }); - optMan.bind('peer_tos', fieldset.add({ - name: 'peer_tos', - fieldLabel: _('Peer TOS Byte:'), - labelSeparator: '', - width: 40 - })); - } + optMan.bind( + 'peer_tos', + fieldset.add({ + name: 'peer_tos', + fieldLabel: _('Peer TOS Byte:'), + labelSeparator: '', + width: 40, + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/OtherPage.js b/deluge/ui/web/js/deluge-all/preferences/OtherPage.js index c6ae61660..8c24e1881 100644 --- a/deluge/ui/web/js/deluge-all/preferences/OtherPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/OtherPage.js @@ -15,12 +15,15 @@ Ext.namespace('Deluge.preferences'); */ Deluge.preferences.Other = Ext.extend(Ext.form.FormPanel, { constructor: function(config) { - config = Ext.apply({ - border: false, - title: _('Other'), - header: false, - layout: 'form' - }, config); + config = Ext.apply( + { + border: false, + title: _('Other'), + header: false, + layout: 'form', + }, + config + ); Deluge.preferences.Other.superclass.constructor.call(this, config); }, @@ -35,15 +38,18 @@ Deluge.preferences.Other = Ext.extend(Ext.form.FormPanel, { title: _('Updates'), autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - optMan.bind('new_release_check', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - height: 22, - name: 'new_release_check', - boxLabel: _('Be alerted about new releases') - })); + optMan.bind( + 'new_release_check', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + height: 22, + name: 'new_release_check', + boxLabel: _('Be alerted about new releases'), + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -51,22 +57,27 @@ Deluge.preferences.Other = Ext.extend(Ext.form.FormPanel, { title: _('System Information'), autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); fieldset.add({ xtype: 'panel', border: false, bodyCfg: { - html: _('Help us improve Deluge by sending us your Python version, PyGTK version, OS and processor types. Absolutely no other information is sent.') - } + html: _( + 'Help us improve Deluge by sending us your Python version, PyGTK version, OS and processor types. Absolutely no other information is sent.' + ), + }, }); - optMan.bind('send_info', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - height: 22, - boxLabel: _('Yes, please send anonymous statistics'), - name: 'send_info' - })); + optMan.bind( + 'send_info', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + height: 22, + boxLabel: _('Yes, please send anonymous statistics'), + name: 'send_info', + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -74,13 +85,16 @@ Deluge.preferences.Other = Ext.extend(Ext.form.FormPanel, { title: _('GeoIP Database'), autoHeight: true, labelWidth: 80, - defaultType: 'textfield' + defaultType: 'textfield', }); - optMan.bind('geoip_db_location', fieldset.add({ - name: 'geoip_db_location', - fieldLabel: _('Path:'), - labelSeparator: '', - width: 200 - })); - } + optMan.bind( + 'geoip_db_location', + fieldset.add({ + name: 'geoip_db_location', + fieldLabel: _('Path:'), + labelSeparator: '', + width: 200, + }) + ); + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js b/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js index d02c62990..3d892db29 100644 --- a/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.Panel */ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { - layout: 'border', title: _('Plugins'), header: false, @@ -23,60 +22,79 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { pluginTemplate: new Ext.Template( '<dl class="singleline">' + - '<dt>' + _('Author:') + '</dt><dd>{author}</dd>' + - '<dt>' + _('Version:') + '</dt><dd>{version}</dd>' + - '<dt>' + _('Author Email:') + '</dt><dd>{email}</dd>' + - '<dt>' + _('Homepage:') + '</dt><dd>{homepage}</dd>' + - '<dt>' + _('Details:') + '</dt><dd style="white-space:normal">{details}</dd>' + - '</dl>' + '<dt>' + + _('Author:') + + '</dt><dd>{author}</dd>' + + '<dt>' + + _('Version:') + + '</dt><dd>{version}</dd>' + + '<dt>' + + _('Author Email:') + + '</dt><dd>{email}</dd>' + + '<dt>' + + _('Homepage:') + + '</dt><dd>{homepage}</dd>' + + '<dt>' + + _('Details:') + + '</dt><dd style="white-space:normal">{details}</dd>' + + '</dl>' ), initComponent: function() { Deluge.preferences.Plugins.superclass.initComponent.call(this); this.defaultValues = { - 'version': '', - 'email': '', - 'homepage': '', - 'details': '' + version: '', + email: '', + homepage: '', + details: '', }; this.pluginTemplate.compile(); - var checkboxRenderer = function(v, p, record){ + var checkboxRenderer = function(v, p, record) { p.css += ' x-grid3-check-col-td'; - return '<div class="x-grid3-check-col'+(v?'-on':'')+'"> </div>'; - } + return ( + '<div class="x-grid3-check-col' + (v ? '-on' : '') + '"> </div>' + ); + }; this.list = this.add({ xtype: 'listview', store: new Ext.data.ArrayStore({ fields: [ - {name: 'enabled', mapping: 0}, - {name: 'plugin', mapping: 1, sortType: 'asUCString'} - ] + { name: 'enabled', mapping: 0 }, + { name: 'plugin', mapping: 1, sortType: 'asUCString' }, + ], }), - columns: [{ - id: 'enabled', - header: _('Enabled'), - width: .2, - sortable: true, - tpl: new Ext.XTemplate('{enabled:this.getCheckbox}', { - getCheckbox: function(v) { - return '<div class="x-grid3-check-col'+(v?'-on':'')+'" rel="chkbox"> </div>'; - } - }), - dataIndex: 'enabled' - }, { - id: 'plugin', - header: _('Plugin'), - width: .8, - sortable: true, - dataIndex: 'plugin' - }], + columns: [ + { + id: 'enabled', + header: _('Enabled'), + width: 0.2, + sortable: true, + tpl: new Ext.XTemplate('{enabled:this.getCheckbox}', { + getCheckbox: function(v) { + return ( + '<div class="x-grid3-check-col' + + (v ? '-on' : '') + + '" rel="chkbox"> </div>' + ); + }, + }), + dataIndex: 'enabled', + }, + { + id: 'plugin', + header: _('Plugin'), + width: 0.8, + sortable: true, + dataIndex: 'plugin', + }, + ], singleSelect: true, autoExpandColumn: 'plugin', listeners: { - selectionchange: {fn: this.onPluginSelect, scope: this} - } + selectionchange: { fn: this.onPluginSelect, scope: this }, + }, }); this.panel = this.add({ @@ -84,23 +102,27 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { autoScroll: true, items: [this.list], bbar: new Ext.Toolbar({ - items: [{ - cls: 'x-btn-text-icon', - iconCls: 'x-deluge-install-plugin', - text: _('Install'), - handler: this.onInstallPluginWindow, - scope: this - }, '->', { - cls: 'x-btn-text-icon', - text: _('Find More'), - iconCls: 'x-deluge-find-more', - handler: this.onFindMorePlugins, - scope: this - }] - }) + items: [ + { + cls: 'x-btn-text-icon', + iconCls: 'x-deluge-install-plugin', + text: _('Install'), + handler: this.onInstallPluginWindow, + scope: this, + }, + '->', + { + cls: 'x-btn-text-icon', + text: _('Find More'), + iconCls: 'x-deluge-find-more', + handler: this.onFindMorePlugins, + scope: this, + }, + ], + }), }); - var pp = this.pluginInfo = this.add({ + var pp = (this.pluginInfo = this.add({ xtype: 'panel', border: false, height: 100, @@ -108,9 +130,9 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { padding: '5', autoScroll: true, bodyCfg: { - style: 'white-space: nowrap' - } - }); + style: 'white-space: nowrap', + }, + })); this.pluginInfo.on('render', this.onPluginInfoRender, this); this.list.on('click', this.onNodeClick, this); @@ -135,36 +157,40 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { updatePlugins: function() { var onGotAvailablePlugins = function(plugins) { - this.availablePlugins = plugins.sort(function (a, b) { + this.availablePlugins = plugins.sort(function(a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); deluge.client.core.get_enabled_plugins({ success: onGotEnabledPlugins, - scope: this + scope: this, }); - } + }; var onGotEnabledPlugins = function(plugins) { this.enabledPlugins = plugins; - this.onGotPlugins() - } + this.onGotPlugins(); + }; deluge.client.core.get_available_plugins({ success: onGotAvailablePlugins, - scope: this + scope: this, }); }, updatePluginsGrid: function() { var plugins = []; - Ext.each(this.availablePlugins, function(plugin) { - if (this.enabledPlugins.indexOf(plugin) > -1) { - plugins.push([true, plugin]); - } else { - plugins.push([false, plugin]); - } - }, this); + Ext.each( + this.availablePlugins, + function(plugin) { + if (this.enabledPlugins.indexOf(plugin) > -1) { + plugins.push([true, plugin]); + } else { + plugins.push([false, plugin]); + } + }, + this + ); this.list.getStore().loadData(plugins); }, @@ -173,7 +199,7 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { if (el.getAttribute('rel') != 'chkbox') return; var r = dv.getStore().getAt(index); - if (r.get('plugin') == "WebUi") return; + if (r.get('plugin') == 'WebUi') return; r.set('enabled', !r.get('enabled')); r.commit(); if (r.get('enabled')) { @@ -198,8 +224,8 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { version: info['Version'], email: info['Author-email'], homepage: info['Home-page'], - details: info['Description'] - } + details: info['Description'], + }; this.setInfo(values); delete info; }, @@ -237,7 +263,7 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { var r = dv.getRecords(selections)[0]; deluge.client.web.get_plugin_info(r.get('plugin'), { success: this.onGotPluginInfo, - scope: this + scope: this, }); }, @@ -247,5 +273,5 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { onPluginInfoRender: function(ct, position) { this.setInfo(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/PreferencesWindow.js b/deluge/ui/web/js/deluge-all/preferences/PreferencesWindow.js index 692ce52da..846789571 100644 --- a/deluge/ui/web/js/deluge-all/preferences/PreferencesWindow.js +++ b/deluge/ui/web/js/deluge-all/preferences/PreferencesWindow.js @@ -9,14 +9,13 @@ */ Ext.namespace('Deluge.preferences'); -PreferencesRecord = Ext.data.Record.create([{name:'name', type:'string'}]); +PreferencesRecord = Ext.data.Record.create([{ name: 'name', type: 'string' }]); /** * @class Deluge.preferences.PreferencesWindow * @extends Ext.Window */ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { - /** * @property {String} currentPage The currently selected page. */ @@ -38,33 +37,38 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { pages: {}, initComponent: function() { - Deluge.preferences.PreferencesWindow.superclass.initComponent.call(this); + Deluge.preferences.PreferencesWindow.superclass.initComponent.call( + this + ); this.list = new Ext.list.ListView({ store: new Ext.data.Store(), - columns: [{ - id: 'name', - renderer: fplain, - dataIndex: 'name' - }], + columns: [ + { + id: 'name', + renderer: fplain, + dataIndex: 'name', + }, + ], singleSelect: true, listeners: { - 'selectionchange': { - fn: this.onPageSelect, scope: this - } + selectionchange: { + fn: this.onPageSelect, + scope: this, + }, }, hideHeaders: true, autoExpandColumn: 'name', deferredRender: false, autoScroll: true, - collapsible: true + collapsible: true, }); this.add({ region: 'west', items: [this.list], width: 120, margins: '0 5 0 0', - cmargins: '0 5 0 0' + cmargins: '0 5 0 0', }); this.configPanel = this.add({ @@ -73,10 +77,10 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { region: 'center', layout: 'card', layoutConfig: { - deferredRender: true + deferredRender: true, }, autoScroll: true, - width: 300 + width: 300, }); this.addButton(_('Close'), this.onClose, this); @@ -110,11 +114,14 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { if (!Ext.isObjectEmpty(changed)) { // Workaround for only displaying single listen port but still pass array to core. if ('listen_ports' in changed) { - changed.listen_ports = [changed.listen_ports, changed.listen_ports] + changed.listen_ports = [ + changed.listen_ports, + changed.listen_ports, + ]; } deluge.client.core.set_config(changed, { success: this.onSetConfig, - scope: this + scope: this, }); } @@ -123,7 +130,6 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { } }, - /** * Return the options manager for the preferences window. * @returns {Deluge.OptionsManager} the options manager @@ -139,7 +145,7 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { addPage: function(page) { var store = this.list.getStore(); var name = page.title; - store.add([new PreferencesRecord({name: name})]); + store.add([new PreferencesRecord({ name: name })]); page['bodyStyle'] = 'padding: 5px'; page.preferences = this; this.pages[name] = this.configPanel.add(page); @@ -165,7 +171,9 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { */ selectPage: function(page) { if (this.pages[page].index < 0) { - this.pages[page].index = this.configPanel.items.indexOf(this.pages[page]); + this.pages[page].index = this.configPanel.items.indexOf( + this.pages[page] + ); } this.list.select(this.pages[page].index); }, @@ -173,7 +181,9 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { // private doSelectPage: function(page) { if (this.pages[page].index < 0) { - this.pages[page].index = this.configPanel.items.indexOf(this.pages[page]); + this.pages[page].index = this.configPanel.items.indexOf( + this.pages[page] + ); } this.configPanel.getLayout().setActiveItem(this.pages[page].index); this.currentPage = page; @@ -208,8 +218,8 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { if (!deluge.client.core) return; deluge.client.core.get_config({ success: this.onGotConfig, - scope: this - }) + scope: this, + }); }, // private @@ -221,16 +231,16 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, { onOk: function() { var changed = this.optionsManager.getDirty(); if (!Ext.isObjectEmpty(changed)) { - deluge.client.core.set_config(changed, { - success: this.onSetConfig, - scope: this - }); + deluge.client.core.set_config(changed, { + success: this.onSetConfig, + scope: this, + }); } for (var page in this.pages) { - if (this.pages[page].onOk) this.pages[page].onOk(); + if (this.pages[page].onOk) this.pages[page].onOk(); } this.hide(); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/ProxyField.js b/deluge/ui/web/js/deluge-all/preferences/ProxyField.js index 9c3e23e49..9166601dd 100644 --- a/deluge/ui/web/js/deluge-all/preferences/ProxyField.js +++ b/deluge/ui/web/js/deluge-all/preferences/ProxyField.js @@ -14,7 +14,6 @@ Ext.ns('Deluge.preferences'); * @extends Ext.form.FieldSet */ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { - border: false, autoHeight: true, labelWidth: 70, @@ -37,13 +36,13 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { [3, _('Socks5 Auth')], [4, _('HTTP')], [5, _('HTTP Auth')], - [6, _('I2P')] - ] + [6, _('I2P')], + ], }), editable: false, triggerAction: 'all', valueField: 'id', - displayField: 'text' + displayField: 'text', }); this.proxyType.on('change', this.onFieldChange, this); this.proxyType.on('select', this.onTypeSelect, this); @@ -53,7 +52,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { name: 'hostname', fieldLabel: _('Host:'), labelSeparator: '', - width: 220 + width: 220, }); this.hostname.on('change', this.onFieldChange, this); @@ -65,16 +64,16 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { width: 80, decimalPrecision: 0, minValue: 0, - maxValue: 65535 + maxValue: 65535, }); this.port.on('change', this.onFieldChange, this); - this.username = this.add({ + this.username = this.add({ xtype: 'textfield', name: 'username', fieldLabel: _('Username:'), labelSeparator: '', - width: 220 + width: 220, }); this.username.on('change', this.onFieldChange, this); @@ -84,7 +83,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { fieldLabel: _('Password:'), labelSeparator: '', inputType: 'password', - width: 220 + width: 220, }); this.password.on('change', this.onFieldChange, this); @@ -93,7 +92,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { name: 'proxy_host_resolve', fieldLabel: '', boxLabel: _('Proxy Hostnames'), - width: 220 + width: 220, }); this.proxy_host_resolve.on('change', this.onFieldChange, this); @@ -102,7 +101,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { name: 'proxy_peer_conn', fieldLabel: '', boxLabel: _('Proxy Peers'), - width: 220 + width: 220, }); this.proxy_peer_conn.on('change', this.onFieldChange, this); @@ -111,7 +110,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { name: 'proxy_tracker_conn', fieldLabel: '', boxLabel: _('Proxy Trackers'), - width: 220 + width: 220, }); this.proxy_tracker_conn.on('change', this.onFieldChange, this); @@ -122,7 +121,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { autoHeight: true, labelWidth: 1, defaultType: 'checkbox', - style: 'padding-left: 0px; margin-top: 10px' + style: 'padding-left: 0px; margin-top: 10px', }); this.force_proxy = fieldset.add({ @@ -130,8 +129,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { labelSeparator: '', height: 20, name: 'force_proxy', - boxLabel: _('Force Use of Proxy') - + boxLabel: _('Force Use of Proxy'), }); this.force_proxy.on('change', this.onFieldChange, this); @@ -140,7 +138,7 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { labelSeparator: '', height: 20, name: 'anonymous_mode', - boxLabel: _('Hide Client Identity') + boxLabel: _('Hide Client Identity'), }); this.anonymous_mode.on('change', this.onFieldChange, this); @@ -153,17 +151,17 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { getValue: function() { return { - 'type': this.proxyType.getValue(), - 'hostname': this.hostname.getValue(), - 'port': Number(this.port.getValue()), - 'username': this.username.getValue(), - 'password': this.password.getValue(), - 'proxy_hostnames': this.proxy_host_resolve.getValue(), - 'proxy_peer_connections': this.proxy_peer_conn.getValue(), - 'proxy_tracker_connections': this.proxy_tracker_conn.getValue(), - 'force_proxy': this.force_proxy.getValue(), - 'anonymous_mode': this.anonymous_mode.getValue() - } + type: this.proxyType.getValue(), + hostname: this.hostname.getValue(), + port: Number(this.port.getValue()), + username: this.username.getValue(), + password: this.password.getValue(), + proxy_hostnames: this.proxy_host_resolve.getValue(), + proxy_peer_connections: this.proxy_peer_conn.getValue(), + proxy_tracker_connections: this.proxy_tracker_conn.getValue(), + force_proxy: this.force_proxy.getValue(), + anonymous_mode: this.anonymous_mode.getValue(), + }; }, // Set the values of the proxies @@ -223,5 +221,5 @@ Deluge.preferences.ProxyField = Ext.extend(Ext.form.FieldSet, { this.username.hide(); this.password.hide(); } - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js b/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js index 9a0280754..74b2b2ae2 100644 --- a/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/ProxyPage.js @@ -15,30 +15,35 @@ Ext.namespace('Deluge.preferences'); */ Deluge.preferences.Proxy = Ext.extend(Ext.form.FormPanel, { constructor: function(config) { - config = Ext.apply({ - border: false, - title: _('Proxy'), - header: false, - layout: 'form', - autoScroll: true - }, config); + config = Ext.apply( + { + border: false, + title: _('Proxy'), + header: false, + layout: 'form', + autoScroll: true, + }, + config + ); Deluge.preferences.Proxy.superclass.constructor.call(this, config); }, initComponent: function() { Deluge.preferences.Proxy.superclass.initComponent.call(this); - this.proxy = this.add(new Deluge.preferences.ProxyField({ - title: _('Proxy'), - name: 'proxy' - })); + this.proxy = this.add( + new Deluge.preferences.ProxyField({ + title: _('Proxy'), + name: 'proxy', + }) + ); this.proxy.on('change', this.onProxyChange, this); deluge.preferences.getOptionsManager().bind('proxy', this.proxy); }, getValue: function() { return { - 'proxy': this.proxy.getValue() - } + proxy: this.proxy.getValue(), + }; }, setValue: function(value) { @@ -53,5 +58,5 @@ Deluge.preferences.Proxy = Ext.extend(Ext.form.FormPanel, { oldValues[field.getName()] = oldValue; this.fireEvent('change', this, newValues, oldValues); - } + }, }); diff --git a/deluge/ui/web/js/deluge-all/preferences/QueuePage.js b/deluge/ui/web/js/deluge-all/preferences/QueuePage.js index a713a8d69..334f2505c 100644 --- a/deluge/ui/web/js/deluge-all/preferences/QueuePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/QueuePage.js @@ -14,7 +14,6 @@ Ext.namespace('Deluge.preferences'); * @extends Ext.form.FormPanel */ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { - border: false, title: _('Queue'), header: false, @@ -32,15 +31,18 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { style: 'padding-top: 5px; margin-bottom: 0px;', autoHeight: true, labelWidth: 1, - defaultType: 'checkbox' + defaultType: 'checkbox', }); - om.bind('queue_new_to_top', fieldset.add({ - fieldLabel: '', - labelSeparator: '', - height: 22, - boxLabel: _('Queue to top'), - name: 'queue_new_to_top' - })); + om.bind( + 'queue_new_to_top', + fieldset.add({ + fieldLabel: '', + labelSeparator: '', + height: 22, + boxLabel: _('Queue to top'), + name: 'queue_new_to_top', + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -49,51 +51,66 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { autoHeight: true, labelWidth: 150, defaultType: 'spinnerfield', - style: 'padding-top: 5px; margin-bottom: 0px' + style: 'padding-top: 5px; margin-bottom: 0px', }); - om.bind('max_active_limit', fieldset.add({ - fieldLabel: _('Total:'), - labelSeparator: '', - name: 'max_active_limit', - value: 8, - width: 80, - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); - om.bind('max_active_downloading', fieldset.add({ - fieldLabel: _('Downloading:'), - labelSeparator: '', - name: 'max_active_downloading', - value: 3, - width: 80, - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); - om.bind('max_active_seeding', fieldset.add({ - fieldLabel: _('Seeding:'), - labelSeparator: '', - name: 'max_active_seeding', - value: 5, - width: 80, - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); - om.bind('dont_count_slow_torrents', fieldset.add({ - xtype: 'checkbox', - name: 'dont_count_slow_torrents', - height: 22, - hideLabel: true, - boxLabel: _('Ignore slow torrents') - })); - om.bind('auto_manage_prefer_seeds', fieldset.add({ - xtype: 'checkbox', - name: 'auto_manage_prefer_seeds', - hideLabel: true, - boxLabel: _('Prefer seeding torrents') - })); + om.bind( + 'max_active_limit', + fieldset.add({ + fieldLabel: _('Total:'), + labelSeparator: '', + name: 'max_active_limit', + value: 8, + width: 80, + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); + om.bind( + 'max_active_downloading', + fieldset.add({ + fieldLabel: _('Downloading:'), + labelSeparator: '', + name: 'max_active_downloading', + value: 3, + width: 80, + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); + om.bind( + 'max_active_seeding', + fieldset.add({ + fieldLabel: _('Seeding:'), + labelSeparator: '', + name: 'max_active_seeding', + value: 5, + width: 80, + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); + om.bind( + 'dont_count_slow_torrents', + fieldset.add({ + xtype: 'checkbox', + name: 'dont_count_slow_torrents', + height: 22, + hideLabel: true, + boxLabel: _('Ignore slow torrents'), + }) + ); + om.bind( + 'auto_manage_prefer_seeds', + fieldset.add({ + xtype: 'checkbox', + name: 'auto_manage_prefer_seeds', + hideLabel: true, + boxLabel: _('Prefer seeding torrents'), + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -102,42 +119,51 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { autoHeight: true, labelWidth: 150, defaultType: 'spinnerfield', - style: 'padding-top: 5px; margin-bottom: 0px' + style: 'padding-top: 5px; margin-bottom: 0px', }); - om.bind('share_ratio_limit', fieldset.add({ - fieldLabel: _('Share Ratio:'), - labelSeparator: '', - name: 'share_ratio_limit', - value: 8, - width: 80, - incrementValue: 0.1, - minValue: -1, - maxValue: 99999, - alternateIncrementValue: 1, - decimalPrecision: 2 - })); - om.bind('seed_time_ratio_limit', fieldset.add({ - fieldLabel: _('Time Ratio:'), - labelSeparator: '', - name: 'seed_time_ratio_limit', - value: 3, - width: 80, - incrementValue: 0.1, - minValue: -1, - maxValue: 99999, - alternateIncrementValue: 1, - decimalPrecision: 2 - })); - om.bind('seed_time_limit', fieldset.add({ - fieldLabel: _('Time (m):'), - labelSeparator: '', - name: 'seed_time_limit', - value: 5, - width: 80, - decimalPrecision: 0, - minValue: -1, - maxValue: 99999 - })); + om.bind( + 'share_ratio_limit', + fieldset.add({ + fieldLabel: _('Share Ratio:'), + labelSeparator: '', + name: 'share_ratio_limit', + value: 8, + width: 80, + incrementValue: 0.1, + minValue: -1, + maxValue: 99999, + alternateIncrementValue: 1, + decimalPrecision: 2, + }) + ); + om.bind( + 'seed_time_ratio_limit', + fieldset.add({ + fieldLabel: _('Time Ratio:'), + labelSeparator: '', + name: 'seed_time_ratio_limit', + value: 3, + width: 80, + incrementValue: 0.1, + minValue: -1, + maxValue: 99999, + alternateIncrementValue: 1, + decimalPrecision: 2, + }) + ); + om.bind( + 'seed_time_limit', + fieldset.add({ + fieldLabel: _('Time (m):'), + labelSeparator: '', + name: 'seed_time_limit', + value: 5, + width: 80, + decimalPrecision: 0, + minValue: -1, + maxValue: 99999, + }) + ); fieldset = this.add({ xtype: 'fieldset', @@ -147,18 +173,18 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { title: _('Share Ratio Reached'), layout: 'table', - layoutConfig: {columns: 2}, + layoutConfig: { columns: 2 }, labelWidth: 0, defaultType: 'checkbox', defaults: { fieldLabel: '', - labelSeparator: '' - } + labelSeparator: '', + }, }); this.stopAtRatio = fieldset.add({ name: 'stop_seed_at_ratio', - boxLabel: _('Share Ratio:') + boxLabel: _('Share Ratio:'), }); this.stopAtRatio.on('check', this.onStopRatioCheck, this); om.bind('stop_seed_at_ratio', this.stopAtRatio); @@ -174,7 +200,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { minValue: -1, maxValue: 99999, alternateIncrementValue: 1, - decimalPrecision: 2 + decimalPrecision: 2, }); om.bind('stop_seed_ratio', this.stopRatio); @@ -183,17 +209,20 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { columns: 1, colspan: 2, disabled: true, - style: "margin-left: 10px", - items: [{ - boxLabel: _('Pause torrent'), - name: 'at_ratio', - inputValue: false, - checked: true - }, { - boxLabel: _('Remove torrent'), - name: 'at_ratio', - inputValue: true - }] + style: 'margin-left: 10px', + items: [ + { + boxLabel: _('Pause torrent'), + name: 'at_ratio', + inputValue: false, + checked: true, + }, + { + boxLabel: _('Remove torrent'), + name: 'at_ratio', + inputValue: true, + }, + ], }); om.bind('remove_seed_at_ratio', this.removeAtRatio); }, @@ -201,5 +230,5 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { onStopRatioCheck: function(e, checked) { this.stopRatio.setDisabled(!checked); this.removeAtRatio.setDisabled(!checked); - } + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/JSLoader.js b/deluge/ui/web/js/extjs/ext-extensions/JSLoader.js index 563d32e31..9631fd859 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/JSLoader.js +++ b/deluge/ui/web/js/extjs/ext-extensions/JSLoader.js @@ -6,8 +6,8 @@ Ext.ux.JSLoader = function(options) { options: options, onLoad: options.onLoad || Ext.emptyFn, onError: options.onError || Ext.ux.JSLoader.stdError, - scope: options.scope || this - }; + scope: options.scope || this, + }; Ext.Ajax.request({ url: options.url, @@ -16,9 +16,9 @@ Ext.ux.JSLoader = function(options) { var script = Ext.ux.JSLoader.scripts[options.scriptIndex]; try { eval(response.responseText); - } catch(e) { + } catch (e) { script.success = false; - script.onError(script.options, e); + script.onError(script.options, e); } if (script.success) { script.onLoad.call(script.scope, script.options); @@ -28,11 +28,13 @@ Ext.ux.JSLoader = function(options) { var script = Ext.ux.JSLoader.scripts[options.scriptIndex]; script.success = false; script.onError(script.options, response.status); - } + }, }); }; Ext.ux.JSLoader.index = 0; Ext.ux.JSLoader.scripts = []; Ext.ux.JSLoader.stdError = function(options, e) { - window.alert('Error loading script:\n\n' + options.url + '\n\nstatus: ' + e); + window.alert( + 'Error loading script:\n\n' + options.url + '\n\nstatus: ' + e + ); }; diff --git a/deluge/ui/web/js/extjs/ext-extensions/Spinner.js b/deluge/ui/web/js/extjs/ext-extensions/Spinner.js index 74f5ea31d..9b220d79c 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/Spinner.js +++ b/deluge/ui/web/js/extjs/ext-extensions/Spinner.js @@ -18,13 +18,13 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { defaultValue: 0, accelerate: false, - constructor: function(config){ + constructor: function(config) { Ext.ux.Spinner.superclass.constructor.call(this, config); Ext.apply(this, config); this.mimicing = false; }, - init: function(field){ + init: function(field) { this.field = field; field.afterMethod('onRender', this.doRender, this); @@ -36,23 +36,22 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { field.beforeMethod('onDestroy', this.doDestroy, this); }, - doRender: function(ct, position){ - var el = this.el = this.field.getEl(); + doRender: function(ct, position) { + var el = (this.el = this.field.getEl()); var f = this.field; if (!f.wrap) { f.wrap = this.wrap = el.wrap({ - cls: "x-form-field-wrap" + cls: 'x-form-field-wrap', }); - } - else { + } else { this.wrap = f.wrap.addClass('x-form-field-wrap'); } this.trigger = this.wrap.createChild({ - tag: "img", + tag: 'img', src: Ext.BLANK_IMAGE_URL, - cls: "x-form-trigger " + this.triggerClass + cls: 'x-form-trigger ' + this.triggerClass, }); if (!f.width) { @@ -62,24 +61,27 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { this.splitter = this.wrap.createChild({ tag: 'div', cls: this.splitterClass, - style: 'width:13px; height:2px;' + style: 'width:13px; height:2px;', }); - this.splitter.setRight((Ext.isIE) ? 1 : 2).setTop(10).show(); + this.splitter + .setRight(Ext.isIE ? 1 : 2) + .setTop(10) + .show(); this.proxy = this.trigger.createProxy('', this.splitter, true); - this.proxy.addClass("x-form-spinner-proxy"); + this.proxy.addClass('x-form-spinner-proxy'); this.proxy.setStyle('left', '0px'); this.proxy.setSize(14, 1); this.proxy.hide(); - this.dd = new Ext.dd.DDProxy(this.splitter.dom.id, "SpinnerDrag", { - dragElId: this.proxy.id + this.dd = new Ext.dd.DDProxy(this.splitter.dom.id, 'SpinnerDrag', { + dragElId: this.proxy.id, }); this.initTrigger(); this.initSpinner(); }, - doAfterRender: function(){ + doAfterRender: function() { var y; if (Ext.isIE && this.el.getY() != (y = this.trigger.getY())) { this.el.position(); @@ -87,104 +89,113 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { } }, - doEnable: function(){ + doEnable: function() { if (this.wrap) { this.disabled = false; this.wrap.removeClass(this.field.disabledClass); } }, - doDisable: function(){ + doDisable: function() { if (this.wrap) { - this.disabled = true; + this.disabled = true; this.wrap.addClass(this.field.disabledClass); this.el.removeClass(this.field.disabledClass); } }, - doResize: function(w, h){ + doResize: function(w, h) { if (typeof w == 'number') { this.el.setWidth(w - this.trigger.getWidth()); } this.wrap.setWidth(this.el.getWidth() + this.trigger.getWidth()); }, - doFocus: function(){ + doFocus: function() { if (!this.mimicing) { this.wrap.addClass('x-trigger-wrap-focus'); this.mimicing = true; - Ext.get(Ext.isIE ? document.body : document).on("mousedown", this.mimicBlur, this, { - delay: 10 - }); + Ext.get(Ext.isIE ? document.body : document).on( + 'mousedown', + this.mimicBlur, + this, + { + delay: 10, + } + ); this.el.on('keydown', this.checkTab, this); } }, // private - checkTab: function(e){ + checkTab: function(e) { if (e.getKey() == e.TAB) { this.triggerBlur(); } }, // private - mimicBlur: function(e){ + mimicBlur: function(e) { if (!this.wrap.contains(e.target) && this.field.validateBlur(e)) { this.triggerBlur(); } }, // private - triggerBlur: function(){ + triggerBlur: function() { this.mimicing = false; - Ext.get(Ext.isIE ? document.body : document).un("mousedown", this.mimicBlur, this); - this.el.un("keydown", this.checkTab, this); + Ext.get(Ext.isIE ? document.body : document).un( + 'mousedown', + this.mimicBlur, + this + ); + this.el.un('keydown', this.checkTab, this); this.field.beforeBlur(); this.wrap.removeClass('x-trigger-wrap-focus'); this.field.onBlur.call(this.field); }, - initTrigger: function(){ + initTrigger: function() { this.trigger.addClassOnOver('x-form-trigger-over'); this.trigger.addClassOnClick('x-form-trigger-click'); }, - initSpinner: function(){ + initSpinner: function() { this.field.addEvents({ - 'spin': true, - 'spinup': true, - 'spindown': true + spin: true, + spinup: true, + spindown: true, }); this.keyNav = new Ext.KeyNav(this.el, { - "up": function(e){ + up: function(e) { e.preventDefault(); this.onSpinUp(); }, - "down": function(e){ + down: function(e) { e.preventDefault(); this.onSpinDown(); }, - "pageUp": function(e){ + pageUp: function(e) { e.preventDefault(); this.onSpinUpAlternate(); }, - "pageDown": function(e){ + pageDown: function(e) { e.preventDefault(); this.onSpinDownAlternate(); }, - scope: this + scope: this, }); this.repeater = new Ext.util.ClickRepeater(this.trigger, { - accelerate: this.accelerate + accelerate: this.accelerate, }); - this.field.mon(this.repeater, "click", this.onTriggerClick, this, { - preventDefault: true + this.field.mon(this.repeater, 'click', this.onTriggerClick, this, { + preventDefault: true, }); this.field.mon(this.trigger, { @@ -194,10 +205,10 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { mousedown: this.onMouseDown, mouseup: this.onMouseUp, scope: this, - preventDefault: true + preventDefault: true, }); - this.field.mon(this.wrap, "mousewheel", this.handleMouseWheel, this); + this.field.mon(this.wrap, 'mousewheel', this.handleMouseWheel, this); this.dd.setXConstraint(0, 0, 10); this.dd.setYConstraint(1500, 1500, 10); @@ -206,67 +217,77 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { this.dd.onDrag = this.onDrag.createDelegate(this); }, - onMouseOver: function(){ + onMouseOver: function() { if (this.disabled) { return; } var middle = this.getMiddle(); - this.tmpHoverClass = (Ext.EventObject.getPageY() < middle) ? 'x-form-spinner-overup' : 'x-form-spinner-overdown'; + this.tmpHoverClass = + Ext.EventObject.getPageY() < middle + ? 'x-form-spinner-overup' + : 'x-form-spinner-overdown'; this.trigger.addClass(this.tmpHoverClass); }, //private - onMouseOut: function(){ + onMouseOut: function() { this.trigger.removeClass(this.tmpHoverClass); }, //private - onMouseMove: function(){ + onMouseMove: function() { if (this.disabled) { return; } var middle = this.getMiddle(); - if (((Ext.EventObject.getPageY() > middle) && this.tmpHoverClass == "x-form-spinner-overup") || - ((Ext.EventObject.getPageY() < middle) && this.tmpHoverClass == "x-form-spinner-overdown")) { + if ( + (Ext.EventObject.getPageY() > middle && + this.tmpHoverClass == 'x-form-spinner-overup') || + (Ext.EventObject.getPageY() < middle && + this.tmpHoverClass == 'x-form-spinner-overdown') + ) { } }, //private - onMouseDown: function(){ + onMouseDown: function() { if (this.disabled) { return; } var middle = this.getMiddle(); - this.tmpClickClass = (Ext.EventObject.getPageY() < middle) ? 'x-form-spinner-clickup' : 'x-form-spinner-clickdown'; + this.tmpClickClass = + Ext.EventObject.getPageY() < middle + ? 'x-form-spinner-clickup' + : 'x-form-spinner-clickdown'; this.trigger.addClass(this.tmpClickClass); }, //private - onMouseUp: function(){ + onMouseUp: function() { this.trigger.removeClass(this.tmpClickClass); }, //private - onTriggerClick: function(){ + onTriggerClick: function() { if (this.disabled || this.el.dom.readOnly) { return; } var middle = this.getMiddle(); - var ud = (Ext.EventObject.getPageY() < middle) ? 'Up' : 'Down'; + var ud = Ext.EventObject.getPageY() < middle ? 'Up' : 'Down'; this['onSpin' + ud](); }, //private - getMiddle: function(){ + getMiddle: function() { var t = this.trigger.getTop(); var h = this.trigger.getHeight(); - var middle = t + (h / 2); + var middle = t + h / 2; return middle; }, //private //checks if control is allowed to spin - isSpinnable: function(){ + isSpinnable: function() { if (this.disabled || this.el.dom.readOnly) { Ext.EventObject.preventDefault(); //prevent scrolling when disabled/readonly return false; @@ -274,7 +295,7 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { return true; }, - handleMouseWheel: function(e){ + handleMouseWheel: function(e) { //disable scrolling when not focused if (this.wrap.hasClass('x-trigger-wrap-focus') == false) { return; @@ -284,27 +305,25 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { if (delta > 0) { this.onSpinUp(); e.stopEvent(); + } else if (delta < 0) { + this.onSpinDown(); + e.stopEvent(); } - else - if (delta < 0) { - this.onSpinDown(); - e.stopEvent(); - } }, //private - startDrag: function(){ + startDrag: function() { this.proxy.show(); this._previousY = Ext.fly(this.dd.getDragEl()).getTop(); }, //private - endDrag: function(){ + endDrag: function() { this.proxy.hide(); }, //private - onDrag: function(){ + onDrag: function() { if (this.disabled) { return; } @@ -325,68 +344,69 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { }, //private - onSpinUp: function(){ + onSpinUp: function() { if (this.isSpinnable() == false) { return; } if (Ext.EventObject.shiftKey == true) { this.onSpinUpAlternate(); return; - } - else { + } else { this.spin(false, false); } - this.field.fireEvent("spin", this); - this.field.fireEvent("spinup", this); + this.field.fireEvent('spin', this); + this.field.fireEvent('spinup', this); }, //private - onSpinDown: function(){ + onSpinDown: function() { if (this.isSpinnable() == false) { return; } if (Ext.EventObject.shiftKey == true) { this.onSpinDownAlternate(); return; - } - else { + } else { this.spin(true, false); } - this.field.fireEvent("spin", this); - this.field.fireEvent("spindown", this); + this.field.fireEvent('spin', this); + this.field.fireEvent('spindown', this); }, //private - onSpinUpAlternate: function(){ + onSpinUpAlternate: function() { if (this.isSpinnable() == false) { return; } this.spin(false, true); - this.field.fireEvent("spin", this); - this.field.fireEvent("spinup", this); + this.field.fireEvent('spin', this); + this.field.fireEvent('spinup', this); }, //private - onSpinDownAlternate: function(){ + onSpinDownAlternate: function() { if (this.isSpinnable() == false) { return; } this.spin(true, true); - this.field.fireEvent("spin", this); - this.field.fireEvent("spindown", this); + this.field.fireEvent('spin', this); + this.field.fireEvent('spindown', this); }, - spin: function(down, alternate){ + spin: function(down, alternate) { var v = parseFloat(this.field.getValue()); - var incr = (alternate == true) ? this.alternateIncrementValue : this.incrementValue; - (down == true) ? v -= incr : v += incr; + var incr = + alternate == true + ? this.alternateIncrementValue + : this.incrementValue; + down == true ? (v -= incr) : (v += incr); - v = (isNaN(v)) ? this.defaultValue : v; + v = isNaN(v) ? this.defaultValue : v; v = this.fixBoundries(v); this.field.setRawValue(v); }, - fixBoundries: function(value){ + fixBoundries: function(value) { var v = value; if (this.field.minValue != undefined && v < this.field.minValue) { @@ -400,15 +420,22 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { }, // private - fixPrecision: function(value){ + fixPrecision: function(value) { var nan = isNaN(value); - if (!this.field.allowDecimals || this.field.decimalPrecision == -1 || nan || !value) { + if ( + !this.field.allowDecimals || + this.field.decimalPrecision == -1 || + nan || + !value + ) { return nan ? '' : value; } - return parseFloat(parseFloat(value).toFixed(this.field.decimalPrecision)); + return parseFloat( + parseFloat(value).toFixed(this.field.decimalPrecision) + ); }, - doDestroy: function(){ + doDestroy: function() { if (this.trigger) { this.trigger.remove(); } @@ -433,10 +460,14 @@ Ext.ux.Spinner = Ext.extend(Ext.util.Observable, { if (this.repeater) { this.repeater.purgeListeners(); } - if (this.mimicing){ - Ext.get(Ext.isIE ? document.body : document).un("mousedown", this.mimicBlur, this); + if (this.mimicing) { + Ext.get(Ext.isIE ? document.body : document).un( + 'mousedown', + this.mimicBlur, + this + ); } - } + }, }); //backwards compat diff --git a/deluge/ui/web/js/extjs/ext-extensions/StatusBar.js b/deluge/ui/web/js/extjs/ext-extensions/StatusBar.js index 0b6c721bd..5efb01b5a 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/StatusBar.js +++ b/deluge/ui/web/js/extjs/ext-extensions/StatusBar.js @@ -137,7 +137,7 @@ sb.setStatus({ * @cfg {String} cls * The base class applied to the containing element for this component on render (defaults to 'x-statusbar') */ - cls : 'x-statusbar', + cls: 'x-statusbar', /** * @cfg {String} busyIconCls * The default <code>{@link #iconCls}</code> applied when calling @@ -145,7 +145,7 @@ sb.setStatus({ * It can be overridden at any time by passing the <code>iconCls</code> * argument into <code>{@link #showBusy}</code>. */ - busyIconCls : 'x-status-busy', + busyIconCls: 'x-status-busy', /** * @cfg {String} busyText * The default <code>{@link #text}</code> applied when calling @@ -153,7 +153,7 @@ sb.setStatus({ * It can be overridden at any time by passing the <code>text</code> * argument into <code>{@link #showBusy}</code>. */ - busyText : 'Loading...', + busyText: 'Loading...', /** * @cfg {Number} autoClear * The number of milliseconds to wait after setting the status via @@ -165,7 +165,7 @@ sb.setStatus({ * <code>{@link #setStatus}</code>. Calls to <code>{@link #clearStatus}</code> * always clear the status bar immediately and ignore this value. */ - autoClear : 5000, + autoClear: 5000, /** * @cfg {String} emptyText @@ -177,34 +177,34 @@ sb.setStatus({ * vertically when no text is specified and there are no other items in * the toolbar. */ - emptyText : ' ', + emptyText: ' ', // private - activeThreadId : 0, + activeThreadId: 0, // private - initComponent : function(){ - if(this.statusAlign=='right'){ + initComponent: function() { + if (this.statusAlign == 'right') { this.cls += ' x-status-right'; } Ext.ux.StatusBar.superclass.initComponent.call(this); }, // private - afterRender : function(){ + afterRender: function() { Ext.ux.StatusBar.superclass.afterRender.call(this); var right = this.statusAlign == 'right'; this.currIconCls = this.iconCls || this.defaultIconCls; this.statusEl = new Ext.Toolbar.TextItem({ cls: 'x-status-text ' + (this.currIconCls || ''), - text: this.text || this.defaultText || '' + text: this.text || this.defaultText || '', }); - if(right){ + if (right) { this.add('->'); this.add(this.statusEl); - }else{ + } else { this.insert(0, this.statusEl); this.insert(1, '->'); } @@ -260,33 +260,33 @@ statusBar.setStatus({ </code></pre> * @return {Ext.ux.StatusBar} this */ - setStatus : function(o){ + setStatus: function(o) { o = o || {}; - if(typeof o == 'string'){ - o = {text:o}; + if (typeof o == 'string') { + o = { text: o }; } - if(o.text !== undefined){ + if (o.text !== undefined) { this.setText(o.text); } - if(o.iconCls !== undefined){ + if (o.iconCls !== undefined) { this.setIcon(o.iconCls); } - if(o.clear){ + if (o.clear) { var c = o.clear, wait = this.autoClear, - defaults = {useDefaults: true, anim: true}; + defaults = { useDefaults: true, anim: true }; - if(typeof c == 'object'){ + if (typeof c == 'object') { c = Ext.applyIf(c, defaults); - if(c.wait){ + if (c.wait) { wait = c.wait; } - }else if(typeof c == 'number'){ + } else if (typeof c == 'number') { wait = c; c = defaults; - }else if(typeof c == 'boolean'){ + } else if (typeof c == 'boolean') { c = defaults; } @@ -307,10 +307,10 @@ statusBar.setStatus({ * </ul> * @return {Ext.ux.StatusBar} this */ - clearStatus : function(o){ + clearStatus: function(o) { o = o || {}; - if(o.threadId && o.threadId !== this.activeThreadId){ + if (o.threadId && o.threadId !== this.activeThreadId) { // this means the current call was made internally, but a newer // thread has set a message since this call was deferred. Since // we don't want to overwrite a newer message just ignore. @@ -318,29 +318,33 @@ statusBar.setStatus({ } var text = o.useDefaults ? this.defaultText : this.emptyText, - iconCls = o.useDefaults ? (this.defaultIconCls ? this.defaultIconCls : '') : ''; + iconCls = o.useDefaults + ? this.defaultIconCls + ? this.defaultIconCls + : '' + : ''; - if(o.anim){ + if (o.anim) { // animate the statusEl Ext.Element this.statusEl.el.fadeOut({ remove: false, useDisplay: true, scope: this, - callback: function(){ + callback: function() { this.setStatus({ text: text, - iconCls: iconCls + iconCls: iconCls, }); this.statusEl.el.show(); - } + }, }); - }else{ + } else { // hide/show the el to avoid jumpy text or icon this.statusEl.hide(); this.setStatus({ text: text, - iconCls: iconCls + iconCls: iconCls, }); this.statusEl.show(); } @@ -352,10 +356,10 @@ statusBar.setStatus({ * @param {String} text (optional) The text to set (defaults to '') * @return {Ext.ux.StatusBar} this */ - setText : function(text){ + setText: function(text) { this.activeThreadId++; this.text = text || ''; - if(this.rendered){ + if (this.rendered) { this.statusEl.setText(this.text); } return this; @@ -365,7 +369,7 @@ statusBar.setStatus({ * Returns the current status text. * @return {String} The status text */ - getText : function(){ + getText: function() { return this.text; }, @@ -375,20 +379,20 @@ statusBar.setStatus({ * @param {String} iconCls (optional) The icon class to set (defaults to '', and any current icon class is removed) * @return {Ext.ux.StatusBar} this */ - setIcon : function(cls){ + setIcon: function(cls) { this.activeThreadId++; cls = cls || ''; - if(this.rendered){ - if(this.currIconCls){ + if (this.rendered) { + if (this.currIconCls) { this.statusEl.removeClass(this.currIconCls); this.currIconCls = null; } - if(cls.length > 0){ + if (cls.length > 0) { this.statusEl.addClass(cls); this.currIconCls = cls; } - }else{ + } else { this.currIconCls = cls; } return this; @@ -404,15 +408,15 @@ statusBar.setStatus({ * {@link #busyIconCls} will be used in conjunction with all of the default options for {@link #setStatus}. * @return {Ext.ux.StatusBar} this */ - showBusy : function(o){ - if(typeof o == 'string'){ - o = {text:o}; + showBusy: function(o) { + if (typeof o == 'string') { + o = { text: o }; } o = Ext.applyIf(o || {}, { text: this.busyText, - iconCls: this.busyIconCls + iconCls: this.busyIconCls, }); return this.setStatus(o); - } + }, }); Ext.reg('statusbar', Ext.ux.StatusBar); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/FileUploadField.js b/deluge/ui/web/js/extjs/ext-extensions/form/FileUploadField.js index e89e91a6a..ea3273939 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/FileUploadField.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/FileUploadField.js @@ -12,7 +12,7 @@ Ext.ns('Ext.ux.form'); * Creates a file upload field. * @xtype fileuploadfield */ -Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { +Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { /** * @cfg {String} buttonText The button text to display on the upload button (defaults to * 'Browse...'). Note that if you supply a value for {@link #buttonCfg}, the buttonCfg.text @@ -43,7 +43,7 @@ Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { autoSize: Ext.emptyFn, // private - initComponent: function(){ + initComponent: function() { Ext.ux.form.FileUploadField.superclass.initComponent.call(this); this.addEvents( @@ -59,23 +59,29 @@ Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { }, // private - onRender : function(ct, position){ - Ext.ux.form.FileUploadField.superclass.onRender.call(this, ct, position); + onRender: function(ct, position) { + Ext.ux.form.FileUploadField.superclass.onRender.call( + this, + ct, + position + ); - this.wrap = this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'}); + this.wrap = this.el.wrap({ cls: 'x-form-field-wrap x-form-file-wrap' }); this.el.addClass('x-form-file-text'); this.el.dom.removeAttribute('name'); this.createFileInput(); var btnCfg = Ext.applyIf(this.buttonCfg || {}, { - text: this.buttonText + text: this.buttonText, }); - this.button = new Ext.Button(Ext.apply(btnCfg, { - renderTo: this.wrap, - cls: 'x-form-file-btn' + (btnCfg.iconCls ? ' x-btn-icon' : '') - })); + this.button = new Ext.Button( + Ext.apply(btnCfg, { + renderTo: this.wrap, + cls: 'x-form-file-btn' + (btnCfg.iconCls ? ' x-btn-icon' : ''), + }) + ); - if(this.buttonOnly){ + if (this.buttonOnly) { this.el.hide(); this.wrap.setWidth(this.button.getEl().getWidth()); } @@ -83,42 +89,50 @@ Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { this.bindListeners(); this.resizeEl = this.positionEl = this.wrap; }, - - bindListeners: function(){ + + bindListeners: function() { this.fileInput.on({ scope: this, mouseenter: function() { - this.button.addClass(['x-btn-over','x-btn-focus']) + this.button.addClass(['x-btn-over', 'x-btn-focus']); }, - mouseleave: function(){ - this.button.removeClass(['x-btn-over','x-btn-focus','x-btn-click']) + mouseleave: function() { + this.button.removeClass([ + 'x-btn-over', + 'x-btn-focus', + 'x-btn-click', + ]); }, - mousedown: function(){ - this.button.addClass('x-btn-click') + mousedown: function() { + this.button.addClass('x-btn-click'); }, - mouseup: function(){ - this.button.removeClass(['x-btn-over','x-btn-focus','x-btn-click']) + mouseup: function() { + this.button.removeClass([ + 'x-btn-over', + 'x-btn-focus', + 'x-btn-click', + ]); }, - change: function(){ + change: function() { var v = this.fileInput.dom.value; this.setValue(v); - this.fireEvent('fileselected', this, v); - } - }); + this.fireEvent('fileselected', this, v); + }, + }); }, - - createFileInput : function() { + + createFileInput: function() { this.fileInput = this.wrap.createChild({ id: this.getFileInputId(), - name: this.name||this.getId(), + name: this.name || this.getId(), cls: 'x-form-file', tag: 'input', type: 'file', - size: 1 + size: 1, }); }, - - reset : function(){ + + reset: function() { if (this.rendered) { this.fileInput.remove(); this.createFileInput(); @@ -128,54 +142,54 @@ Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { }, // private - getFileInputId: function(){ + getFileInputId: function() { return this.id + '-file'; }, // private - onResize : function(w, h){ + onResize: function(w, h) { Ext.ux.form.FileUploadField.superclass.onResize.call(this, w, h); this.wrap.setWidth(w); - if(!this.buttonOnly){ - var w = this.wrap.getWidth() - this.button.getEl().getWidth() - this.buttonOffset; + if (!this.buttonOnly) { + var w = + this.wrap.getWidth() - + this.button.getEl().getWidth() - + this.buttonOffset; this.el.setWidth(w); } }, // private - onDestroy: function(){ + onDestroy: function() { Ext.ux.form.FileUploadField.superclass.onDestroy.call(this); Ext.destroy(this.fileInput, this.button, this.wrap); }, - - onDisable: function(){ + + onDisable: function() { Ext.ux.form.FileUploadField.superclass.onDisable.call(this); this.doDisable(true); }, - - onEnable: function(){ + + onEnable: function() { Ext.ux.form.FileUploadField.superclass.onEnable.call(this); this.doDisable(false); - }, - + // private - doDisable: function(disabled){ + doDisable: function(disabled) { this.fileInput.dom.disabled = disabled; this.button.setDisabled(disabled); }, - // private - preFocus : Ext.emptyFn, + preFocus: Ext.emptyFn, // private - alignErrorIcon : function(){ + alignErrorIcon: function() { this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]); - } - + }, }); Ext.reg('fileuploadfield', Ext.ux.form.FileUploadField); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/RadioGroupFix.js b/deluge/ui/web/js/extjs/ext-extensions/form/RadioGroupFix.js index 01514b357..7ddfab80f 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/RadioGroupFix.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/RadioGroupFix.js @@ -10,7 +10,6 @@ // Allow radiogroups to be treated as a single form element. Ext.override(Ext.form.RadioGroup, { - afterRender: function() { this.items.each(function(i) { this.relayEvents(i, ['check']); @@ -20,7 +19,7 @@ Ext.override(Ext.form.RadioGroup, { delete this.value; delete this.lazyValue; } - Ext.form.RadioGroup.superclass.afterRender.call(this) + Ext.form.RadioGroup.superclass.afterRender.call(this); }, getName: function() { @@ -39,11 +38,13 @@ Ext.override(Ext.form.RadioGroup, { } this.items.each(function(item) { if (item.rendered) { - var checked = (item.el.getValue() == String(v)); + var checked = item.el.getValue() == String(v); item.el.dom.checked = checked; item.el.dom.defaultChecked = checked; - item.wrap[checked ? 'addClass' : 'removeClass'](item.checkedCls); + item.wrap[checked ? 'addClass' : 'removeClass']( + item.checkedCls + ); } }); - } + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerField.js b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerField.js index 138a29633..417d16ed0 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerField.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerField.js @@ -20,39 +20,46 @@ Ext.ux.form.SpinnerField = Ext.extend(Ext.form.NumberField, { adjustSize: Ext.BoxComponent.prototype.adjustSize, constructor: function(config) { - var spinnerConfig = Ext.copyTo({}, config, 'incrementValue,alternateIncrementValue,accelerate,defaultValue,triggerClass,splitterClass'); + var spinnerConfig = Ext.copyTo( + {}, + config, + 'incrementValue,alternateIncrementValue,accelerate,defaultValue,triggerClass,splitterClass' + ); - var spl = this.spinner = new Ext.ux.Spinner(spinnerConfig); + var spl = (this.spinner = new Ext.ux.Spinner(spinnerConfig)); - var plugins = config.plugins - ? (Ext.isArray(config.plugins) - ? config.plugins.push(spl) - : [config.plugins, spl]) - : spl; + var plugins = config.plugins + ? Ext.isArray(config.plugins) + ? config.plugins.push(spl) + : [config.plugins, spl] + : spl; - Ext.ux.form.SpinnerField.superclass.constructor.call(this, Ext.apply(config, {plugins: plugins})); + Ext.ux.form.SpinnerField.superclass.constructor.call( + this, + Ext.apply(config, { plugins: plugins }) + ); }, // private - getResizeEl: function(){ + getResizeEl: function() { return this.wrap; }, // private - getPositionEl: function(){ + getPositionEl: function() { return this.wrap; }, // private - alignErrorIcon: function(){ + alignErrorIcon: function() { if (this.wrap) { this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]); } }, - validateBlur: function(){ + validateBlur: function() { return true; - } + }, }); Ext.reg('spinnerfield', Ext.ux.form.SpinnerField); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerFieldFix.js b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerFieldFix.js index 82a9f4a2d..c4ee7e75f 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerFieldFix.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerFieldFix.js @@ -9,5 +9,5 @@ */ Ext.override(Ext.ux.form.SpinnerField, { - onBlur: Ext.form.Field.prototype.onBlur + onBlur: Ext.form.Field.prototype.onBlur, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js index e4f5a5c5e..3fdfe8359 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/SpinnerGroup.js @@ -13,7 +13,6 @@ Ext.ns('Ext.ux.form'); * */ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { - // private defaultType: 'spinnerfield', anchor: '98%', @@ -24,52 +23,54 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { colCfg: {}, // private - onRender : function(ct, position){ - if(!this.el){ + onRender: function(ct, position) { + if (!this.el) { var panelCfg = { cls: this.groupCls, layout: 'column', border: false, - renderTo: ct + renderTo: ct, }; - var colCfg = Ext.apply({ - defaultType: this.defaultType, - layout: 'form', - border: false, - labelWidth: 60, - defaults: { - hideLabel: true, - anchor: '60%' - } - }, this.colCfg); - - if(this.items[0].items){ - + var colCfg = Ext.apply( + { + defaultType: this.defaultType, + layout: 'form', + border: false, + labelWidth: 60, + defaults: { + hideLabel: true, + anchor: '60%', + }, + }, + this.colCfg + ); + + if (this.items[0].items) { // The container has standard ColumnLayout configs, so pass them in directly Ext.apply(panelCfg, { - layoutConfig: {columns: this.items.length}, + layoutConfig: { columns: this.items.length }, defaults: this.defaults, - items: this.items + items: this.items, }); - for(var i=0, len=this.items.length; i<len; i++){ + for (var i = 0, len = this.items.length; i < len; i++) { Ext.applyIf(this.items[i], colCfg); - }; - - }else{ - + } + } else { // The container has field item configs, so we have to generate the column // panels first then move the items into the columns as needed. - var numCols, cols = []; + var numCols, + cols = []; - if(typeof this.columns == 'string'){ // 'auto' so create a col per item + if (typeof this.columns == 'string') { + // 'auto' so create a col per item this.columns = this.items.length; } - if(!Ext.isArray(this.columns)){ + if (!Ext.isArray(this.columns)) { var cs = []; - for(var i=0; i<this.columns; i++){ - cs.push((100/this.columns)*.01); // distribute by even % + for (var i = 0; i < this.columns; i++) { + cs.push((100 / this.columns) * 0.01); // distribute by even % } this.columns = cs; } @@ -77,54 +78,60 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { numCols = this.columns.length; // Generate the column configs with the correct width setting - for(var i=0; i<numCols; i++){ - var cc = Ext.apply({items:[]}, colCfg); - cc[this.columns[i] <= 1 ? 'columnWidth' : 'width'] = this.columns[i]; - if(this.defaults){ - cc.defaults = Ext.apply(cc.defaults || {}, this.defaults) + for (var i = 0; i < numCols; i++) { + var cc = Ext.apply({ items: [] }, colCfg); + cc[ + this.columns[i] <= 1 ? 'columnWidth' : 'width' + ] = this.columns[i]; + if (this.defaults) { + cc.defaults = Ext.apply( + cc.defaults || {}, + this.defaults + ); } cols.push(cc); - }; + } // Distribute the original items into the columns - if(this.vertical){ - var rows = Math.ceil(this.items.length / numCols), ri = 0; - for(var i=0, len=this.items.length; i<len; i++){ - if(i>0 && i%rows==0){ + if (this.vertical) { + var rows = Math.ceil(this.items.length / numCols), + ri = 0; + for (var i = 0, len = this.items.length; i < len; i++) { + if (i > 0 && i % rows == 0) { ri++; } - if(this.items[i].fieldLabel){ + if (this.items[i].fieldLabel) { this.items[i].hideLabel = false; } cols[ri].items.push(this.items[i]); - }; - }else{ - for(var i=0, len=this.items.length; i<len; i++){ + } + } else { + for (var i = 0, len = this.items.length; i < len; i++) { var ci = i % numCols; - if(this.items[i].fieldLabel){ + if (this.items[i].fieldLabel) { this.items[i].hideLabel = false; } cols[ci].items.push(this.items[i]); - }; + } } Ext.apply(panelCfg, { - layoutConfig: {columns: numCols}, - items: cols + layoutConfig: { columns: numCols }, + items: cols, }); } this.panel = new Ext.Panel(panelCfg); this.el = this.panel.getEl(); - if(this.forId && this.itemCls){ + if (this.forId && this.itemCls) { var l = this.el.up(this.itemCls).child('label', true); - if(l){ + if (l) { l.setAttribute('htmlFor', this.forId); } } - var fields = this.panel.findBy(function(c){ + var fields = this.panel.findBy(function(c) { return c.isFormField; }, this); @@ -156,7 +163,7 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { this.fireEvent('change', this, this.getValue()); }, - initValue : Ext.emptyFn, + initValue: Ext.emptyFn, getValue: function() { var value = [this.items.getCount()]; @@ -194,6 +201,6 @@ Ext.ux.form.SpinnerGroup = Ext.extend(Ext.form.CheckboxGroup, { item.setRawValue(value[i]); }); } - } + }, }); Ext.reg('spinnergroup', Ext.ux.form.SpinnerGroup); diff --git a/deluge/ui/web/js/extjs/ext-extensions/form/ToggleField.js b/deluge/ui/web/js/extjs/ext-extensions/form/ToggleField.js index e2944b4e4..5b40482e3 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/form/ToggleField.js +++ b/deluge/ui/web/js/extjs/ext-extensions/form/ToggleField.js @@ -7,19 +7,18 @@ * the additional special exception to link portions of this program with the OpenSSL library. * See LICENSE for more details. */ -Ext.namespace("Ext.ux.form"); +Ext.namespace('Ext.ux.form'); /** - * Ext.ux.form.ToggleField class - * - * @author Damien Churchill - * @version v0.1 - * - * @class Ext.ux.form.ToggleField - * @extends Ext.form.TriggerField - */ + * Ext.ux.form.ToggleField class + * + * @author Damien Churchill + * @version v0.1 + * + * @class Ext.ux.form.ToggleField + * @extends Ext.form.TriggerField + */ Ext.ux.form.ToggleField = Ext.extend(Ext.form.Field, { - cls: 'x-toggle-field', initComponent: function() { @@ -29,7 +28,7 @@ Ext.ux.form.ToggleField = Ext.extend(Ext.form.Field, { this.toggle.on('check', this.onToggleCheck, this); this.input = new Ext.form.TextField({ - disabled: true + disabled: true, }); }, @@ -39,10 +38,10 @@ Ext.ux.form.ToggleField = Ext.extend(Ext.form.Field, { cls: this.groupCls, layout: 'table', layoutConfig: { - columns: 2 + columns: 2, }, border: false, - renderTo: ct + renderTo: ct, }); this.panel.ownerCt = this; this.el = this.panel.getEl(); @@ -51,7 +50,10 @@ Ext.ux.form.ToggleField = Ext.extend(Ext.form.Field, { this.panel.add(this.input); this.panel.doLayout(); - this.toggle.getEl().parent().setStyle('padding-right', '10px'); + this.toggle + .getEl() + .parent() + .setStyle('padding-right', '10px'); } Ext.ux.form.ToggleField.superclass.onRender.call(this, ct, position); }, @@ -68,6 +70,6 @@ Ext.ux.form.ToggleField = Ext.extend(Ext.form.Field, { onToggleCheck: function(toggle, checked) { this.input.setDisabled(!checked); - } + }, }); Ext.reg('togglefield', Ext.ux.form.ToggleField); diff --git a/deluge/ui/web/js/extjs/ext-extensions/grid/BufferView.js b/deluge/ui/web/js/extjs/ext-extensions/grid/BufferView.js index d67058d0f..6115d6dae 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/grid/BufferView.js +++ b/deluge/ui/web/js/extjs/ext-extensions/grid/BufferView.js @@ -46,7 +46,7 @@ Ext.ux.grid.BufferView = Ext.extend(Ext.grid.GridView, { */ cleanDelay: 500, - initTemplates : function(){ + initTemplates: function() { Ext.ux.grid.BufferView.superclass.initTemplates.call(this); var ts = this.templates; // empty div to act as a place holder for a row @@ -59,67 +59,80 @@ Ext.ux.grid.BufferView = Ext.extend(Ext.grid.GridView, { ts.rowBody = new Ext.Template( '<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">', '<tbody><tr>{cells}</tr>', - (this.enableRowBody ? '<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>' : ''), + this.enableRowBody + ? '<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>' + : '', '</tbody></table>' ); ts.rowBody.disableFormats = true; ts.rowBody.compile(); }, - getStyleRowHeight : function(){ - return Ext.isBorderBox ? (this.rowHeight + this.borderHeight) : this.rowHeight; + getStyleRowHeight: function() { + return Ext.isBorderBox + ? this.rowHeight + this.borderHeight + : this.rowHeight; }, - getCalculatedRowHeight : function(){ + getCalculatedRowHeight: function() { return this.rowHeight + this.borderHeight; }, - getVisibleRowCount : function(){ + getVisibleRowCount: function() { var rh = this.getCalculatedRowHeight(), visibleHeight = this.scroller.dom.clientHeight; - return (visibleHeight < 1) ? 0 : Math.ceil(visibleHeight / rh); + return visibleHeight < 1 ? 0 : Math.ceil(visibleHeight / rh); }, - getVisibleRows: function(){ + getVisibleRows: function() { var count = this.getVisibleRowCount(), sc = this.scroller.dom.scrollTop, - start = (sc === 0 ? 0 : Math.floor(sc/this.getCalculatedRowHeight())-1); + start = + sc === 0 + ? 0 + : Math.floor(sc / this.getCalculatedRowHeight()) - 1; return { first: Math.max(start, 0), - last: Math.min(start + count + 2, this.ds.getCount()-1) + last: Math.min(start + count + 2, this.ds.getCount() - 1), }; }, - doRender : function(cs, rs, ds, startRow, colCount, stripe, onlyBody){ + doRender: function(cs, rs, ds, startRow, colCount, stripe, onlyBody) { var ts = this.templates, - ct = ts.cell, - rt = ts.row, - rb = ts.rowBody, - last = colCount-1, + ct = ts.cell, + rt = ts.row, + rb = ts.rowBody, + last = colCount - 1, rh = this.getStyleRowHeight(), vr = this.getVisibleRows(), - tstyle = 'width:'+this.getTotalWidth()+';height:'+rh+'px;', + tstyle = 'width:' + this.getTotalWidth() + ';height:' + rh + 'px;', // buffers buf = [], - cb, - c, - p = {}, - rp = {tstyle: tstyle}, - r; + cb, + c, + p = {}, + rp = { tstyle: tstyle }, + r; for (var j = 0, len = rs.length; j < len; j++) { - r = rs[j]; cb = []; - var rowIndex = (j+startRow), + r = rs[j]; + cb = []; + var rowIndex = j + startRow, visible = rowIndex >= vr.first && rowIndex <= vr.last; if (visible) { for (var i = 0; i < colCount; i++) { c = cs[i]; p.id = c.id; - p.css = i === 0 ? 'x-grid3-cell-first ' : (i == last ? 'x-grid3-cell-last ' : ''); - p.attr = p.cellAttr = ""; + p.css = + i === 0 + ? 'x-grid3-cell-first ' + : i == last + ? 'x-grid3-cell-last ' + : ''; + p.attr = p.cellAttr = ''; p.value = c.renderer(r.data[c.name], p, r, rowIndex, i, ds); p.style = c.style; - if (p.value === undefined || p.value === "") { - p.value = " "; + if (p.value === undefined || p.value === '') { + p.value = ' '; } if (r.dirty && typeof r.modified[c.name] !== 'undefined') { p.css += ' x-grid3-dirty-cell'; @@ -128,64 +141,76 @@ Ext.ux.grid.BufferView = Ext.extend(Ext.grid.GridView, { } } var alt = []; - if(stripe && ((rowIndex+1) % 2 === 0)){ - alt[0] = "x-grid3-row-alt"; + if (stripe && (rowIndex + 1) % 2 === 0) { + alt[0] = 'x-grid3-row-alt'; } - if(r.dirty){ - alt[1] = " x-grid3-dirty-row"; + if (r.dirty) { + alt[1] = ' x-grid3-dirty-row'; } rp.cols = colCount; - if(this.getRowClass){ + if (this.getRowClass) { alt[2] = this.getRowClass(r, rowIndex, rp, ds); } - rp.alt = alt.join(" "); - rp.cells = cb.join(""); - buf[buf.length] = !visible ? ts.rowHolder.apply(rp) : (onlyBody ? rb.apply(rp) : rt.apply(rp)); + rp.alt = alt.join(' '); + rp.cells = cb.join(''); + buf[buf.length] = !visible + ? ts.rowHolder.apply(rp) + : onlyBody + ? rb.apply(rp) + : rt.apply(rp); } - return buf.join(""); + return buf.join(''); }, - isRowRendered: function(index){ + isRowRendered: function(index) { var row = this.getRow(index); return row && row.childNodes.length > 0; }, - syncScroll: function(){ + syncScroll: function() { Ext.ux.grid.BufferView.superclass.syncScroll.apply(this, arguments); this.update(); }, // a (optionally) buffered method to update contents of gridview - update: function(){ + update: function() { if (this.scrollDelay) { if (!this.renderTask) { this.renderTask = new Ext.util.DelayedTask(this.doUpdate, this); } this.renderTask.delay(this.scrollDelay); - }else{ + } else { this.doUpdate(); } }, - onRemove : function(ds, record, index, isUpdate){ - Ext.ux.grid.BufferView.superclass.onRemove.apply(this, arguments); - if(isUpdate !== true){ - this.update(); - } + onRemove: function(ds, record, index, isUpdate) { + Ext.ux.grid.BufferView.superclass.onRemove.apply(this, arguments); + if (isUpdate !== true) { + this.update(); + } }, - doUpdate: function(){ + doUpdate: function() { if (this.getVisibleRowCount() > 0) { var g = this.grid, - cm = g.colModel, - ds = g.store, - cs = this.getColumnData(), - vr = this.getVisibleRows(), - row; + cm = g.colModel, + ds = g.store, + cs = this.getColumnData(), + vr = this.getVisibleRows(), + row; for (var i = vr.first; i <= vr.last; i++) { // if row is NOT rendered and is visible, render it - if(!this.isRowRendered(i) && (row = this.getRow(i))){ - var html = this.doRender(cs, [ds.getAt(i)], ds, i, cm.getColumnCount(), g.stripeRows, true); + if (!this.isRowRendered(i) && (row = this.getRow(i))) { + var html = this.doRender( + cs, + [ds.getAt(i)], + ds, + i, + cm.getColumnCount(), + g.stripeRows, + true + ); row.innerHTML = html; } } @@ -194,26 +219,27 @@ Ext.ux.grid.BufferView = Ext.extend(Ext.grid.GridView, { }, // a buffered method to clean rows - clean : function(){ - if(!this.cleanTask){ + clean: function() { + if (!this.cleanTask) { this.cleanTask = new Ext.util.DelayedTask(this.doClean, this); } this.cleanTask.delay(this.cleanDelay); }, - doClean: function(){ + doClean: function() { if (this.getVisibleRowCount() > 0) { var vr = this.getVisibleRows(); vr.first -= this.cacheSize; vr.last += this.cacheSize; - var i = 0, rows = this.getRows(); + var i = 0, + rows = this.getRows(); // if first is less than 0, all rows have been rendered // so lets clean the end... - if(vr.first <= 0){ + if (vr.first <= 0) { i = vr.last + 1; } - for(var len = this.ds.getCount(); i < len; i++){ + for (var len = this.ds.getCount(); i < len; i++) { // if current row is outside of first and last and // has content, update the innerHTML to nothing if ((i < vr.first || i > vr.last) && rows[i].innerHTML) { @@ -223,22 +249,22 @@ Ext.ux.grid.BufferView = Ext.extend(Ext.grid.GridView, { } }, - removeTask: function(name){ - var task = this[name]; - if(task && task.cancel){ - task.cancel(); - this[name] = null; - } + removeTask: function(name) { + var task = this[name]; + if (task && task.cancel) { + task.cancel(); + this[name] = null; + } }, - destroy : function(){ - this.removeTask('cleanTask'); - this.removeTask('renderTask'); - Ext.ux.grid.BufferView.superclass.destroy.call(this); + destroy: function() { + this.removeTask('cleanTask'); + this.removeTask('renderTask'); + Ext.ux.grid.BufferView.superclass.destroy.call(this); }, - layout: function(){ + layout: function() { Ext.ux.grid.BufferView.superclass.layout.call(this); this.update(); - } + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/layout/FormLayoutFix.js b/deluge/ui/web/js/extjs/ext-extensions/layout/FormLayoutFix.js index 58ab06ded..9a03d10a1 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/layout/FormLayoutFix.js +++ b/deluge/ui/web/js/extjs/ext-extensions/layout/FormLayoutFix.js @@ -12,23 +12,28 @@ // remove spaces for hidden elements and make show(), hide(), enable() and disable() act on // the label. don't use hideLabel with this. Ext.override(Ext.layout.FormLayout, { - renderItem : function(c, position, target){ - if(c && !c.rendered && (c.isFormField || c.fieldLabel) && c.inputType != 'hidden'){ + renderItem: function(c, position, target) { + if ( + c && + !c.rendered && + (c.isFormField || c.fieldLabel) && + c.inputType != 'hidden' + ) { var args = this.getTemplateArgs(c); - if(typeof position == 'number'){ + if (typeof position == 'number') { position = target.dom.childNodes[position] || null; } - if(position){ + if (position) { c.formItem = this.fieldTpl.insertBefore(position, args, true); - }else{ + } else { c.formItem = this.fieldTpl.append(target, args, true); } c.actionMode = 'formItem'; - c.render('x-form-el-'+c.id); + c.render('x-form-el-' + c.id); c.container = c.formItem; c.actionMode = 'container'; - }else { + } else { Ext.layout.FormLayout.superclass.renderItem.apply(this, arguments); } - } + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/MultiSelectionModelFix.js b/deluge/ui/web/js/extjs/ext-extensions/tree/MultiSelectionModelFix.js index cc33e955e..8046e64ee 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/MultiSelectionModelFix.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/MultiSelectionModelFix.js @@ -13,8 +13,7 @@ * @author Damien Churchill <damoxc@gmail.com> */ Ext.override(Ext.tree.MultiSelectionModel, { - - onNodeClick: function (node, e) { + onNodeClick: function(node, e) { if (e.ctrlKey && this.isSelected(node)) { this.unselect(node); } else if (e.shiftKey && !this.isSelected(node)) { @@ -31,7 +30,7 @@ Ext.override(Ext.tree.MultiSelectionModel, { // Swap the values if required if (fi > li) { - fi = fi + li, li = fi - li, fi = fi - li; + (fi = fi + li), (li = fi - li), (fi = fi - li); } // Select all the nodes @@ -50,13 +49,13 @@ Ext.override(Ext.tree.MultiSelectionModel, { }, select: function(node, e, keepExisting, suppressEvent) { - if(keepExisting !== true){ + if (keepExisting !== true) { this.clearSelections(true); - } - if(this.isSelected(node)){ + } + if (this.isSelected(node)) { this.lastSelNode = node; return node; - } + } this.selNodes.push(node); this.selMap[node.id] = node; this.lastSelNode = node; @@ -65,6 +64,5 @@ Ext.override(Ext.tree.MultiSelectionModel, { this.fireEvent('selectionchange', this, this.selNodes); } return node; - } - + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGrid.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGrid.js index c0eba39b4..aaadd4c99 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGrid.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGrid.js @@ -13,33 +13,33 @@ Ext.ns('Ext.ux.tree'); * @xtype treegrid */ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { - rootVisible : false, - useArrows : true, - lines : false, - borderWidth : Ext.isBorderBox ? 0 : 2, // the combined left/right border for each cell - cls : 'x-treegrid', - - columnResize : true, - enableSort : true, - reserveScrollOffset : true, - enableHdMenu : true, - - columnsText : 'Columns', - - initComponent : function() { - if(!this.root) { - this.root = new Ext.tree.AsyncTreeNode({text: 'Root'}); + rootVisible: false, + useArrows: true, + lines: false, + borderWidth: Ext.isBorderBox ? 0 : 2, // the combined left/right border for each cell + cls: 'x-treegrid', + + columnResize: true, + enableSort: true, + reserveScrollOffset: true, + enableHdMenu: true, + + columnsText: 'Columns', + + initComponent: function() { + if (!this.root) { + this.root = new Ext.tree.AsyncTreeNode({ text: 'Root' }); } // initialize the loader var l = this.loader; - if(!l){ + if (!l) { l = new Ext.ux.tree.TreeGridLoader({ dataUrl: this.dataUrl, requestMethod: this.requestMethod, - store: this.store + store: this.store, }); - }else if(Ext.isObject(l) && !l.load){ + } else if (Ext.isObject(l) && !l.load) { l = new Ext.ux.tree.TreeGridLoader(l); } this.loader = l; @@ -48,63 +48,77 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { this.initColumns(); - if(this.enableSort) { - this.treeGridSorter = new Ext.ux.tree.TreeGridSorter(this, this.enableSort); + if (this.enableSort) { + this.treeGridSorter = new Ext.ux.tree.TreeGridSorter( + this, + this.enableSort + ); } - if(this.columnResize){ + if (this.columnResize) { this.colResizer = new Ext.tree.ColumnResizer(this.columnResize); this.colResizer.init(this); } var c = this.columns; - if(!this.internalTpl){ + if (!this.internalTpl) { this.internalTpl = new Ext.XTemplate( '<div class="x-grid3-header">', - '<div class="x-treegrid-header-inner">', - '<div class="x-grid3-header-offset">', - '<table style="table-layout: fixed;" cellspacing="0" cellpadding="0" border="0"><colgroup><tpl for="columns"><col /></tpl></colgroup>', - '<thead><tr class="x-grid3-hd-row">', - '<tpl for="columns">', - '<td class="x-grid3-hd x-grid3-cell x-treegrid-hd" style="text-align: {align};" id="', this.id, '-xlhd-{#}">', - '<div class="x-grid3-hd-inner x-treegrid-hd-inner" unselectable="on">', - this.enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '', - '{header}<img class="x-grid3-sort-icon" src="', Ext.BLANK_IMAGE_URL, '" />', - '</div>', - '</td></tpl>', - '</tr></thead>', - '</table>', - '</div></div>', + '<div class="x-treegrid-header-inner">', + '<div class="x-grid3-header-offset">', + '<table style="table-layout: fixed;" cellspacing="0" cellpadding="0" border="0"><colgroup><tpl for="columns"><col /></tpl></colgroup>', + '<thead><tr class="x-grid3-hd-row">', + '<tpl for="columns">', + '<td class="x-grid3-hd x-grid3-cell x-treegrid-hd" style="text-align: {align};" id="', + this.id, + '-xlhd-{#}">', + '<div class="x-grid3-hd-inner x-treegrid-hd-inner" unselectable="on">', + this.enableHdMenu + ? '<a class="x-grid3-hd-btn" href="#"></a>' + : '', + '{header}<img class="x-grid3-sort-icon" src="', + Ext.BLANK_IMAGE_URL, + '" />', + '</div>', + '</td></tpl>', + '</tr></thead>', + '</table>', + '</div></div>', '</div>', '<div class="x-treegrid-root-node">', - '<table class="x-treegrid-root-table" cellpadding="0" cellspacing="0" style="table-layout: fixed;"></table>', + '<table class="x-treegrid-root-table" cellpadding="0" cellspacing="0" style="table-layout: fixed;"></table>', '</div>' ); } - if(!this.colgroupTpl) { + if (!this.colgroupTpl) { this.colgroupTpl = new Ext.XTemplate( '<colgroup><tpl for="columns"><col style="width: {width}px"/></tpl></colgroup>' ); } }, - initColumns : function() { + initColumns: function() { var cs = this.columns, len = cs.length, columns = [], - i, c; + i, + c; - for(i = 0; i < len; i++){ + for (i = 0; i < len; i++) { c = cs[i]; - if(!c.isColumn) { - c.xtype = c.xtype ? (/^tg/.test(c.xtype) ? c.xtype : 'tg' + c.xtype) : 'tgcolumn'; + if (!c.isColumn) { + c.xtype = c.xtype + ? /^tg/.test(c.xtype) + ? c.xtype + : 'tg' + c.xtype + : 'tgcolumn'; c = Ext.create(c); } c.init(this); columns.push(c); - if(this.enableSort !== false && c.sortable !== false) { + if (this.enableSort !== false && c.sortable !== false) { c.sortable = true; this.enableSort = true; } @@ -113,69 +127,78 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { this.columns = columns; }, - onRender : function(){ + onRender: function() { Ext.tree.TreePanel.superclass.onRender.apply(this, arguments); this.el.addClass('x-treegrid'); this.outerCt = this.body.createChild({ - cls:'x-tree-root-ct x-treegrid-ct ' + (this.useArrows ? 'x-tree-arrows' : this.lines ? 'x-tree-lines' : 'x-tree-no-lines') + cls: + 'x-tree-root-ct x-treegrid-ct ' + + (this.useArrows + ? 'x-tree-arrows' + : this.lines + ? 'x-tree-lines' + : 'x-tree-no-lines'), }); - this.internalTpl.overwrite(this.outerCt, {columns: this.columns}); + this.internalTpl.overwrite(this.outerCt, { columns: this.columns }); this.mainHd = Ext.get(this.outerCt.dom.firstChild); this.innerHd = Ext.get(this.mainHd.dom.firstChild); this.innerBody = Ext.get(this.outerCt.dom.lastChild); this.innerCt = Ext.get(this.innerBody.dom.firstChild); - this.colgroupTpl.insertFirst(this.innerCt, {columns: this.columns}); + this.colgroupTpl.insertFirst(this.innerCt, { columns: this.columns }); - if(this.hideHeaders){ + if (this.hideHeaders) { this.el.child('.x-grid3-header').setDisplayed('none'); - } - else if(this.enableHdMenu !== false){ - this.hmenu = new Ext.menu.Menu({id: this.id + '-hctx'}); - if(this.enableColumnHide !== false){ - this.colMenu = new Ext.menu.Menu({id: this.id + '-hcols-menu'}); + } else if (this.enableHdMenu !== false) { + this.hmenu = new Ext.menu.Menu({ id: this.id + '-hctx' }); + if (this.enableColumnHide !== false) { + this.colMenu = new Ext.menu.Menu({ + id: this.id + '-hcols-menu', + }); this.colMenu.on({ scope: this, beforeshow: this.beforeColMenuShow, - itemclick: this.handleHdMenuClick + itemclick: this.handleHdMenuClick, }); this.hmenu.add({ - itemId:'columns', + itemId: 'columns', hideOnClick: false, text: this.columnsText, menu: this.colMenu, - iconCls: 'x-cols-icon' + iconCls: 'x-cols-icon', }); } this.hmenu.on('itemclick', this.handleHdMenuClick, this); } }, - setRootNode : function(node){ + setRootNode: function(node) { node.attributes.uiProvider = Ext.ux.tree.TreeGridRootNodeUI; node = Ext.ux.tree.TreeGrid.superclass.setRootNode.call(this, node); - if(this.innerCt) { - this.colgroupTpl.insertFirst(this.innerCt, {columns: this.columns}); + if (this.innerCt) { + this.colgroupTpl.insertFirst(this.innerCt, { + columns: this.columns, + }); } return node; }, - clearInnerCt : function(){ - if(Ext.isIE){ + clearInnerCt: function() { + if (Ext.isIE) { var dom = this.innerCt.dom; - while(dom.firstChild){ + while (dom.firstChild) { dom.removeChild(dom.firstChild); } - }else{ + } else { Ext.ux.tree.TreeGrid.superclass.clearInnerCt.call(this); } }, - initEvents : function() { + initEvents: function() { Ext.ux.tree.TreeGrid.superclass.initEvents.apply(this, arguments); this.mon(this.innerBody, 'scroll', this.syncScroll, this); @@ -183,100 +206,118 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { this.mon(this.mainHd, { scope: this, mouseover: this.handleHdOver, - mouseout: this.handleHdOut + mouseout: this.handleHdOut, }); }, - onResize : function(w, h) { + onResize: function(w, h) { Ext.ux.tree.TreeGrid.superclass.onResize.apply(this, arguments); var bd = this.innerBody.dom; var hd = this.innerHd.dom; - if(!bd){ + if (!bd) { return; } - if(Ext.isNumber(h)){ - bd.style.height = this.body.getHeight(true) - hd.offsetHeight + 'px'; + if (Ext.isNumber(h)) { + bd.style.height = + this.body.getHeight(true) - hd.offsetHeight + 'px'; } - if(Ext.isNumber(w)){ + if (Ext.isNumber(w)) { var sw = Ext.num(this.scrollOffset, Ext.getScrollBarWidth()); - if(this.reserveScrollOffset || ((bd.offsetWidth - bd.clientWidth) > 10)){ + if ( + this.reserveScrollOffset || + bd.offsetWidth - bd.clientWidth > 10 + ) { this.setScrollOffset(sw); - }else{ + } else { var me = this; - setTimeout(function(){ - me.setScrollOffset(bd.offsetWidth - bd.clientWidth > 10 ? sw : 0); + setTimeout(function() { + me.setScrollOffset( + bd.offsetWidth - bd.clientWidth > 10 ? sw : 0 + ); }, 10); } } }, - updateColumnWidths : function() { + updateColumnWidths: function() { var cols = this.columns, colCount = cols.length, groups = this.outerCt.query('colgroup'), groupCount = groups.length, - c, g, i, j; + c, + g, + i, + j; - for(i = 0; i<colCount; i++) { + for (i = 0; i < colCount; i++) { c = cols[i]; - for(j = 0; j<groupCount; j++) { + for (j = 0; j < groupCount; j++) { g = groups[j]; g.childNodes[i].style.width = (c.hidden ? 0 : c.width) + 'px'; } } - for(i = 0, groups = this.innerHd.query('td'), len = groups.length; i<len; i++) { + for ( + i = 0, groups = this.innerHd.query('td'), len = groups.length; + i < len; + i++ + ) { c = Ext.fly(groups[i]); - if(cols[i] && cols[i].hidden) { + if (cols[i] && cols[i].hidden) { c.addClass('x-treegrid-hd-hidden'); - } - else { + } else { c.removeClass('x-treegrid-hd-hidden'); } } var tcw = this.getTotalColumnWidth(); - Ext.fly(this.innerHd.dom.firstChild).setWidth(tcw + (this.scrollOffset || 0)); + Ext.fly(this.innerHd.dom.firstChild).setWidth( + tcw + (this.scrollOffset || 0) + ); this.outerCt.select('table').setWidth(tcw); this.syncHeaderScroll(); }, - getVisibleColumns : function() { + getVisibleColumns: function() { var columns = [], cs = this.columns, len = cs.length, i; - for(i = 0; i<len; i++) { - if(!cs[i].hidden) { + for (i = 0; i < len; i++) { + if (!cs[i].hidden) { columns.push(cs[i]); } } return columns; }, - getTotalColumnWidth : function() { + getTotalColumnWidth: function() { var total = 0; - for(var i = 0, cs = this.getVisibleColumns(), len = cs.length; i<len; i++) { + for ( + var i = 0, cs = this.getVisibleColumns(), len = cs.length; + i < len; + i++ + ) { total += cs[i].width; } return total; }, - setScrollOffset : function(scrollOffset) { + setScrollOffset: function(scrollOffset) { this.scrollOffset = scrollOffset; this.updateColumnWidths(); }, // private - handleHdDown : function(e, t){ + handleHdDown: function(e, t) { var hd = e.getTarget('.x-treegrid-hd'); - if(hd && Ext.fly(t).hasClass('x-grid3-hd-btn')){ + if (hd && Ext.fly(t).hasClass('x-grid3-hd-btn')) { var ms = this.hmenu.items, cs = this.columns, index = this.findHeaderIndex(hd), @@ -289,22 +330,26 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { this.fireEvent('headerbuttonclick', ms, c, hd, index); - this.hmenu.on('hide', function(){ - Ext.fly(hd).removeClass('x-grid3-hd-menu-open'); - }, this, {single:true}); + this.hmenu.on( + 'hide', + function() { + Ext.fly(hd).removeClass('x-grid3-hd-menu-open'); + }, + this, + { single: true } + ); this.hmenu.show(t, 'tl-bl?'); - } - else if(hd) { + } else if (hd) { var index = this.findHeaderIndex(hd); this.fireEvent('headerclick', this.columns[index], hd, index); } }, // private - handleHdOver : function(e, t){ + handleHdOver: function(e, t) { var hd = e.getTarget('.x-treegrid-hd'); - if(hd && !this.headersDisabled){ + if (hd && !this.headersDisabled) { index = this.findHeaderIndex(hd); this.activeHdRef = t; this.activeHdIndex = index; @@ -312,27 +357,28 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { this.activeHdRegion = el.getRegion(); el.addClass('x-grid3-hd-over'); this.activeHdBtn = el.child('.x-grid3-hd-btn'); - if(this.activeHdBtn){ - this.activeHdBtn.dom.style.height = (hd.firstChild.offsetHeight-1)+'px'; + if (this.activeHdBtn) { + this.activeHdBtn.dom.style.height = + hd.firstChild.offsetHeight - 1 + 'px'; } } }, // private - handleHdOut : function(e, t){ + handleHdOut: function(e, t) { var hd = e.getTarget('.x-treegrid-hd'); - if(hd && (!Ext.isIE || !e.within(hd, true))){ + if (hd && (!Ext.isIE || !e.within(hd, true))) { this.activeHdRef = null; Ext.fly(hd).removeClass('x-grid3-hd-over'); hd.style.cursor = ''; } }, - findHeaderIndex : function(hd){ + findHeaderIndex: function(hd) { hd = hd.dom || hd; var cs = hd.parentNode.childNodes; - for(var i = 0, c; c = cs[i]; i++){ - if(c == hd){ + for (var i = 0, c; (c = cs[i]); i++) { + if (c == hd) { return i; } } @@ -340,33 +386,43 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { }, // private - beforeColMenuShow : function(){ + beforeColMenuShow: function() { var cols = this.columns, colCount = cols.length, - i, c; + i, + c; this.colMenu.removeAll(); - for(i = 1; i < colCount; i++){ + for (i = 1; i < colCount; i++) { c = cols[i]; - if(c.hideable !== false){ - this.colMenu.add(new Ext.menu.CheckItem({ - itemId: 'col-' + i, - text: c.header, - checked: !c.hidden, - hideOnClick:false, - disabled: c.hideable === false - })); + if (c.hideable !== false) { + this.colMenu.add( + new Ext.menu.CheckItem({ + itemId: 'col-' + i, + text: c.header, + checked: !c.hidden, + hideOnClick: false, + disabled: c.hideable === false, + }) + ); } } }, // private - handleHdMenuClick : function(item){ + handleHdMenuClick: function(item) { var index = this.hdCtxIndex, id = item.getItemId(); - if(this.fireEvent('headermenuclick', this.columns[index], id, index) !== false) { + if ( + this.fireEvent( + 'headermenuclick', + this.columns[index], + id, + index + ) !== false + ) { index = id.substr(4); - if(index > 0 && this.columns[index]) { + if (index > 0 && this.columns[index]) { this.setColumnVisible(index, !item.checked); } } @@ -374,7 +430,7 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { return true; }, - setColumnVisible : function(index, visible) { + setColumnVisible: function(index, visible) { this.columns[index].hidden = !visible; this.updateColumnWidths(); }, @@ -382,31 +438,31 @@ Ext.ux.tree.TreeGrid = Ext.extend(Ext.tree.TreePanel, { /** * Scrolls the grid to the top */ - scrollToTop : function(){ + scrollToTop: function() { this.innerBody.dom.scrollTop = 0; this.innerBody.dom.scrollLeft = 0; }, // private - syncScroll : function(){ + syncScroll: function() { this.syncHeaderScroll(); var mb = this.innerBody.dom; this.fireEvent('bodyscroll', mb.scrollLeft, mb.scrollTop); }, // private - syncHeaderScroll : function(){ + syncHeaderScroll: function() { var mb = this.innerBody.dom; this.innerHd.dom.scrollLeft = mb.scrollLeft; this.innerHd.dom.scrollLeft = mb.scrollLeft; // second time for IE (1/2 time first fails, other browsers ignore) }, - registerNode : function(n) { + registerNode: function(n) { Ext.ux.tree.TreeGrid.superclass.registerNode.call(this, n); - if(!n.uiProvider && !n.isRoot && !n.ui.isTreeGridNodeUI) { + if (!n.uiProvider && !n.isRoot && !n.ui.isTreeGridNodeUI) { n.ui = new Ext.ux.tree.TreeGridNodeUI(n); } - } + }, }); Ext.reg('treegrid', Ext.ux.tree.TreeGrid); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumnResizer.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumnResizer.js index cc72698f0..cab2aa52a 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumnResizer.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumnResizer.js @@ -15,17 +15,17 @@ Ext.tree.ColumnResizer = Ext.extend(Ext.util.Observable, { */ minWidth: 14, - constructor: function(config){ + constructor: function(config) { Ext.apply(this, config); Ext.tree.ColumnResizer.superclass.constructor.call(this); }, - init : function(tree){ + init: function(tree) { this.tree = tree; tree.on('render', this.initEvents, this); }, - initEvents : function(tree){ + initEvents: function(tree) { tree.mon(tree.innerHd, 'mousemove', this.handleHdMove, this); this.tracker = new Ext.dd.DragTracker({ onBeforeStart: this.onBeforeStart.createDelegate(this), @@ -33,56 +33,56 @@ Ext.tree.ColumnResizer = Ext.extend(Ext.util.Observable, { onDrag: this.onDrag.createDelegate(this), onEnd: this.onEnd.createDelegate(this), tolerance: 3, - autoStart: 300 + autoStart: 300, }); this.tracker.initEl(tree.innerHd); tree.on('beforedestroy', this.tracker.destroy, this.tracker); }, - handleHdMove : function(e, t){ + handleHdMove: function(e, t) { var hw = 5, x = e.getPageX(), hd = e.getTarget('.x-treegrid-hd', 3, true); - - if(hd){ + + if (hd) { var r = hd.getRegion(), ss = hd.dom.style, pn = hd.dom.parentNode; - - if(x - r.left <= hw && hd.dom !== pn.firstChild) { + + if (x - r.left <= hw && hd.dom !== pn.firstChild) { var ps = hd.dom.previousSibling; - while(ps && Ext.fly(ps).hasClass('x-treegrid-hd-hidden')) { + while (ps && Ext.fly(ps).hasClass('x-treegrid-hd-hidden')) { ps = ps.previousSibling; } - if(ps) { + if (ps) { this.activeHd = Ext.get(ps); ss.cursor = Ext.isWebKit ? 'e-resize' : 'col-resize'; } - } else if(r.right - x <= hw) { + } else if (r.right - x <= hw) { var ns = hd.dom; - while(ns && Ext.fly(ns).hasClass('x-treegrid-hd-hidden')) { + while (ns && Ext.fly(ns).hasClass('x-treegrid-hd-hidden')) { ns = ns.previousSibling; } - if(ns) { + if (ns) { this.activeHd = Ext.get(ns); - ss.cursor = Ext.isWebKit ? 'w-resize' : 'col-resize'; + ss.cursor = Ext.isWebKit ? 'w-resize' : 'col-resize'; } - } else{ + } else { delete this.activeHd; ss.cursor = ''; } } }, - onBeforeStart : function(e){ + onBeforeStart: function(e) { this.dragHd = this.activeHd; return !!this.dragHd; }, - onStart : function(e){ + onStart: function(e) { this.dragHeadersDisabled = this.tree.headersDisabled; this.tree.headersDisabled = true; - this.proxy = this.tree.body.createChild({cls:'x-treegrid-resizer'}); + this.proxy = this.tree.body.createChild({ cls: 'x-treegrid-resizer' }); this.proxy.setHeight(this.tree.body.getHeight()); var x = this.tracker.getXY()[0]; @@ -91,29 +91,33 @@ Ext.tree.ColumnResizer = Ext.extend(Ext.util.Observable, { this.hdIndex = this.tree.findHeaderIndex(this.dragHd); this.proxy.setX(this.hdX); - this.proxy.setWidth(x-this.hdX); + this.proxy.setWidth(x - this.hdX); - this.maxWidth = this.tree.outerCt.getWidth() - this.tree.innerBody.translatePoints(this.hdX).left; + this.maxWidth = + this.tree.outerCt.getWidth() - + this.tree.innerBody.translatePoints(this.hdX).left; }, - onDrag : function(e){ + onDrag: function(e) { var cursorX = this.tracker.getXY()[0]; - this.proxy.setWidth((cursorX-this.hdX).constrain(this.minWidth, this.maxWidth)); + this.proxy.setWidth( + (cursorX - this.hdX).constrain(this.minWidth, this.maxWidth) + ); }, - onEnd : function(e){ + onEnd: function(e) { var nw = this.proxy.getWidth(), tree = this.tree, disabled = this.dragHeadersDisabled; - + this.proxy.remove(); delete this.dragHd; - + tree.columns[this.hdIndex].width = nw; tree.updateColumnWidths(); - - setTimeout(function(){ + + setTimeout(function() { tree.headersDisabled = disabled; }, 100); - } -});
\ No newline at end of file + }, +}); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumns.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumns.js index abcaae516..54e372374 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumns.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridColumns.js @@ -6,25 +6,26 @@ */ (function() { Ext.override(Ext.list.Column, { - init : function() { + init: function() { var types = Ext.data.Types, st = this.sortType; - if(this.type){ - if(Ext.isString(this.type)){ - this.type = Ext.data.Types[this.type.toUpperCase()] || types.AUTO; + if (this.type) { + if (Ext.isString(this.type)) { + this.type = + Ext.data.Types[this.type.toUpperCase()] || types.AUTO; } - }else{ + } else { this.type = types.AUTO; } // named sortTypes are supported, here we look them up - if(Ext.isString(st)){ + if (Ext.isString(st)) { this.sortType = Ext.data.SortTypes[st]; - }else if(Ext.isEmpty(st)){ + } else if (Ext.isEmpty(st)) { this.sortType = this.type.sortType; } - } + }, }); Ext.tree.Column = Ext.extend(Ext.list.Column, {}); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridLoader.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridLoader.js index 62eb417cb..b02dfbd42 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridLoader.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridLoader.js @@ -9,10 +9,10 @@ * @extends Ext.tree.TreeLoader */ Ext.ux.tree.TreeGridLoader = Ext.extend(Ext.tree.TreeLoader, { - createNode : function(attr) { + createNode: function(attr) { if (!attr.uiProvider) { attr.uiProvider = Ext.ux.tree.TreeGridNodeUI; } return Ext.tree.TreeLoader.prototype.createNode.call(this, attr); - } -});
\ No newline at end of file + }, +}); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUI.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUI.js index e12bf9500..371ea065d 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUI.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUI.js @@ -11,51 +11,93 @@ Ext.ux.tree.TreeGridNodeUI = Ext.extend(Ext.tree.TreeNodeUI, { isTreeGridNodeUI: true, - renderElements : function(n, a, targetNode, bulkRender){ + renderElements: function(n, a, targetNode, bulkRender) { var t = n.getOwnerTree(), cols = t.columns, c = cols[0], - i, buf, len; + i, + buf, + len; - this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : ''; + this.indentMarkup = n.parentNode + ? n.parentNode.ui.getChildIndent() + : ''; buf = [ - '<tbody class="x-tree-node">', - '<tr ext:tree-node-id="', n.id ,'" class="x-tree-node-el x-tree-node-leaf ', a.cls, '">', - '<td class="x-treegrid-col">', - '<span class="x-tree-node-indent">', this.indentMarkup, "</span>", - '<img src="', this.emptyIcon, '" class="x-tree-ec-icon x-tree-elbow" />', - '<img src="', a.icon || this.emptyIcon, '" class="x-tree-node-icon', (a.icon ? " x-tree-node-inline-icon" : ""), (a.iconCls ? " "+a.iconCls : ""), '" unselectable="on" />', - '<a hidefocus="on" class="x-tree-node-anchor" href="', a.href ? a.href : '#', '" tabIndex="1" ', - a.hrefTarget ? ' target="'+a.hrefTarget+'"' : '', '>', - '<span unselectable="on">', (c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text), '</span></a>', - '</td>' + '<tbody class="x-tree-node">', + '<tr ext:tree-node-id="', + n.id, + '" class="x-tree-node-el x-tree-node-leaf ', + a.cls, + '">', + '<td class="x-treegrid-col">', + '<span class="x-tree-node-indent">', + this.indentMarkup, + '</span>', + '<img src="', + this.emptyIcon, + '" class="x-tree-ec-icon x-tree-elbow" />', + '<img src="', + a.icon || this.emptyIcon, + '" class="x-tree-node-icon', + a.icon ? ' x-tree-node-inline-icon' : '', + a.iconCls ? ' ' + a.iconCls : '', + '" unselectable="on" />', + '<a hidefocus="on" class="x-tree-node-anchor" href="', + a.href ? a.href : '#', + '" tabIndex="1" ', + a.hrefTarget ? ' target="' + a.hrefTarget + '"' : '', + '>', + '<span unselectable="on">', + c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text, + '</span></a>', + '</td>', ]; - for(i = 1, len = cols.length; i < len; i++){ + for (i = 1, len = cols.length; i < len; i++) { c = cols[i]; buf.push( - '<td class="x-treegrid-col ', (c.cls ? c.cls : ''), '">', - '<div unselectable="on" class="x-treegrid-text"', (c.align ? ' style="text-align: ' + c.align + ';"' : ''), '>', - (c.tpl ? c.tpl.apply(a) : a[c.dataIndex]), - '</div>', - '</td>' + '<td class="x-treegrid-col ', + c.cls ? c.cls : '', + '">', + '<div unselectable="on" class="x-treegrid-text"', + c.align ? ' style="text-align: ' + c.align + ';"' : '', + '>', + c.tpl ? c.tpl.apply(a) : a[c.dataIndex], + '</div>', + '</td>' ); } buf.push( - '</tr><tr class="x-tree-node-ct"><td colspan="', cols.length, '">', - '<table class="x-treegrid-node-ct-table" cellpadding="0" cellspacing="0" style="table-layout: fixed; display: none; width: ', t.innerCt.getWidth() ,'px;"><colgroup>' + '</tr><tr class="x-tree-node-ct"><td colspan="', + cols.length, + '">', + '<table class="x-treegrid-node-ct-table" cellpadding="0" cellspacing="0" style="table-layout: fixed; display: none; width: ', + t.innerCt.getWidth(), + 'px;"><colgroup>' ); - for(i = 0, len = cols.length; i<len; i++) { - buf.push('<col style="width: ', (cols[i].hidden ? 0 : cols[i].width) ,'px;" />'); + for (i = 0, len = cols.length; i < len; i++) { + buf.push( + '<col style="width: ', + cols[i].hidden ? 0 : cols[i].width, + 'px;" />' + ); } buf.push('</colgroup></table></td></tr></tbody>'); - if(bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()){ - this.wrap = Ext.DomHelper.insertHtml("beforeBegin", n.nextSibling.ui.getEl(), buf.join('')); - }else{ - this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, buf.join('')); + if (bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()) { + this.wrap = Ext.DomHelper.insertHtml( + 'beforeBegin', + n.nextSibling.ui.getEl(), + buf.join('') + ); + } else { + this.wrap = Ext.DomHelper.insertHtml( + 'beforeEnd', + targetNode, + buf.join('') + ); } this.elNode = this.wrap.childNodes[0]; @@ -69,39 +111,39 @@ Ext.ux.tree.TreeGridNodeUI = Ext.extend(Ext.tree.TreeNodeUI, { }, // private - animExpand : function(cb){ - this.ctNode.style.display = ""; + animExpand: function(cb) { + this.ctNode.style.display = ''; Ext.ux.tree.TreeGridNodeUI.superclass.animExpand.call(this, cb); - } + }, }); Ext.ux.tree.TreeGridRootNodeUI = Ext.extend(Ext.tree.TreeNodeUI, { isTreeGridNodeUI: true, // private - render : function(){ - if(!this.rendered){ + render: function() { + if (!this.rendered) { this.wrap = this.ctNode = this.node.ownerTree.innerCt.dom; this.node.expanded = true; } - if(Ext.isWebKit) { + if (Ext.isWebKit) { // weird table-layout: fixed issue in webkit var ct = this.ctNode; ct.style.tableLayout = null; (function() { ct.style.tableLayout = 'fixed'; - }).defer(1); + }.defer(1)); } }, - destroy : function(){ - if(this.elNode){ + destroy: function() { + if (this.elNode) { Ext.dd.Registry.unregister(this.elNode.id); } delete this.node; }, - collapse : Ext.emptyFn, - expand : Ext.emptyFn -});
\ No newline at end of file + collapse: Ext.emptyFn, + expand: Ext.emptyFn, +}); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUIFix.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUIFix.js index e3a0f4e36..41966795d 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUIFix.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridNodeUIFix.js @@ -9,23 +9,25 @@ */ Ext.override(Ext.ux.tree.TreeGridNodeUI, { - updateColumns: function() { if (!this.rendered) return; - + var a = this.node.attributes, t = this.node.getOwnerTree(), cols = t.columns, c = cols[0]; // Update the first column - this.anchor.firstChild.innerHTML = (c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text); + this.anchor.firstChild.innerHTML = c.tpl + ? c.tpl.apply(a) + : a[c.dataIndex] || c.text; // Update the remaining columns - for(i = 1, len = cols.length; i < len; i++) { + for (i = 1, len = cols.length; i < len; i++) { c = cols[i]; - this.elNode.childNodes[i].firstChild.innerHTML = (c.tpl ? c.tpl.apply(a) : a[c.dataIndex] || c.text); + this.elNode.childNodes[i].firstChild.innerHTML = c.tpl + ? c.tpl.apply(a) + : a[c.dataIndex] || c.text; } - } - + }, }); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridRenderColumn.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridRenderColumn.js index b50737f9f..20bde8acc 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridRenderColumn.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridRenderColumn.js @@ -1,10 +1,9 @@ Ext.tree.RenderColumn = Ext.extend(Ext.tree.Column, { - constructor: function(c) { c.tpl = c.tpl || new Ext.XTemplate('{' + c.dataIndex + ':this.format}'); c.tpl.format = c.renderer; c.tpl.col = this; Ext.tree.RenderColumn.superclass.constructor.call(this, c); - } + }, }); Ext.reg('tgrendercolumn', Ext.tree.RenderColumn); diff --git a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridSorter.js b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridSorter.js index 6bccc999f..8999af3fa 100644 --- a/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridSorter.js +++ b/deluge/ui/web/js/extjs/ext-extensions/tree/TreeGridSorter.js @@ -30,33 +30,35 @@ Ext.ux.tree.TreeGridSorter = Ext.extend(Ext.tree.TreeSorter, { /** * @cfg {Array} sortClasses The CSS classes applied to a header when it is sorted. (defaults to <tt>['sort-asc', 'sort-desc']</tt>) */ - sortClasses : ['sort-asc', 'sort-desc'], + sortClasses: ['sort-asc', 'sort-desc'], /** * @cfg {String} sortAscText The text displayed in the 'Sort Ascending' menu item (defaults to <tt>'Sort Ascending'</tt>) */ - sortAscText : 'Sort Ascending', + sortAscText: 'Sort Ascending', /** * @cfg {String} sortDescText The text displayed in the 'Sort Descending' menu item (defaults to <tt>'Sort Descending'</tt>) */ - sortDescText : 'Sort Descending', + sortDescText: 'Sort Descending', - constructor : function(tree, config) { - if(!Ext.isObject(config)) { + constructor: function(tree, config) { + if (!Ext.isObject(config)) { config = { property: tree.columns[0].dataIndex || 'text', - folderSort: true - } + folderSort: true, + }; } - Ext.ux.tree.TreeGridSorter.superclass.constructor.apply(this, arguments); + Ext.ux.tree.TreeGridSorter.superclass.constructor.apply( + this, + arguments + ); this.tree = tree; tree.on('headerclick', this.onHeaderClick, this); tree.ddAppendOnly = true; var me = this; - this.defaultSortFn = function(n1, n2){ - + this.defaultSortFn = function(n1, n2) { var desc = me.dir && me.dir.toLowerCase() == 'desc', prop = me.property || 'text', sortType = me.sortType, @@ -65,61 +67,80 @@ Ext.ux.tree.TreeGridSorter = Ext.extend(Ext.tree.TreeSorter, { attr1 = n1.attributes, attr2 = n2.attributes; - if(me.folderSort){ - if(attr1[leafAttr] && !attr2[leafAttr]){ + if (me.folderSort) { + if (attr1[leafAttr] && !attr2[leafAttr]) { return 1; } - if(!attr1[leafAttr] && attr2[leafAttr]){ + if (!attr1[leafAttr] && attr2[leafAttr]) { return -1; } } var prop1 = attr1[prop], prop2 = attr2[prop], - v1 = sortType ? sortType(prop1) : (caseSensitive ? prop1 : prop1.toUpperCase()); - v2 = sortType ? sortType(prop2) : (caseSensitive ? prop2 : prop2.toUpperCase()); - - if(v1 < v2){ + v1 = sortType + ? sortType(prop1) + : caseSensitive + ? prop1 + : prop1.toUpperCase(); + v2 = sortType + ? sortType(prop2) + : caseSensitive + ? prop2 + : prop2.toUpperCase(); + + if (v1 < v2) { return desc ? +1 : -1; - }else if(v1 > v2){ + } else if (v1 > v2) { return desc ? -1 : +1; - }else{ + } else { return 0; } }; - tree.on('afterrender', this.onAfterTreeRender, this, {single: true}); + tree.on('afterrender', this.onAfterTreeRender, this, { single: true }); tree.on('headermenuclick', this.onHeaderMenuClick, this); }, - onAfterTreeRender : function() { - if(this.tree.hmenu){ - this.tree.hmenu.insert(0, - {itemId:'asc', text: this.sortAscText, cls: 'xg-hmenu-sort-asc'}, - {itemId:'desc', text: this.sortDescText, cls: 'xg-hmenu-sort-desc'} + onAfterTreeRender: function() { + if (this.tree.hmenu) { + this.tree.hmenu.insert( + 0, + { + itemId: 'asc', + text: this.sortAscText, + cls: 'xg-hmenu-sort-asc', + }, + { + itemId: 'desc', + text: this.sortDescText, + cls: 'xg-hmenu-sort-desc', + } ); } this.updateSortIcon(0, 'asc'); }, - onHeaderMenuClick : function(c, id, index) { - if(id === 'asc' || id === 'desc') { + onHeaderMenuClick: function(c, id, index) { + if (id === 'asc' || id === 'desc') { this.onHeaderClick(c, null, index); return false; } }, - onHeaderClick : function(c, el, i) { - if(c && !this.tree.headersDisabled){ + onHeaderClick: function(c, el, i) { + if (c && !this.tree.headersDisabled) { var me = this; me.property = c.dataIndex; - me.dir = c.dir = (c.dir === 'desc' ? 'asc' : 'desc'); + me.dir = c.dir = c.dir === 'desc' ? 'asc' : 'desc'; me.sortType = c.sortType; - me.caseSensitive === Ext.isBoolean(c.caseSensitive) ? c.caseSensitive : this.caseSensitive; + me.caseSensitive === Ext.isBoolean(c.caseSensitive) + ? c.caseSensitive + : this.caseSensitive; me.sortFn = c.sortFn || this.defaultSortFn; this.tree.root.cascade(function(n) { - if(!n.isLeaf()) { + if (!n.isLeaf()) { me.updateSort(me.tree, n); } }); @@ -129,9 +150,9 @@ Ext.ux.tree.TreeGridSorter = Ext.extend(Ext.tree.TreeSorter, { }, // private - updateSortIcon : function(col, dir){ + updateSortIcon: function(col, dir) { var sc = this.sortClasses, hds = this.tree.innerHd.select('td').removeClass(sc); hds.item(col).addClass(sc[dir == 'desc' ? 1 : 0]); - } + }, }); diff --git a/deluge/ui/web/themes/css/xtheme-access.css b/deluge/ui/web/themes/css/xtheme-access.css index 7a091abb6..bb1bf52a2 100644 --- a/deluge/ui/web/themes/css/xtheme-access.css +++ b/deluge/ui/web/themes/css/xtheme-access.css @@ -5,8 +5,8 @@ * http://www.sencha.com/license */ body { - background-color:#16181a; - color:#fcfcfc; + background-color: #16181a; + color: #fcfcfc; } .ext-el-mask { @@ -14,20 +14,20 @@ body { } .ext-el-mask-msg { - border-color:#223; - background-color:#3f4757; - background-image:url(../images/access/box/tb-blue.gif); + border-color: #223; + background-color: #3f4757; + background-image: url(../images/access/box/tb-blue.gif); } .ext-el-mask-msg div { background-color: #232d38; - border-color:#556; - color:#fff; - font:normal 14px tahoma, arial, helvetica, sans-serif; + border-color: #556; + color: #fff; + font: normal 14px tahoma, arial, helvetica, sans-serif; } .x-mask-loading div { - background-color:#232d38; - background-image:url(../images/access/grid/loading.gif); + background-color: #232d38; + background-image: url(../images/access/grid/loading.gif); } .x-item-disabled { @@ -43,31 +43,38 @@ body { } .x-color-palette a { - border-color:#fff; + border-color: #fff; } -.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel { - border-color:#8bb8f3; +.x-color-palette a:hover, +.x-color-palette a.x-color-palette-sel { + border-color: #8bb8f3; background-color: #deecfd; } .x-color-palette em { - border-color:#aca899; + border-color: #aca899; } .x-ie-shadow { - background-color:#777; + background-color: #777; } .x-shadow .xsmc { background-image: url(../images/default/shadow-c.png); } -.x-shadow .xsml, .x-shadow .xsmr { +.x-shadow .xsml, +.x-shadow .xsmr { background-image: url(../images/default/shadow-lr.png); } -.x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{ +.x-shadow .xstl, +.x-shadow .xstc, +.x-shadow .xstr, +.x-shadow .xsbl, +.x-shadow .xsbc, +.x-shadow .xsbr { background-image: url(../images/default/shadow.png); } @@ -78,54 +85,59 @@ body { .x-spotlight { background-color: #ccc; -}.x-tab-panel-header, .x-tab-panel-footer { - background-color:#e18325; - border-color:#8db2e3; - overflow:hidden; - zoom:1; +} +.x-tab-panel-header, +.x-tab-panel-footer { + background-color: #e18325; + border-color: #8db2e3; + overflow: hidden; + zoom: 1; } -.x-tab-panel-header, .x-tab-panel-footer { - border-color:#222; +.x-tab-panel-header, +.x-tab-panel-footer { + border-color: #222; } -ul.x-tab-strip-top{ - background-color:#343843; +ul.x-tab-strip-top { + background-color: #343843; background-image: url(../images/access/tabs/tab-strip-bg.gif); - border-bottom-color:#343d4e; + border-bottom-color: #343d4e; } -ul.x-tab-strip-bottom{ - background-color:#343843; +ul.x-tab-strip-bottom { + background-color: #343843; background-image: url(../images/access/tabs/tab-strip-btm-bg.gif); - border-top-color:#343843; + border-top-color: #343843; } .x-tab-panel-header-plain .x-tab-strip-spacer, .x-tab-panel-footer-plain .x-tab-strip-spacer { - border-color:#222; - background-color:#e18325; + border-color: #222; + background-color: #e18325; } .x-tab-strip span.x-tab-strip-text { - font:normal 14px tahoma,arial,helvetica; - color:#fff; + font: normal 14px tahoma, arial, helvetica; + color: #fff; } .x-tab-strip-over span.x-tab-strip-text { - color:#fff; + color: #fff; } .x-tab-strip-active span.x-tab-strip-text { - color:#fff; - font-weight:bold; + color: #fff; + font-weight: bold; } .x-tab-strip-disabled .x-tabs-text { - color:#aaaaaa; + color: #aaaaaa; } -.x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{ +.x-tab-strip-top .x-tab-right, +.x-tab-strip-top .x-tab-left, +.x-tab-strip-top .x-tab-strip-inner { background-image: url(../images/access/tabs/tabs-sprite.gif); } @@ -146,16 +158,16 @@ ul.x-tab-strip-bottom{ } .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { - background-image:url(../images/access/tabs/tab-close.gif); + background-image: url(../images/access/tabs/tab-close.gif); } -.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ - background-image:url(../images/access/tabs/tab-close.gif); +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover { + background-image: url(../images/access/tabs/tab-close.gif); } .x-tab-panel-body { - border-color:#18181a; - background-color:#fff; + border-color: #18181a; + background-color: #fff; } .x-tab-panel-body-top { @@ -167,8 +179,8 @@ ul.x-tab-strip-bottom{ } .x-tab-scroller-left { - background-image:url(../images/access/tabs/scroll-left.gif); - border-bottom-color:#8db2e3; + background-image: url(../images/access/tabs/scroll-left.gif); + border-bottom-color: #8db2e3; } .x-tab-scroller-left-over { @@ -177,47 +189,51 @@ ul.x-tab-strip-bottom{ .x-tab-scroller-left-disabled { background-position: -18px 0; - opacity:.5; - -moz-opacity:.5; - filter:alpha(opacity=50); - cursor:default; + opacity: 0.5; + -moz-opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; } .x-tab-scroller-right { - background-image:url(../images/access/tabs/scroll-right.gif); - border-bottom-color:#8db2e3; + background-image: url(../images/access/tabs/scroll-right.gif); + border-bottom-color: #8db2e3; } -.x-tab-panel-bbar .x-toolbar, .x-tab-panel-tbar .x-toolbar { - border-color:#99bbe8; +.x-tab-panel-bbar .x-toolbar, +.x-tab-panel-tbar .x-toolbar { + border-color: #99bbe8; } .x-form-field { - font:normal 15px tahoma, arial, helvetica, sans-serif; + font: normal 15px tahoma, arial, helvetica, sans-serif; } -.x-form-text, textarea.x-form-field{ +.x-form-text, +textarea.x-form-field { color: #ffffff; - background-color:#33373d; - background-image:url(../images/access/form/text-bg.gif); - border-color:#737b8c; - border-width:2px; + background-color: #33373d; + background-image: url(../images/access/form/text-bg.gif); + border-color: #737b8c; + border-width: 2px; } -.ext-webkit .x-form-text, .ext-webkit textarea.x-form-field{ - border-width:2px; +.ext-webkit .x-form-text, +.ext-webkit textarea.x-form-field { + border-width: 2px; } -.x-form-text, .ext-ie .x-form-file { - height:26px; +.x-form-text, +.ext-ie .x-form-file { + height: 26px; } .ext-strict .x-form-text { - height:20px; + height: 20px; } .x-form-select-one { - background-color:#fff; - border-color:#b5b8c8; + background-color: #fff; + border-color: #b5b8c8; } .x-form-check-group-label { @@ -226,82 +242,85 @@ ul.x-tab-strip-bottom{ } .x-editor .x-form-check-wrap { - background-color:#fff; + background-color: #fff; } -.x-form-field-wrap .x-form-trigger{ - background-image:url(../images/access/form/trigger.gif); - border-bottom-color:#737b8c; - border-bottom-width:2px; - height:24px; - width:20px; +.x-form-field-wrap .x-form-trigger { + background-image: url(../images/access/form/trigger.gif); + border-bottom-color: #737b8c; + border-bottom-width: 2px; + height: 24px; + width: 20px; } -.x-form-field-wrap .x-form-trigger.x-form-trigger-over{ - border-bottom-color:#d97e27; +.x-form-field-wrap .x-form-trigger.x-form-trigger-over { + border-bottom-color: #d97e27; } -.x-form-field-wrap .x-form-trigger.x-form-trigger-click{ - border-bottom-color:#c86e19; +.x-form-field-wrap .x-form-trigger.x-form-trigger-click { + border-bottom-color: #c86e19; } .x-small-editor .x-form-field-wrap .x-form-trigger { - height:24px; + height: 24px; } .x-form-field-wrap .x-form-trigger-over { - background-position:-20px 0; + background-position: -20px 0; } .x-form-field-wrap .x-form-trigger-click { - background-position:-40px 0; + background-position: -40px 0; } .x-trigger-wrap-focus .x-form-trigger { - background-position:-60px 0; + background-position: -60px 0; } .x-trigger-wrap-focus .x-form-trigger-over { - background-position:-80px 0; + background-position: -80px 0; } .x-trigger-wrap-focus .x-form-trigger-click { - background-position:-100px 0; + background-position: -100px 0; } -.x-form-field-wrap .x-form-date-trigger{ +.x-form-field-wrap .x-form-date-trigger { background-image: url(../images/access/form/date-trigger.gif); } -.x-form-field-wrap .x-form-clear-trigger{ +.x-form-field-wrap .x-form-clear-trigger { background-image: url(../images/access/form/clear-trigger.gif); } -.x-form-field-wrap .x-form-search-trigger{ +.x-form-field-wrap .x-form-search-trigger { background-image: url(../images/access/form/search-trigger.gif); } -.x-trigger-wrap-focus .x-form-trigger{ - border-bottom-color:#737b8c; +.x-trigger-wrap-focus .x-form-trigger { + border-bottom-color: #737b8c; } -.x-item-disabled .x-form-trigger-over{ - border-bottom-color:#b5b8c8; +.x-item-disabled .x-form-trigger-over { + border-bottom-color: #b5b8c8; } -.x-item-disabled .x-form-trigger-click{ - border-bottom-color:#b5b8c8; +.x-item-disabled .x-form-trigger-click { + border-bottom-color: #b5b8c8; } -.x-form-focus, textarea.x-form-focus{ - border-color:#ff9c33; +.x-form-focus, +textarea.x-form-focus { + border-color: #ff9c33; } -.x-form-invalid, textarea.x-form-invalid, -.ext-webkit .x-form-invalid, .ext-webkit textarea.x-form-invalid{ - background-color:#15171a; - background-image:url(../images/access/grid/invalid_line.gif); - border-color:#c30; +.x-form-invalid, +textarea.x-form-invalid, +.ext-webkit .x-form-invalid, +.ext-webkit textarea.x-form-invalid { + background-color: #15171a; + background-image: url(../images/access/grid/invalid_line.gif); + border-color: #c30; } /* @@ -311,27 +330,28 @@ ul.x-tab-strip-bottom{ } */ -.x-form-inner-invalid, textarea.x-form-inner-invalid{ - background-color:#fff; - background-image:url(../images/access/grid/invalid_line.gif); +.x-form-inner-invalid, +textarea.x-form-inner-invalid { + background-color: #fff; + background-image: url(../images/access/grid/invalid_line.gif); } .x-form-grow-sizer { - font:normal 15px tahoma, arial, helvetica, sans-serif; + font: normal 15px tahoma, arial, helvetica, sans-serif; } .x-form-item { - font:normal 15px tahoma, arial, helvetica, sans-serif; + font: normal 15px tahoma, arial, helvetica, sans-serif; } .x-form-invalid-msg { - color:#c0272b; - font:normal 14px tahoma, arial, helvetica, sans-serif; - background-image:url(../images/default/shared/warning.gif); + color: #c0272b; + font: normal 14px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/default/shared/warning.gif); } .x-form-empty-field { - color:#dadadd; + color: #dadadd; } .x-small-editor .x-form-text { @@ -339,117 +359,135 @@ ul.x-tab-strip-bottom{ } .x-small-editor .x-form-field { - font:normal 14px arial, tahoma, helvetica, sans-serif; + font: normal 14px arial, tahoma, helvetica, sans-serif; } .ext-safari .x-small-editor .x-form-field { - font:normal 15px arial, tahoma, helvetica, sans-serif; + font: normal 15px arial, tahoma, helvetica, sans-serif; } .x-form-invalid-icon { - background-image:url(../images/access/form/exclamation.gif); - height:25px; - width:19px; - background-position:center right; + background-image: url(../images/access/form/exclamation.gif); + height: 25px; + width: 19px; + background-position: center right; } .x-fieldset { - border-color:#737B8C; + border-color: #737b8c; } .x-fieldset legend { - font:bold 14px tahoma, arial, helvetica, sans-serif; - color:#fff; + font: bold 14px tahoma, arial, helvetica, sans-serif; + color: #fff; } .x-btn { - font:normal 14px tahoma, verdana, helvetica; + font: normal 14px tahoma, verdana, helvetica; } .x-btn button { - font:normal 14px arial,tahoma,verdana,helvetica; - color:#fffffa; - padding-left:6px !important; - padding-right:6px !important; + font: normal 14px arial, tahoma, verdana, helvetica; + color: #fffffa; + padding-left: 6px !important; + padding-right: 6px !important; } -.x-btn-over .x-btn button{ - color:#fff; +.x-btn-over .x-btn button { + color: #fff; } -.x-btn-noicon .x-btn-small .x-btn-text, .x-btn-text-icon .x-btn-icon-small-left .x-btn-text, -.x-btn-icon .x-btn-small .x-btn-text, .x-btn-text-icon .x-btn-icon-small-right .x-btn-text { - height:18px; +.x-btn-noicon .x-btn-small .x-btn-text, +.x-btn-text-icon .x-btn-icon-small-left .x-btn-text, +.x-btn-icon .x-btn-small .x-btn-text, +.x-btn-text-icon .x-btn-icon-small-right .x-btn-text { + height: 18px; } .x-btn-icon .x-btn-small .x-btn-text { - width:18px; + width: 18px; } .x-btn-text-icon .x-btn-icon-small-left .x-btn-text { - padding-left:21px !important; + padding-left: 21px !important; } .x-btn-text-icon .x-btn-icon-small-right .x-btn-text { - padding-right:21px !important; + padding-right: 21px !important; } .x-btn-text-icon .x-btn-icon-medium-left .x-btn-text { - padding-left:29px !important; + padding-left: 29px !important; } .x-btn-text-icon .x-btn-icon-medium-right .x-btn-text { - padding-right:29px !important; + padding-right: 29px !important; } .x-btn-text-icon .x-btn-icon-large-left .x-btn-text { - padding-left:37px !important; + padding-left: 37px !important; } .x-btn-text-icon .x-btn-icon-large-right .x-btn-text { - padding-right:37px !important; + padding-right: 37px !important; } .x-btn em { - font-style:normal; - font-weight:normal; + font-style: normal; + font-weight: normal; } -.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{ - background-image:url(../images/access/button/btn.gif); +.x-btn-tl, +.x-btn-tr, +.x-btn-tc, +.x-btn-ml, +.x-btn-mr, +.x-btn-mc, +.x-btn-bl, +.x-btn-br, +.x-btn-bc { + background-image: url(../images/access/button/btn.gif); } -.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{ - color:#fff; +.x-btn-click .x-btn-text, +.x-btn-menu-active .x-btn-text, +.x-btn-pressed .x-btn-text { + color: #fff; } -.x-btn-disabled *{ - color:#eee !important; +.x-btn-disabled * { + color: #eee !important; } .x-btn-mc em.x-btn-arrow { - background-image:url(../images/access/button/arrow.gif); - padding-right:13px; + background-image: url(../images/access/button/arrow.gif); + padding-right: 13px; } .x-btn-mc em.x-btn-split { - background-image:url(../images/access/button/s-arrow.gif); - padding-right:20px; + background-image: url(../images/access/button/s-arrow.gif); + padding-right: 20px; } -.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { - background-image:url(../images/access/button/s-arrow-o.gif); +.x-btn-over .x-btn-mc em.x-btn-split, +.x-btn-click .x-btn-mc em.x-btn-split, +.x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/access/button/s-arrow-o.gif); } .x-btn-mc em.x-btn-arrow-bottom { - background-image:url(../images/access/button/s-arrow-b-noline.gif); + background-image: url(../images/access/button/s-arrow-b-noline.gif); } .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/access/button/s-arrow-b.gif); + background-image: url(../images/access/button/s-arrow-b.gif); } -.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/access/button/s-arrow-bo.gif); +.x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/access/button/s-arrow-bo.gif); } .x-btn-group-header { @@ -491,42 +529,49 @@ ul.x-tab-strip-bottom{ .x-btn-group-notitle .x-btn-group-tc { background-image: url(../images/access/button/group-tb.gif); } -.x-toolbar{ - border-color:#18181a; - background-color:#393d4e; - background-image:url(../images/access/toolbar/bg.gif); +.x-toolbar { + border-color: #18181a; + background-color: #393d4e; + background-image: url(../images/access/toolbar/bg.gif); } -.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ - font:normal 14px arial,tahoma, helvetica, sans-serif; +.x-toolbar td, +.x-toolbar span, +.x-toolbar input, +.x-toolbar div, +.x-toolbar select, +.x-toolbar label { + font: normal 14px arial, tahoma, helvetica, sans-serif; } .x-toolbar .x-item-disabled { - color:gray; + color: gray; } .x-toolbar .x-item-disabled * { - color:gray; + color: gray; } .x-toolbar .x-btn-mc em.x-btn-split { - background-image:url(../images/access/button/s-arrow-noline.gif); + background-image: url(../images/access/button/s-arrow-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split -{ - background-image:url(../images/access/button/s-arrow-o.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/access/button/s-arrow-o.gif); } .x-toolbar .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/access/button/s-arrow-b-noline.gif); + background-image: url(../images/access/button/s-arrow-b-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom -{ - background-image:url(../images/access/button/s-arrow-bo.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/access/button/s-arrow-bo.gif); } .x-toolbar .xtb-sep { @@ -534,64 +579,64 @@ ul.x-tab-strip-bottom{ } .x-toolbar .x-btn { - padding-left:3px; - padding-right:3px; + padding-left: 3px; + padding-right: 3px; } .x-toolbar .x-btn-mc em.x-btn-arrow { - padding-right:10px; + padding-right: 10px; } .x-toolbar .x-btn-text-icon .x-btn-icon-small-left .x-btn-text { - padding-left:18px !important; + padding-left: 18px !important; } .x-toolbar .x-btn-mc em.x-btn-split { - padding-right:14px; + padding-right: 14px; } -.x-tbar-page-first{ +.x-tbar-page-first { background-image: url(../images/access/grid/page-first.gif) !important; } -.x-tbar-loading{ +.x-tbar-loading { background-image: url(../images/access/grid/refresh.gif) !important; } -.x-tbar-page-last{ +.x-tbar-page-last { background-image: url(../images/access/grid/page-last.gif) !important; } -.x-tbar-page-next{ +.x-tbar-page-next { background-image: url(../images/access/grid/page-next.gif) !important; } -.x-tbar-page-prev{ +.x-tbar-page-prev { background-image: url(../images/access/grid/page-prev.gif) !important; } -.x-item-disabled .x-tbar-loading{ +.x-item-disabled .x-tbar-loading { background-image: url(../images/access/grid/loading.gif) !important; } -.x-item-disabled .x-tbar-page-first{ +.x-item-disabled .x-tbar-page-first { background-image: url(../images/access/grid/page-first-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-last{ +.x-item-disabled .x-tbar-page-last { background-image: url(../images/access/grid/page-last-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-next{ +.x-item-disabled .x-tbar-page-next { background-image: url(../images/access/grid/page-next-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-prev{ +.x-item-disabled .x-tbar-page-prev { background-image: url(../images/access/grid/page-prev-disabled.gif) !important; } .x-paging-info { - color:#444; + color: #444; } .x-toolbar-more-icon { @@ -606,131 +651,148 @@ ul.x-tab-strip-bottom{ border-color: #99bbe8 #fff #fff #99bbe8; } .x-resizable-handle { - background-color:#fff; + background-color: #fff; color: #000; } -.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east, -.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west -{ - background-image:url(../images/access/sizer/e-handle.gif); +.x-resizable-over .x-resizable-handle-east, +.x-resizable-pinned .x-resizable-handle-east, +.x-resizable-over .x-resizable-handle-west, +.x-resizable-pinned .x-resizable-handle-west { + background-image: url(../images/access/sizer/e-handle.gif); } -.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south, -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north -{ - background-image:url(../images/access/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-south, +.x-resizable-pinned .x-resizable-handle-south, +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/access/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ - background-image:url(../images/access/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/access/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ - background-image:url(../images/access/sizer/se-handle.gif); +.x-resizable-over .x-resizable-handle-southeast, +.x-resizable-pinned .x-resizable-handle-southeast { + background-image: url(../images/access/sizer/se-handle.gif); } -.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ - background-image:url(../images/access/sizer/nw-handle.gif); +.x-resizable-over .x-resizable-handle-northwest, +.x-resizable-pinned .x-resizable-handle-northwest { + background-image: url(../images/access/sizer/nw-handle.gif); } -.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ - background-image:url(../images/access/sizer/ne-handle.gif); +.x-resizable-over .x-resizable-handle-northeast, +.x-resizable-pinned .x-resizable-handle-northeast { + background-image: url(../images/access/sizer/ne-handle.gif); } -.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ - background-image:url(../images/access/sizer/sw-handle.gif); +.x-resizable-over .x-resizable-handle-southwest, +.x-resizable-pinned .x-resizable-handle-southwest { + background-image: url(../images/access/sizer/sw-handle.gif); } -.x-resizable-proxy{ - border-color:#3b5a82; +.x-resizable-proxy { + border-color: #3b5a82; } -.x-resizable-overlay{ - background-color:#fff; +.x-resizable-overlay { + background-color: #fff; } .x-grid3 { - background-color:#1f2933; + background-color: #1f2933; } .x-grid-panel .x-panel-mc .x-panel-body { - border-color:#223; + border-color: #223; } -.x-grid3-hd-row td, .x-grid3-row td, .x-grid3-summary-row td{ - font:normal 14px arial, tahoma, helvetica, sans-serif; +.x-grid3-hd-row td, +.x-grid3-row td, +.x-grid3-summary-row td { + font: normal 14px arial, tahoma, helvetica, sans-serif; } .x-grid3-hd-row td { - border-left-color:#556; - border-right-color:#223; + border-left-color: #556; + border-right-color: #223; } .x-grid-row-loading { background-color: #fff; - background-image:url(../images/default/shared/loading-balls.gif); + background-image: url(../images/default/shared/loading-balls.gif); } .x-grid3-row { - border:0 none; - border-bottom:1px solid #111; - border-right:1px solid #1a1a1c; + border: 0 none; + border-bottom: 1px solid #111; + border-right: 1px solid #1a1a1c; } -.x-grid3-row-alt{ - background-color:#1b232b; +.x-grid3-row-alt { + background-color: #1b232b; } .x-grid3-row-over { - background-color:#7e5530; + background-color: #7e5530; } .x-grid3-resize-proxy { - background-color:#777; + background-color: #777; } .x-grid3-resize-marker { - background-color:#777; + background-color: #777; } -.x-grid3-header{ - background-color:#3b3f50; - background-image:url(../images/access/grid/grid3-hrow.gif); +.x-grid3-header { + background-color: #3b3f50; + background-image: url(../images/access/grid/grid3-hrow.gif); } .x-grid3-header-pop { - border-left-color:#d0d0d0; + border-left-color: #d0d0d0; } .x-grid3-header-pop-inner { - border-left-color:#eee; - background-image:url(../images/default/grid/hd-pop.gif); + border-left-color: #eee; + background-image: url(../images/default/grid/hd-pop.gif); } -td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { - border-left-color:#889; - border-right-color:#445; +td.x-grid3-hd-over, +td.sort-desc, +td.sort-asc, +td.x-grid3-hd-menu-open { + border-left-color: #889; + border-right-color: #445; } -td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner { - background-color:#4e628a; - background-image:url(../images/access/grid/grid3-hrow-over.gif); +td.x-grid3-hd-over .x-grid3-hd-inner, +td.sort-desc .x-grid3-hd-inner, +td.sort-asc .x-grid3-hd-inner, +td.x-grid3-hd-menu-open .x-grid3-hd-inner { + background-color: #4e628a; + background-image: url(../images/access/grid/grid3-hrow-over.gif); } -.x-grid3-cell-inner, .x-grid3-hd-inner { - color:#fff; +.x-grid3-cell-inner, +.x-grid3-hd-inner { + color: #fff; } .sort-asc .x-grid3-sort-icon { background-image: url(../images/access/grid/sort_asc.gif); - width:15px; - height:9px; - margin-left:5px; + width: 15px; + height: 9px; + margin-left: 5px; } .sort-desc .x-grid3-sort-icon { background-image: url(../images/access/grid/sort_desc.gif); - width:15px; - height:9px; - margin-left:5px; + width: 15px; + height: 9px; + margin-left: 5px; } -.x-grid3-cell-text, .x-grid3-hd-text { - color:#fff; +.x-grid3-cell-text, +.x-grid3-hd-text { + color: #fff; } .x-grid3-split { @@ -738,21 +800,21 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as } .x-grid3-hd-text { - color:#fff; + color: #fff; } -.x-dd-drag-proxy .x-grid3-hd-inner{ - background-color:#ebf3fd; - background-image:url(../images/access/grid/grid3-hrow-over.gif); - border-color:#aaccf6; +.x-dd-drag-proxy .x-grid3-hd-inner { + background-color: #ebf3fd; + background-image: url(../images/access/grid/grid3-hrow-over.gif); + border-color: #aaccf6; } -.col-move-top{ - background-image:url(../images/default/grid/col-move-top.gif); +.col-move-top { + background-image: url(../images/default/grid/col-move-top.gif); } -.col-move-bottom{ - background-image:url(../images/default/grid/col-move-bottom.gif); +.col-move-bottom { + background-image: url(../images/default/grid/col-move-bottom.gif); } .x-grid3-row-selected { @@ -767,321 +829,331 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as .x-grid3-cell-selected { background-color: #ffa340 !important; - color:#fff; + color: #fff; } -.x-grid3-cell-selected span{ - color:#fff !important; +.x-grid3-cell-selected span { + color: #fff !important; } -.x-grid3-cell-selected .x-grid3-cell-text{ - color:#fff; +.x-grid3-cell-selected .x-grid3-cell-text { + color: #fff; } -.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ - background-color:#ebeadb !important; - background-image:url(../images/default/grid/grid-hrow.gif) !important; - color:#fff; - border-top-color:#fff; - border-right-color:#6fa0df !important; +.x-grid3-locked td.x-grid3-row-marker, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker { + background-color: #ebeadb !important; + background-image: url(../images/default/grid/grid-hrow.gif) !important; + color: #fff; + border-top-color: #fff; + border-right-color: #6fa0df !important; } -.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{ - color:#fff !important; +.x-grid3-locked td.x-grid3-row-marker div, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div { + color: #fff !important; } .x-grid3-dirty-cell { - background-image:url(../images/access/grid/dirty.gif); + background-image: url(../images/access/grid/dirty.gif); } -.x-grid3-topbar, .x-grid3-bottombar{ - font:normal 14px arial, tahoma, helvetica, sans-serif; +.x-grid3-topbar, +.x-grid3-bottombar { + font: normal 14px arial, tahoma, helvetica, sans-serif; } -.x-grid3-bottombar .x-toolbar{ - border-top-color:#a9bfd3; +.x-grid3-bottombar .x-toolbar { + border-top-color: #a9bfd3; } -.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ - background-image:url(../images/access/grid/grid3-special-col-bg.gif) !important; - color:#fff !important; +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + background-image: url(../images/access/grid/grid3-special-col-bg.gif) !important; + color: #fff !important; } .x-props-grid .x-grid3-td-value { - color:#fff !important; + color: #fff !important; } -.x-props-grid .x-grid3-body .x-grid3-td-name{ - background-color:#263240 !important; - border-right-color:#223; +.x-props-grid .x-grid3-body .x-grid3-td-name { + background-color: #263240 !important; + border-right-color: #223; } -.xg-hmenu-sort-asc .x-menu-item-icon{ +.xg-hmenu-sort-asc .x-menu-item-icon { background-image: url(../images/access/grid/hmenu-asc.gif); } -.xg-hmenu-sort-desc .x-menu-item-icon{ +.xg-hmenu-sort-desc .x-menu-item-icon { background-image: url(../images/access/grid/hmenu-desc.gif); } -.xg-hmenu-lock .x-menu-item-icon{ +.xg-hmenu-lock .x-menu-item-icon { background-image: url(../images/access/grid/hmenu-lock.gif); } -.xg-hmenu-unlock .x-menu-item-icon{ +.xg-hmenu-unlock .x-menu-item-icon { background-image: url(../images/access/grid/hmenu-unlock.gif); } .x-grid3-hd-btn { - background-color:#c2c9d0; - background-image:url(../images/access/grid/grid3-hd-btn.gif); + background-color: #c2c9d0; + background-image: url(../images/access/grid/grid3-hd-btn.gif); } .x-grid3-body .x-grid3-td-expander { - background-image:url(../images/access/grid/grid3-special-col-bg.gif); + background-image: url(../images/access/grid/grid3-special-col-bg.gif); } .x-grid3-row-expander { - background-image:url(../images/access/grid/row-expand-sprite.gif); + background-image: url(../images/access/grid/row-expand-sprite.gif); } .x-grid3-body .x-grid3-td-checker { background-image: url(../images/access/grid/grid3-special-col-bg.gif); } -.x-grid3-row-checker, .x-grid3-hd-checker { - background-image:url(../images/default/grid/row-check-sprite.gif); +.x-grid3-row-checker, +.x-grid3-hd-checker { + background-image: url(../images/default/grid/row-check-sprite.gif); } .x-grid3-body .x-grid3-td-numberer { - background-image:url(../images/access/grid/grid3-special-col-bg.gif); + background-image: url(../images/access/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { - color:#fff; + color: #fff; } .x-grid3-body .x-grid3-td-row-icon { - background-image:url(../images/access/grid/grid3-special-col-bg.gif); + background-image: url(../images/access/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { - background-image:url(../images/access/grid/grid3-special-col-sel-bg.gif); + background-image: url(../images/access/grid/grid3-special-col-sel-bg.gif); } .x-grid3-check-col { - background-image:url(../images/default/menu/unchecked.gif); + background-image: url(../images/default/menu/unchecked.gif); } .x-grid3-check-col-on { - background-image:url(../images/default/menu/checked.gif); + background-image: url(../images/default/menu/checked.gif); } -.x-grid-group, .x-grid-group-body, .x-grid-group-hd { - zoom:1; +.x-grid-group, +.x-grid-group-body, +.x-grid-group-hd { + zoom: 1; } .x-grid-group-hd { - border-bottom-color:#4e628a; + border-bottom-color: #4e628a; } .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/access/grid/group-collapse.gif); - background-position:3px 6px; - color:#ffd; - font:bold 14px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/access/grid/group-collapse.gif); + background-position: 3px 6px; + color: #ffd; + font: bold 14px tahoma, arial, helvetica, sans-serif; } .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/access/grid/group-expand.gif); + background-image: url(../images/access/grid/group-expand.gif); } .x-group-by-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-cols-icon { - background-image:url(../images/default/grid/columns.gif); + background-image: url(../images/default/grid/columns.gif); } .x-show-groups-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-grid-empty { - color:gray; - font:normal 14px tahoma, arial, helvetica, sans-serif; + color: gray; + font: normal 14px tahoma, arial, helvetica, sans-serif; } .x-grid-with-col-lines .x-grid3-row td.x-grid3-cell { - border-right-color:#ededed; + border-right-color: #ededed; } -.x-grid-with-col-lines .x-grid3-row{ - border-top-color:#ededed; +.x-grid-with-col-lines .x-grid3-row { + border-top-color: #ededed; } .x-grid-with-col-lines .x-grid3-row-selected { - border-top-color:#a3bae9; + border-top-color: #a3bae9; } -.x-dd-drag-ghost{ - color:#000; +.x-dd-drag-ghost { + color: #000; font: normal 14px arial, helvetica, sans-serif; border-color: #ddd #bbb #bbb #ddd; - background-color:#fff; + background-color: #fff; } -.x-dd-drop-nodrop .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-no.gif); +.x-dd-drop-nodrop .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-no.gif); } -.x-dd-drop-ok .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-yes.gif); +.x-dd-drop-ok .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-yes.gif); } -.x-dd-drop-ok-add .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-add.gif); +.x-dd-drop-ok-add .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-add.gif); } .x-view-selector { - background-color:#c3daf9; - border-color:#3399bb; + background-color: #c3daf9; + border-color: #3399bb; } -.x-tree-node-expanded .x-tree-node-icon{ - background-image:url(../images/access/tree/folder-open.gif); +.x-tree-node-expanded .x-tree-node-icon { + background-image: url(../images/access/tree/folder-open.gif); } -.x-tree-node-leaf .x-tree-node-icon{ - background-image:url(../images/default/tree/leaf.gif); +.x-tree-node-leaf .x-tree-node-icon { + background-image: url(../images/default/tree/leaf.gif); } -.x-tree-node-collapsed .x-tree-node-icon{ - background-image:url(../images/access/tree/folder.gif); +.x-tree-node-collapsed .x-tree-node-icon { + background-image: url(../images/access/tree/folder.gif); } -.x-tree-node-loading .x-tree-node-icon{ - background-image:url(../images/default/tree/loading.gif) !important; +.x-tree-node-loading .x-tree-node-icon { + background-image: url(../images/default/tree/loading.gif) !important; } .x-tree-node .x-tree-node-inline-icon { background-image: none; } -.x-tree-node-loading a span{ - font-style: italic; - color:#444444; +.x-tree-node-loading a span { + font-style: italic; + color: #444444; } .ext-ie .x-tree-node-el input { - width:14px; - height:14px; + width: 14px; + height: 14px; } -.x-tree-lines .x-tree-elbow{ - background-image:url(../images/access/tree/elbow.gif); +.x-tree-lines .x-tree-elbow { + background-image: url(../images/access/tree/elbow.gif); } -.x-tree-lines .x-tree-elbow-plus{ - background-image:url(../images/access/tree/elbow-plus.gif); +.x-tree-lines .x-tree-elbow-plus { + background-image: url(../images/access/tree/elbow-plus.gif); } -.x-tree-lines .x-tree-elbow-minus{ - background-image:url(../images/access/tree/elbow-minus.gif); +.x-tree-lines .x-tree-elbow-minus { + background-image: url(../images/access/tree/elbow-minus.gif); } -.x-tree-lines .x-tree-elbow-end{ - background-image:url(../images/access/tree/elbow-end.gif); +.x-tree-lines .x-tree-elbow-end { + background-image: url(../images/access/tree/elbow-end.gif); } -.x-tree-lines .x-tree-elbow-end-plus{ - background-image:url(../images/access/tree/elbow-end-plus.gif); +.x-tree-lines .x-tree-elbow-end-plus { + background-image: url(../images/access/tree/elbow-end-plus.gif); } -.x-tree-lines .x-tree-elbow-end-minus{ - background-image:url(../images/access/tree/elbow-end-minus.gif); +.x-tree-lines .x-tree-elbow-end-minus { + background-image: url(../images/access/tree/elbow-end-minus.gif); } -.x-tree-lines .x-tree-elbow-line{ - background-image:url(../images/access/tree/elbow-line.gif); +.x-tree-lines .x-tree-elbow-line { + background-image: url(../images/access/tree/elbow-line.gif); } -.x-tree-no-lines .x-tree-elbow-plus{ - background-image:url(../images/access/tree/elbow-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-plus { + background-image: url(../images/access/tree/elbow-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-minus{ - background-image:url(../images/access/tree/elbow-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-minus { + background-image: url(../images/access/tree/elbow-minus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-plus{ - background-image:url(../images/access/tree/elbow-end-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-plus { + background-image: url(../images/access/tree/elbow-end-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-minus{ - background-image:url(../images/access/tree/elbow-end-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-minus { + background-image: url(../images/access/tree/elbow-end-minus-nl.gif); } -.x-tree-arrows .x-tree-elbow-plus{ - background-image:url(../images/access/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-plus { + background-image: url(../images/access/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-minus{ - background-image:url(../images/access/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-minus { + background-image: url(../images/access/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-plus{ - background-image:url(../images/access/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-plus { + background-image: url(../images/access/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-minus{ - background-image:url(../images/access/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-minus { + background-image: url(../images/access/tree/arrows.gif); } -.x-tree-node{ - color:#000; +.x-tree-node { + color: #000; font: normal 14px arial, tahoma, helvetica, sans-serif; } -.x-tree-node a, .x-dd-drag-ghost a{ - color:#fff; +.x-tree-node a, +.x-dd-drag-ghost a { + color: #fff; } -.x-tree-node a span, .x-dd-drag-ghost a span{ - color:#fff; +.x-tree-node a span, +.x-dd-drag-ghost a span { + color: #fff; } -.x-tree-node .x-tree-selected a, .x-dd-drag-ghost a{ - color:#fff; +.x-tree-node .x-tree-selected a, +.x-dd-drag-ghost a { + color: #fff; } -.x-tree-node .x-tree-selected a span, .x-dd-drag-ghost a span{ - color:#fff; +.x-tree-node .x-tree-selected a span, +.x-dd-drag-ghost a span { + color: #fff; } -.x-tree-node .x-tree-node-disabled a span{ - color:gray !important; +.x-tree-node .x-tree-node-disabled a span { + color: gray !important; } -.x-tree-node div.x-tree-drag-insert-below{ - border-bottom-color:#36c; +.x-tree-node div.x-tree-drag-insert-below { + border-bottom-color: #36c; } -.x-tree-node div.x-tree-drag-insert-above{ - border-top-color:#36c; +.x-tree-node div.x-tree-drag-insert-above { + border-top-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{ - border-bottom-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a { + border-bottom-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{ - border-top-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a { + border-top-color: #36c; } -.x-tree-node .x-tree-drag-append a span{ - background-color:#ddd; - border-color:gray; +.x-tree-node .x-tree-drag-append a span { + background-color: #ddd; + border-color: gray; } .x-tree-node .x-tree-node-over { @@ -1092,127 +1164,131 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as background-color: #e5872c; } -.x-tree-drop-ok-append .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-add.gif); +.x-tree-drop-ok-append .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-add.gif); } -.x-tree-drop-ok-above .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-over.gif); +.x-tree-drop-ok-above .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-over.gif); } -.x-tree-drop-ok-below .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-under.gif); +.x-tree-drop-ok-below .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-under.gif); } -.x-tree-drop-ok-between .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-between.gif); +.x-tree-drop-ok-between .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-between.gif); } .x-date-picker { border-color: #737b8c; - background-color:#21252e; + background-color: #21252e; } -.x-date-middle,.x-date-left,.x-date-right { +.x-date-middle, +.x-date-left, +.x-date-right { background-image: url(../images/access/shared/hd-sprite.gif); - color:#fff; - font:bold 14px "sans serif", tahoma, verdana, helvetica; + color: #fff; + font: bold 14px 'sans serif', tahoma, verdana, helvetica; } .x-date-middle .x-btn .x-btn-text { - color:#fff; + color: #fff; } .x-date-middle .x-btn-mc em.x-btn-arrow { - background-image:url(../images/access/toolbar/btn-arrow-light.gif); + background-image: url(../images/access/toolbar/btn-arrow-light.gif); } .x-date-right a { background-image: url(../images/access/shared/right-btn.gif); } -.x-date-left a{ +.x-date-left a { background-image: url(../images/access/shared/left-btn.gif); } .x-date-inner th { - background-color:#363d4a; - background-image:url(../images/access/toolbar/bg.gif); - border-bottom-color:#535b5c; - font:normal 13px arial, helvetica,tahoma,sans-serif; - color:#fff; + background-color: #363d4a; + background-image: url(../images/access/toolbar/bg.gif); + border-bottom-color: #535b5c; + font: normal 13px arial, helvetica, tahoma, sans-serif; + color: #fff; } .x-date-inner td { - border-color:#112; + border-color: #112; } .x-date-inner a { - font:normal 14px arial, helvetica,tahoma,sans-serif; - color:#fff; - padding:2px 7px 1px 3px; /* Structure to account for larger, bolder fonts in Access theme. */ + font: normal 14px arial, helvetica, tahoma, sans-serif; + color: #fff; + padding: 2px 7px 1px 3px; /* Structure to account for larger, bolder fonts in Access theme. */ } -.x-date-inner .x-date-active{ - color:#000; +.x-date-inner .x-date-active { + color: #000; } -.x-date-inner .x-date-selected a{ - background-color:#e5872c; - background-image:none; - border-color:#864900; - padding:1px 6px 1px 2px; /* Structure to account for larger, bolder fonts in Access theme. */ +.x-date-inner .x-date-selected a { + background-color: #e5872c; + background-image: none; + border-color: #864900; + padding: 1px 6px 1px 2px; /* Structure to account for larger, bolder fonts in Access theme. */ } -.x-date-inner .x-date-today a{ - border-color:#99a; +.x-date-inner .x-date-today a { + border-color: #99a; } -.x-date-inner .x-date-selected span{ - font-weight:bold; +.x-date-inner .x-date-selected span { + font-weight: bold; } -.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a { - color:#aaa; +.x-date-inner .x-date-prevday a, +.x-date-inner .x-date-nextday a { + color: #aaa; } .x-date-bottom { - border-top-color:#737b8c; - background-color:#464d5a; - background-image:url(../images/access/shared/glass-bg.gif); + border-top-color: #737b8c; + background-color: #464d5a; + background-image: url(../images/access/shared/glass-bg.gif); } -.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ - color:#fff; - background-color:#7e5530; +.x-date-inner a:hover, +.x-date-inner .x-date-disabled a:hover { + color: #fff; + background-color: #7e5530; } .x-date-inner .x-date-disabled a { - background-color:#eee; - color:#bbb; + background-color: #eee; + color: #bbb; } -.x-date-mmenu{ - background-color:#eee !important; +.x-date-mmenu { + background-color: #eee !important; } .x-date-mmenu .x-menu-item { - font-size:13px; - color:#000; + font-size: 13px; + color: #000; } .x-date-mp { - background-color:#21252e; + background-color: #21252e; } .x-date-mp td { - font:normal 14px arial, helvetica,tahoma,sans-serif; + font: normal 14px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns button { - background-color:#083772; - color:#fff; + background-color: #083772; + color: #fff; border-color: #3366cc #000055 #000055 #3366cc; - font:normal 14px arial, helvetica,tahoma,sans-serif; + font: normal 14px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns { @@ -1224,138 +1300,152 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as border-top-color: #c5d2df; } -td.x-date-mp-month a,td.x-date-mp-year a { - color:#fff; +td.x-date-mp-month a, +td.x-date-mp-year a { + color: #fff; } -td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { - color:#fff; +td.x-date-mp-month a:hover, +td.x-date-mp-year a:hover { + color: #fff; background-color: #7e5530; } td.x-date-mp-sel a { background-color: #e5872c; background-image: none; - border-color:#864900; + border-color: #864900; } .x-date-mp-ybtn a { - background-image:url(../images/access/panel/tool-sprites.gif); + background-image: url(../images/access/panel/tool-sprites.gif); } td.x-date-mp-sep { - border-right-color:#c5d2df; + border-right-color: #c5d2df; } -.x-tip .x-tip-close{ +.x-tip .x-tip-close { background-image: url(../images/access/qtip/close.gif); } -.x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr { +.x-tip .x-tip-tc, +.x-tip .x-tip-tl, +.x-tip .x-tip-tr, +.x-tip .x-tip-bc, +.x-tip .x-tip-bl, +.x-tip .x-tip-br, +.x-tip .x-tip-ml, +.x-tip .x-tip-mr { background-image: url(../images/access/qtip/tip-sprite.gif); } .x-tip .x-tip-mc { - font: normal 14px tahoma,arial,helvetica,sans-serif; + font: normal 14px tahoma, arial, helvetica, sans-serif; } .x-tip .x-tip-ml { background-color: #fff; } .x-tip .x-tip-header-text { - font: bold 14px tahoma,arial,helvetica,sans-serif; - color:#ffd; + font: bold 14px tahoma, arial, helvetica, sans-serif; + color: #ffd; } .x-tip .x-tip-body { - font: normal 14px tahoma,arial,helvetica,sans-serif; - color:#000; + font: normal 14px tahoma, arial, helvetica, sans-serif; + color: #000; } -.x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc, -.x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr -{ +.x-form-invalid-tip .x-tip-tc, +.x-form-invalid-tip .x-tip-tl, +.x-form-invalid-tip .x-tip-tr, +.x-form-invalid-tip .x-tip-bc, +.x-form-invalid-tip .x-tip-bl, +.x-form-invalid-tip .x-tip-br, +.x-form-invalid-tip .x-tip-ml, +.x-form-invalid-tip .x-tip-mr { background-image: url(../images/default/form/error-tip-corners.gif); } .x-form-invalid-tip .x-tip-body { - background-image:url(../images/access/form/exclamation.gif); + background-image: url(../images/access/form/exclamation.gif); } .x-tip-anchor { - background-image:url(../images/access/qtip/tip-anchor-sprite.gif); + background-image: url(../images/access/qtip/tip-anchor-sprite.gif); } .x-menu { - border-color:#222; - background-color:#414551; - background-image:url(../images/access/menu/menu.gif); + border-color: #222; + background-color: #414551; + background-image: url(../images/access/menu/menu.gif); } .x-menu-nosep { - background-image:none; + background-image: none; } -.x-menu-list-item{ - font:normal 14px tahoma,arial, sans-serif; +.x-menu-list-item { + font: normal 14px tahoma, arial, sans-serif; } -.x-menu-item-arrow{ - background-image:url(../images/access/menu/menu-parent.gif); +.x-menu-item-arrow { + background-image: url(../images/access/menu/menu-parent.gif); } .x-menu-sep { - background-color:#223; - border-bottom-color:#666; + background-color: #223; + border-bottom-color: #666; } a.x-menu-item { - color:#fffff6; + color: #fffff6; } .x-menu-item-active { background-color: #f09134; background-image: none; - border-color:#b36427; + border-color: #b36427; } .x-menu-item-active a.x-menu-item { - border-color:#b36427; + border-color: #b36427; } -.x-menu-check-item .x-menu-item-icon{ - background-image:url(../images/default/menu/unchecked.gif); +.x-menu-check-item .x-menu-item-icon { + background-image: url(../images/default/menu/unchecked.gif); } -.x-menu-item-checked .x-menu-item-icon{ - background-image:url(../images/default/menu/checked.gif); +.x-menu-item-checked .x-menu-item-icon { + background-image: url(../images/default/menu/checked.gif); } -.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ - background-image:url(../images/access/menu/group-checked.gif); +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon { + background-image: url(../images/access/menu/group-checked.gif); } -.x-menu-group-item .x-menu-item-icon{ - background-image:none; +.x-menu-group-item .x-menu-item-icon { + background-image: none; } .x-menu-plain { - background-color:#fff !important; + background-color: #fff !important; } -.x-menu .x-date-picker{ - border-color:#a3bad9; +.x-menu .x-date-picker { + border-color: #a3bad9; } .x-cycle-menu .x-menu-item-checked { - border-color:#a3bae9 !important; - background-color:#def8f6; + border-color: #a3bae9 !important; + background-color: #def8f6; } .x-menu-scroller-top { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-menu-scroller-bottom { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-box-tl { background-image: url(../images/default/box/corners.gif); @@ -1376,7 +1466,8 @@ a.x-menu-item { .x-box-mc { background-color: #eee; background-image: url(../images/default/box/tb.gif); - font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; + font-family: 'Myriad Pro', 'Myriad Web', 'Tahoma', 'Helvetica', 'Arial', + sans-serif; color: #393939; font-size: 15px; } @@ -1402,11 +1493,16 @@ a.x-menu-item { background-image: url(../images/default/box/corners.gif); } -.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { +.x-box-blue .x-box-bl, +.x-box-blue .x-box-br, +.x-box-blue .x-box-tl, +.x-box-blue .x-box-tr { background-image: url(../images/default/box/corners-blue.gif); } -.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { +.x-box-blue .x-box-bc, +.x-box-blue .x-box-mc, +.x-box-blue .x-box-tc { background-image: url(../images/default/box/tb-blue.gif); } @@ -1426,41 +1522,41 @@ a.x-menu-item { background-image: url(../images/default/box/r-blue.gif); } .x-combo-list { - border:2px solid #232732; - background-color:#555566; - font:normal 15px tahoma, arial, helvetica, sans-serif; + border: 2px solid #232732; + background-color: #555566; + font: normal 15px tahoma, arial, helvetica, sans-serif; } .x-combo-list-inner { - background-color:#414551; + background-color: #414551; } .x-combo-list-hd { - font:bold 14px tahoma, arial, helvetica, sans-serif; - color:#fff; + font: bold 14px tahoma, arial, helvetica, sans-serif; + color: #fff; background-image: url(../images/default/layout/panel-title-light-bg.gif); - border-bottom-color:#98c0f4; + border-bottom-color: #98c0f4; } .x-resizable-pinned .x-combo-list-inner { - border-bottom-color:#98c0f4; + border-bottom-color: #98c0f4; } .x-combo-list-item { - border-color:#556; + border-color: #556; } .x-combo-list .x-combo-selected { - border-color:#e5872c !important; - background-color:#e5872c; + border-color: #e5872c !important; + background-color: #e5872c; } .x-combo-list .x-toolbar { - border-top-color:#98c0f4; + border-top-color: #98c0f4; } .x-combo-list-small { - font:normal 14px tahoma, arial, helvetica, sans-serif; + font: normal 14px tahoma, arial, helvetica, sans-serif; } .x-panel { border-color: #18181a; @@ -1468,50 +1564,56 @@ a.x-menu-item { } .x-panel-header { - color:#fff; - font-weight:bold; + color: #fff; + font-weight: bold; font-size: 14px; - font-family: tahoma,arial,verdana,sans-serif; - border-color:#18181a; + font-family: tahoma, arial, verdana, sans-serif; + border-color: #18181a; background-image: url(../images/access/panel/white-top-bottom.gif); } .x-panel-body { color: #fffff6; - border-color:#18181a; - background-color:#232d38; + border-color: #18181a; + background-color: #232d38; } .x-tab-panel .x-panel-body { color: #fffff6; - border-color:#18181a; - background-color:#1f2730; + border-color: #18181a; + background-color: #1f2730; } -.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar { - border-color:#223; +.x-panel-bbar .x-toolbar, +.x-panel-tbar .x-toolbar { + border-color: #223; } -.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { - border-top-color:#223; +.x-panel-tbar-noheader .x-toolbar, +.x-panel-mc .x-panel-tbar .x-toolbar { + border-top-color: #223; } -.x-panel-body-noheader, .x-panel-mc .x-panel-body { - border-top-color:#223; +.x-panel-body-noheader, +.x-panel-mc .x-panel-body { + border-top-color: #223; } .x-panel-tl .x-panel-header { - color:#fff; - font:bold 14px tahoma,arial,verdana,sans-serif; + color: #fff; + font: bold 14px tahoma, arial, verdana, sans-serif; } .x-panel-tc { background-image: url(../images/access/panel/top-bottom.gif); } -.x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{ +.x-panel-tl, +.x-panel-tr, +.x-panel-bl, +.x-panel-br { background-image: url(../images/access/panel/corners-sprite.gif); - border-bottom-color:#222224; + border-bottom-color: #222224; } .x-panel-bc { @@ -1519,12 +1621,12 @@ a.x-menu-item { } .x-panel-mc { - font: normal 14px tahoma,arial,helvetica,sans-serif; - background-color:#3f4757; + font: normal 14px tahoma, arial, helvetica, sans-serif; + background-color: #3f4757; } .x-panel-ml { - background-image:url(../images/access/panel/left-right.gif); + background-image: url(../images/access/panel/left-right.gif); } .x-panel-mr { @@ -1532,32 +1634,37 @@ a.x-menu-item { } .x-tool { - background-image:url(../images/access/panel/tool-sprites.gif); + background-image: url(../images/access/panel/tool-sprites.gif); } .x-panel-ghost { - background-color:#3f4757; + background-color: #3f4757; } .x-panel-ghost ul { - border-color:#18181a; + border-color: #18181a; } .x-panel-dd-spacer { - border-color:#18181a; + border-color: #18181a; } -.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{ - font:normal 14px arial,tahoma, helvetica, sans-serif; +.x-panel-fbar td, +.x-panel-fbar span, +.x-panel-fbar input, +.x-panel-fbar div, +.x-panel-fbar select, +.x-panel-fbar label { + font: normal 14px arial, tahoma, helvetica, sans-serif; } .x-window-proxy { - background-color:#1f2833; - border-color:#18181a; + background-color: #1f2833; + border-color: #18181a; } .x-window-tl .x-window-header { - color:#fff; - font:bold 14px tahoma,arial,verdana,sans-serif; + color: #fff; + font: bold 14px tahoma, arial, verdana, sans-serif; } .x-window-tc { @@ -1585,9 +1692,9 @@ a.x-menu-item { } .x-window-mc { - border-color:#18181a; - font: normal 14px tahoma,arial,helvetica,sans-serif; - background-color:#1f2833; + border-color: #18181a; + font: normal 14px tahoma, arial, helvetica, sans-serif; + background-color: #1f2833; } .x-window-ml { @@ -1599,23 +1706,23 @@ a.x-menu-item { } .x-window-maximized .x-window-tc { - background-color:#fff; + background-color: #fff; } .x-window-bbar .x-toolbar { - border-top-color:#323945; + border-top-color: #323945; } .x-panel-ghost .x-window-tl { - border-bottom-color:#323945; + border-bottom-color: #323945; } .x-panel-collapsed .x-window-tl { - border-bottom-color:#323945; + border-bottom-color: #323945; } -.x-dlg-mask{ - background-color:#ccc; +.x-dlg-mask { + background-color: #ccc; } .x-window-plain .x-window-mc { @@ -1625,196 +1732,202 @@ a.x-menu-item { .x-window-plain .x-window-body { color: #fffff6; - border-color: #464F61; + border-color: #464f61; } body.x-body-masked .x-window-plain .x-window-mc { background-color: #464f61; } .x-html-editor-wrap { - border-color:#737B8C; - background-color:#fff; + border-color: #737b8c; + background-color: #fff; } .x-html-editor-wrap iframe { background-color: #fff; } .x-html-editor-tb .x-btn-text { - background-image:url(../images/access/editor/tb-sprite.gif); -}.x-panel-noborder .x-panel-header-noborder { - border-bottom-color:#343d4e; + background-image: url(../images/access/editor/tb-sprite.gif); +} +.x-panel-noborder .x-panel-header-noborder { + border-bottom-color: #343d4e; } .x-panel-noborder .x-panel-tbar-noborder .x-toolbar { - border-bottom-color:#343d4e; + border-bottom-color: #343d4e; } .x-panel-noborder .x-panel-bbar-noborder .x-toolbar { - border-top-color:#343d4e; + border-top-color: #343d4e; } .x-tab-panel-bbar-noborder .x-toolbar { - border-top-color:#343d4e; + border-top-color: #343d4e; } .x-tab-panel-tbar-noborder .x-toolbar { - border-bottom-color:#343d4e; + border-bottom-color: #343d4e; } .x-border-layout-ct { - background-color:#3f4757; + background-color: #3f4757; } .x-accordion-hd { - color:#fff; - font-weight:normal; + color: #fff; + font-weight: normal; background-image: url(../images/access/panel/light-hd.gif); } -.x-layout-collapsed{ - background-color:#323845; - border-color:#1a1a1c; +.x-layout-collapsed { + background-color: #323845; + border-color: #1a1a1c; } -.x-layout-collapsed-over{ - background-color:#2d3440; +.x-layout-collapsed-over { + background-color: #2d3440; } .x-layout-split-west .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-split-east .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-split-north .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-layout-split-south .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-west .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-cmini-east .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-cmini-north .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-south .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-progress-wrap { - border-color:#18181a; + border-color: #18181a; } .x-progress-inner { - background-color:#232d38; - background-image:none; + background-color: #232d38; + background-image: none; } .x-progress-bar { - background-color:#f39a00; - background-image:url(../images/access/progress/progress-bg.gif); - border-top-color:#a66900; - border-bottom-color:#a66900; - border-right-color:#ffb941; + background-color: #f39a00; + background-image: url(../images/access/progress/progress-bg.gif); + border-top-color: #a66900; + border-bottom-color: #a66900; + border-right-color: #ffb941; height: 20px !important; /* structural override for Accessibility Theme */ } .x-progress-text { - font-size:14px; - font-weight:bold; - color:#fff; + font-size: 14px; + font-weight: bold; + color: #fff; padding: 0 5px !important; /* structural override for Accessibility Theme */ } .x-progress-text-back { - color:#aaa; + color: #aaa; line-height: 19px; } -.x-list-header{ - background-color:#393d4e; - background-image:url(../images/access/toolbar/bg.gif); - background-position:0 top; +.x-list-header { + background-color: #393d4e; + background-image: url(../images/access/toolbar/bg.gif); + background-position: 0 top; } .x-list-header-inner div em { - border-left-color:#667; - font:normal 14px arial, tahoma, helvetica, sans-serif; + border-left-color: #667; + font: normal 14px arial, tahoma, helvetica, sans-serif; line-height: 14px; } .x-list-body-inner { - background-color:#1B232B; + background-color: #1b232b; } .x-list-body dt em { - font:normal 14px arial, tahoma, helvetica, sans-serif; + font: normal 14px arial, tahoma, helvetica, sans-serif; } .x-list-over { - background-color:#7E5530; + background-color: #7e5530; } .x-list-selected { - background-color:#E5872C; + background-color: #e5872c; } .x-list-resizer { - border-left-color:#555; - border-right-color:#555; + border-left-color: #555; + border-right-color: #555; } -.x-list-header-inner em.sort-asc, .x-list-header-inner em.sort-desc { - background-image:url(../images/access/grid/sort-hd.gif); +.x-list-header-inner em.sort-asc, +.x-list-header-inner em.sort-desc { + background-image: url(../images/access/grid/sort-hd.gif); border-color: #3e4e6c; } -.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner { - background-image:url(../images/access/slider/slider-bg.png); +.x-slider-horz, +.x-slider-horz .x-slider-end, +.x-slider-horz .x-slider-inner { + background-image: url(../images/access/slider/slider-bg.png); } .x-slider-horz .x-slider-thumb { - background-image:url(../images/access/slider/slider-thumb.png); + background-image: url(../images/access/slider/slider-thumb.png); } -.x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner { - background-image:url(../images/access/slider/slider-v-bg.png); +.x-slider-vert, +.x-slider-vert .x-slider-end, +.x-slider-vert .x-slider-inner { + background-image: url(../images/access/slider/slider-v-bg.png); } .x-slider-vert .x-slider-thumb { - background-image:url(../images/access/slider/slider-v-thumb.png); + background-image: url(../images/access/slider/slider-v-thumb.png); } .x-window-dlg .ext-mb-text, .x-window-dlg .x-window-header-text { - font-size:15px; + font-size: 15px; } .x-window-dlg .ext-mb-textarea { - font:normal 15px tahoma,arial,helvetica,sans-serif; + font: normal 15px tahoma, arial, helvetica, sans-serif; } .x-window-dlg .x-msg-box-wait { - background-image:url(../images/access/grid/loading.gif); + background-image: url(../images/access/grid/loading.gif); } .x-window-dlg .ext-mb-info { - background-image:url(../images/access/window/icon-info.gif); + background-image: url(../images/access/window/icon-info.gif); } .x-window-dlg .ext-mb-warning { - background-image:url(../images/access/window/icon-warning.gif); + background-image: url(../images/access/window/icon-warning.gif); } .x-window-dlg .ext-mb-question { - background-image:url(../images/access/window/icon-question.gif); + background-image: url(../images/access/window/icon-question.gif); } .x-window-dlg .ext-mb-error { - background-image:url(../images/access/window/icon-error.gif); + background-image: url(../images/access/window/icon-error.gif); } diff --git a/deluge/ui/web/themes/css/xtheme-blue.css b/deluge/ui/web/themes/css/xtheme-blue.css index 8c9891ecc..a2d2ea0a3 100644 --- a/deluge/ui/web/themes/css/xtheme-blue.css +++ b/deluge/ui/web/themes/css/xtheme-blue.css @@ -9,20 +9,20 @@ } .ext-el-mask-msg { - border-color:#6593cf; - background-color:#c3daf9; - background-image:url(../images/default/box/tb-blue.gif); + border-color: #6593cf; + background-color: #c3daf9; + background-image: url(../images/default/box/tb-blue.gif); } .ext-el-mask-msg div { background-color: #eee; - border-color:#a3bad9; - color:#222; - font:normal 11px tahoma, arial, helvetica, sans-serif; + border-color: #a3bad9; + color: #222; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-mask-loading div { - background-color:#fbfbfb; - background-image:url(../images/default/grid/loading.gif); + background-color: #fbfbfb; + background-image: url(../images/default/grid/loading.gif); } .x-item-disabled { @@ -38,11 +38,12 @@ } .x-color-palette a { - border-color:#fff; + border-color: #fff; } -.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel { - border-color:#8bb8f3; +.x-color-palette a:hover, +.x-color-palette a.x-color-palette-sel { + border-color: #8bb8f3; background-color: #deecfd; } @@ -53,22 +54,28 @@ */ .x-color-palette em { - border-color:#aca899; + border-color: #aca899; } .x-ie-shadow { - background-color:#777; + background-color: #777; } .x-shadow .xsmc { background-image: url(../images/default/shadow-c.png); } -.x-shadow .xsml, .x-shadow .xsmr { +.x-shadow .xsml, +.x-shadow .xsmr { background-image: url(../images/default/shadow-lr.png); } -.x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{ +.x-shadow .xstl, +.x-shadow .xstc, +.x-shadow .xstr, +.x-shadow .xsbl, +.x-shadow .xsbc, +.x-shadow .xsbr { background-image: url(../images/default/shadow.png); } @@ -80,54 +87,58 @@ .x-spotlight { background-color: #ccc; } -.x-tab-panel-header, .x-tab-panel-footer { +.x-tab-panel-header, +.x-tab-panel-footer { background-color: #deecfd; - border-color:#8db2e3; - overflow:hidden; - zoom:1; + border-color: #8db2e3; + overflow: hidden; + zoom: 1; } -.x-tab-panel-header, .x-tab-panel-footer { - border-color:#8db2e3; +.x-tab-panel-header, +.x-tab-panel-footer { + border-color: #8db2e3; } -ul.x-tab-strip-top{ - background-color:#cedff5; +ul.x-tab-strip-top { + background-color: #cedff5; background-image: url(../images/default/tabs/tab-strip-bg.gif); - border-bottom-color:#8db2e3; + border-bottom-color: #8db2e3; } -ul.x-tab-strip-bottom{ - background-color:#cedff5; +ul.x-tab-strip-bottom { + background-color: #cedff5; background-image: url(../images/default/tabs/tab-strip-btm-bg.gif); - border-top-color:#8db2e3; + border-top-color: #8db2e3; } .x-tab-panel-header-plain .x-tab-strip-spacer, .x-tab-panel-footer-plain .x-tab-strip-spacer { - border-color:#8db2e3; + border-color: #8db2e3; background-color: #deecfd; } .x-tab-strip span.x-tab-strip-text { - font:normal 11px tahoma,arial,helvetica; - color:#416aa3; + font: normal 11px tahoma, arial, helvetica; + color: #416aa3; } .x-tab-strip-over span.x-tab-strip-text { - color:#15428b; + color: #15428b; } .x-tab-strip-active span.x-tab-strip-text { - color:#15428b; - font-weight:bold; + color: #15428b; + font-weight: bold; } .x-tab-strip-disabled .x-tabs-text { - color:#aaaaaa; + color: #aaaaaa; } -.x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{ +.x-tab-strip-top .x-tab-right, +.x-tab-strip-top .x-tab-left, +.x-tab-strip-top .x-tab-strip-inner { background-image: url(../images/default/tabs/tabs-sprite.gif); } @@ -156,16 +167,16 @@ ul.x-tab-strip-bottom{ } .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { - background-image:url(../images/default/tabs/tab-close.gif); + background-image: url(../images/default/tabs/tab-close.gif); } -.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ - background-image:url(../images/default/tabs/tab-close.gif); +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover { + background-image: url(../images/default/tabs/tab-close.gif); } .x-tab-panel-body { - border-color:#8db2e3; - background-color:#fff; + border-color: #8db2e3; + background-color: #fff; } .x-tab-panel-body-top { @@ -177,8 +188,8 @@ ul.x-tab-strip-bottom{ } .x-tab-scroller-left { - background-image:url(../images/default/tabs/scroll-left.gif); - border-bottom-color:#8db2e3; + background-image: url(../images/default/tabs/scroll-left.gif); + border-bottom-color: #8db2e3; } .x-tab-scroller-left-over { @@ -187,32 +198,35 @@ ul.x-tab-strip-bottom{ .x-tab-scroller-left-disabled { background-position: -18px 0; - opacity:.5; - -moz-opacity:.5; - filter:alpha(opacity=50); - cursor:default; + opacity: 0.5; + -moz-opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; } .x-tab-scroller-right { - background-image:url(../images/default/tabs/scroll-right.gif); - border-bottom-color:#8db2e3; + background-image: url(../images/default/tabs/scroll-right.gif); + border-bottom-color: #8db2e3; } -.x-tab-panel-bbar .x-toolbar, .x-tab-panel-tbar .x-toolbar { - border-color:#99bbe8; -}.x-form-field { - font:normal 12px tahoma, arial, helvetica, sans-serif; +.x-tab-panel-bbar .x-toolbar, +.x-tab-panel-tbar .x-toolbar { + border-color: #99bbe8; +} +.x-form-field { + font: normal 12px tahoma, arial, helvetica, sans-serif; } -.x-form-text, textarea.x-form-field { - background-color:#fff; - background-image:url(../images/default/form/text-bg.gif); - border-color:#b5b8c8; +.x-form-text, +textarea.x-form-field { + background-color: #fff; + background-image: url(../images/default/form/text-bg.gif); + border-color: #b5b8c8; } .x-form-select-one { - background-color:#fff; - border-color:#b5b8c8; + background-color: #fff; + border-color: #b5b8c8; } .x-form-check-group-label { @@ -221,12 +235,12 @@ ul.x-tab-strip-bottom{ } .x-editor .x-form-check-wrap { - background-color:#fff; + background-color: #fff; } .x-form-field-wrap .x-form-trigger { - background-image:url(../images/default/form/trigger.gif); - border-bottom-color:#b5b8c8; + background-image: url(../images/default/form/trigger.gif); + border-bottom-color: #b5b8c8; } .x-form-field-wrap .x-form-date-trigger { @@ -242,25 +256,27 @@ ul.x-tab-strip-bottom{ } .x-trigger-wrap-focus .x-form-trigger { - border-bottom-color:#7eadd9; + border-bottom-color: #7eadd9; } .x-item-disabled .x-form-trigger-over { - border-bottom-color:#b5b8c8; + border-bottom-color: #b5b8c8; } .x-item-disabled .x-form-trigger-click { - border-bottom-color:#b5b8c8; + border-bottom-color: #b5b8c8; } -.x-form-focus, textarea.x-form-focus { - border-color:#7eadd9; +.x-form-focus, +textarea.x-form-focus { + border-color: #7eadd9; } -.x-form-invalid, textarea.x-form-invalid { - background-color:#fff; - background-image:url(../images/default/grid/invalid_line.gif); - border-color:#c30; +.x-form-invalid, +textarea.x-form-invalid { + background-color: #fff; + background-image: url(../images/default/grid/invalid_line.gif); + border-color: #c30; } .x-form-invalid.x-form-composite { @@ -269,102 +285,119 @@ ul.x-tab-strip-bottom{ } .x-form-invalid.x-form-composite .x-form-invalid { - background-color:#fff; - background-image:url(../images/default/grid/invalid_line.gif); - border-color:#c30; + background-color: #fff; + background-image: url(../images/default/grid/invalid_line.gif); + border-color: #c30; } -.x-form-inner-invalid, textarea.x-form-inner-invalid { - background-color:#fff; - background-image:url(../images/default/grid/invalid_line.gif); +.x-form-inner-invalid, +textarea.x-form-inner-invalid { + background-color: #fff; + background-image: url(../images/default/grid/invalid_line.gif); } .x-form-grow-sizer { - font:normal 12px tahoma, arial, helvetica, sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-form-item { - font:normal 12px tahoma, arial, helvetica, sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-form-invalid-msg { - color:#c0272b; - font:normal 11px tahoma, arial, helvetica, sans-serif; - background-image:url(../images/default/shared/warning.gif); + color: #c0272b; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/default/shared/warning.gif); } .x-form-empty-field { - color:gray; + color: gray; } .x-small-editor .x-form-field { - font:normal 11px arial, tahoma, helvetica, sans-serif; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .ext-webkit .x-small-editor .x-form-field { - font:normal 11px arial, tahoma, helvetica, sans-serif; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-form-invalid-icon { - background-image:url(../images/default/form/exclamation.gif); + background-image: url(../images/default/form/exclamation.gif); } .x-fieldset { - border-color:#b5b8c8; + border-color: #b5b8c8; } .x-fieldset legend { - font:bold 11px tahoma, arial, helvetica, sans-serif; - color:#15428b; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #15428b; } -.x-btn{ - font:normal 11px tahoma, verdana, helvetica; +.x-btn { + font: normal 11px tahoma, verdana, helvetica; } -.x-btn button{ - font:normal 11px arial,tahoma,verdana,helvetica; - color:#333; +.x-btn button { + font: normal 11px arial, tahoma, verdana, helvetica; + color: #333; } .x-btn em { - font-style:normal; - font-weight:normal; + font-style: normal; + font-weight: normal; } -.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{ - background-image:url(../images/default/button/btn.gif); +.x-btn-tl, +.x-btn-tr, +.x-btn-tc, +.x-btn-ml, +.x-btn-mr, +.x-btn-mc, +.x-btn-bl, +.x-btn-br, +.x-btn-bc { + background-image: url(../images/default/button/btn.gif); } -.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{ - color:#000; +.x-btn-click .x-btn-text, +.x-btn-menu-active .x-btn-text, +.x-btn-pressed .x-btn-text { + color: #000; } -.x-btn-disabled *{ - color:gray !important; +.x-btn-disabled * { + color: gray !important; } .x-btn-mc em.x-btn-arrow { - background-image:url(../images/default/button/arrow.gif); + background-image: url(../images/default/button/arrow.gif); } .x-btn-mc em.x-btn-split { - background-image:url(../images/default/button/s-arrow.gif); + background-image: url(../images/default/button/s-arrow.gif); } -.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { - background-image:url(../images/default/button/s-arrow-o.gif); +.x-btn-over .x-btn-mc em.x-btn-split, +.x-btn-click .x-btn-mc em.x-btn-split, +.x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/default/button/s-arrow-o.gif); } .x-btn-mc em.x-btn-arrow-bottom { - background-image:url(../images/default/button/s-arrow-b-noline.gif); + background-image: url(../images/default/button/s-arrow-b-noline.gif); } .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/default/button/s-arrow-b.gif); + background-image: url(../images/default/button/s-arrow-b.gif); } -.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/default/button/s-arrow-bo.gif); +.x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/default/button/s-arrow-bo.gif); } .x-btn-group-header { @@ -404,204 +437,225 @@ ul.x-tab-strip-bottom{ .x-btn-group-notitle .x-btn-group-tc { background-image: url(../images/default/button/group-tb.gif); -}.x-toolbar{ - border-color:#a9bfd3; - background-color:#d0def0; - background-image:url(../images/default/toolbar/bg.gif); +} +.x-toolbar { + border-color: #a9bfd3; + background-color: #d0def0; + background-image: url(../images/default/toolbar/bg.gif); } -.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ - font:normal 11px arial,tahoma, helvetica, sans-serif; +.x-toolbar td, +.x-toolbar span, +.x-toolbar input, +.x-toolbar div, +.x-toolbar select, +.x-toolbar label { + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-toolbar .x-item-disabled { - color:gray; + color: gray; } .x-toolbar .x-item-disabled * { - color:gray; + color: gray; } .x-toolbar .x-btn-mc em.x-btn-split { - background-image:url(../images/default/button/s-arrow-noline.gif); + background-image: url(../images/default/button/s-arrow-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split -{ - background-image:url(../images/default/button/s-arrow-o.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/default/button/s-arrow-o.gif); } .x-toolbar .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/default/button/s-arrow-b-noline.gif); + background-image: url(../images/default/button/s-arrow-b-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom -{ - background-image:url(../images/default/button/s-arrow-bo.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/default/button/s-arrow-bo.gif); } .x-toolbar .xtb-sep { background-image: url(../images/default/grid/grid-blue-split.gif); } -.x-tbar-page-first{ +.x-tbar-page-first { background-image: url(../images/default/grid/page-first.gif) !important; } -.x-tbar-loading{ +.x-tbar-loading { background-image: url(../images/default/grid/refresh.gif) !important; } -.x-tbar-page-last{ +.x-tbar-page-last { background-image: url(../images/default/grid/page-last.gif) !important; } -.x-tbar-page-next{ +.x-tbar-page-next { background-image: url(../images/default/grid/page-next.gif) !important; } -.x-tbar-page-prev{ +.x-tbar-page-prev { background-image: url(../images/default/grid/page-prev.gif) !important; } -.x-item-disabled .x-tbar-loading{ +.x-item-disabled .x-tbar-loading { background-image: url(../images/default/grid/refresh-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-first{ +.x-item-disabled .x-tbar-page-first { background-image: url(../images/default/grid/page-first-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-last{ +.x-item-disabled .x-tbar-page-last { background-image: url(../images/default/grid/page-last-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-next{ +.x-item-disabled .x-tbar-page-next { background-image: url(../images/default/grid/page-next-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-prev{ +.x-item-disabled .x-tbar-page-prev { background-image: url(../images/default/grid/page-prev-disabled.gif) !important; } .x-paging-info { - color:#444; + color: #444; } .x-toolbar-more-icon { background-image: url(../images/default/toolbar/more.gif) !important; -}.x-resizable-handle { - background-color:#fff; +} +.x-resizable-handle { + background-color: #fff; } -.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east, -.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west -{ - background-image:url(../images/default/sizer/e-handle.gif); +.x-resizable-over .x-resizable-handle-east, +.x-resizable-pinned .x-resizable-handle-east, +.x-resizable-over .x-resizable-handle-west, +.x-resizable-pinned .x-resizable-handle-west { + background-image: url(../images/default/sizer/e-handle.gif); } -.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south, -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north -{ - background-image:url(../images/default/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-south, +.x-resizable-pinned .x-resizable-handle-south, +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/default/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ - background-image:url(../images/default/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/default/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ - background-image:url(../images/default/sizer/se-handle.gif); +.x-resizable-over .x-resizable-handle-southeast, +.x-resizable-pinned .x-resizable-handle-southeast { + background-image: url(../images/default/sizer/se-handle.gif); } -.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ - background-image:url(../images/default/sizer/nw-handle.gif); +.x-resizable-over .x-resizable-handle-northwest, +.x-resizable-pinned .x-resizable-handle-northwest { + background-image: url(../images/default/sizer/nw-handle.gif); } -.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ - background-image:url(../images/default/sizer/ne-handle.gif); +.x-resizable-over .x-resizable-handle-northeast, +.x-resizable-pinned .x-resizable-handle-northeast { + background-image: url(../images/default/sizer/ne-handle.gif); } -.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ - background-image:url(../images/default/sizer/sw-handle.gif); +.x-resizable-over .x-resizable-handle-southwest, +.x-resizable-pinned .x-resizable-handle-southwest { + background-image: url(../images/default/sizer/sw-handle.gif); } -.x-resizable-proxy{ - border-color:#3b5a82; +.x-resizable-proxy { + border-color: #3b5a82; } -.x-resizable-overlay{ - background-color:#fff; +.x-resizable-overlay { + background-color: #fff; } .x-grid3 { - background-color:#fff; + background-color: #fff; } .x-grid-panel .x-panel-mc .x-panel-body { - border-color:#99bbe8; + border-color: #99bbe8; } -.x-grid3-row td, .x-grid3-summary-row td{ - font:normal 11px/13px arial, tahoma, helvetica, sans-serif; +.x-grid3-row td, +.x-grid3-summary-row td { + font: normal 11px/13px arial, tahoma, helvetica, sans-serif; } .x-grid3-hd-row td { - font:normal 11px/15px arial, tahoma, helvetica, sans-serif; + font: normal 11px/15px arial, tahoma, helvetica, sans-serif; } - .x-grid3-hd-row td { - border-left-color:#eee; - border-right-color:#d0d0d0; + border-left-color: #eee; + border-right-color: #d0d0d0; } .x-grid-row-loading { background-color: #fff; - background-image:url(../images/default/shared/loading-balls.gif); + background-image: url(../images/default/shared/loading-balls.gif); } .x-grid3-row { - border-color:#ededed; - border-top-color:#fff; + border-color: #ededed; + border-top-color: #fff; } -.x-grid3-row-alt{ - background-color:#fafafa; +.x-grid3-row-alt { + background-color: #fafafa; } .x-grid3-row-over { - border-color:#ddd; - background-color:#efefef; - background-image:url(../images/default/grid/row-over.gif); + border-color: #ddd; + background-color: #efefef; + background-image: url(../images/default/grid/row-over.gif); } .x-grid3-resize-proxy { - background-color:#777; + background-color: #777; } .x-grid3-resize-marker { - background-color:#777; + background-color: #777; } -.x-grid3-header{ - background-color:#f9f9f9; - background-image:url(../images/default/grid/grid3-hrow.gif); +.x-grid3-header { + background-color: #f9f9f9; + background-image: url(../images/default/grid/grid3-hrow.gif); } .x-grid3-header-pop { - border-left-color:#d0d0d0; + border-left-color: #d0d0d0; } .x-grid3-header-pop-inner { - border-left-color:#eee; - background-image:url(../images/default/grid/hd-pop.gif); + border-left-color: #eee; + background-image: url(../images/default/grid/hd-pop.gif); } -td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { - border-left-color:#aaccf6; - border-right-color:#aaccf6; +td.x-grid3-hd-over, +td.sort-desc, +td.sort-asc, +td.x-grid3-hd-menu-open { + border-left-color: #aaccf6; + border-right-color: #aaccf6; } -td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner { - background-color:#ebf3fd; - background-image:url(../images/default/grid/grid3-hrow-over.gif); - +td.x-grid3-hd-over .x-grid3-hd-inner, +td.sort-desc .x-grid3-hd-inner, +td.sort-asc .x-grid3-hd-inner, +td.x-grid3-hd-menu-open .x-grid3-hd-inner { + background-color: #ebf3fd; + background-image: url(../images/default/grid/grid3-hrow-over.gif); } .sort-asc .x-grid3-sort-icon { @@ -612,8 +666,9 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as background-image: url(../images/default/grid/sort_desc.gif); } -.x-grid3-cell-text, .x-grid3-hd-text { - color:#000; +.x-grid3-cell-text, +.x-grid3-hd-text { + color: #000; } .x-grid3-split { @@ -621,21 +676,21 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as } .x-grid3-hd-text { - color:#15428b; + color: #15428b; } -.x-dd-drag-proxy .x-grid3-hd-inner{ - background-color:#ebf3fd; - background-image:url(../images/default/grid/grid3-hrow-over.gif); - border-color:#aaccf6; +.x-dd-drag-proxy .x-grid3-hd-inner { + background-color: #ebf3fd; + background-image: url(../images/default/grid/grid3-hrow-over.gif); + border-color: #aaccf6; } -.col-move-top{ - background-image:url(../images/default/grid/col-move-top.gif); +.col-move-top { + background-image: url(../images/default/grid/col-move-top.gif); } -.col-move-bottom{ - background-image:url(../images/default/grid/col-move-bottom.gif); +.col-move-bottom { + background-image: url(../images/default/grid/col-move-bottom.gif); } td.grid-hd-group-cell { @@ -645,166 +700,173 @@ td.grid-hd-group-cell { .x-grid3-row-selected { background-color: #dfe8f6 !important; background-image: none; - border-color:#a3bae9; + border-color: #a3bae9; } -.x-grid3-cell-selected{ +.x-grid3-cell-selected { background-color: #b8cfee !important; - color:#000; + color: #000; } -.x-grid3-cell-selected span{ - color:#000 !important; +.x-grid3-cell-selected span { + color: #000 !important; } -.x-grid3-cell-selected .x-grid3-cell-text{ - color:#000; +.x-grid3-cell-selected .x-grid3-cell-text { + color: #000; } -.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ - background-color:#ebeadb !important; - background-image:url(../images/default/grid/grid-hrow.gif) !important; - color:#000; - border-top-color:#fff; - border-right-color:#6fa0df !important; +.x-grid3-locked td.x-grid3-row-marker, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker { + background-color: #ebeadb !important; + background-image: url(../images/default/grid/grid-hrow.gif) !important; + color: #000; + border-top-color: #fff; + border-right-color: #6fa0df !important; } -.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{ - color:#15428b !important; +.x-grid3-locked td.x-grid3-row-marker div, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div { + color: #15428b !important; } .x-grid3-dirty-cell { - background-image:url(../images/default/grid/dirty.gif); + background-image: url(../images/default/grid/dirty.gif); } -.x-grid3-topbar, .x-grid3-bottombar{ - font:normal 11px arial, tahoma, helvetica, sans-serif; +.x-grid3-topbar, +.x-grid3-bottombar { + font: normal 11px arial, tahoma, helvetica, sans-serif; } -.x-grid3-bottombar .x-toolbar{ - border-top-color:#a9bfd3; +.x-grid3-bottombar .x-toolbar { + border-top-color: #a9bfd3; } -.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ - background-image:url(../images/default/grid/grid3-special-col-bg.gif) !important; - color:#000 !important; +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + background-image: url(../images/default/grid/grid3-special-col-bg.gif) !important; + color: #000 !important; } -.x-props-grid .x-grid3-body .x-grid3-td-name{ - background-color:#fff !important; - border-right-color:#eee; +.x-props-grid .x-grid3-body .x-grid3-td-name { + background-color: #fff !important; + border-right-color: #eee; } -.xg-hmenu-sort-asc .x-menu-item-icon{ +.xg-hmenu-sort-asc .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-asc.gif); } -.xg-hmenu-sort-desc .x-menu-item-icon{ +.xg-hmenu-sort-desc .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-desc.gif); } -.xg-hmenu-lock .x-menu-item-icon{ +.xg-hmenu-lock .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-lock.gif); } -.xg-hmenu-unlock .x-menu-item-icon{ +.xg-hmenu-unlock .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-unlock.gif); } .x-grid3-hd-btn { - background-color:#c3daf9; - background-image:url(../images/default/grid/grid3-hd-btn.gif); + background-color: #c3daf9; + background-image: url(../images/default/grid/grid3-hd-btn.gif); } .x-grid3-body .x-grid3-td-expander { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-row-expander { - background-image:url(../images/default/grid/row-expand-sprite.gif); + background-image: url(../images/default/grid/row-expand-sprite.gif); } .x-grid3-body .x-grid3-td-checker { background-image: url(../images/default/grid/grid3-special-col-bg.gif); } -.x-grid3-row-checker, .x-grid3-hd-checker { - background-image:url(../images/default/grid/row-check-sprite.gif); +.x-grid3-row-checker, +.x-grid3-hd-checker { + background-image: url(../images/default/grid/row-check-sprite.gif); } .x-grid3-body .x-grid3-td-numberer { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { - color:#444; + color: #444; } .x-grid3-body .x-grid3-td-row-icon { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { - background-image:url(../images/default/grid/grid3-special-col-sel-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-sel-bg.gif); } .x-grid3-check-col { - background-image:url(../images/default/menu/unchecked.gif); + background-image: url(../images/default/menu/unchecked.gif); } .x-grid3-check-col-on { - background-image:url(../images/default/menu/checked.gif); + background-image: url(../images/default/menu/checked.gif); } -.x-grid-group, .x-grid-group-body, .x-grid-group-hd { - zoom:1; +.x-grid-group, +.x-grid-group-body, +.x-grid-group-hd { + zoom: 1; } .x-grid-group-hd { - border-bottom-color:#99bbe8; + border-bottom-color: #99bbe8; } .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/default/grid/group-collapse.gif); - color:#3764a0; - font:bold 11px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/default/grid/group-collapse.gif); + color: #3764a0; + font: bold 11px tahoma, arial, helvetica, sans-serif; } .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/default/grid/group-expand.gif); + background-image: url(../images/default/grid/group-expand.gif); } .x-group-by-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-cols-icon { - background-image:url(../images/default/grid/columns.gif); + background-image: url(../images/default/grid/columns.gif); } .x-show-groups-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-grid-empty { - color:gray; - font:normal 11px tahoma, arial, helvetica, sans-serif; + color: gray; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-grid-with-col-lines .x-grid3-row td.x-grid3-cell { - border-right-color:#ededed; + border-right-color: #ededed; } .x-grid-with-col-lines .x-grid3-row-selected { - border-top-color:#a3bae9; -}.x-pivotgrid .x-grid3-header-offset table td { + border-top-color: #a3bae9; +} +.x-pivotgrid .x-grid3-header-offset table td { background: url(../images/default/grid/grid3-hrow.gif) repeat-x 50% 100%; border-left: 1px solid; border-right: 1px solid; - border-left-color: #EEE; - border-right-color: #D0D0D0; + border-left-color: #eee; + border-right-color: #d0d0d0; } .x-pivotgrid .x-grid3-row-headers { @@ -812,158 +874,162 @@ td.grid-hd-group-cell { } .x-pivotgrid .x-grid3-row-headers table td { - background: #EEE url(../images/default/grid/grid3-rowheader.gif) repeat-x left top; + background: #eee url(../images/default/grid/grid3-rowheader.gif) repeat-x + left top; border-left: 1px solid; border-right: 1px solid; - border-left-color: #EEE; - border-right-color: #D0D0D0; + border-left-color: #eee; + border-right-color: #d0d0d0; border-bottom: 1px solid; - border-bottom-color: #D0D0D0; + border-bottom-color: #d0d0d0; height: 18px; } -.x-dd-drag-ghost{ - color:#000; +.x-dd-drag-ghost { + color: #000; font: normal 11px arial, helvetica, sans-serif; border-color: #ddd #bbb #bbb #ddd; - background-color:#fff; + background-color: #fff; } -.x-dd-drop-nodrop .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-no.gif); +.x-dd-drop-nodrop .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-no.gif); } -.x-dd-drop-ok .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-yes.gif); +.x-dd-drop-ok .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-yes.gif); } -.x-dd-drop-ok-add .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-add.gif); +.x-dd-drop-ok-add .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-add.gif); } .x-view-selector { - background-color:#c3daf9; - border-color:#3399bb; -}.x-tree-node-expanded .x-tree-node-icon{ - background-image:url(../images/default/tree/folder-open.gif); + background-color: #c3daf9; + border-color: #3399bb; +} +.x-tree-node-expanded .x-tree-node-icon { + background-image: url(../images/default/tree/folder-open.gif); } -.x-tree-node-leaf .x-tree-node-icon{ - background-image:url(../images/default/tree/leaf.gif); +.x-tree-node-leaf .x-tree-node-icon { + background-image: url(../images/default/tree/leaf.gif); } -.x-tree-node-collapsed .x-tree-node-icon{ - background-image:url(../images/default/tree/folder.gif); +.x-tree-node-collapsed .x-tree-node-icon { + background-image: url(../images/default/tree/folder.gif); } -.x-tree-node-loading .x-tree-node-icon{ - background-image:url(../images/default/tree/loading.gif) !important; +.x-tree-node-loading .x-tree-node-icon { + background-image: url(../images/default/tree/loading.gif) !important; } .x-tree-node .x-tree-node-inline-icon { background-image: none; } -.x-tree-node-loading a span{ - font-style: italic; - color:#444444; +.x-tree-node-loading a span { + font-style: italic; + color: #444444; } -.x-tree-lines .x-tree-elbow{ - background-image:url(../images/default/tree/elbow.gif); +.x-tree-lines .x-tree-elbow { + background-image: url(../images/default/tree/elbow.gif); } -.x-tree-lines .x-tree-elbow-plus{ - background-image:url(../images/default/tree/elbow-plus.gif); +.x-tree-lines .x-tree-elbow-plus { + background-image: url(../images/default/tree/elbow-plus.gif); } -.x-tree-lines .x-tree-elbow-minus{ - background-image:url(../images/default/tree/elbow-minus.gif); +.x-tree-lines .x-tree-elbow-minus { + background-image: url(../images/default/tree/elbow-minus.gif); } -.x-tree-lines .x-tree-elbow-end{ - background-image:url(../images/default/tree/elbow-end.gif); +.x-tree-lines .x-tree-elbow-end { + background-image: url(../images/default/tree/elbow-end.gif); } -.x-tree-lines .x-tree-elbow-end-plus{ - background-image:url(../images/default/tree/elbow-end-plus.gif); +.x-tree-lines .x-tree-elbow-end-plus { + background-image: url(../images/default/tree/elbow-end-plus.gif); } -.x-tree-lines .x-tree-elbow-end-minus{ - background-image:url(../images/default/tree/elbow-end-minus.gif); +.x-tree-lines .x-tree-elbow-end-minus { + background-image: url(../images/default/tree/elbow-end-minus.gif); } -.x-tree-lines .x-tree-elbow-line{ - background-image:url(../images/default/tree/elbow-line.gif); +.x-tree-lines .x-tree-elbow-line { + background-image: url(../images/default/tree/elbow-line.gif); } -.x-tree-no-lines .x-tree-elbow-plus{ - background-image:url(../images/default/tree/elbow-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-plus { + background-image: url(../images/default/tree/elbow-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-minus{ - background-image:url(../images/default/tree/elbow-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-minus { + background-image: url(../images/default/tree/elbow-minus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-plus{ - background-image:url(../images/default/tree/elbow-end-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-plus { + background-image: url(../images/default/tree/elbow-end-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-minus{ - background-image:url(../images/default/tree/elbow-end-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-minus { + background-image: url(../images/default/tree/elbow-end-minus-nl.gif); } -.x-tree-arrows .x-tree-elbow-plus{ - background-image:url(../images/default/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-plus { + background-image: url(../images/default/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-minus{ - background-image:url(../images/default/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-minus { + background-image: url(../images/default/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-plus{ - background-image:url(../images/default/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-plus { + background-image: url(../images/default/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-minus{ - background-image:url(../images/default/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-minus { + background-image: url(../images/default/tree/arrows.gif); } -.x-tree-node{ - color:#000; +.x-tree-node { + color: #000; font: normal 11px arial, tahoma, helvetica, sans-serif; } -.x-tree-node a, .x-dd-drag-ghost a{ - color:#000; +.x-tree-node a, +.x-dd-drag-ghost a { + color: #000; } -.x-tree-node a span, .x-dd-drag-ghost a span{ - color:#000; +.x-tree-node a span, +.x-dd-drag-ghost a span { + color: #000; } -.x-tree-node .x-tree-node-disabled a span{ - color:gray !important; +.x-tree-node .x-tree-node-disabled a span { + color: gray !important; } -.x-tree-node div.x-tree-drag-insert-below{ - border-bottom-color:#36c; +.x-tree-node div.x-tree-drag-insert-below { + border-bottom-color: #36c; } -.x-tree-node div.x-tree-drag-insert-above{ - border-top-color:#36c; +.x-tree-node div.x-tree-drag-insert-above { + border-top-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{ - border-bottom-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a { + border-bottom-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{ - border-top-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a { + border-top-color: #36c; } -.x-tree-node .x-tree-drag-append a span{ - background-color:#ddd; - border-color:gray; +.x-tree-node .x-tree-drag-append a span { + background-color: #ddd; + border-color: gray; } .x-tree-node .x-tree-node-over { @@ -974,124 +1040,129 @@ td.grid-hd-group-cell { background-color: #d9e8fb; } -.x-tree-drop-ok-append .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-add.gif); +.x-tree-drop-ok-append .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-add.gif); } -.x-tree-drop-ok-above .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-over.gif); +.x-tree-drop-ok-above .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-over.gif); } -.x-tree-drop-ok-below .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-under.gif); +.x-tree-drop-ok-below .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-under.gif); } -.x-tree-drop-ok-between .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-between.gif); -}.x-date-picker { +.x-tree-drop-ok-between .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-between.gif); +} +.x-date-picker { border-color: #1b376c; - background-color:#fff; + background-color: #fff; } -.x-date-middle,.x-date-left,.x-date-right { +.x-date-middle, +.x-date-left, +.x-date-right { background-image: url(../images/default/shared/hd-sprite.gif); - color:#fff; - font:bold 11px "sans serif", tahoma, verdana, helvetica; + color: #fff; + font: bold 11px 'sans serif', tahoma, verdana, helvetica; } .x-date-middle .x-btn .x-btn-text { - color:#fff; + color: #fff; } .x-date-middle .x-btn-mc em.x-btn-arrow { - background-image:url(../images/default/toolbar/btn-arrow-light.gif); + background-image: url(../images/default/toolbar/btn-arrow-light.gif); } .x-date-right a { background-image: url(../images/default/shared/right-btn.gif); } -.x-date-left a{ +.x-date-left a { background-image: url(../images/default/shared/left-btn.gif); } .x-date-inner th { - background-color:#dfecfb; - background-image:url(../images/default/shared/glass-bg.gif); - border-bottom-color:#a3bad9; - font:normal 10px arial, helvetica,tahoma,sans-serif; - color:#233d6d; + background-color: #dfecfb; + background-image: url(../images/default/shared/glass-bg.gif); + border-bottom-color: #a3bad9; + font: normal 10px arial, helvetica, tahoma, sans-serif; + color: #233d6d; } .x-date-inner td { - border-color:#fff; + border-color: #fff; } .x-date-inner a { - font:normal 11px arial, helvetica,tahoma,sans-serif; - color:#000; + font: normal 11px arial, helvetica, tahoma, sans-serif; + color: #000; } -.x-date-inner .x-date-active{ - color:#000; +.x-date-inner .x-date-active { + color: #000; } -.x-date-inner .x-date-selected a{ - background-color:#dfecfb; - background-image:url(../images/default/shared/glass-bg.gif); - border-color:#8db2e3; +.x-date-inner .x-date-selected a { + background-color: #dfecfb; + background-image: url(../images/default/shared/glass-bg.gif); + border-color: #8db2e3; } -.x-date-inner .x-date-today a{ - border-color:darkred; +.x-date-inner .x-date-today a { + border-color: darkred; } -.x-date-inner .x-date-selected span{ - font-weight:bold; +.x-date-inner .x-date-selected span { + font-weight: bold; } -.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a { - color:#aaa; +.x-date-inner .x-date-prevday a, +.x-date-inner .x-date-nextday a { + color: #aaa; } .x-date-bottom { - border-top-color:#a3bad9; - background-color:#dfecfb; - background-image:url(../images/default/shared/glass-bg.gif); + border-top-color: #a3bad9; + background-color: #dfecfb; + background-image: url(../images/default/shared/glass-bg.gif); } -.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ - color:#000; - background-color:#ddecfe; +.x-date-inner a:hover, +.x-date-inner .x-date-disabled a:hover { + color: #000; + background-color: #ddecfe; } .x-date-inner .x-date-disabled a { - background-color:#eee; - color:#bbb; + background-color: #eee; + color: #bbb; } -.x-date-mmenu{ - background-color:#eee !important; +.x-date-mmenu { + background-color: #eee !important; } .x-date-mmenu .x-menu-item { - font-size:10px; - color:#000; + font-size: 10px; + color: #000; } .x-date-mp { - background-color:#fff; + background-color: #fff; } .x-date-mp td { - font:normal 11px arial, helvetica,tahoma,sans-serif; + font: normal 11px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns button { - background-color:#083772; - color:#fff; + background-color: #083772; + color: #fff; border-color: #3366cc #000055 #000055 #3366cc; - font:normal 11px arial, helvetica,tahoma,sans-serif; + font: normal 11px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns { @@ -1103,144 +1174,161 @@ td.grid-hd-group-cell { border-top-color: #c5d2df; } -td.x-date-mp-month a,td.x-date-mp-year a { - color:#15428b; +td.x-date-mp-month a, +td.x-date-mp-year a { + color: #15428b; } -td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { - color:#15428b; +td.x-date-mp-month a:hover, +td.x-date-mp-year a:hover { + color: #15428b; background-color: #ddecfe; } td.x-date-mp-sel a { background-color: #dfecfb; background-image: url(../images/default/shared/glass-bg.gif); - border-color:#8db2e3; + border-color: #8db2e3; } .x-date-mp-ybtn a { - background-image:url(../images/default/panel/tool-sprites.gif); + background-image: url(../images/default/panel/tool-sprites.gif); } td.x-date-mp-sep { - border-right-color:#c5d2df; -}.x-tip .x-tip-close{ + border-right-color: #c5d2df; +} +.x-tip .x-tip-close { background-image: url(../images/default/qtip/close.gif); } -.x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr { +.x-tip .x-tip-tc, +.x-tip .x-tip-tl, +.x-tip .x-tip-tr, +.x-tip .x-tip-bc, +.x-tip .x-tip-bl, +.x-tip .x-tip-br, +.x-tip .x-tip-ml, +.x-tip .x-tip-mr { background-image: url(../images/default/qtip/tip-sprite.gif); } .x-tip .x-tip-mc { - font: normal 11px tahoma,arial,helvetica,sans-serif; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-tip .x-tip-ml { background-color: #fff; } .x-tip .x-tip-header-text { - font: bold 11px tahoma,arial,helvetica,sans-serif; - color:#444; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #444; } .x-tip .x-tip-body { - font: normal 11px tahoma,arial,helvetica,sans-serif; - color:#444; -} - -.x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc, -.x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr -{ + font: normal 11px tahoma, arial, helvetica, sans-serif; + color: #444; +} + +.x-form-invalid-tip .x-tip-tc, +.x-form-invalid-tip .x-tip-tl, +.x-form-invalid-tip .x-tip-tr, +.x-form-invalid-tip .x-tip-bc, +.x-form-invalid-tip .x-tip-bl, +.x-form-invalid-tip .x-tip-br, +.x-form-invalid-tip .x-tip-ml, +.x-form-invalid-tip .x-tip-mr { background-image: url(../images/default/form/error-tip-corners.gif); } .x-form-invalid-tip .x-tip-body { - background-image:url(../images/default/form/exclamation.gif); + background-image: url(../images/default/form/exclamation.gif); } .x-tip-anchor { - background-image:url(../images/default/qtip/tip-anchor-sprite.gif); -}.x-menu { - background-color:#f0f0f0; - background-image:url(../images/default/menu/menu.gif); + background-image: url(../images/default/qtip/tip-anchor-sprite.gif); +} +.x-menu { + background-color: #f0f0f0; + background-image: url(../images/default/menu/menu.gif); } -.x-menu-floating{ - border-color:#718bb7; +.x-menu-floating { + border-color: #718bb7; } .x-menu-nosep { - background-image:none; + background-image: none; } -.x-menu-list-item{ - font:normal 11px arial,tahoma,sans-serif; +.x-menu-list-item { + font: normal 11px arial, tahoma, sans-serif; } -.x-menu-item-arrow{ - background-image:url(../images/default/menu/menu-parent.gif); +.x-menu-item-arrow { + background-image: url(../images/default/menu/menu-parent.gif); } .x-menu-sep { - background-color:#e0e0e0; - border-bottom-color:#fff; + background-color: #e0e0e0; + border-bottom-color: #fff; } a.x-menu-item { - color:#222; + color: #222; } .x-menu-item-active { background-image: url(../images/default/menu/item-over.gif); background-color: #dbecf4; - border-color:#aaccf6; + border-color: #aaccf6; } .x-menu-item-active a.x-menu-item { - border-color:#aaccf6; + border-color: #aaccf6; } -.x-menu-check-item .x-menu-item-icon{ - background-image:url(../images/default/menu/unchecked.gif); +.x-menu-check-item .x-menu-item-icon { + background-image: url(../images/default/menu/unchecked.gif); } -.x-menu-item-checked .x-menu-item-icon{ - background-image:url(../images/default/menu/checked.gif); +.x-menu-item-checked .x-menu-item-icon { + background-image: url(../images/default/menu/checked.gif); } -.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ - background-image:url(../images/default/menu/group-checked.gif); +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon { + background-image: url(../images/default/menu/group-checked.gif); } -.x-menu-group-item .x-menu-item-icon{ - background-image:none; +.x-menu-group-item .x-menu-item-icon { + background-image: none; } .x-menu-plain { - background-color:#f0f0f0 !important; + background-color: #f0f0f0 !important; background-image: none; } -.x-date-menu, .x-color-menu{ +.x-date-menu, +.x-color-menu { background-color: #fff !important; } -.x-menu .x-date-picker{ - border-color:#a3bad9; +.x-menu .x-date-picker { + border-color: #a3bad9; } .x-cycle-menu .x-menu-item-checked { - border-color:#a3bae9 !important; - background-color:#def8f6; + border-color: #a3bae9 !important; + background-color: #def8f6; } .x-menu-scroller-top { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-menu-scroller-bottom { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-box-tl { background-image: url(../images/default/box/corners.gif); @@ -1261,7 +1349,8 @@ a.x-menu-item { .x-box-mc { background-color: #eee; background-image: url(../images/default/box/tb.gif); - font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; + font-family: 'Myriad Pro', 'Myriad Web', 'Tahoma', 'Helvetica', 'Arial', + sans-serif; color: #393939; font-size: 12px; } @@ -1287,11 +1376,16 @@ a.x-menu-item { background-image: url(../images/default/box/corners.gif); } -.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { +.x-box-blue .x-box-bl, +.x-box-blue .x-box-br, +.x-box-blue .x-box-tl, +.x-box-blue .x-box-tr { background-image: url(../images/default/box/corners-blue.gif); } -.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { +.x-box-blue .x-box-bc, +.x-box-blue .x-box-mc, +.x-box-blue .x-box-tc { background-image: url(../images/default/box/tb-blue.gif); } @@ -1309,84 +1403,92 @@ a.x-menu-item { .x-box-blue .x-box-mr { background-image: url(../images/default/box/r-blue.gif); -}.x-combo-list { - border-color:#98c0f4; - background-color:#ddecfe; - font:normal 12px tahoma, arial, helvetica, sans-serif; +} +.x-combo-list { + border-color: #98c0f4; + background-color: #ddecfe; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-combo-list-inner { - background-color:#fff; + background-color: #fff; } .x-combo-list-hd { - font:bold 11px tahoma, arial, helvetica, sans-serif; - color:#15428b; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #15428b; background-image: url(../images/default/layout/panel-title-light-bg.gif); - border-bottom-color:#98c0f4; + border-bottom-color: #98c0f4; } .x-resizable-pinned .x-combo-list-inner { - border-bottom-color:#98c0f4; + border-bottom-color: #98c0f4; } .x-combo-list-item { - border-color:#fff; + border-color: #fff; } -.x-combo-list .x-combo-selected{ - border-color:#a3bae9 !important; - background-color:#dfe8f6; +.x-combo-list .x-combo-selected { + border-color: #a3bae9 !important; + background-color: #dfe8f6; } .x-combo-list .x-toolbar { - border-top-color:#98c0f4; + border-top-color: #98c0f4; } .x-combo-list-small { - font:normal 11px tahoma, arial, helvetica, sans-serif; -}.x-panel { + font: normal 11px tahoma, arial, helvetica, sans-serif; +} +.x-panel { border-color: #99bbe8; } .x-panel-header { - color:#15428b; - font-weight:bold; + color: #15428b; + font-weight: bold; font-size: 11px; - font-family: tahoma,arial,verdana,sans-serif; - border-color:#99bbe8; + font-family: tahoma, arial, verdana, sans-serif; + border-color: #99bbe8; background-image: url(../images/default/panel/white-top-bottom.gif); } .x-panel-body { - border-color:#99bbe8; - background-color:#fff; + border-color: #99bbe8; + background-color: #fff; } -.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar { - border-color:#99bbe8; +.x-panel-bbar .x-toolbar, +.x-panel-tbar .x-toolbar { + border-color: #99bbe8; } -.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { - border-top-color:#99bbe8; +.x-panel-tbar-noheader .x-toolbar, +.x-panel-mc .x-panel-tbar .x-toolbar { + border-top-color: #99bbe8; } -.x-panel-body-noheader, .x-panel-mc .x-panel-body { - border-top-color:#99bbe8; +.x-panel-body-noheader, +.x-panel-mc .x-panel-body { + border-top-color: #99bbe8; } .x-panel-tl .x-panel-header { - color:#15428b; - font:bold 11px tahoma,arial,verdana,sans-serif; + color: #15428b; + font: bold 11px tahoma, arial, verdana, sans-serif; } .x-panel-tc { background-image: url(../images/default/panel/top-bottom.gif); } -.x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{ +.x-panel-tl, +.x-panel-tr, +.x-panel-bl, +.x-panel-br { background-image: url(../images/default/panel/corners-sprite.gif); - border-bottom-color:#99bbe8; + border-bottom-color: #99bbe8; } .x-panel-bc { @@ -1394,13 +1496,13 @@ a.x-menu-item { } .x-panel-mc { - font: normal 11px tahoma,arial,helvetica,sans-serif; - background-color:#dfe8f6; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-color: #dfe8f6; } .x-panel-ml { background-color: #fff; - background-image:url(../images/default/panel/left-right.gif); + background-image: url(../images/default/panel/left-right.gif); } .x-panel-mr { @@ -1408,32 +1510,37 @@ a.x-menu-item { } .x-tool { - background-image:url(../images/default/panel/tool-sprites.gif); + background-image: url(../images/default/panel/tool-sprites.gif); } .x-panel-ghost { - background-color:#cbddf3; + background-color: #cbddf3; } .x-panel-ghost ul { - border-color:#99bbe8; + border-color: #99bbe8; } .x-panel-dd-spacer { - border-color:#99bbe8; + border-color: #99bbe8; } -.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{ - font:normal 11px arial,tahoma, helvetica, sans-serif; +.x-panel-fbar td, +.x-panel-fbar span, +.x-panel-fbar input, +.x-panel-fbar div, +.x-panel-fbar select, +.x-panel-fbar label { + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-window-proxy { - background-color:#c7dffc; - border-color:#99bbe8; + background-color: #c7dffc; + border-color: #99bbe8; } .x-window-tl .x-window-header { - color:#15428b; - font:bold 11px tahoma,arial,verdana,sans-serif; + color: #15428b; + font: bold 11px tahoma, arial, verdana, sans-serif; } .x-window-tc { @@ -1461,9 +1568,9 @@ a.x-menu-item { } .x-window-mc { - border-color:#99bbe8; - font: normal 11px tahoma,arial,helvetica,sans-serif; - background-color:#dfe8f6; + border-color: #99bbe8; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-color: #dfe8f6; } .x-window-ml { @@ -1475,23 +1582,23 @@ a.x-menu-item { } .x-window-maximized .x-window-tc { - background-color:#fff; + background-color: #fff; } .x-window-bbar .x-toolbar { - border-top-color:#99bbe8; + border-top-color: #99bbe8; } .x-panel-ghost .x-window-tl { - border-bottom-color:#99bbe8; + border-bottom-color: #99bbe8; } .x-panel-collapsed .x-window-tl { - border-bottom-color:#84a0c4; + border-bottom-color: #84a0c4; } -.x-dlg-mask{ - background-color:#ccc; +.x-dlg-mask { + background-color: #ccc; } .x-window-plain .x-window-mc { @@ -1505,170 +1612,182 @@ a.x-menu-item { body.x-body-masked .x-window-plain .x-window-mc { background-color: #ccd9e8; -}.x-html-editor-wrap { - border-color:#a9bfd3; - background-color:#fff; +} +.x-html-editor-wrap { + border-color: #a9bfd3; + background-color: #fff; } .x-html-editor-tb .x-btn-text { - background-image:url(../images/default/editor/tb-sprite.gif); -}.x-panel-noborder .x-panel-header-noborder { - border-bottom-color:#99bbe8; + background-image: url(../images/default/editor/tb-sprite.gif); +} +.x-panel-noborder .x-panel-header-noborder { + border-bottom-color: #99bbe8; } .x-panel-noborder .x-panel-tbar-noborder .x-toolbar { - border-bottom-color:#99bbe8; + border-bottom-color: #99bbe8; } .x-panel-noborder .x-panel-bbar-noborder .x-toolbar { - border-top-color:#99bbe8; + border-top-color: #99bbe8; } .x-tab-panel-bbar-noborder .x-toolbar { - border-top-color:#99bbe8; + border-top-color: #99bbe8; } .x-tab-panel-tbar-noborder .x-toolbar { - border-bottom-color:#99bbe8; -}.x-border-layout-ct { - background-color:#dfe8f6; + border-bottom-color: #99bbe8; +} +.x-border-layout-ct { + background-color: #dfe8f6; } .x-accordion-hd { - color:#222; - font-weight:normal; + color: #222; + font-weight: normal; background-image: url(../images/default/panel/light-hd.gif); } -.x-layout-collapsed{ - background-color:#d2e0f2; - border-color:#98c0f4; +.x-layout-collapsed { + background-color: #d2e0f2; + border-color: #98c0f4; } -.x-layout-collapsed-over{ - background-color:#d9e8fb; +.x-layout-collapsed-over { + background-color: #d9e8fb; } .x-layout-split-west .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-split-east .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-split-north .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-layout-split-south .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-west .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-cmini-east .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-cmini-north .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-south .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); -}.x-progress-wrap { - border-color:#6593cf; + background-image: url(../images/default/layout/mini-top.gif); +} +.x-progress-wrap { + border-color: #6593cf; } .x-progress-inner { - background-color:#e0e8f3; - background-image:url(../images/default/qtip/bg.gif); + background-color: #e0e8f3; + background-image: url(../images/default/qtip/bg.gif); } .x-progress-bar { - background-color:#9cbfee; - background-image:url(../images/default/progress/progress-bg.gif); - border-top-color:#d1e4fd; - border-bottom-color:#7fa9e4; - border-right-color:#7fa9e4; + background-color: #9cbfee; + background-image: url(../images/default/progress/progress-bg.gif); + border-top-color: #d1e4fd; + border-bottom-color: #7fa9e4; + border-right-color: #7fa9e4; } .x-progress-text { - font-size:11px; - font-weight:bold; - color:#fff; + font-size: 11px; + font-weight: bold; + color: #fff; } .x-progress-text-back { - color:#396095; -}.x-list-header{ - background-color:#f9f9f9; - background-image:url(../images/default/grid/grid3-hrow.gif); + color: #396095; +} +.x-list-header { + background-color: #f9f9f9; + background-image: url(../images/default/grid/grid3-hrow.gif); } .x-list-header-inner div em { - border-left-color:#ddd; - font:normal 11px arial, tahoma, helvetica, sans-serif; + border-left-color: #ddd; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-list-body dt em { - font:normal 11px arial, tahoma, helvetica, sans-serif; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-list-over { - background-color:#eee; + background-color: #eee; } .x-list-selected { - background-color:#dfe8f6; + background-color: #dfe8f6; } .x-list-resizer { - border-left-color:#555; - border-right-color:#555; + border-left-color: #555; + border-right-color: #555; } -.x-list-header-inner em.sort-asc, .x-list-header-inner em.sort-desc { - background-image:url(../images/default/grid/sort-hd.gif); +.x-list-header-inner em.sort-asc, +.x-list-header-inner em.sort-desc { + background-image: url(../images/default/grid/sort-hd.gif); border-color: #99bbe8; -}.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner { - background-image:url(../images/default/slider/slider-bg.png); +} +.x-slider-horz, +.x-slider-horz .x-slider-end, +.x-slider-horz .x-slider-inner { + background-image: url(../images/default/slider/slider-bg.png); } .x-slider-horz .x-slider-thumb { - background-image:url(../images/default/slider/slider-thumb.png); + background-image: url(../images/default/slider/slider-thumb.png); } -.x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner { - background-image:url(../images/default/slider/slider-v-bg.png); +.x-slider-vert, +.x-slider-vert .x-slider-end, +.x-slider-vert .x-slider-inner { + background-image: url(../images/default/slider/slider-v-bg.png); } .x-slider-vert .x-slider-thumb { - background-image:url(../images/default/slider/slider-v-thumb.png); -}.x-window-dlg .ext-mb-text, + background-image: url(../images/default/slider/slider-v-thumb.png); +} +.x-window-dlg .ext-mb-text, .x-window-dlg .x-window-header-text { - font-size:12px; + font-size: 12px; } .x-window-dlg .ext-mb-textarea { - font:normal 12px tahoma,arial,helvetica,sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-window-dlg .x-msg-box-wait { - background-image:url(../images/default/grid/loading.gif); + background-image: url(../images/default/grid/loading.gif); } .x-window-dlg .ext-mb-info { - background-image:url(../images/default/window/icon-info.gif); + background-image: url(../images/default/window/icon-info.gif); } .x-window-dlg .ext-mb-warning { - background-image:url(../images/default/window/icon-warning.gif); + background-image: url(../images/default/window/icon-warning.gif); } .x-window-dlg .ext-mb-question { - background-image:url(../images/default/window/icon-question.gif); + background-image: url(../images/default/window/icon-question.gif); } .x-window-dlg .ext-mb-error { - background-image:url(../images/default/window/icon-error.gif); + background-image: url(../images/default/window/icon-error.gif); } diff --git a/deluge/ui/web/themes/css/xtheme-gray.css b/deluge/ui/web/themes/css/xtheme-gray.css index 923fdc5d8..ce9eafe44 100644 --- a/deluge/ui/web/themes/css/xtheme-gray.css +++ b/deluge/ui/web/themes/css/xtheme-gray.css @@ -9,21 +9,21 @@ } .ext-el-mask-msg { - border-color:#999; - background-color:#ddd; - background-image:url(../images/gray/panel/white-top-bottom.gif); + border-color: #999; + background-color: #ddd; + background-image: url(../images/gray/panel/white-top-bottom.gif); background-position: 0 -1px; } .ext-el-mask-msg div { background-color: #eee; - border-color:#d0d0d0; - color:#222; - font:normal 11px tahoma, arial, helvetica, sans-serif; + border-color: #d0d0d0; + color: #222; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-mask-loading div { - background-color:#fbfbfb; - background-image:url(../images/default/grid/loading.gif); + background-color: #fbfbfb; + background-image: url(../images/default/grid/loading.gif); } .x-item-disabled { @@ -39,11 +39,12 @@ } .x-color-palette a { - border-color:#fff; + border-color: #fff; } -.x-color-palette a:hover, .x-color-palette a.x-color-palette-sel { - border-color:#CFCFCF; +.x-color-palette a:hover, +.x-color-palette a.x-color-palette-sel { + border-color: #cfcfcf; background-color: #eaeaea; } @@ -54,22 +55,28 @@ */ .x-color-palette em { - border-color:#aca899; + border-color: #aca899; } .x-ie-shadow { - background-color:#777; + background-color: #777; } .x-shadow .xsmc { background-image: url(../images/default/shadow-c.png); } -.x-shadow .xsml, .x-shadow .xsmr { +.x-shadow .xsml, +.x-shadow .xsmr { background-image: url(../images/default/shadow-lr.png); } -.x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{ +.x-shadow .xstl, +.x-shadow .xstc, +.x-shadow .xstr, +.x-shadow .xsbl, +.x-shadow .xsbc, +.x-shadow .xsbr { background-image: url(../images/default/shadow.png); } @@ -80,54 +87,59 @@ .x-spotlight { background-color: #ccc; -}.x-tab-panel-header, .x-tab-panel-footer { +} +.x-tab-panel-header, +.x-tab-panel-footer { background-color: #eaeaea; - border-color:#d0d0d0; - overflow:hidden; - zoom:1; + border-color: #d0d0d0; + overflow: hidden; + zoom: 1; } -.x-tab-panel-header, .x-tab-panel-footer { - border-color:#d0d0d0; +.x-tab-panel-header, +.x-tab-panel-footer { + border-color: #d0d0d0; } -ul.x-tab-strip-top{ - background-color:#dbdbdb; +ul.x-tab-strip-top { + background-color: #dbdbdb; background-image: url(../images/gray/tabs/tab-strip-bg.gif); - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } -ul.x-tab-strip-bottom{ - background-color:#dbdbdb; +ul.x-tab-strip-bottom { + background-color: #dbdbdb; background-image: url(../images/gray/tabs/tab-strip-btm-bg.gif); - border-top-color:#d0d0d0; + border-top-color: #d0d0d0; } .x-tab-panel-header-plain .x-tab-strip-spacer, .x-tab-panel-footer-plain .x-tab-strip-spacer { - border-color:#d0d0d0; + border-color: #d0d0d0; background-color: #eaeaea; } .x-tab-strip span.x-tab-strip-text { - font:normal 11px tahoma,arial,helvetica; - color:#333; + font: normal 11px tahoma, arial, helvetica; + color: #333; } .x-tab-strip-over span.x-tab-strip-text { - color:#111; + color: #111; } .x-tab-strip-active span.x-tab-strip-text { - color:#333; - font-weight:bold; + color: #333; + font-weight: bold; } .x-tab-strip-disabled .x-tabs-text { - color:#aaaaaa; + color: #aaaaaa; } -.x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{ +.x-tab-strip-top .x-tab-right, +.x-tab-strip-top .x-tab-left, +.x-tab-strip-top .x-tab-strip-inner { background-image: url(../images/gray/tabs/tabs-sprite.gif); } @@ -156,16 +168,16 @@ ul.x-tab-strip-bottom{ } .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { - background-image:url(../images/gray/tabs/tab-close.gif); + background-image: url(../images/gray/tabs/tab-close.gif); } -.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ - background-image:url(../images/gray/tabs/tab-close.gif); +.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover { + background-image: url(../images/gray/tabs/tab-close.gif); } .x-tab-panel-body { - border-color:#d0d0d0; - background-color:#fff; + border-color: #d0d0d0; + background-color: #fff; } .x-tab-panel-body-top { @@ -177,8 +189,8 @@ ul.x-tab-strip-bottom{ } .x-tab-scroller-left { - background-image:url(../images/gray/tabs/scroll-left.gif); - border-bottom-color:#d0d0d0; + background-image: url(../images/gray/tabs/scroll-left.gif); + border-bottom-color: #d0d0d0; } .x-tab-scroller-left-over { @@ -187,33 +199,35 @@ ul.x-tab-strip-bottom{ .x-tab-scroller-left-disabled { background-position: -18px 0; - opacity:.5; - -moz-opacity:.5; - filter:alpha(opacity=50); - cursor:default; + opacity: 0.5; + -moz-opacity: 0.5; + filter: alpha(opacity=50); + cursor: default; } .x-tab-scroller-right { - background-image:url(../images/gray/tabs/scroll-right.gif); - border-bottom-color:#d0d0d0; + background-image: url(../images/gray/tabs/scroll-right.gif); + border-bottom-color: #d0d0d0; } -.x-tab-panel-bbar .x-toolbar, .x-tab-panel-tbar .x-toolbar { - border-color:#d0d0d0; +.x-tab-panel-bbar .x-toolbar, +.x-tab-panel-tbar .x-toolbar { + border-color: #d0d0d0; } -.x-form-field{ - font:normal 12px tahoma, arial, helvetica, sans-serif; +.x-form-field { + font: normal 12px tahoma, arial, helvetica, sans-serif; } -.x-form-text, textarea.x-form-field{ - background-color:#fff; - background-image:url(../images/default/form/text-bg.gif); - border-color:#C1C1C1; +.x-form-text, +textarea.x-form-field { + background-color: #fff; + background-image: url(../images/default/form/text-bg.gif); + border-color: #c1c1c1; } .x-form-select-one { - background-color:#fff; - border-color:#C1C1C1; + background-color: #fff; + border-color: #c1c1c1; } .x-form-check-group-label { @@ -222,143 +236,163 @@ ul.x-tab-strip-bottom{ } .x-editor .x-form-check-wrap { - background-color:#fff; + background-color: #fff; } -.x-form-field-wrap .x-form-trigger{ - background-image:url(../images/gray/form/trigger.gif); - border-bottom-color:#b5b8c8; +.x-form-field-wrap .x-form-trigger { + background-image: url(../images/gray/form/trigger.gif); + border-bottom-color: #b5b8c8; } -.x-form-field-wrap .x-form-date-trigger{ +.x-form-field-wrap .x-form-date-trigger { background-image: url(../images/gray/form/date-trigger.gif); } -.x-form-field-wrap .x-form-clear-trigger{ +.x-form-field-wrap .x-form-clear-trigger { background-image: url(../images/gray/form/clear-trigger.gif); } -.x-form-field-wrap .x-form-search-trigger{ +.x-form-field-wrap .x-form-search-trigger { background-image: url(../images/gray/form/search-trigger.gif); } -.x-trigger-wrap-focus .x-form-trigger{ +.x-trigger-wrap-focus .x-form-trigger { border-bottom-color: #777777; } -.x-item-disabled .x-form-trigger-over{ - border-bottom-color:#b5b8c8; +.x-item-disabled .x-form-trigger-over { + border-bottom-color: #b5b8c8; } -.x-item-disabled .x-form-trigger-click{ - border-bottom-color:#b5b8c8; +.x-item-disabled .x-form-trigger-click { + border-bottom-color: #b5b8c8; } -.x-form-focus, textarea.x-form-focus{ - border-color:#777777; +.x-form-focus, +textarea.x-form-focus { + border-color: #777777; } -.x-form-invalid, textarea.x-form-invalid{ - background-color:#fff; - background-image:url(../images/default/grid/invalid_line.gif); - border-color:#c30; +.x-form-invalid, +textarea.x-form-invalid { + background-color: #fff; + background-image: url(../images/default/grid/invalid_line.gif); + border-color: #c30; } -.ext-webkit .x-form-invalid{ - background-color:#fee; - border-color:#ff7870; +.ext-webkit .x-form-invalid { + background-color: #fee; + border-color: #ff7870; } -.x-form-inner-invalid, textarea.x-form-inner-invalid{ - background-color:#fff; - background-image:url(../images/default/grid/invalid_line.gif); +.x-form-inner-invalid, +textarea.x-form-inner-invalid { + background-color: #fff; + background-image: url(../images/default/grid/invalid_line.gif); } .x-form-grow-sizer { - font:normal 12px tahoma, arial, helvetica, sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-form-item { - font:normal 12px tahoma, arial, helvetica, sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-form-invalid-msg { - color:#c0272b; - font:normal 11px tahoma, arial, helvetica, sans-serif; - background-image:url(../images/default/shared/warning.gif); + color: #c0272b; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/default/shared/warning.gif); } .x-form-empty-field { - color:gray; + color: gray; } .x-small-editor .x-form-field { - font:normal 11px arial, tahoma, helvetica, sans-serif; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .ext-webkit .x-small-editor .x-form-field { - font:normal 12px arial, tahoma, helvetica, sans-serif; + font: normal 12px arial, tahoma, helvetica, sans-serif; } .x-form-invalid-icon { - background-image:url(../images/default/form/exclamation.gif); + background-image: url(../images/default/form/exclamation.gif); } .x-fieldset { - border-color:#CCCCCC; + border-color: #cccccc; } .x-fieldset legend { - font:bold 11px tahoma, arial, helvetica, sans-serif; - color:#777777; -}.x-btn{ - font:normal 11px tahoma, verdana, helvetica; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #777777; +} +.x-btn { + font: normal 11px tahoma, verdana, helvetica; } -.x-btn button{ - font:normal 11px arial,tahoma,verdana,helvetica; - color:#333; +.x-btn button { + font: normal 11px arial, tahoma, verdana, helvetica; + color: #333; } .x-btn em { - font-style:normal; - font-weight:normal; + font-style: normal; + font-weight: normal; } -.x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{ - background-image:url(../images/gray/button/btn.gif); +.x-btn-tl, +.x-btn-tr, +.x-btn-tc, +.x-btn-ml, +.x-btn-mr, +.x-btn-mc, +.x-btn-bl, +.x-btn-br, +.x-btn-bc { + background-image: url(../images/gray/button/btn.gif); } -.x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{ - color:#000; +.x-btn-click .x-btn-text, +.x-btn-menu-active .x-btn-text, +.x-btn-pressed .x-btn-text { + color: #000; } -.x-btn-disabled *{ - color:gray !important; +.x-btn-disabled * { + color: gray !important; } .x-btn-mc em.x-btn-arrow { - background-image:url(../images/default/button/arrow.gif); + background-image: url(../images/default/button/arrow.gif); } .x-btn-mc em.x-btn-split { - background-image:url(../images/default/button/s-arrow.gif); + background-image: url(../images/default/button/s-arrow.gif); } -.x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { - background-image:url(../images/gray/button/s-arrow-o.gif); +.x-btn-over .x-btn-mc em.x-btn-split, +.x-btn-click .x-btn-mc em.x-btn-split, +.x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/gray/button/s-arrow-o.gif); } .x-btn-mc em.x-btn-arrow-bottom { - background-image:url(../images/default/button/s-arrow-b-noline.gif); + background-image: url(../images/default/button/s-arrow-b-noline.gif); } .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/default/button/s-arrow-b.gif); + background-image: url(../images/default/button/s-arrow-b.gif); } -.x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/gray/button/s-arrow-bo.gif); +.x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/gray/button/s-arrow-bo.gif); } .x-btn-group-header { @@ -399,204 +433,224 @@ ul.x-tab-strip-bottom{ .x-btn-group-notitle .x-btn-group-tc { background-image: url(../images/gray/button/group-tb.gif); } -.x-toolbar{ - border-color:#d0d0d0; - background-color:#f0f0f0; - background-image:url(../images/gray/toolbar/bg.gif); +.x-toolbar { + border-color: #d0d0d0; + background-color: #f0f0f0; + background-image: url(../images/gray/toolbar/bg.gif); } -.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ - font:normal 11px arial,tahoma, helvetica, sans-serif; +.x-toolbar td, +.x-toolbar span, +.x-toolbar input, +.x-toolbar div, +.x-toolbar select, +.x-toolbar label { + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-toolbar .x-item-disabled { - color:gray; + color: gray; } .x-toolbar .x-item-disabled * { - color:gray; + color: gray; } .x-toolbar .x-btn-mc em.x-btn-split { - background-image:url(../images/default/button/s-arrow-noline.gif); + background-image: url(../images/default/button/s-arrow-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split -{ - background-image:url(../images/gray/button/s-arrow-o.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split { + background-image: url(../images/gray/button/s-arrow-o.gif); } .x-toolbar .x-btn-mc em.x-btn-split-bottom { - background-image:url(../images/default/button/s-arrow-b-noline.gif); + background-image: url(../images/default/button/s-arrow-b-noline.gif); } -.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, -.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom -{ - background-image:url(../images/gray/button/s-arrow-bo.gif); +.x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, +.x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { + background-image: url(../images/gray/button/s-arrow-bo.gif); } .x-toolbar .xtb-sep { background-image: url(../images/default/grid/grid-split.gif); } -.x-tbar-page-first{ +.x-tbar-page-first { background-image: url(../images/gray/grid/page-first.gif) !important; } -.x-tbar-loading{ +.x-tbar-loading { background-image: url(../images/gray/grid/refresh.gif) !important; } -.x-tbar-page-last{ +.x-tbar-page-last { background-image: url(../images/gray/grid/page-last.gif) !important; } -.x-tbar-page-next{ +.x-tbar-page-next { background-image: url(../images/gray/grid/page-next.gif) !important; } -.x-tbar-page-prev{ +.x-tbar-page-prev { background-image: url(../images/gray/grid/page-prev.gif) !important; } -.x-item-disabled .x-tbar-loading{ +.x-item-disabled .x-tbar-loading { background-image: url(../images/default/grid/loading.gif) !important; } -.x-item-disabled .x-tbar-page-first{ +.x-item-disabled .x-tbar-page-first { background-image: url(../images/default/grid/page-first-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-last{ +.x-item-disabled .x-tbar-page-last { background-image: url(../images/default/grid/page-last-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-next{ +.x-item-disabled .x-tbar-page-next { background-image: url(../images/default/grid/page-next-disabled.gif) !important; } -.x-item-disabled .x-tbar-page-prev{ +.x-item-disabled .x-tbar-page-prev { background-image: url(../images/default/grid/page-prev-disabled.gif) !important; } .x-paging-info { - color:#444; + color: #444; } .x-toolbar-more-icon { background-image: url(../images/gray/toolbar/more.gif) !important; } .x-resizable-handle { - background-color:#fff; + background-color: #fff; } -.x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east, -.x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west -{ - background-image:url(../images/gray/sizer/e-handle.gif); +.x-resizable-over .x-resizable-handle-east, +.x-resizable-pinned .x-resizable-handle-east, +.x-resizable-over .x-resizable-handle-west, +.x-resizable-pinned .x-resizable-handle-west { + background-image: url(../images/gray/sizer/e-handle.gif); } -.x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south, -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north -{ - background-image:url(../images/gray/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-south, +.x-resizable-pinned .x-resizable-handle-south, +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/gray/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ - background-image:url(../images/gray/sizer/s-handle.gif); +.x-resizable-over .x-resizable-handle-north, +.x-resizable-pinned .x-resizable-handle-north { + background-image: url(../images/gray/sizer/s-handle.gif); } -.x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ - background-image:url(../images/gray/sizer/se-handle.gif); +.x-resizable-over .x-resizable-handle-southeast, +.x-resizable-pinned .x-resizable-handle-southeast { + background-image: url(../images/gray/sizer/se-handle.gif); } -.x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ - background-image:url(../images/gray/sizer/nw-handle.gif); +.x-resizable-over .x-resizable-handle-northwest, +.x-resizable-pinned .x-resizable-handle-northwest { + background-image: url(../images/gray/sizer/nw-handle.gif); } -.x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ - background-image:url(../images/gray/sizer/ne-handle.gif); +.x-resizable-over .x-resizable-handle-northeast, +.x-resizable-pinned .x-resizable-handle-northeast { + background-image: url(../images/gray/sizer/ne-handle.gif); } -.x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ - background-image:url(../images/gray/sizer/sw-handle.gif); +.x-resizable-over .x-resizable-handle-southwest, +.x-resizable-pinned .x-resizable-handle-southwest { + background-image: url(../images/gray/sizer/sw-handle.gif); } -.x-resizable-proxy{ - border-color:#565656; +.x-resizable-proxy { + border-color: #565656; } -.x-resizable-overlay{ - background-color:#fff; +.x-resizable-overlay { + background-color: #fff; } .x-grid3 { - background-color:#fff; + background-color: #fff; } .x-grid-panel .x-panel-mc .x-panel-body { - border-color:#d0d0d0; + border-color: #d0d0d0; } -.x-grid3-row td, .x-grid3-summary-row td{ - font:normal 11px/13px arial, tahoma, helvetica, sans-serif; +.x-grid3-row td, +.x-grid3-summary-row td { + font: normal 11px/13px arial, tahoma, helvetica, sans-serif; } .x-grid3-hd-row td { - font:normal 11px/15px arial, tahoma, helvetica, sans-serif; + font: normal 11px/15px arial, tahoma, helvetica, sans-serif; } .x-grid3-hd-row td { - border-left-color:#eee; - border-right-color:#d0d0d0; + border-left-color: #eee; + border-right-color: #d0d0d0; } .x-grid-row-loading { background-color: #fff; - background-image:url(../images/default/shared/loading-balls.gif); + background-image: url(../images/default/shared/loading-balls.gif); } .x-grid3-row { - border-color:#ededed; - border-top-color:#fff; + border-color: #ededed; + border-top-color: #fff; } -.x-grid3-row-alt{ - background-color:#fafafa; +.x-grid3-row-alt { + background-color: #fafafa; } .x-grid3-row-over { - border-color:#ddd; - background-color:#efefef; - background-image:url(../images/default/grid/row-over.gif); + border-color: #ddd; + background-color: #efefef; + background-image: url(../images/default/grid/row-over.gif); } .x-grid3-resize-proxy { - background-color:#777; + background-color: #777; } .x-grid3-resize-marker { - background-color:#777; + background-color: #777; } -.x-grid3-header{ - background-color:#f9f9f9; - background-image:url(../images/gray/grid/grid3-hrow2.gif); +.x-grid3-header { + background-color: #f9f9f9; + background-image: url(../images/gray/grid/grid3-hrow2.gif); } .x-grid3-header-pop { - border-left-color:#d0d0d0; + border-left-color: #d0d0d0; } .x-grid3-header-pop-inner { - border-left-color:#eee; - background-image:url(../images/default/grid/hd-pop.gif); + border-left-color: #eee; + background-image: url(../images/default/grid/hd-pop.gif); } -td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { - border-left-color:#ACACAC; - border-right-color:#ACACAC; +td.x-grid3-hd-over, +td.sort-desc, +td.sort-asc, +td.x-grid3-hd-menu-open { + border-left-color: #acacac; + border-right-color: #acacac; } -td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner { - background-color:#f9f9f9; - background-image:url(../images/gray/grid/grid3-hrow-over2.gif); - +td.x-grid3-hd-over .x-grid3-hd-inner, +td.sort-desc .x-grid3-hd-inner, +td.sort-asc .x-grid3-hd-inner, +td.x-grid3-hd-menu-open .x-grid3-hd-inner { + background-color: #f9f9f9; + background-image: url(../images/gray/grid/grid3-hrow-over2.gif); } .sort-asc .x-grid3-sort-icon { @@ -607,8 +661,9 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as background-image: url(../images/gray/grid/sort_desc.gif); } -.x-grid3-cell-text, .x-grid3-hd-text { - color:#000; +.x-grid3-cell-text, +.x-grid3-hd-text { + color: #000; } .x-grid3-split { @@ -616,191 +671,197 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as } .x-grid3-hd-text { - color:#333; + color: #333; } -.x-dd-drag-proxy .x-grid3-hd-inner{ - background-color:#f9f9f9; - background-image:url(../images/gray/grid/grid3-hrow-over2.gif); - border-color:#ACACAC; +.x-dd-drag-proxy .x-grid3-hd-inner { + background-color: #f9f9f9; + background-image: url(../images/gray/grid/grid3-hrow-over2.gif); + border-color: #acacac; } -.col-move-top{ - background-image:url(../images/gray/grid/col-move-top.gif); +.col-move-top { + background-image: url(../images/gray/grid/col-move-top.gif); } -.col-move-bottom{ - background-image:url(../images/gray/grid/col-move-bottom.gif); +.col-move-bottom { + background-image: url(../images/gray/grid/col-move-bottom.gif); } .x-grid3-row-selected { - background-color:#CCCCCC !important; + background-color: #cccccc !important; background-image: none; - border-color:#ACACAC; + border-color: #acacac; } -.x-grid3-cell-selected{ - background-color: #CBCBCB !important; - color:#000; +.x-grid3-cell-selected { + background-color: #cbcbcb !important; + color: #000; } -.x-grid3-cell-selected span{ - color:#000 !important; +.x-grid3-cell-selected span { + color: #000 !important; } -.x-grid3-cell-selected .x-grid3-cell-text{ - color:#000; +.x-grid3-cell-selected .x-grid3-cell-text { + color: #000; } -.x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ - background-color:#ebeadb !important; - background-image:url(../images/default/grid/grid-hrow.gif) !important; - color:#000; - border-top-color:#fff; - border-right-color:#6fa0df !important; +.x-grid3-locked td.x-grid3-row-marker, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker { + background-color: #ebeadb !important; + background-image: url(../images/default/grid/grid-hrow.gif) !important; + color: #000; + border-top-color: #fff; + border-right-color: #6fa0df !important; } -.x-grid3-locked td.x-grid3-row-marker div, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div{ - color:#333 !important; +.x-grid3-locked td.x-grid3-row-marker div, +.x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker div { + color: #333 !important; } .x-grid3-dirty-cell { - background-image:url(../images/default/grid/dirty.gif); + background-image: url(../images/default/grid/dirty.gif); } -.x-grid3-topbar, .x-grid3-bottombar{ - font:normal 11px arial, tahoma, helvetica, sans-serif; +.x-grid3-topbar, +.x-grid3-bottombar { + font: normal 11px arial, tahoma, helvetica, sans-serif; } -.x-grid3-bottombar .x-toolbar{ - border-top-color:#a9bfd3; +.x-grid3-bottombar .x-toolbar { + border-top-color: #a9bfd3; } -.x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ - background-image:url(../images/default/grid/grid3-special-col-bg.gif) !important; - color:#000 !important; +.x-props-grid .x-grid3-td-name .x-grid3-cell-inner { + background-image: url(../images/default/grid/grid3-special-col-bg.gif) !important; + color: #000 !important; } -.x-props-grid .x-grid3-body .x-grid3-td-name{ - background-color:#fff !important; - border-right-color:#eee; +.x-props-grid .x-grid3-body .x-grid3-td-name { + background-color: #fff !important; + border-right-color: #eee; } -.xg-hmenu-sort-asc .x-menu-item-icon{ +.xg-hmenu-sort-asc .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-asc.gif); } -.xg-hmenu-sort-desc .x-menu-item-icon{ +.xg-hmenu-sort-desc .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-desc.gif); } -.xg-hmenu-lock .x-menu-item-icon{ +.xg-hmenu-lock .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-lock.gif); } -.xg-hmenu-unlock .x-menu-item-icon{ +.xg-hmenu-unlock .x-menu-item-icon { background-image: url(../images/default/grid/hmenu-unlock.gif); } .x-grid3-hd-btn { - background-color:#f9f9f9; - background-image:url(../images/gray/grid/grid3-hd-btn.gif); + background-color: #f9f9f9; + background-image: url(../images/gray/grid/grid3-hd-btn.gif); } .x-grid3-body .x-grid3-td-expander { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-row-expander { - background-image:url(../images/gray/grid/row-expand-sprite.gif); + background-image: url(../images/gray/grid/row-expand-sprite.gif); } .x-grid3-body .x-grid3-td-checker { background-image: url(../images/default/grid/grid3-special-col-bg.gif); } -.x-grid3-row-checker, .x-grid3-hd-checker { - background-image:url(../images/default/grid/row-check-sprite.gif); +.x-grid3-row-checker, +.x-grid3-hd-checker { + background-image: url(../images/default/grid/row-check-sprite.gif); } .x-grid3-body .x-grid3-td-numberer { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { - color:#444; + color: #444; } .x-grid3-body .x-grid3-td-row-icon { - background-image:url(../images/default/grid/grid3-special-col-bg.gif); + background-image: url(../images/default/grid/grid3-special-col-bg.gif); } .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { - background-image:url(../images/gray/grid/grid3-special-col-sel-bg.gif); + background-image: url(../images/gray/grid/grid3-special-col-sel-bg.gif); } .x-grid3-check-col { - background-image:url(../images/default/menu/unchecked.gif); + background-image: url(../images/default/menu/unchecked.gif); } .x-grid3-check-col-on { - background-image:url(../images/default/menu/checked.gif); + background-image: url(../images/default/menu/checked.gif); } -.x-grid-group, .x-grid-group-body, .x-grid-group-hd { - zoom:1; +.x-grid-group, +.x-grid-group-body, +.x-grid-group-hd { + zoom: 1; } .x-grid-group-hd { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/gray/grid/group-collapse.gif); - color:#5F5F5F; - font:bold 11px tahoma, arial, helvetica, sans-serif; + background-image: url(../images/gray/grid/group-collapse.gif); + color: #5f5f5f; + font: bold 11px tahoma, arial, helvetica, sans-serif; } .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title { - background-image:url(../images/gray/grid/group-expand.gif); + background-image: url(../images/gray/grid/group-expand.gif); } .x-group-by-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-cols-icon { - background-image:url(../images/default/grid/columns.gif); + background-image: url(../images/default/grid/columns.gif); } .x-show-groups-icon { - background-image:url(../images/default/grid/group-by.gif); + background-image: url(../images/default/grid/group-by.gif); } .x-grid-empty { - color:gray; - font:normal 11px tahoma, arial, helvetica, sans-serif; + color: gray; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-grid-with-col-lines .x-grid3-row td.x-grid3-cell { - border-right-color:#ededed; + border-right-color: #ededed; } -.x-grid-with-col-lines .x-grid3-row{ - border-top-color:#ededed; +.x-grid-with-col-lines .x-grid3-row { + border-top-color: #ededed; } .x-grid-with-col-lines .x-grid3-row-selected { - border-top-color:#B9B9B9; + border-top-color: #b9b9b9; } .x-pivotgrid .x-grid3-header-offset table td { background: url(../images/gray/grid/grid3-hrow2.gif) repeat-x 50% 100%; border-left: 1px solid; border-right: 1px solid; - border-left-color: #D0D0D0; - border-right-color: #D0D0D0; + border-left-color: #d0d0d0; + border-right-color: #d0d0d0; } .x-pivotgrid .x-grid3-row-headers { @@ -808,163 +869,167 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as } .x-pivotgrid .x-grid3-row-headers table td { - background: #EEE url(../images/default/grid/grid3-rowheader.gif) repeat-x left top; + background: #eee url(../images/default/grid/grid3-rowheader.gif) repeat-x + left top; border-left: 1px solid; border-right: 1px solid; - border-left-color: #EEE; - border-right-color: #D0D0D0; + border-left-color: #eee; + border-right-color: #d0d0d0; border-bottom: 1px solid; - border-bottom-color: #D0D0D0; + border-bottom-color: #d0d0d0; height: 18px; } -.x-dd-drag-ghost{ - color:#000; +.x-dd-drag-ghost { + color: #000; font: normal 11px arial, helvetica, sans-serif; border-color: #ddd #bbb #bbb #ddd; - background-color:#fff; + background-color: #fff; } -.x-dd-drop-nodrop .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-no.gif); +.x-dd-drop-nodrop .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-no.gif); } -.x-dd-drop-ok .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-yes.gif); +.x-dd-drop-ok .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-yes.gif); } -.x-dd-drop-ok-add .x-dd-drop-icon{ - background-image: url(../images/default/dd/drop-add.gif); +.x-dd-drop-ok-add .x-dd-drop-icon { + background-image: url(../images/default/dd/drop-add.gif); } .x-view-selector { - background-color:#D6D6D6; - border-color:#888888; -}.x-tree-node-expanded .x-tree-node-icon{ - background-image:url(../images/default/tree/folder-open.gif); + background-color: #d6d6d6; + border-color: #888888; +} +.x-tree-node-expanded .x-tree-node-icon { + background-image: url(../images/default/tree/folder-open.gif); } -.x-tree-node-leaf .x-tree-node-icon{ - background-image:url(../images/default/tree/leaf.gif); +.x-tree-node-leaf .x-tree-node-icon { + background-image: url(../images/default/tree/leaf.gif); } -.x-tree-node-collapsed .x-tree-node-icon{ - background-image:url(../images/default/tree/folder.gif); +.x-tree-node-collapsed .x-tree-node-icon { + background-image: url(../images/default/tree/folder.gif); } -.x-tree-node-loading .x-tree-node-icon{ - background-image:url(../images/default/tree/loading.gif) !important; +.x-tree-node-loading .x-tree-node-icon { + background-image: url(../images/default/tree/loading.gif) !important; } .x-tree-node .x-tree-node-inline-icon { background-image: none; } -.x-tree-node-loading a span{ - font-style: italic; - color:#444444; +.x-tree-node-loading a span { + font-style: italic; + color: #444444; } .ext-ie .x-tree-node-el input { - width:15px; - height:15px; + width: 15px; + height: 15px; } -.x-tree-lines .x-tree-elbow{ - background-image:url(../images/default/tree/elbow.gif); +.x-tree-lines .x-tree-elbow { + background-image: url(../images/default/tree/elbow.gif); } -.x-tree-lines .x-tree-elbow-plus{ - background-image:url(../images/default/tree/elbow-plus.gif); +.x-tree-lines .x-tree-elbow-plus { + background-image: url(../images/default/tree/elbow-plus.gif); } -.x-tree-lines .x-tree-elbow-minus{ - background-image:url(../images/default/tree/elbow-minus.gif); +.x-tree-lines .x-tree-elbow-minus { + background-image: url(../images/default/tree/elbow-minus.gif); } -.x-tree-lines .x-tree-elbow-end{ - background-image:url(../images/default/tree/elbow-end.gif); +.x-tree-lines .x-tree-elbow-end { + background-image: url(../images/default/tree/elbow-end.gif); } -.x-tree-lines .x-tree-elbow-end-plus{ - background-image:url(../images/gray/tree/elbow-end-plus.gif); +.x-tree-lines .x-tree-elbow-end-plus { + background-image: url(../images/gray/tree/elbow-end-plus.gif); } -.x-tree-lines .x-tree-elbow-end-minus{ - background-image:url(../images/gray/tree/elbow-end-minus.gif); +.x-tree-lines .x-tree-elbow-end-minus { + background-image: url(../images/gray/tree/elbow-end-minus.gif); } -.x-tree-lines .x-tree-elbow-line{ - background-image:url(../images/default/tree/elbow-line.gif); +.x-tree-lines .x-tree-elbow-line { + background-image: url(../images/default/tree/elbow-line.gif); } -.x-tree-no-lines .x-tree-elbow-plus{ - background-image:url(../images/default/tree/elbow-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-plus { + background-image: url(../images/default/tree/elbow-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-minus{ - background-image:url(../images/default/tree/elbow-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-minus { + background-image: url(../images/default/tree/elbow-minus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-plus{ - background-image:url(../images/gray/tree/elbow-end-plus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-plus { + background-image: url(../images/gray/tree/elbow-end-plus-nl.gif); } -.x-tree-no-lines .x-tree-elbow-end-minus{ - background-image:url(../images/gray/tree/elbow-end-minus-nl.gif); +.x-tree-no-lines .x-tree-elbow-end-minus { + background-image: url(../images/gray/tree/elbow-end-minus-nl.gif); } -.x-tree-arrows .x-tree-elbow-plus{ - background-image:url(../images/gray/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-plus { + background-image: url(../images/gray/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-minus{ - background-image:url(../images/gray/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-minus { + background-image: url(../images/gray/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-plus{ - background-image:url(../images/gray/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-plus { + background-image: url(../images/gray/tree/arrows.gif); } -.x-tree-arrows .x-tree-elbow-end-minus{ - background-image:url(../images/gray/tree/arrows.gif); +.x-tree-arrows .x-tree-elbow-end-minus { + background-image: url(../images/gray/tree/arrows.gif); } -.x-tree-node{ - color:#000; +.x-tree-node { + color: #000; font: normal 11px arial, tahoma, helvetica, sans-serif; } -.x-tree-node a, .x-dd-drag-ghost a{ - color:#000; +.x-tree-node a, +.x-dd-drag-ghost a { + color: #000; } -.x-tree-node a span, .x-dd-drag-ghost a span{ - color:#000; +.x-tree-node a span, +.x-dd-drag-ghost a span { + color: #000; } -.x-tree-node .x-tree-node-disabled a span{ - color:gray !important; +.x-tree-node .x-tree-node-disabled a span { + color: gray !important; } -.x-tree-node div.x-tree-drag-insert-below{ - border-bottom-color:#36c; +.x-tree-node div.x-tree-drag-insert-below { + border-bottom-color: #36c; } -.x-tree-node div.x-tree-drag-insert-above{ - border-top-color:#36c; +.x-tree-node div.x-tree-drag-insert-above { + border-top-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a{ - border-bottom-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-below a { + border-bottom-color: #36c; } -.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a{ - border-top-color:#36c; +.x-tree-dd-underline .x-tree-node div.x-tree-drag-insert-above a { + border-top-color: #36c; } -.x-tree-node .x-tree-drag-append a span{ - background-color:#ddd; - border-color:gray; +.x-tree-node .x-tree-drag-append a span { + background-color: #ddd; + border-color: gray; } .x-tree-node .x-tree-node-over { @@ -975,270 +1040,291 @@ td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-as background-color: #ddd; } -.x-tree-drop-ok-append .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-add.gif); +.x-tree-drop-ok-append .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-add.gif); } -.x-tree-drop-ok-above .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-over.gif); +.x-tree-drop-ok-above .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-over.gif); } -.x-tree-drop-ok-below .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-under.gif); +.x-tree-drop-ok-below .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-under.gif); } -.x-tree-drop-ok-between .x-dd-drop-icon{ - background-image: url(../images/default/tree/drop-between.gif); +.x-tree-drop-ok-between .x-dd-drop-icon { + background-image: url(../images/default/tree/drop-between.gif); } .x-date-picker { - border-color:#585858; - background-color:#fff; + border-color: #585858; + background-color: #fff; } -.x-date-middle,.x-date-left,.x-date-right { +.x-date-middle, +.x-date-left, +.x-date-right { background-image: url(../images/gray/shared/hd-sprite.gif); - color:#fff; - font:bold 11px "sans serif", tahoma, verdana, helvetica; + color: #fff; + font: bold 11px 'sans serif', tahoma, verdana, helvetica; } .x-date-middle .x-btn .x-btn-text { - color:#fff; + color: #fff; } .x-date-middle .x-btn-mc em.x-btn-arrow { - background-image:url(../images/gray/toolbar/btn-arrow-light.gif); + background-image: url(../images/gray/toolbar/btn-arrow-light.gif); } .x-date-right a { background-image: url(../images/gray/shared/right-btn.gif); } -.x-date-left a{ +.x-date-left a { background-image: url(../images/gray/shared/left-btn.gif); } .x-date-inner th { - background-color:#D8D8D8; + background-color: #d8d8d8; background-image: url(../images/gray/panel/white-top-bottom.gif); - border-bottom-color:#AFAFAF; - font:normal 10px arial, helvetica,tahoma,sans-serif; - color:#595959; + border-bottom-color: #afafaf; + font: normal 10px arial, helvetica, tahoma, sans-serif; + color: #595959; } .x-date-inner td { - border-color:#fff; + border-color: #fff; } .x-date-inner a { - font:normal 11px arial, helvetica,tahoma,sans-serif; - color:#000; + font: normal 11px arial, helvetica, tahoma, sans-serif; + color: #000; } -.x-date-inner .x-date-active{ - color:#000; +.x-date-inner .x-date-active { + color: #000; } -.x-date-inner .x-date-selected a{ +.x-date-inner .x-date-selected a { background-image: none; - background-color:#D8D8D8; - border-color:#DCDCDC; + background-color: #d8d8d8; + border-color: #dcdcdc; } -.x-date-inner .x-date-today a{ - border-color:darkred; +.x-date-inner .x-date-today a { + border-color: darkred; } -.x-date-inner .x-date-selected span{ - font-weight:bold; +.x-date-inner .x-date-selected span { + font-weight: bold; } -.x-date-inner .x-date-prevday a,.x-date-inner .x-date-nextday a { - color:#aaa; +.x-date-inner .x-date-prevday a, +.x-date-inner .x-date-nextday a { + color: #aaa; } .x-date-bottom { - border-top-color:#AFAFAF; - background-color:#D8D8D8; - background:#D8D8D8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; + border-top-color: #afafaf; + background-color: #d8d8d8; + background: #d8d8d8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; } -.x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ - color:#000; - background-color:#D8D8D8; +.x-date-inner a:hover, +.x-date-inner .x-date-disabled a:hover { + color: #000; + background-color: #d8d8d8; } .x-date-inner .x-date-disabled a { - background-color:#eee; - color:#bbb; + background-color: #eee; + color: #bbb; } -.x-date-mmenu{ - background-color:#eee !important; +.x-date-mmenu { + background-color: #eee !important; } .x-date-mmenu .x-menu-item { - font-size:10px; - color:#000; + font-size: 10px; + color: #000; } .x-date-mp { - background-color:#fff; + background-color: #fff; } .x-date-mp td { - font:normal 11px arial, helvetica,tahoma,sans-serif; + font: normal 11px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns button { - background-color:#4E565F; - color:#fff; - border-color:#C0C0C0 #434343 #434343 #C0C0C0; - font:normal 11px arial, helvetica,tahoma,sans-serif; + background-color: #4e565f; + color: #fff; + border-color: #c0c0c0 #434343 #434343 #c0c0c0; + font: normal 11px arial, helvetica, tahoma, sans-serif; } .x-date-mp-btns { - background-color:#D8D8D8; - background:#D8D8D8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; + background-color: #d8d8d8; + background: #d8d8d8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; } .x-date-mp-btns td { - border-top-color:#AFAFAF; + border-top-color: #afafaf; } -td.x-date-mp-month a,td.x-date-mp-year a { +td.x-date-mp-month a, +td.x-date-mp-year a { color: #333; } -td.x-date-mp-month a:hover,td.x-date-mp-year a:hover { - color:#333; - background-color:#FDFDFD; +td.x-date-mp-month a:hover, +td.x-date-mp-year a:hover { + color: #333; + background-color: #fdfdfd; } td.x-date-mp-sel a { - background-color:#D8D8D8; - background:#D8D8D8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; - border-color:#DCDCDC; + background-color: #d8d8d8; + background: #d8d8d8 url(../images/gray/panel/white-top-bottom.gif) 0 -2px; + border-color: #dcdcdc; } .x-date-mp-ybtn a { - background-image:url(../images/gray/panel/tool-sprites.gif); + background-image: url(../images/gray/panel/tool-sprites.gif); } td.x-date-mp-sep { - border-right-color:#D7D7D7; -}.x-tip .x-tip-close{ + border-right-color: #d7d7d7; +} +.x-tip .x-tip-close { background-image: url(../images/gray/qtip/close.gif); } -.x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr { +.x-tip .x-tip-tc, +.x-tip .x-tip-tl, +.x-tip .x-tip-tr, +.x-tip .x-tip-bc, +.x-tip .x-tip-bl, +.x-tip .x-tip-br, +.x-tip .x-tip-ml, +.x-tip .x-tip-mr { background-image: url(../images/gray/qtip/tip-sprite.gif); } .x-tip .x-tip-mc { - font: normal 11px tahoma,arial,helvetica,sans-serif; + font: normal 11px tahoma, arial, helvetica, sans-serif; } .x-tip .x-tip-ml { background-color: #fff; } .x-tip .x-tip-header-text { - font: bold 11px tahoma,arial,helvetica,sans-serif; - color:#444; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #444; } .x-tip .x-tip-body { - font: normal 11px tahoma,arial,helvetica,sans-serif; - color:#444; -} - -.x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc, -.x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr -{ + font: normal 11px tahoma, arial, helvetica, sans-serif; + color: #444; +} + +.x-form-invalid-tip .x-tip-tc, +.x-form-invalid-tip .x-tip-tl, +.x-form-invalid-tip .x-tip-tr, +.x-form-invalid-tip .x-tip-bc, +.x-form-invalid-tip .x-tip-bl, +.x-form-invalid-tip .x-tip-br, +.x-form-invalid-tip .x-tip-ml, +.x-form-invalid-tip .x-tip-mr { background-image: url(../images/default/form/error-tip-corners.gif); } .x-form-invalid-tip .x-tip-body { - background-image:url(../images/default/form/exclamation.gif); + background-image: url(../images/default/form/exclamation.gif); } .x-tip-anchor { - background-image:url(../images/gray/qtip/tip-anchor-sprite.gif); -}.x-menu { - background-color:#f0f0f0; - background-image:url(../images/default/menu/menu.gif); + background-image: url(../images/gray/qtip/tip-anchor-sprite.gif); +} +.x-menu { + background-color: #f0f0f0; + background-image: url(../images/default/menu/menu.gif); } -.x-menu-floating{ - border-color:#7D7D7D; +.x-menu-floating { + border-color: #7d7d7d; } .x-menu-nosep { - background-image:none; + background-image: none; } -.x-menu-list-item{ - font:normal 11px arial,tahoma,sans-serif; +.x-menu-list-item { + font: normal 11px arial, tahoma, sans-serif; } -.x-menu-item-arrow{ - background-image:url(../images/gray/menu/menu-parent.gif); +.x-menu-item-arrow { + background-image: url(../images/gray/menu/menu-parent.gif); } .x-menu-sep { - background-color:#e0e0e0; - border-bottom-color:#fff; + background-color: #e0e0e0; + border-bottom-color: #fff; } a.x-menu-item { - color:#222; + color: #222; } .x-menu-item-active { background-image: url(../images/gray/menu/item-over.gif); background-color: #f1f1f1; - border-color:#ACACAC; + border-color: #acacac; } .x-menu-item-active a.x-menu-item { - border-color:#ACACAC; + border-color: #acacac; } -.x-menu-check-item .x-menu-item-icon{ - background-image:url(../images/default/menu/unchecked.gif); +.x-menu-check-item .x-menu-item-icon { + background-image: url(../images/default/menu/unchecked.gif); } -.x-menu-item-checked .x-menu-item-icon{ - background-image:url(../images/default/menu/checked.gif); +.x-menu-item-checked .x-menu-item-icon { + background-image: url(../images/default/menu/checked.gif); } -.x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ - background-image:url(../images/gray/menu/group-checked.gif); +.x-menu-item-checked .x-menu-group-item .x-menu-item-icon { + background-image: url(../images/gray/menu/group-checked.gif); } -.x-menu-group-item .x-menu-item-icon{ - background-image:none; +.x-menu-group-item .x-menu-item-icon { + background-image: none; } .x-menu-plain { - background-color:#fff !important; + background-color: #fff !important; } -.x-menu .x-date-picker{ - border-color:#AFAFAF; +.x-menu .x-date-picker { + border-color: #afafaf; } .x-cycle-menu .x-menu-item-checked { - border-color:#B9B9B9 !important; - background-color:#F1F1F1; + border-color: #b9b9b9 !important; + background-color: #f1f1f1; } .x-menu-scroller-top { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-menu-scroller-bottom { - background-image:url(../images/default/layout/mini-bottom.gif); -}.x-box-tl { + background-image: url(../images/default/layout/mini-bottom.gif); +} +.x-box-tl { background-image: url(../images/default/box/corners.gif); } @@ -1257,7 +1343,8 @@ a.x-menu-item { .x-box-mc { background-color: #eee; background-image: url(../images/default/box/tb.gif); - font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; + font-family: 'Myriad Pro', 'Myriad Web', 'Tahoma', 'Helvetica', 'Arial', + sans-serif; color: #393939; font-size: 12px; } @@ -1283,11 +1370,16 @@ a.x-menu-item { background-image: url(../images/default/box/corners.gif); } -.x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { +.x-box-blue .x-box-bl, +.x-box-blue .x-box-br, +.x-box-blue .x-box-tl, +.x-box-blue .x-box-tr { background-image: url(../images/default/box/corners-blue.gif); } -.x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { +.x-box-blue .x-box-bc, +.x-box-blue .x-box-mc, +.x-box-blue .x-box-tc { background-image: url(../images/default/box/tb-blue.gif); } @@ -1307,83 +1399,90 @@ a.x-menu-item { background-image: url(../images/default/box/r-blue.gif); } .x-combo-list { - border-color:#ccc; - background-color:#ddd; - font:normal 12px tahoma, arial, helvetica, sans-serif; + border-color: #ccc; + background-color: #ddd; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-combo-list-inner { - background-color:#fff; + background-color: #fff; } .x-combo-list-hd { - font:bold 11px tahoma, arial, helvetica, sans-serif; - color:#333; + font: bold 11px tahoma, arial, helvetica, sans-serif; + color: #333; background-image: url(../images/default/layout/panel-title-light-bg.gif); - border-bottom-color:#BCBCBC; + border-bottom-color: #bcbcbc; } .x-resizable-pinned .x-combo-list-inner { - border-bottom-color:#BEBEBE; + border-bottom-color: #bebebe; } .x-combo-list-item { - border-color:#fff; + border-color: #fff; } -.x-combo-list .x-combo-selected{ - border-color:#777 !important; - background-color:#f0f0f0; +.x-combo-list .x-combo-selected { + border-color: #777 !important; + background-color: #f0f0f0; } .x-combo-list .x-toolbar { - border-top-color:#BCBCBC; + border-top-color: #bcbcbc; } .x-combo-list-small { - font:normal 11px tahoma, arial, helvetica, sans-serif; -}.x-panel { + font: normal 11px tahoma, arial, helvetica, sans-serif; +} +.x-panel { border-color: #d0d0d0; } .x-panel-header { - color:#333; - font-weight:bold; + color: #333; + font-weight: bold; font-size: 11px; - font-family: tahoma,arial,verdana,sans-serif; - border-color:#d0d0d0; + font-family: tahoma, arial, verdana, sans-serif; + border-color: #d0d0d0; background-image: url(../images/gray/panel/white-top-bottom.gif); } .x-panel-body { - border-color:#d0d0d0; - background-color:#fff; + border-color: #d0d0d0; + background-color: #fff; } -.x-panel-bbar .x-toolbar, .x-panel-tbar .x-toolbar { - border-color:#d0d0d0; +.x-panel-bbar .x-toolbar, +.x-panel-tbar .x-toolbar { + border-color: #d0d0d0; } -.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar { - border-top-color:#d0d0d0; +.x-panel-tbar-noheader .x-toolbar, +.x-panel-mc .x-panel-tbar .x-toolbar { + border-top-color: #d0d0d0; } -.x-panel-body-noheader, .x-panel-mc .x-panel-body { - border-top-color:#d0d0d0; +.x-panel-body-noheader, +.x-panel-mc .x-panel-body { + border-top-color: #d0d0d0; } .x-panel-tl .x-panel-header { - color:#333; - font:bold 11px tahoma,arial,verdana,sans-serif; + color: #333; + font: bold 11px tahoma, arial, verdana, sans-serif; } .x-panel-tc { background-image: url(../images/gray/panel/top-bottom.gif); } -.x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{ +.x-panel-tl, +.x-panel-tr, +.x-panel-bl, +.x-panel-br { background-image: url(../images/gray/panel/corners-sprite.gif); - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-panel-bc { @@ -1391,13 +1490,13 @@ a.x-menu-item { } .x-panel-mc { - font: normal 11px tahoma,arial,helvetica,sans-serif; - background-color:#f1f1f1; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-color: #f1f1f1; } .x-panel-ml { background-color: #fff; - background-image:url(../images/gray/panel/left-right.gif); + background-image: url(../images/gray/panel/left-right.gif); } .x-panel-mr { @@ -1405,32 +1504,37 @@ a.x-menu-item { } .x-tool { - background-image:url(../images/gray/panel/tool-sprites.gif); + background-image: url(../images/gray/panel/tool-sprites.gif); } .x-panel-ghost { - background-color:#f2f2f2; + background-color: #f2f2f2; } .x-panel-ghost ul { - border-color:#d0d0d0; + border-color: #d0d0d0; } .x-panel-dd-spacer { - border-color:#d0d0d0; + border-color: #d0d0d0; } -.x-panel-fbar td,.x-panel-fbar span,.x-panel-fbar input,.x-panel-fbar div,.x-panel-fbar select,.x-panel-fbar label{ - font:normal 11px arial,tahoma, helvetica, sans-serif; +.x-panel-fbar td, +.x-panel-fbar span, +.x-panel-fbar input, +.x-panel-fbar div, +.x-panel-fbar select, +.x-panel-fbar label { + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-window-proxy { - background-color:#fcfcfc; - border-color:#d0d0d0; + background-color: #fcfcfc; + border-color: #d0d0d0; } .x-window-tl .x-window-header { - color:#555; - font:bold 11px tahoma,arial,verdana,sans-serif; + color: #555; + font: bold 11px tahoma, arial, verdana, sans-serif; } .x-window-tc { @@ -1458,9 +1562,9 @@ a.x-menu-item { } .x-window-mc { - border-color:#d0d0d0; - font: normal 11px tahoma,arial,helvetica,sans-serif; - background-color:#e8e8e8; + border-color: #d0d0d0; + font: normal 11px tahoma, arial, helvetica, sans-serif; + background-color: #e8e8e8; } .x-window-ml { @@ -1472,211 +1576,216 @@ a.x-menu-item { } .x-window-maximized .x-window-tc { - background-color:#fff; + background-color: #fff; } .x-window-bbar .x-toolbar { - border-top-color:#d0d0d0; + border-top-color: #d0d0d0; } .x-panel-ghost .x-window-tl { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-panel-collapsed .x-window-tl { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } -.x-dlg-mask{ - background-color:#ccc; +.x-dlg-mask { + background-color: #ccc; } .x-window-plain .x-window-mc { - background-color: #E8E8E8; - border-color: #D0D0D0 #EEEEEE #EEEEEE #D0D0D0; + background-color: #e8e8e8; + border-color: #d0d0d0 #eeeeee #eeeeee #d0d0d0; } .x-window-plain .x-window-body { - border-color: #EEEEEE #D0D0D0 #D0D0D0 #EEEEEE; + border-color: #eeeeee #d0d0d0 #d0d0d0 #eeeeee; } body.x-body-masked .x-window-plain .x-window-mc { - background-color: #E4E4E4; + background-color: #e4e4e4; } .x-html-editor-wrap { - border-color:#BCBCBC; - background-color:#fff; + border-color: #bcbcbc; + background-color: #fff; } .x-html-editor-tb .x-btn-text { - background-image:url(../images/default/editor/tb-sprite.gif); + background-image: url(../images/default/editor/tb-sprite.gif); } .x-panel-noborder .x-panel-header-noborder { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-panel-noborder .x-panel-tbar-noborder .x-toolbar { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-panel-noborder .x-panel-bbar-noborder .x-toolbar { - border-top-color:#d0d0d0; + border-top-color: #d0d0d0; } .x-tab-panel-bbar-noborder .x-toolbar { - border-top-color:#d0d0d0; + border-top-color: #d0d0d0; } .x-tab-panel-tbar-noborder .x-toolbar { - border-bottom-color:#d0d0d0; + border-bottom-color: #d0d0d0; } .x-border-layout-ct { - background-color:#f0f0f0; + background-color: #f0f0f0; } .x-border-layout-ct { - background-color:#f0f0f0; + background-color: #f0f0f0; } .x-accordion-hd { - color:#222; - font-weight:normal; + color: #222; + font-weight: normal; background-image: url(../images/gray/panel/light-hd.gif); } -.x-layout-collapsed{ - background-color:#dfdfdf; - border-color:#d0d0d0; +.x-layout-collapsed { + background-color: #dfdfdf; + border-color: #d0d0d0; } -.x-layout-collapsed-over{ - background-color:#e7e7e7; +.x-layout-collapsed-over { + background-color: #e7e7e7; } .x-layout-split-west .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-split-east .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-split-north .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-layout-split-south .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-west .x-layout-mini { - background-image:url(../images/default/layout/mini-right.gif); + background-image: url(../images/default/layout/mini-right.gif); } .x-layout-cmini-east .x-layout-mini { - background-image:url(../images/default/layout/mini-left.gif); + background-image: url(../images/default/layout/mini-left.gif); } .x-layout-cmini-north .x-layout-mini { - background-image:url(../images/default/layout/mini-bottom.gif); + background-image: url(../images/default/layout/mini-bottom.gif); } .x-layout-cmini-south .x-layout-mini { - background-image:url(../images/default/layout/mini-top.gif); + background-image: url(../images/default/layout/mini-top.gif); } .x-progress-wrap { - border-color:#8E8E8E; + border-color: #8e8e8e; } .x-progress-inner { - background-color:#E7E7E7; - background-image:url(../images/gray/qtip/bg.gif); + background-color: #e7e7e7; + background-image: url(../images/gray/qtip/bg.gif); } .x-progress-bar { - background-color:#BCBCBC; - background-image:url(../images/gray/progress/progress-bg.gif); - border-top-color:#E2E2E2; - border-bottom-color:#A4A4A4; - border-right-color:#A4A4A4; + background-color: #bcbcbc; + background-image: url(../images/gray/progress/progress-bg.gif); + border-top-color: #e2e2e2; + border-bottom-color: #a4a4a4; + border-right-color: #a4a4a4; } .x-progress-text { - font-size:11px; - font-weight:bold; - color:#fff; + font-size: 11px; + font-weight: bold; + color: #fff; } .x-progress-text-back { - color:#5F5F5F; + color: #5f5f5f; } -.x-list-header{ - background-color:#f9f9f9; - background-image:url(../images/gray/grid/grid3-hrow2.gif); +.x-list-header { + background-color: #f9f9f9; + background-image: url(../images/gray/grid/grid3-hrow2.gif); } .x-list-header-inner div em { - border-left-color:#ddd; - font:normal 11px arial, tahoma, helvetica, sans-serif; + border-left-color: #ddd; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-list-body dt em { - font:normal 11px arial, tahoma, helvetica, sans-serif; + font: normal 11px arial, tahoma, helvetica, sans-serif; } .x-list-over { - background-color:#eee; + background-color: #eee; } .x-list-selected { - background-color:#f0f0f0; + background-color: #f0f0f0; } .x-list-resizer { - border-left-color:#555; - border-right-color:#555; + border-left-color: #555; + border-right-color: #555; } -.x-list-header-inner em.sort-asc, .x-list-header-inner em.sort-desc { - background-image:url(../images/gray/grid/sort-hd.gif); +.x-list-header-inner em.sort-asc, +.x-list-header-inner em.sort-desc { + background-image: url(../images/gray/grid/sort-hd.gif); border-color: #d0d0d0; } -.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner { - background-image:url(../images/default/slider/slider-bg.png); +.x-slider-horz, +.x-slider-horz .x-slider-end, +.x-slider-horz .x-slider-inner { + background-image: url(../images/default/slider/slider-bg.png); } .x-slider-horz .x-slider-thumb { - background-image:url(../images/gray/slider/slider-thumb.png); + background-image: url(../images/gray/slider/slider-thumb.png); } -.x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner { - background-image:url(../images/default/slider/slider-v-bg.png); +.x-slider-vert, +.x-slider-vert .x-slider-end, +.x-slider-vert .x-slider-inner { + background-image: url(../images/default/slider/slider-v-bg.png); } .x-slider-vert .x-slider-thumb { - background-image:url(../images/gray/slider/slider-v-thumb.png); + background-image: url(../images/gray/slider/slider-v-thumb.png); } .x-window-dlg .ext-mb-text, .x-window-dlg .x-window-header-text { - font-size:12px; + font-size: 12px; } .x-window-dlg .ext-mb-textarea { - font:normal 12px tahoma,arial,helvetica,sans-serif; + font: normal 12px tahoma, arial, helvetica, sans-serif; } .x-window-dlg .x-msg-box-wait { - background-image:url(../images/default/grid/loading.gif); + background-image: url(../images/default/grid/loading.gif); } .x-window-dlg .ext-mb-info { - background-image:url(../images/gray/window/icon-info.gif); + background-image: url(../images/gray/window/icon-info.gif); } .x-window-dlg .ext-mb-warning { - background-image:url(../images/gray/window/icon-warning.gif); + background-image: url(../images/gray/window/icon-warning.gif); } .x-window-dlg .ext-mb-question { - background-image:url(../images/gray/window/icon-question.gif); + background-image: url(../images/gray/window/icon-question.gif); } .x-window-dlg .ext-mb-error { - background-image:url(../images/gray/window/icon-error.gif); + background-image: url(../images/gray/window/icon-error.gif); } diff --git a/docs/source/pipenv.md b/docs/source/pipenv.md index bfd5e21e2..c401d53e4 100644 --- a/docs/source/pipenv.md +++ b/docs/source/pipenv.md @@ -4,16 +4,18 @@ For a quick summary read: https://docs.pipenv.org/basics/ ## Prerequisites - * python-libtorrent - * pip - * pipenv +- python-libtorrent +- pip +- pipenv ## Install pipenv and packages Install Pipenv and upgrade pip: + pip install -U pip pipenv On Ubuntu: + sudo -H pip install -U pip pipenv In order to have access to system libtorrent we use `--site-packages` and |