mirror of
https://github.com/codex-storage/deluge.git
synced 2025-02-27 02:20:32 +00:00
convert the PreferencesWindow over to using a ListView rather than a
GridPanel
This commit is contained in:
parent
c970a80030
commit
3560dac792
@ -61,33 +61,33 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
|||||||
initComponent: function() {
|
initComponent: function() {
|
||||||
Deluge.preferences.PreferencesWindow.superclass.initComponent.call(this);
|
Deluge.preferences.PreferencesWindow.superclass.initComponent.call(this);
|
||||||
|
|
||||||
this.categoriesGrid = this.add({
|
this.list = new Ext.list.ListView({
|
||||||
xtype: 'grid',
|
|
||||||
region: 'west',
|
|
||||||
title: _('Categories'),
|
|
||||||
store: new Ext.data.Store(),
|
store: new Ext.data.Store(),
|
||||||
columns: [{
|
columns: [{
|
||||||
id: 'name',
|
id: 'name',
|
||||||
renderer: fplain,
|
renderer: fplain,
|
||||||
dataIndex: 'name'
|
dataIndex: 'name'
|
||||||
}],
|
}],
|
||||||
sm: new Ext.grid.RowSelectionModel({
|
|
||||||
singleSelect: true,
|
singleSelect: true,
|
||||||
listeners: {
|
listeners: {
|
||||||
'rowselect': {
|
'selectionchange': {
|
||||||
fn: this.onPageSelect, scope: this
|
fn: this.onPageSelect, scope: this
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}),
|
|
||||||
hideHeaders: true,
|
hideHeaders: true,
|
||||||
autoExpandColumn: 'name',
|
autoExpandColumn: 'name',
|
||||||
deferredRender: false,
|
deferredRender: false,
|
||||||
autoScroll: true,
|
autoScroll: true,
|
||||||
margins: '5 0 5 5',
|
|
||||||
cmargins: '5 0 5 5',
|
|
||||||
width: 120,
|
|
||||||
collapsible: true
|
collapsible: true
|
||||||
});
|
});
|
||||||
|
this.add({
|
||||||
|
region: 'west',
|
||||||
|
title: _('Categories'),
|
||||||
|
items: [this.list],
|
||||||
|
width: 120,
|
||||||
|
margins: '5 0 5 5',
|
||||||
|
cmargins: '5 0 5 5'
|
||||||
|
});
|
||||||
|
|
||||||
this.configPanel = this.add({
|
this.configPanel = this.add({
|
||||||
type: 'container',
|
type: 'container',
|
||||||
@ -154,7 +154,7 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
|||||||
* @param {Mixed} page
|
* @param {Mixed} page
|
||||||
*/
|
*/
|
||||||
addPage: function(page) {
|
addPage: function(page) {
|
||||||
var store = this.categoriesGrid.getStore();
|
var store = this.list.getStore();
|
||||||
var name = page.title;
|
var name = page.title;
|
||||||
store.add([new PreferencesRecord({name: name})]);
|
store.add([new PreferencesRecord({name: name})]);
|
||||||
page['bodyStyle'] = 'padding: 5px';
|
page['bodyStyle'] = 'padding: 5px';
|
||||||
@ -169,7 +169,7 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
|||||||
*/
|
*/
|
||||||
removePage: function(page) {
|
removePage: function(page) {
|
||||||
var name = page.title;
|
var name = page.title;
|
||||||
var store = this.categoriesGrid.getStore();
|
var store = this.list.getStore();
|
||||||
store.removeAt(store.find('name', name));
|
store.removeAt(store.find('name', name));
|
||||||
this.configPanel.remove(page);
|
this.configPanel.remove(page);
|
||||||
delete this.pages[page.title];
|
delete this.pages[page.title];
|
||||||
@ -191,7 +191,8 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// private
|
// private
|
||||||
onPageSelect: function(selModel, rowIndex, r) {
|
onPageSelect: function(list, selections) {
|
||||||
|
var r = list.getRecord(selections[0]);
|
||||||
this.selectPage(r.get('name'));
|
this.selectPage(r.get('name'));
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -202,8 +203,8 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
|||||||
|
|
||||||
// private
|
// private
|
||||||
onAfterRender: function() {
|
onAfterRender: function() {
|
||||||
if (!this.categoriesGrid.getSelectionModel().hasSelection()) {
|
if (!this.list.getSelectionCount()) {
|
||||||
this.categoriesGrid.getSelectionModel().selectFirstRow();
|
this.list.select(0);
|
||||||
}
|
}
|
||||||
this.configPanel.getLayout().setActiveItem(0);
|
this.configPanel.getLayout().setActiveItem(0);
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user