Skip to content

Commit 01b731c

Browse files
committed
Add option to ask before deleting pinned items even when just trashing
1 parent ff75fb9 commit 01b731c

File tree

4 files changed

+27
-6
lines changed

4 files changed

+27
-6
lines changed

options.html

+7-3
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,14 @@ <h3 class="section-header">Behaviour</h3>
155155
</label>
156156
</div>
157157

158-
<div class="settings-row learn-more" title="Ask when shift+deleting pinned items or removing pinned items from trash.">
158+
<div class="settings-row learn-more" title="Ask to prevent accidental removal of pinned items.">
159159
<label class="web-content-select-label">
160-
<span class="selectLabel">Ask when completely removing pinned items:</span>
161-
<input type="checkbox" id="askRmPinned" />
160+
<span class="selectLabel">Ask when removing pinned items:</span>
161+
<select id="askRmPinned">
162+
<option value="none">Never</option>
163+
<option value="trashed">On removal from trash</option>
164+
<option value="all">Always</option>
165+
</select>
162166
</label>
163167
</div>
164168

scripts/app/staticdb/actions.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -621,8 +621,10 @@ return {
621621
fn: function(e) {
622622
var contentView = require('views/contentView');
623623
if (!contentView.model) return;
624+
625+
askRmPinned = bg.settings.get('askRmPinned')
624626
if (e.shiftKey) {
625-
if (contentView.model.get('pinned') && bg.settings.get('askRmPinned')) {
627+
if (contentView.model.get('pinned') && askRmPinned && askRmPinned != 'none') {
626628
var conf = confirm(Locale.c.PIN_QUESTION_A + contentView.model.escape('title') + Locale.c.PIN_QUESTION_B);
627629
if (!conf) {
628630
return;
@@ -631,6 +633,13 @@ return {
631633

632634
contentView.model.markAsDeleted();
633635
} else {
636+
if (contentView.model.get('pinned') && askRmPinned == 'all') {
637+
var conf = confirm(Locale.c.PIN_QUESTION_A + contentView.model.escape('title') + Locale.c.PIN_QUESTION_B);
638+
if (!conf) {
639+
return;
640+
}
641+
}
642+
634643
contentView.model.save({
635644
trashed: true,
636645
visited: true

scripts/app/views/articleList.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -677,6 +677,13 @@ function (BB, _, $, Groups, Group, GroupView, ItemView, selectable, Locale) {
677677
* @param view {views/ItemView} Removed article view
678678
*/
679679
removeItem: function(view) {
680+
askRmPinned = bg.settings.get('askRmPinned')
681+
if (view.model.get('pinned') && askRmPinned == 'all') {
682+
var conf = confirm(Locale.c.PIN_QUESTION_A + view.model.escape('title') + Locale.c.PIN_QUESTION_B);
683+
if (!conf) {
684+
return;
685+
}
686+
}
680687
view.model.save({ trashed: true, visited: true });
681688
//this.destroyItem(view);
682689
},
@@ -687,7 +694,8 @@ function (BB, _, $, Groups, Group, GroupView, ItemView, selectable, Locale) {
687694
* @param view {views/ItemView} Removed article view
688695
*/
689696
removeItemCompletely: function(view) {
690-
if (view.model.get('pinned') && bg.settings.get('askRmPinned')) {
697+
askRmPinned = bg.settings.get('askRmPinned')
698+
if (view.model.get('pinned') && askRmPinned && askRmPinned != 'none') {
691699
var conf = confirm(Locale.c.PIN_QUESTION_A + view.model.escape('title') + Locale.c.PIN_QUESTION_B);
692700
if (!conf) {
693701
return;

scripts/bgprocess/models/Settings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ define(['backbone', 'preps/indexeddb'], function (BB) {
5050
circularNavigation: true,
5151
sortBy: 'date',
5252
sortBy2: 'title',
53-
askRmPinned: true,
53+
askRmPinned: 'trashed',
5454
titleIsLink: true,
5555
soundNotifications: false,
5656
defaultSound: '',

0 commit comments

Comments
 (0)