aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2022-10-08 13:19:03 +0200
committerfiaxh <git@lightrise.org>2022-10-09 11:48:58 +0200
commit85342ee2eb2aa3e6d7599c503d17c00d861bafcb (patch)
tree7a529dbb0794f8fa1bbc584137164ff630d150dd /main/src/ui
parent21ab48e09aa6b0ade8f25bdc93f89f8d3aa462e7 (diff)
downloaddino-85342ee2eb2aa3e6d7599c503d17c00d861bafcb.tar.gz
dino-85342ee2eb2aa3e6d7599c503d17c00d861bafcb.zip
Fix drag and drop uploading
Diffstat (limited to 'main/src/ui')
-rw-r--r--main/src/ui/conversation_view.vala6
-rw-r--r--main/src/ui/conversation_view_controller.vala26
2 files changed, 13 insertions, 19 deletions
diff --git a/main/src/ui/conversation_view.vala b/main/src/ui/conversation_view.vala
index 6e07b0e8..7c93c4ff 100644
--- a/main/src/ui/conversation_view.vala
+++ b/main/src/ui/conversation_view.vala
@@ -55,12 +55,6 @@ public class ConversationView : Widget {
}
}
- public override void dispose() {
- // To prevent a warning when closing Dino
- // "Can't set a target list on a widget until you've called gtk_drag_dest_set() to make the widget into a drag destination"
-// Gtk.drag_dest_unset(this);
- }
-
private void on_upper_notify() {
print("on_upper_notify\n");
if (at_current_content) {
diff --git a/main/src/ui/conversation_view_controller.vala b/main/src/ui/conversation_view_controller.vala
index a2ac2655..50c0dcdb 100644
--- a/main/src/ui/conversation_view_controller.vala
+++ b/main/src/ui/conversation_view_controller.vala
@@ -154,20 +154,20 @@ public class ConversationViewController : Object {
conversation_topic = null;
}
- private void update_file_upload_status() {
- stream_interactor.get_module(FileManager.IDENTITY).is_upload_available.begin(conversation, (_, res) => {
- bool upload_available = stream_interactor.get_module(FileManager.IDENTITY).is_upload_available.end(res);
- chat_input_controller.set_file_upload_active(upload_available);
- if (conversation.account.bare_jid.to_string().has_prefix("f")) {
- if (drop_event_controller.widget == null) {
- view.add_controller(drop_event_controller);
- }
- } else {
- if (drop_event_controller.widget != null) {
- view.remove_controller(drop_event_controller);
- }
+ private async void update_file_upload_status() {
+ if (conversation == null) return;
+
+ bool upload_available = yield stream_interactor.get_module(FileManager.IDENTITY).is_upload_available(conversation);
+ chat_input_controller.set_file_upload_active(upload_available);
+ if (upload_available && overlay_dialog == null) {
+ if (drop_event_controller.widget == null) {
+ view.add_controller(drop_event_controller);
}
- });
+ } else {
+ if (drop_event_controller.widget != null) {
+ view.remove_controller(drop_event_controller);
+ }
+ }
}
private void update_conversation_display_name() {