From 9db3d08b512fb2badb8ab0d82f98f5d583063df4 Mon Sep 17 00:00:00 2001 From: MarcoPolo-PasTonMolo Date: Sun, 22 Aug 2021 18:04:51 +0300 Subject: [PATCH] Fix edit button not showing --- main/data/conversation_content_view/view.ui | 15 +++++++++++++++ .../conversation_view.vala | 15 +++++++++++++-- .../message_widget.vala | 17 +++++++++-------- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/main/data/conversation_content_view/view.ui b/main/data/conversation_content_view/view.ui index 17f753f5..7138c6b9 100644 --- a/main/data/conversation_content_view/view.ui +++ b/main/data/conversation_content_view/view.ui @@ -58,6 +58,21 @@ + + + False + end + end + True + + + go-previous-symbolic-rtl + 1 + True + + + + diff --git a/main/src/ui/conversation_content_view/conversation_view.vala b/main/src/ui/conversation_content_view/conversation_view.vala index b1964ba0..e8f29174 100644 --- a/main/src/ui/conversation_content_view/conversation_view.vala +++ b/main/src/ui/conversation_content_view/conversation_view.vala @@ -18,6 +18,8 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins [GtkChild] private unowned Box message_menu_box; [GtkChild] private unowned Button button1; [GtkChild] private unowned Image button1_icon; + [GtkChild] private unowned Button button2; + [GtkChild] private unowned Image button2_icon; [GtkChild] private unowned Box notifications; [GtkChild] private unowned Box main; [GtkChild] private unowned EventBox main_event_box; @@ -80,10 +82,14 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins main_event_box.motion_notify_event.connect(on_motion_notify_event); button1.clicked.connect(() => { - current_meta_item.get_item_actions(Plugins.WidgetType.GTK)[0].callback(button1, current_meta_item, currently_highlighted.widget); + current_meta_item.get_item_actions(Plugins.WidgetType.GTK)[1].callback(button1, current_meta_item, currently_highlighted.widget); update_message_menu(); }); + button2.clicked.connect(() => { + current_meta_item.get_item_actions(Plugins.WidgetType.GTK)[0].callback(button2, current_meta_item, currently_highlighted.widget); + }); + return this; } @@ -194,9 +200,14 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins var actions = current_meta_item.get_item_actions(Plugins.WidgetType.GTK); message_menu_box.visible = actions != null && actions.size > 0; + if (actions != null && actions.size == 1) { + button1.visible = false; + } + + if (actions != null && actions.size == 2) { button1.visible = true; - button1_icon.set_from_icon_name(actions[0].icon_name, IconSize.SMALL_TOOLBAR); + button1_icon.set_from_icon_name(actions[1].icon_name, IconSize.SMALL_TOOLBAR); } } diff --git a/main/src/ui/conversation_content_view/message_widget.vala b/main/src/ui/conversation_content_view/message_widget.vala index fd668bfe..0aee0f58 100644 --- a/main/src/ui/conversation_content_view/message_widget.vala +++ b/main/src/ui/conversation_content_view/message_widget.vala @@ -47,14 +47,6 @@ public class MessageMetaItem : ContentMetaItem { bool allowed = stream_interactor.get_module(MessageCorrection.IDENTITY).is_own_correction_allowed(message_item.conversation, message_item.message); Gee.List actions = new ArrayList(); - if (allowed && !in_edit_mode) { - Plugins.MessageAction action1 = new Plugins.MessageAction(); - action1.icon_name = "document-edit-symbolic"; - action1.callback = (button, content_meta_item_activated, widget) => { - this.in_edit_mode = true; - }; - actions.add(action1); - } Plugins.MessageAction action2 = new Plugins.MessageAction(); action2.icon_name = "go-previous-symbolic-rtl"; @@ -65,6 +57,15 @@ public class MessageMetaItem : ContentMetaItem { }; actions.add(action2); + if (allowed && !in_edit_mode) { + Plugins.MessageAction action1 = new Plugins.MessageAction(); + action1.icon_name = "document-edit-symbolic"; + action1.callback = (button, content_meta_item_activated, widget) => { + this.in_edit_mode = true; + }; + actions.add(action1); + } + return actions; }