aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/chat_input
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/ui/chat_input')
-rw-r--r--main/src/ui/chat_input/chat_text_view.vala7
-rw-r--r--main/src/ui/chat_input/view.vala66
2 files changed, 40 insertions, 33 deletions
diff --git a/main/src/ui/chat_input/chat_text_view.vala b/main/src/ui/chat_input/chat_text_view.vala
index 6b85b082..0bfb41a9 100644
--- a/main/src/ui/chat_input/chat_text_view.vala
+++ b/main/src/ui/chat_input/chat_text_view.vala
@@ -76,8 +76,11 @@ public class ChatTextView : ScrolledWindow {
private bool on_text_input_key_press(EventKey event) {
if (event.keyval in new uint[]{Key.Return, Key.KP_Enter}) {
- if ((event.state & ModifierType.CONTROL_MASK) > 0) {
- text_view.buffer.insert_at_cursor("\n", 1);
+ Dino.Entities.Settings settings = Dino.Application.get_default().settings;
+
+ if ((event.state & ModifierType.SHIFT_MASK) > 0
+ || settings.enter_newline) {
+ text_view.buffer.insert_at_cursor("\n", 1);
} else if (text_view.buffer.text.strip() != "") {
send_text();
edit_history.reset_history();
diff --git a/main/src/ui/chat_input/view.vala b/main/src/ui/chat_input/view.vala
index 9de7c33f..454cff52 100644
--- a/main/src/ui/chat_input/view.vala
+++ b/main/src/ui/chat_input/view.vala
@@ -55,39 +55,43 @@ 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;
- }
- });
+ Dino.Entities.Settings settings = Dino.Application.get_default().settings;
+
+ MenuButton send_button = new MenuButton() {
+ tooltip_text="Send message",
+ relief=ReliefStyle.NONE,
+ margin_top=3,
+ valign=Align.CENTER,
+ visible=settings.send_button,
+ sensitive=false
+ };
+
+ settings.send_button_update.connect(() => {
+ send_button.visible = settings.send_button;
+ });
- send_button.button_release_event.connect(() => {
- chat_text_view.send_text();
- return true;
- });
+ 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;
+ }
+ });
- outer_box.add(send_button);
- }
+ 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; }");