diff options
| author | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2022-04-30 00:28:27 +0200 |
|---|---|---|
| committer | Xavier Del Campo Romero <xavi.dcr@tutanota.com> | 2023-10-05 14:32:10 +0200 |
| commit | 5121f3128ad79a0ae54601474b9701fcb1e58cfd (patch) | |
| tree | 836f7e84c5fbd3e6a9d7c521439260671f12b167 /main/src/ui/chat_input | |
| parent | 9736fe51834282adcbb58a1c793f7cfd14c6a8dc (diff) | |
| download | dino-5121f3128ad79a0ae54601474b9701fcb1e58cfd.tar.gz | |
Add send button on chat view
Diffstat (limited to 'main/src/ui/chat_input')
| -rw-r--r-- | main/src/ui/chat_input/view.vala | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/main/src/ui/chat_input/view.vala b/main/src/ui/chat_input/view.vala index 5142eb10..9de7c33f 100644 --- a/main/src/ui/chat_input/view.vala +++ b/main/src/ui/chat_input/view.vala @@ -31,7 +31,7 @@ public class View : Box { public View init(StreamInteractor stream_interactor) { this.stream_interactor = stream_interactor; - encryption_widget = new EncryptionButton(stream_interactor) { relief=ReliefStyle.NONE, margin_top=3, valign=Align.START, visible=true }; + encryption_widget = new EncryptionButton(stream_interactor) { relief=ReliefStyle.NONE, margin_top=3, valign=Align.CENTER, visible=true }; file_button.get_style_context().add_class("dino-attach-button"); @@ -39,7 +39,7 @@ public class View : Box { // Emoji button for emoji picker (recents don't work < 3.22.19, category icons don't work <3.23.2) if (Gtk.get_major_version() >= 3 && Gtk.get_minor_version() >= 24) { - MenuButton emoji_button = new MenuButton() { relief=ReliefStyle.NONE, margin_top=3, valign=Align.START, visible=true }; + MenuButton emoji_button = new MenuButton() { relief=ReliefStyle.NONE, margin_top=3, valign=Align.CENTER, visible=true }; emoji_button.get_style_context().add_class("flat"); emoji_button.get_style_context().add_class("dino-chatinput-button"); emoji_button.image = new Image.from_icon_name("dino-emoticon-symbolic", IconSize.BUTTON) { visible=true }; @@ -55,6 +55,40 @@ public class View : Box { outer_box.add(encryption_widget); + { + MenuButton send_button = new MenuButton() { + tooltip_text="Send message", + relief=ReliefStyle.NONE, + margin_top=3, + valign=Align.CENTER, + visible=true, + sensitive=false + }; + + send_button.get_style_context().add_class("flat"); + send_button.get_style_context().add_class("dino-chatinput-button"); + send_button.image = new Image.from_icon_name("document-send", IconSize.BUTTON) { + visible=true, + icon_size=3 + }; + + chat_text_view.text_view.buffer.changed.connect(() => { + if (chat_text_view.text_view.buffer.text != "") { + send_button.sensitive = true; + } + else { + send_button.sensitive = false; + } + }); + + send_button.button_release_event.connect(() => { + chat_text_view.send_text(); + return true; + }); + + outer_box.add(send_button); + } + Util.force_css(frame, "* { border-radius: 3px; }"); return this; |
