mirror of https://github.com/keeweb/keeweb.git
fix #25: remember menu and list width
This commit is contained in:
parent
56a3d1f8a1
commit
87a26a4e89
|
@ -18,6 +18,7 @@ var Resizable = {
|
|||
var size = dragInfo.startSize + e.offset;
|
||||
size = Math.max(dragInfo.min, Math.min(dragInfo.max, size));
|
||||
this.$el[dragInfo.prop](size);
|
||||
this.trigger('view-resize', size);
|
||||
Backbone.trigger('page-geometry', { source: 'resizable' });
|
||||
},
|
||||
|
||||
|
@ -29,6 +30,7 @@ var Resizable = {
|
|||
this.$el.css(dragInfo.prop, 'auto');
|
||||
}
|
||||
this.fixSize(dragInfo);
|
||||
this.trigger('view-resize', null);
|
||||
Backbone.trigger('page-geometry', { source: 'resizable' });
|
||||
},
|
||||
|
||||
|
|
|
@ -8,7 +8,9 @@ var FileName = 'app-settings.json';
|
|||
var AppSettingsModel = Backbone.Model.extend({
|
||||
defaults: {
|
||||
theme: 'd',
|
||||
expandGroups: true
|
||||
expandGroups: true,
|
||||
listViewWidth: null,
|
||||
menuViewWidth: null
|
||||
},
|
||||
|
||||
initialize: function() {
|
||||
|
|
|
@ -6,6 +6,7 @@ var Backbone = require('backbone'),
|
|||
ListSearchView = require('./list-search-view'),
|
||||
EntryPresenter = require('../presenters/entry-presenter'),
|
||||
DragDropInfo = require('../comp/drag-drop-info'),
|
||||
AppSettingsModel = require('../models/app-settings-model'),
|
||||
baron = require('baron');
|
||||
|
||||
var ListView = Backbone.View.extend({
|
||||
|
@ -36,6 +37,7 @@ var ListView = Backbone.View.extend({
|
|||
this.listenTo(this.views.search, 'create-group', this.createGroup);
|
||||
this.listenTo(this, 'show', this.viewShown);
|
||||
this.listenTo(this, 'hide', this.viewHidden);
|
||||
this.listenTo(this, 'view-resize', this.viewResized);
|
||||
this.listenTo(Backbone, 'filter', this.filterChanged);
|
||||
this.listenTo(Backbone, 'entry-updated', this.entryUpdated);
|
||||
|
||||
|
@ -68,6 +70,9 @@ var ListView = Backbone.View.extend({
|
|||
} else {
|
||||
this.itemsEl.html(this.emptyTemplate());
|
||||
}
|
||||
if (typeof AppSettingsModel.instance.get('listViewWidth') === 'number') {
|
||||
this.$el.width(AppSettingsModel.instance.get('listViewWidth'));
|
||||
}
|
||||
this.pageResized();
|
||||
return this;
|
||||
},
|
||||
|
@ -137,6 +142,10 @@ var ListView = Backbone.View.extend({
|
|||
this.views.search.hide();
|
||||
},
|
||||
|
||||
viewResized: _.throttle(function(size) {
|
||||
AppSettingsModel.instance.set('listViewWidth', size);
|
||||
}, 1000),
|
||||
|
||||
filterChanged: function(filter) {
|
||||
this.items = filter.entries;
|
||||
this.render();
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
var Backbone = require('backbone'),
|
||||
Resizable = require('../../mixins/resizable'),
|
||||
MenuSectionView = require('./menu-section-view'),
|
||||
DragView = require('../drag-view');
|
||||
DragView = require('../drag-view'),
|
||||
AppSettingsModel = require('../../models/app-settings-model');
|
||||
|
||||
var MenuView = Backbone.View.extend({
|
||||
template: require('templates/menu/menu.html'),
|
||||
|
@ -17,6 +18,7 @@ var MenuView = Backbone.View.extend({
|
|||
|
||||
initialize: function () {
|
||||
this.listenTo(this.model, 'change:sections', this.menuChanged);
|
||||
this.listenTo(this, 'view-resize', this.viewResized);
|
||||
},
|
||||
|
||||
remove: function() {
|
||||
|
@ -40,6 +42,9 @@ var MenuView = Backbone.View.extend({
|
|||
}
|
||||
this.sectionViews.push(sectionView);
|
||||
}, this);
|
||||
if (typeof AppSettingsModel.instance.get('menuViewWidth') === 'number') {
|
||||
this.$el.width(AppSettingsModel.instance.get('menuViewWidth'));
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -47,6 +52,10 @@ var MenuView = Backbone.View.extend({
|
|||
this.render();
|
||||
},
|
||||
|
||||
viewResized: _.throttle(function(size) {
|
||||
AppSettingsModel.instance.set('menuViewWidth', size);
|
||||
}, 1000),
|
||||
|
||||
switchVisibility: function(visible) {
|
||||
this.$el.toggleClass('menu-visible', visible);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ Release notes
|
|||
-------------
|
||||
##### vNext
|
||||
`-` fixed protected field deletion
|
||||
`+` remember menu and list width
|
||||
|
||||
##### v0.2.1 (2015-11-10)
|
||||
Fixed KeePassX compatibility issues
|
||||
|
|
Loading…
Reference in New Issue