aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2025-10-06 18:17:17 +0200
committerfiaxh <git@lightrise.org>2025-10-06 18:17:17 +0200
commitf17926329915fcd8f95e00ab042d1a22ea2b7371 (patch)
tree3e740e85246e097b9f1a767b24a450f772af44d1 /main/src/ui
parent18f87d11986f1021d98f1be58c89296d852120c3 (diff)
Use AdwDialog for conversation details and preferences
Diffstat (limited to 'main/src/ui')
-rw-r--r--main/src/ui/application.vala12
-rw-r--r--main/src/ui/chat_input/chat_input_controller.vala4
-rw-r--r--main/src/ui/conversation_details.vala7
-rw-r--r--main/src/ui/conversation_titlebar/menu_entry.vala4
-rw-r--r--main/src/ui/main_window_controller.vala3
5 files changed, 14 insertions, 16 deletions
diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala
index ffdd2df3..b0473c16 100644
--- a/main/src/ui/application.vala
+++ b/main/src/ui/application.vala
@@ -153,9 +153,9 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application {
string stack_value = variant.get_child_value(1).get_string();
- var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor, window);
+ var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor);
conversation_details.stack.visible_child_name = stack_value;
- conversation_details.present();
+ conversation_details.present(window);
});
add_action(open_conversation_details_action);
@@ -251,16 +251,16 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application {
}
private void show_preferences_window() {
- Ui.PreferencesWindow dialog = new Ui.PreferencesWindow() { transient_for = window };
+ Ui.PreferencesDialog dialog = new Ui.PreferencesDialog();
dialog.model.populate(db, stream_interactor);
- dialog.present();
+ dialog.present(window);
}
private void show_preferences_account_window(Account account) {
- Ui.PreferencesWindow dialog = new Ui.PreferencesWindow() { transient_for = window };
+ Ui.PreferencesDialog dialog = new Ui.PreferencesDialog();
dialog.model.populate(db, stream_interactor);
dialog.accounts_page.account_chosen(account);
- dialog.present();
+ dialog.present(window);
}
private void show_about_window() {
diff --git a/main/src/ui/chat_input/chat_input_controller.vala b/main/src/ui/chat_input/chat_input_controller.vala
index 07499aa4..660f29bb 100644
--- a/main/src/ui/chat_input/chat_input_controller.vala
+++ b/main/src/ui/chat_input/chat_input_controller.vala
@@ -56,8 +56,8 @@ public class ChatInputController : Object {
status_description_label.activate_link.connect((uri) => {
if (uri == OPEN_CONVERSATION_DETAILS_URI){
- var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor, (Window)chat_input.get_root());
- conversation_details.present();
+ var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor);
+ conversation_details.present((Window)chat_input.get_root());
}
return true;
});
diff --git a/main/src/ui/conversation_details.vala b/main/src/ui/conversation_details.vala
index a1b7a9ce..404f357d 100644
--- a/main/src/ui/conversation_details.vala
+++ b/main/src/ui/conversation_details.vala
@@ -189,20 +189,19 @@ namespace Dino.Ui.ConversationDetails {
}
}
- public Dialog setup_dialog(Conversation conversation, StreamInteractor stream_interactor, Window parent) {
- var dialog = new Dialog() { transient_for = parent };
+ public Dialog setup_dialog(Conversation conversation, StreamInteractor stream_interactor) {
+ var dialog = new Dialog();
var model = new Model.ConversationDetails();
model.populate(stream_interactor, conversation);
bind_dialog(model, dialog.model, stream_interactor);
set_about_rows(model, dialog.model, stream_interactor);
- dialog.close_request.connect(() => {
+ dialog.closed.connect(() => {
// Only send the config form if something was changed
if (model.data_form_bak != null && model.data_form_bak != model.data_form.stanza_node.to_string()) {
stream_interactor.get_module(MucManager.IDENTITY).set_config_form.begin(conversation.account, conversation.counterpart, model.data_form);
}
- return false;
});
Plugins.ContactDetails contact_details = new Plugins.ContactDetails();
diff --git a/main/src/ui/conversation_titlebar/menu_entry.vala b/main/src/ui/conversation_titlebar/menu_entry.vala
index ca8c23b3..798c2a63 100644
--- a/main/src/ui/conversation_titlebar/menu_entry.vala
+++ b/main/src/ui/conversation_titlebar/menu_entry.vala
@@ -42,8 +42,8 @@ class MenuEntry : Plugins.ConversationTitlebarEntry, Object {
}
private void open_conversation_details() {
- var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor, (Window)button.get_root());
- conversation_details.present();
+ var conversation_details = ConversationDetails.setup_dialog(conversation, stream_interactor);
+ conversation_details.present((Window)button.get_root());
}
public Object? get_widget(Plugins.WidgetType type) {
diff --git a/main/src/ui/main_window_controller.vala b/main/src/ui/main_window_controller.vala
index 118eb73b..93b9fd69 100644
--- a/main/src/ui/main_window_controller.vala
+++ b/main/src/ui/main_window_controller.vala
@@ -66,8 +66,7 @@ public class MainWindowController : Object {
window.welcome_placeholder.primary_button.clicked.connect(() => {
ManageAccounts.AddAccountDialog dialog = new ManageAccounts.AddAccountDialog(stream_interactor, db);
- dialog.set_transient_for(app.get_active_window());
- dialog.present();
+ dialog.present(app.get_active_window());
});
window.accounts_placeholder.primary_button.clicked.connect(() => { app.activate_action("preferences", null); });
window.conversation_selector.conversation_selected.connect((conversation) => select_conversation(conversation));