diff --git a/app/scripts/models/app-settings-model.js b/app/scripts/models/app-settings-model.js index 22309946..9e3ff2c4 100644 --- a/app/scripts/models/app-settings-model.js +++ b/app/scripts/models/app-settings-model.js @@ -17,7 +17,8 @@ var AppSettingsModel = Backbone.Model.extend({ autoSave: true, idleMinutes: 15, minimizeOnClose: false, - tableView: false + tableView: false, + colorfulIcons: false }, initialize: function() { diff --git a/app/scripts/presenters/entry-presenter.js b/app/scripts/presenters/entry-presenter.js index 1af2bc8e..6f272d87 100644 --- a/app/scripts/presenters/entry-presenter.js +++ b/app/scripts/presenters/entry-presenter.js @@ -2,9 +2,10 @@ var Format = require('../util/format'); -var EntryPresenter = function(descField) { +var EntryPresenter = function(descField, noColor) { this.entry = null; this.descField = descField; + this.noColor = noColor || ''; }; EntryPresenter.prototype = { @@ -19,7 +20,7 @@ EntryPresenter.prototype = { get id() { return this.entry ? this.entry.id : this.group.get('id'); }, get icon() { return this.entry ? this.entry.icon : (this.group.get('icon') || 'folder'); }, get customIcon() { return this.entry ? this.entry.customIcon : undefined; }, - get color() { return this.entry ? this.entry.color : undefined; }, + get color() { return this.entry ? (this.entry.color || (this.entry.customIcon ? this.noColor : undefined)) : undefined; }, get title() { return this.entry ? this.entry.title : this.group.get('title'); }, get notes() { return this.entry ? this.entry.notes : undefined; }, get url() { return this.entry ? this.entry.url : undefined; }, diff --git a/app/scripts/views/list-view.js b/app/scripts/views/list-view.js index 6c906380..0f4e297b 100644 --- a/app/scripts/views/list-view.js +++ b/app/scripts/views/list-view.js @@ -66,7 +66,8 @@ var ListView = Backbone.View.extend({ if (this.items.length) { var itemTemplate = this.getItemTemplate(); var itemsTemplate = this.getItemsTemplate(); - var presenter = new EntryPresenter(this.getDescField()); + var noColor = AppSettingsModel.instance.get('colorfulIcons') ? '' : 'grayscale'; + var presenter = new EntryPresenter(this.getDescField(), noColor); var itemsHtml = ''; this.items.forEach(function (item) { presenter.present(item); diff --git a/app/scripts/views/settings/settings-general-view.js b/app/scripts/views/settings/settings-general-view.js index 60b07fb7..6e170d8d 100644 --- a/app/scripts/views/settings/settings-general-view.js +++ b/app/scripts/views/settings/settings-general-view.js @@ -22,6 +22,7 @@ var SettingsGeneralView = Backbone.View.extend({ 'change .settings__general-auto-save': 'changeAutoSave', 'change .settings__general-minimize': 'changeMinimize', 'change .settings__general-table-view': 'changeTableView', + 'change .settings__general-colorful-icons': 'changeColorfulIcons', 'click .settings__general-update-btn': 'checkUpdate', 'click .settings__general-restart-btn': 'restartApp', 'click .settings__general-download-update-btn': 'downloadUpdate', @@ -61,7 +62,8 @@ var SettingsGeneralView = Backbone.View.extend({ updateReady: UpdateModel.instance.get('updateStatus') === 'ready', updateFound: UpdateModel.instance.get('updateStatus') === 'found', updateManual: UpdateModel.instance.get('updateManual'), - releaseNotesLink: Links.ReleaseNotes + releaseNotesLink: Links.ReleaseNotes, + colorfulIcons: AppSettingsModel.instance.get('colorfulIcons') }); }, @@ -144,6 +146,12 @@ var SettingsGeneralView = Backbone.View.extend({ Backbone.trigger('refresh'); }, + changeColorfulIcons: function(e) { + var colorfulIcons = e.target.checked || false; + AppSettingsModel.instance.set('colorfulIcons', colorfulIcons); + Backbone.trigger('refresh'); + }, + restartApp: function() { if (Launcher) { Launcher.requestRestart(); diff --git a/app/styles/areas/_list.scss b/app/styles/areas/_list.scss index 1a3b66bc..e13c73af 100644 --- a/app/styles/areas/_list.scss +++ b/app/styles/areas/_list.scss @@ -104,7 +104,6 @@ height: 14px; &--custom { vertical-align: text-bottom; - @include filter(grayscale(1)); &.yellow { @include filter(grayscale(1) sepia(1) hue-rotate(20deg) brightness(1.17) saturate(5.7)); } &.green { @include filter(grayscale(1) sepia(1) hue-rotate(55deg) brightness(1.01) saturate(4.9)); } &.red { @include filter(grayscale(1) sepia(1) hue-rotate(316deg) brightness(1.1) saturate(6)); } diff --git a/app/templates/settings/settings-general.html b/app/templates/settings/settings-general.html index e0c875f3..ef977c67 100644 --- a/app/templates/settings/settings-general.html +++ b/app/templates/settings/settings-general.html @@ -56,6 +56,10 @@ <% } %> +
+ /> + +

Function

diff --git a/release-notes.md b/release-notes.md index d8f445a4..0a9fc5db 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,10 @@ Release notes ------------- +##### v0.5 (not released yet) +2-way sync +`*` disallow opening same files twice +`+` #46: option to show colorful icons + ##### v0.4.6 (2015-11-25) `-` #32: visual glitches on Windows 10