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() {
|
||||
Deluge.preferences.PreferencesWindow.superclass.initComponent.call(this);
|
||||
|
||||
this.categoriesGrid = this.add({
|
||||
xtype: 'grid',
|
||||
region: 'west',
|
||||
title: _('Categories'),
|
||||
this.list = new Ext.list.ListView({
|
||||
store: new Ext.data.Store(),
|
||||
columns: [{
|
||||
id: 'name',
|
||||
renderer: fplain,
|
||||
dataIndex: 'name'
|
||||
}],
|
||||
sm: new Ext.grid.RowSelectionModel({
|
||||
singleSelect: true,
|
||||
listeners: {
|
||||
'rowselect': {
|
||||
fn: this.onPageSelect, scope: this
|
||||
}
|
||||
singleSelect: true,
|
||||
listeners: {
|
||||
'selectionchange': {
|
||||
fn: this.onPageSelect, scope: this
|
||||
}
|
||||
}),
|
||||
},
|
||||
hideHeaders: true,
|
||||
autoExpandColumn: 'name',
|
||||
deferredRender: false,
|
||||
autoScroll: true,
|
||||
margins: '5 0 5 5',
|
||||
cmargins: '5 0 5 5',
|
||||
width: 120,
|
||||
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({
|
||||
type: 'container',
|
||||
@ -154,7 +154,7 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
||||
* @param {Mixed} page
|
||||
*/
|
||||
addPage: function(page) {
|
||||
var store = this.categoriesGrid.getStore();
|
||||
var store = this.list.getStore();
|
||||
var name = page.title;
|
||||
store.add([new PreferencesRecord({name: name})]);
|
||||
page['bodyStyle'] = 'padding: 5px';
|
||||
@ -169,7 +169,7 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
||||
*/
|
||||
removePage: function(page) {
|
||||
var name = page.title;
|
||||
var store = this.categoriesGrid.getStore();
|
||||
var store = this.list.getStore();
|
||||
store.removeAt(store.find('name', name));
|
||||
this.configPanel.remove(page);
|
||||
delete this.pages[page.title];
|
||||
@ -191,7 +191,8 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
||||
},
|
||||
|
||||
// private
|
||||
onPageSelect: function(selModel, rowIndex, r) {
|
||||
onPageSelect: function(list, selections) {
|
||||
var r = list.getRecord(selections[0]);
|
||||
this.selectPage(r.get('name'));
|
||||
},
|
||||
|
||||
@ -202,8 +203,8 @@ Deluge.preferences.PreferencesWindow = Ext.extend(Ext.Window, {
|
||||
|
||||
// private
|
||||
onAfterRender: function() {
|
||||
if (!this.categoriesGrid.getSelectionModel().hasSelection()) {
|
||||
this.categoriesGrid.getSelectionModel().selectFirstRow();
|
||||
if (!this.list.getSelectionCount()) {
|
||||
this.list.select(0);
|
||||
}
|
||||
this.configPanel.getLayout().setActiveItem(0);
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user