Start to implement column configuration
This commit is contained in:
parent
07a62e5280
commit
c8d0b98348
54
prefs.js
54
prefs.js
@ -169,12 +169,10 @@ function buildPrefsWidget() {
|
|||||||
|
|
||||||
let accountsChooserContainer = new Gtk.Box( { orientation: Gtk.Orientation.VERTICAL,
|
let accountsChooserContainer = new Gtk.Box( { orientation: Gtk.Orientation.VERTICAL,
|
||||||
homogeneous: false, } );
|
homogeneous: false, } );
|
||||||
monitoLog ( 'Box ' + this._accountsWidgetContainer );
|
|
||||||
monitoLog ( 'Func ' + this._accountsWidgetContainer.pack_start );
|
|
||||||
if ( this.gtkVersion == 4 )
|
if ( this.gtkVersion == 4 )
|
||||||
this._accountsWidgetContainer.append(accountsChooserContainer, true, true, 0);
|
this._accountsWidgetContainer.append(accountsChooserContainer, true, true, 0);
|
||||||
else
|
else
|
||||||
this._accountsWidgetContainer.add(accountsChooserContainer, true, true, 0);
|
this._accountsWidgetContainer.add(accountsChooserContainer);
|
||||||
|
|
||||||
this.accountsChooser = new Gtk.ListBox ( { valign: Gtk.Align.FILL,
|
this.accountsChooser = new Gtk.ListBox ( { valign: Gtk.Align.FILL,
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
@ -182,7 +180,7 @@ function buildPrefsWidget() {
|
|||||||
if ( this.gtkVersion == 4 )
|
if ( this.gtkVersion == 4 )
|
||||||
accountsChooserContainer.append(this.accountsChooser, true, true, 0);
|
accountsChooserContainer.append(this.accountsChooser, true, true, 0);
|
||||||
else
|
else
|
||||||
accountsChooserContainer.add(this.accountsChooser, true, true, 0);
|
accountsChooserContainer.add(this.accountsChooser);
|
||||||
|
|
||||||
// Account list
|
// Account list
|
||||||
for ( var server_id of this.getServersList ( ) )
|
for ( var server_id of this.getServersList ( ) )
|
||||||
@ -194,7 +192,7 @@ function buildPrefsWidget() {
|
|||||||
if ( this.gtkVersion == 4 )
|
if ( this.gtkVersion == 4 )
|
||||||
accountsChooserContainer.append(accountsChooserActionBar, true, true, 0);
|
accountsChooserContainer.append(accountsChooserActionBar, true, true, 0);
|
||||||
else
|
else
|
||||||
accountsChooserContainer.add(accountsChooserActionBar, true, true, 0);
|
accountsChooserContainer.add(accountsChooserActionBar);
|
||||||
|
|
||||||
let accountCreateButton = Gtk.Button.new_from_icon_name ( 'list-add',
|
let accountCreateButton = Gtk.Button.new_from_icon_name ( 'list-add',
|
||||||
Gtk.IconSize.BUTTON );
|
Gtk.IconSize.BUTTON );
|
||||||
@ -367,19 +365,21 @@ function createColumnsPrefTab ( noteBook, type, isActive )
|
|||||||
grid.margin = 18;
|
grid.margin = 18;
|
||||||
noteBook.append_page ( grid, new Gtk.Label ( { label: _(type), } ) );
|
noteBook.append_page ( grid, new Gtk.Label ( { label: _(type), } ) );
|
||||||
|
|
||||||
let _treeView = new Gtk.TreeView ( { headers_visible: true,
|
this.treeView = new Gtk.TreeView ( { headers_visible: true,
|
||||||
reorderable: true,
|
reorderable: true,
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
vexpand: true });
|
vexpand: true });
|
||||||
|
|
||||||
let columnNumbers = new Gtk.TreeViewColumn ( { title: _("Column") } );
|
let columnNumbers = new Gtk.TreeViewColumn ( { title: _("Column") } );
|
||||||
let rendererNumbers = new Gtk.CellRendererText ( { editable: true } );
|
let rendererNumbers = new Gtk.CellRendererCombo ( { editable: true } );
|
||||||
|
rendererNumbers.col = 0;
|
||||||
if ( this.gtkVersion == 4 )
|
if ( this.gtkVersion == 4 )
|
||||||
columnNumbers.append(rendererNumbers, true);
|
columnNumbers.append(rendererNumbers, true);
|
||||||
else
|
else
|
||||||
columnNumbers.pack_start(rendererNumbers, true);
|
columnNumbers.pack_start(rendererNumbers, true);
|
||||||
columnNumbers.add_attribute(rendererNumbers, 'text', 0);
|
columnNumbers.add_attribute(rendererNumbers, 'text', 0);
|
||||||
_treeView.append_column(columnNumbers);
|
this.treeView.append_column(columnNumbers);
|
||||||
|
rendererNumbers.connect('edited', Lang.bind ( this, this.editColumn ) );
|
||||||
|
|
||||||
let _colSize = new Gtk.TreeViewColumn ( { title: _("Size") } );
|
let _colSize = new Gtk.TreeViewColumn ( { title: _("Size") } );
|
||||||
let _colRenderer = new Gtk.CellRendererText ( { editable: true } );
|
let _colRenderer = new Gtk.CellRendererText ( { editable: true } );
|
||||||
@ -388,11 +388,13 @@ function createColumnsPrefTab ( noteBook, type, isActive )
|
|||||||
else
|
else
|
||||||
_colSize.pack_start(_colRenderer, true);
|
_colSize.pack_start(_colRenderer, true);
|
||||||
_colSize.add_attribute(_colRenderer, 'text', 1);
|
_colSize.add_attribute(_colRenderer, 'text', 1);
|
||||||
_treeView.append_column(_colSize);
|
this.treeView.append_column(_colSize);
|
||||||
|
_colRenderer.col = 1;
|
||||||
|
_colRenderer.connect('edited', Lang.bind ( this, this.editColumn ) );
|
||||||
|
|
||||||
// _treeView.connect('row-activated', this._editPath.bind(this));
|
// _treeView.connect('row-activated', this._editPath.bind(this));
|
||||||
|
|
||||||
grid.attach ( _treeView, 0, 1, 1, 1 );
|
grid.attach ( this.treeView, 0, 1, 1, 1 );
|
||||||
|
|
||||||
// Action Bar
|
// Action Bar
|
||||||
let rowsChooserActionBar = new Gtk.ActionBar ( { valign: Gtk.Align.END } );
|
let rowsChooserActionBar = new Gtk.ActionBar ( { valign: Gtk.Align.END } );
|
||||||
@ -407,7 +409,7 @@ function createColumnsPrefTab ( noteBook, type, isActive )
|
|||||||
rowsChooserActionBar.add ( rowRemoveButton );
|
rowsChooserActionBar.add ( rowRemoveButton );
|
||||||
rowRemoveButton.connect ( 'clicked', Lang.bind ( this, this.removeColumnRow ) );
|
rowRemoveButton.connect ( 'clicked', Lang.bind ( this, this.removeColumnRow ) );
|
||||||
|
|
||||||
grid.attach ( columnsChooserActionBar, 0, 2, 1, 1 );
|
grid.attach ( rowsChooserActionBar, 0, 2, 1, 1 );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -418,6 +420,11 @@ function activateAccountRow ( ) {
|
|||||||
this._accountsWidget.destroy ( );
|
this._accountsWidget.destroy ( );
|
||||||
this.createAccountWidgets ( true );
|
this.createAccountWidgets ( true );
|
||||||
|
|
||||||
|
this.store = new Gtk.ListStore();
|
||||||
|
this.store.set_column_types([GObject.TYPE_STRING, GObject.TYPE_INT]);
|
||||||
|
this.store.filter_new(null);
|
||||||
|
this.treeView.model = this.store;
|
||||||
|
|
||||||
let _row = this.accountsChooser.get_selected_row();
|
let _row = this.accountsChooser.get_selected_row();
|
||||||
monitoLog('Active:' + _row.server);
|
monitoLog('Active:' + _row.server);
|
||||||
let _account_settings = getAccountSettings ( _row.server );
|
let _account_settings = getAccountSettings ( _row.server );
|
||||||
@ -541,15 +548,30 @@ function setColor ( color )
|
|||||||
function createColumnRow ( ) {
|
function createColumnRow ( ) {
|
||||||
monitoLog ( '> Create column row' );
|
monitoLog ( '> Create column row' );
|
||||||
|
|
||||||
_item = _store.append(null);
|
let _item = this.store.append(null);
|
||||||
_store.set_value(_item, 0, 'bar' );
|
this.store.set_value(_item, 0, 'bar' );
|
||||||
_store.set_value(_item, 1, 1 );
|
this.store.set_value(_item, 1, 1 );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function removeColumnRow ( ) {
|
function removeColumnRow ( widget ) {
|
||||||
monitoLog ( '> Remove column row' );
|
monitoLog ( '> Remove column row' );
|
||||||
|
let [any, model, _iter] = this.treeView.get_selection().get_selected ( );
|
||||||
|
this.store.remove ( _iter );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function editColumn ( widget, path, text )
|
||||||
|
{
|
||||||
|
monitoLog ( '> Edit column row ' + widget.col + ', ' + path + ', ' + text )
|
||||||
|
let _iter = this.store.get_iter ( Gtk.TreePath.new_from_string ( path ) );
|
||||||
|
monitoLog ( '> Iter ' + _iter[1] );
|
||||||
|
if ( widget.col == 1 )
|
||||||
|
this.store.set_value(_iter[1], widget.col, parseInt(text) );
|
||||||
|
else
|
||||||
|
this.store.set_value(_iter[1], widget.col, text );
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user