From 9d460c374517bbaa355d62f53edce1039278f152 Mon Sep 17 00:00:00 2001 From: snowparrot Date: Wed, 30 Aug 2017 18:31:13 +0200 Subject: [PATCH 1/4] - If one the selected rows is in the trash minus_button is disabled --- src/Widgets/PagesList.vala | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/Widgets/PagesList.vala b/src/Widgets/PagesList.vala index 2f78c7d4..9e4456df 100644 --- a/src/Widgets/PagesList.vala +++ b/src/Widgets/PagesList.vala @@ -272,11 +272,35 @@ public class ENotes.PagesList : Gtk.Box { refresh (); }); - listbox.row_selected.connect ((row) => { - if (row == null || loading_pages) return; - minus_button.set_sensitive (true); - ENotes.ViewEditStack.get_instance ().set_page (((ENotes.PageItem) row).page, false); - }); + listbox.row_selected.connect ((last_selected_row) => { + if (last_selected_row == null || loading_pages) return; + + var rows = listbox.get_selected_rows (); + + bool all_trashed = true; + bool all_not_trashed = true; + + foreach (var row in rows) { + var pagerow = ((ENotes.PageItem) row).page; + var page_trashed = Trash.get_instance ().is_page_trashed (pagerow); + + all_trashed = all_trashed && page_trashed; + all_not_trashed = all_not_trashed && !page_trashed; + } + if (all_not_trashed) { + minus_button.set_sensitive (true); + + } + else if (all_trashed) { + minus_button.set_sensitive (true); + + } + else { + minus_button.set_sensitive (false); + } + + ENotes.ViewEditStack.get_instance ().set_page (((ENotes.PageItem) last_selected_row).page, false); + }); listbox.row_activated.connect ((row) => { window.toggle_edit (); From 1a778cfca796a3af8473a8a992676b0dc2f01dfc Mon Sep 17 00:00:00 2001 From: snowparrot Date: Wed, 30 Aug 2017 18:53:48 +0200 Subject: [PATCH 2/4] add Icons --- src/Widgets/PagesList.vala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Widgets/PagesList.vala b/src/Widgets/PagesList.vala index 9e4456df..f16570d3 100644 --- a/src/Widgets/PagesList.vala +++ b/src/Widgets/PagesList.vala @@ -30,6 +30,9 @@ public class ENotes.PagesList : Gtk.Box { private Gtk.Button plus_button; private Gtk.Label notebook_name; private Gtk.Label page_total; + + private Gtk.PixBuf delete_icon; + private Gtk.PixBuf undo_icon; public ENotes.Notebook current_notebook; @@ -104,6 +107,10 @@ public class ENotes.PagesList : Gtk.Box { notebook_name = new Gtk.Label (""); page_total = new Gtk.Label (""); separator = new Gtk.Separator (Gtk.Orientation.VERTICAL); + + var icon_theme = Gtk.IconTheme.get_default (); + delete_icon = icon_theme.load_icon ("edit-delete-symbolic", 16, 0); + undo_icon = icon_theme.load_icon ("edit-undo-symbolic", 16, 0); minus_button.get_style_context ().add_class ("flat"); plus_button.get_style_context ().add_class ("flat"); From fab7e4dcb146772a837bb803ed135d7656f2f480 Mon Sep 17 00:00:00 2001 From: snowparrot Date: Wed, 30 Aug 2017 20:59:12 +0200 Subject: [PATCH 3/4] prepare for first push request --- src/Widgets/PagesList.vala | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/Widgets/PagesList.vala b/src/Widgets/PagesList.vala index f16570d3..6ea22079 100644 --- a/src/Widgets/PagesList.vala +++ b/src/Widgets/PagesList.vala @@ -30,9 +30,6 @@ public class ENotes.PagesList : Gtk.Box { private Gtk.Button plus_button; private Gtk.Label notebook_name; private Gtk.Label page_total; - - private Gtk.PixBuf delete_icon; - private Gtk.PixBuf undo_icon; public ENotes.Notebook current_notebook; @@ -107,10 +104,6 @@ public class ENotes.PagesList : Gtk.Box { notebook_name = new Gtk.Label (""); page_total = new Gtk.Label (""); separator = new Gtk.Separator (Gtk.Orientation.VERTICAL); - - var icon_theme = Gtk.IconTheme.get_default (); - delete_icon = icon_theme.load_icon ("edit-delete-symbolic", 16, 0); - undo_icon = icon_theme.load_icon ("edit-undo-symbolic", 16, 0); minus_button.get_style_context ().add_class ("flat"); plus_button.get_style_context ().add_class ("flat"); @@ -297,10 +290,6 @@ public class ENotes.PagesList : Gtk.Box { if (all_not_trashed) { minus_button.set_sensitive (true); - } - else if (all_trashed) { - minus_button.set_sensitive (true); - } else { minus_button.set_sensitive (false); From 650b9040ac0e81c29e43b3d7dc257d05e48c526f Mon Sep 17 00:00:00 2001 From: snowparrot Date: Wed, 30 Aug 2017 21:05:19 +0200 Subject: [PATCH 4/4] code style --- src/Widgets/PagesList.vala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Widgets/PagesList.vala b/src/Widgets/PagesList.vala index 6ea22079..51c15ccd 100644 --- a/src/Widgets/PagesList.vala +++ b/src/Widgets/PagesList.vala @@ -288,8 +288,7 @@ public class ENotes.PagesList : Gtk.Box { all_not_trashed = all_not_trashed && !page_trashed; } if (all_not_trashed) { - minus_button.set_sensitive (true); - + minus_button.set_sensitive (true); } else { minus_button.set_sensitive (false);