aboutsummaryrefslogtreecommitdiff
path: root/main/src
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-04-30 00:28:27 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-05 14:32:10 +0200
commit5121f3128ad79a0ae54601474b9701fcb1e58cfd (patch)
tree836f7e84c5fbd3e6a9d7c521439260671f12b167 /main/src
parent9736fe51834282adcbb58a1c793f7cfd14c6a8dc (diff)
downloaddino-5121f3128ad79a0ae54601474b9701fcb1e58cfd.tar.gz
Add send button on chat view
Diffstat (limited to 'main/src')
-rw-r--r--main/src/ui/chat_input/view.vala38
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;