[shotwell/shotwell-0.30] EventsPage: fix "Edit Event Comment" when photo selected



commit 0d7935a061b43ddd336b60629f2a8e8d79214a60
Author: Eric <eric daigle zaclys net>
Date:   Mon Jun 14 17:15:49 2021 -0400

    EventsPage: fix "Edit Event Comment" when photo selected
    
    The "Edit Event Comment" button in the event context menu currently triggers the same
    on_edit_comment function as the "Edit Comment" button in the photo context menu.
    As described in #4929, clicking  "Edit Event Comment" with a photo selected thus
    edits that photo's comment rather than the event comment.
    
    This MR creates a separate on_edit_event_comment function for "Edit Event Comment"
    and changes on_edit_comment to handle only the photo context menu's "Edit Comment."
    This allows editing of both photo and event comments to work as expected.
    
    Fixes #4929

 src/events/EventPage.vala | 25 +++++++++++++------------
 ui/event.ui               |  2 +-
 2 files changed, 14 insertions(+), 13 deletions(-)
---
diff --git a/src/events/EventPage.vala b/src/events/EventPage.vala
index a482ab88..1375c39f 100644
--- a/src/events/EventPage.vala
+++ b/src/events/EventPage.vala
@@ -50,7 +50,8 @@ public class EventPage : CollectionPage {
     private const GLib.ActionEntry[] entries = {
         { "MakePrimary", on_make_primary },
         { "Rename", on_rename },
-        { "EditEventComment", on_edit_comment }
+        { "EditComment", on_edit_comment },
+        { "EditEventComment", on_edit_event_comment }
     };
 
     protected override void add_actions(GLib.ActionMap map) {
@@ -96,19 +97,19 @@ public class EventPage : CollectionPage {
             set_page_name(page_event.get_name());
     }
     
-    protected override void on_edit_comment() {
-        if (get_view().get_selected_count() == 0) {
-            EditCommentDialog edit_comment_dialog = new EditCommentDialog(page_event.get_comment(),
-                true);
-            string? new_comment = edit_comment_dialog.execute();
-            if (new_comment == null)
-                return;
-            
-            EditEventCommentCommand command = new EditEventCommentCommand(page_event, new_comment);
-            get_command_manager().execute(command);
+    private void on_edit_event_comment() {
+        EditCommentDialog edit_comment_dialog = new EditCommentDialog(page_event.get_comment(),
+        true);
+        string? new_comment = edit_comment_dialog.execute();
+        if (new_comment == null)
             return;
-        }
         
+        EditEventCommentCommand command = new EditEventCommentCommand(page_event, new_comment);
+        get_command_manager().execute(command);
+        return;
+    }
+
+    protected override void on_edit_comment() {
         base.on_edit_comment();
     }
         
diff --git a/ui/event.ui b/ui/event.ui
index 771b2a9d..9579f964 100644
--- a/ui/event.ui
+++ b/ui/event.ui
@@ -396,7 +396,7 @@
         </item>
         <item>
           <attribute name="label" translatable="yes">Edit _Comment…</attribute>
-          <attribute name="action">win.EditComment</attribute>
+          <attribute name="action">win.EditEventComment</attribute>
         </item>
       </section>
     </submenu>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]