qulogic/pidgin

Remove the old add chat dialog

5 months ago, Gary Kramlich
7b5d8353a2b3
Parents 011b13928d5e
Children fb269b22103d
Remove the old add chat dialog

This is going to happen automatically going forward and chats will be saved
via the conversation manager whether or not a user has "saved" them.

Testing Done:
Ran `ninja turtles`.

Reviewed at https://reviews.imfreedom.org/r/2850/
--- a/pidgin/gtkblist.c Mon Nov 27 21:05:35 2023 -0600
+++ b/pidgin/gtkblist.c Mon Nov 27 22:18:26 2023 -0600
@@ -33,7 +33,6 @@
#include "pidgin/pidginaccountchooser.h"
#include "pidgin/pidginaccountfilterconnected.h"
#include "pidgin/pidginaddbuddydialog.h"
-#include "pidgin/pidginaddchatdialog.h"
typedef struct
{
@@ -428,18 +427,6 @@
}
static void
-pidgin_blist_request_add_chat(G_GNUC_UNUSED PurpleBuddyList *list,
- PurpleAccount *account, PurpleGroup *group,
- const char *alias, const char *name)
-{
- GtkWidget *dialog = NULL;
-
- dialog = pidgin_add_chat_dialog_new(account, group, alias, name);
-
- gtk_widget_set_visible(dialog, TRUE);
-}
-
-static void
add_group_cb(G_GNUC_UNUSED PurpleConnection *connection,
const char *group_name)
{
@@ -476,6 +463,5 @@
PurpleBuddyListClass *purple_blist_class = PURPLE_BUDDY_LIST_CLASS(klass);
purple_blist_class->request_add_buddy = pidgin_blist_request_add_buddy;
- purple_blist_class->request_add_chat = pidgin_blist_request_add_chat;
purple_blist_class->request_add_group = pidgin_blist_request_add_group;
}
--- a/pidgin/meson.build Mon Nov 27 21:05:35 2023 -0600
+++ b/pidgin/meson.build Mon Nov 27 22:18:26 2023 -0600
@@ -27,7 +27,6 @@
'pidginaccountsenabledmenu.c',
'pidginactiongroup.c',
'pidginaddbuddydialog.c',
- 'pidginaddchatdialog.c',
'pidginapplication.c',
'pidginautoadjustment.c',
'pidginavatar.c',
@@ -94,7 +93,6 @@
'pidginaccountsenabledmenu.h',
'pidginactiongroup.h',
'pidginaddbuddydialog.h',
- 'pidginaddchatdialog.h',
'pidginapplication.h',
'pidginautoadjustment.h',
'pidginavatar.h',
--- a/pidgin/pidginaddchatdialog.c Mon Nov 27 21:05:35 2023 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,442 +0,0 @@
-/*
- * Pidgin - Internet Messenger
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#include <glib/gi18n.h>
-
-#include "pidginaddchatdialog.h"
-
-#include "gtkroomlist.h"
-#include "pidginaccountchooser.h"
-#include "pidgincore.h"
-
-struct _PidginAddChatDialog {
- GtkDialog parent;
-
- GtkCustomFilter *filter;
-
- const gchar *default_name;
-
- GtkWidget *account;
- GtkWidget *dynamic_group;
- GtkWidget *alias;
- GtkWidget *group;
- GtkWidget *autojoin;
- GtkWidget *persistent;
-
- GList *rows;
-};
-
-G_DEFINE_TYPE(PidginAddChatDialog, pidgin_add_chat_dialog, GTK_TYPE_DIALOG)
-
-/* ugh, prototypes... */
-static void pidgin_add_chat_dialog_input_changed_cb(GtkEditable *editable, gpointer data);
-
-/******************************************************************************
- * Helpers
- *****************************************************************************/
-static void
-pidgin_add_chat_dialog_validate_input(gpointer data, gpointer user_data) {
- gboolean *valid = user_data;
- gboolean required = FALSE;
-
- required = GPOINTER_TO_INT(g_object_get_data(data, "required"));
- if(required) {
- const gchar *value = gtk_editable_get_text(GTK_EDITABLE(data));
-
- if(value == NULL || *value == '\0') {
- *valid = FALSE;
- } else if(g_object_get_data(data, "integer")) {
- gint int_value = atoi(value);
- char *str_value = g_strdup_printf("%d", int_value);
-
- if(!purple_strequal(value, str_value)) {
- *valid = FALSE;
- }
-
- g_free(str_value);
- }
- }
-}
-
-static void
-pidgin_add_chat_dialog_validate(PidginAddChatDialog *dialog) {
- gboolean valid = TRUE;
-
- /* The callback should only set valid to FALSE if a field is invalid and
- * not set valid if the field is valid.
- */
- g_list_foreach(dialog->rows,
- pidgin_add_chat_dialog_validate_input,
- &valid);
-
- gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), GTK_RESPONSE_OK,
- valid);
-}
-
-static void
-pidgin_add_chat_dialog_update_components(PidginAddChatDialog *dialog) {
- PurpleAccount *account = NULL;
- PurpleConnection *connection = NULL;
- PurpleProtocol *protocol = NULL;
- GList *info = NULL;
- GHashTable *defaults = NULL;
- gboolean focus_set = FALSE;
-
- /* Clean up the dynamic group and our list of rows. */
- while(dialog->rows != NULL) {
- adw_preferences_group_remove(ADW_PREFERENCES_GROUP(dialog->dynamic_group),
- dialog->rows->data);
- dialog->rows = g_list_delete_link(dialog->rows, dialog->rows);
- }
-
- account = pidgin_account_chooser_get_selected(PIDGIN_ACCOUNT_CHOOSER(dialog->account));
- if(!PURPLE_IS_ACCOUNT(account)) {
- return;
- }
-
- connection = purple_account_get_connection(account);
- protocol = purple_account_get_protocol(account);
- info = purple_protocol_chat_info(PURPLE_PROTOCOL_CHAT(protocol),
- connection);
- defaults = purple_protocol_chat_info_defaults(PURPLE_PROTOCOL_CHAT(protocol),
- connection,
- dialog->default_name);
-
- while(info != NULL) {
- GtkWidget *row = NULL;
- PurpleProtocolChatEntry *pce = info->data;
- char *value = NULL;
-
- if(pce->is_int) {
- row = adw_entry_row_new();
- adw_entry_row_set_input_purpose(ADW_ENTRY_ROW(row),
- GTK_INPUT_PURPOSE_NUMBER);
- } else if(pce->secret) {
- row = adw_password_entry_row_new();
- } else {
- row = adw_entry_row_new();
- }
-
- value = g_hash_table_lookup(defaults, pce->identifier);
- if(value != NULL) {
- gtk_editable_set_text(GTK_EDITABLE(row), value);
- }
-
- g_signal_connect(row, "changed",
- G_CALLBACK(pidgin_add_chat_dialog_input_changed_cb),
- dialog);
-
- adw_preferences_row_set_title(ADW_PREFERENCES_ROW(row), pce->label);
- adw_preferences_row_set_use_underline(ADW_PREFERENCES_ROW(row), TRUE);
-
- adw_preferences_group_add(ADW_PREFERENCES_GROUP(dialog->dynamic_group),
- row);
-
- if(!focus_set) {
- gtk_widget_grab_focus(row);
- focus_set = TRUE;
- }
-
- g_object_set_data(G_OBJECT(row), "identifier",
- (gpointer)pce->identifier);
- g_object_set_data(G_OBJECT(row), "integer",
- GINT_TO_POINTER(pce->is_int));
- g_object_set_data(G_OBJECT(row), "required",
- GINT_TO_POINTER(pce->required));
-
- dialog->rows = g_list_append(dialog->rows, row);
-
- g_free(pce);
-
- info = g_list_delete_link(info, info);
- }
-
- g_hash_table_destroy(defaults);
-
- pidgin_add_chat_dialog_validate(dialog);
-}
-
-static gboolean
-pidgin_add_chat_dialog_filter_accounts(gpointer item,
- G_GNUC_UNUSED gpointer data)
-{
- gboolean ret = FALSE;
-
- if(PURPLE_IS_ACCOUNT(item)) {
- PurpleAccount *account = PURPLE_ACCOUNT(item);
- PurpleProtocol *protocol = purple_account_get_protocol(account);
-
- if(PURPLE_IS_PROTOCOL(protocol)) {
- ret = PURPLE_PROTOCOL_IMPLEMENTS(protocol, CHAT, info);
- }
- }
-
- return ret;
-}
-
-static void
-pidgin_add_chat_dialog_add_input_to_components(gpointer data,
- gpointer user_data)
-{
- GHashTable *components = user_data;
- gchar *identifier = NULL;
- gchar *value = NULL;
-
- identifier = g_strdup(g_object_get_data(data, "identifier"));
-
- if(g_object_get_data(data, "integer")) {
- const char *str_value = gtk_editable_get_text(GTK_EDITABLE(data));
- gint int_value = atoi(str_value);
-
- value = g_strdup_printf("%d", int_value);
- } else {
- const gchar *str_value = gtk_editable_get_text(GTK_EDITABLE(data));
-
- if(*str_value != '\0') {
- value = g_strdup(str_value);
- }
- }
-
- /* If the value was changed to an empty string, we should remove it from the
- * components.
- */
- if(value == NULL) {
- g_hash_table_remove(components, identifier);
- g_free(identifier);
- } else {
- g_hash_table_replace(components, identifier, value);
- }
-}
-
-/******************************************************************************
- * Callbacks
- *****************************************************************************/
-static void
-pidgin_add_chat_dialog_input_changed_cb(G_GNUC_UNUSED GtkEditable *editable,
- gpointer data)
-{
- pidgin_add_chat_dialog_validate(data);
-}
-
-static void
-pidgin_add_chat_dialog_response_cb(GtkDialog *dialog, gint response_id,
- G_GNUC_UNUSED gpointer data)
-{
- PurpleAccount *account = NULL;
- PidginAddChatDialog *acdialog = PIDGIN_ADD_CHAT_DIALOG(dialog);
- gboolean close = TRUE;
-
- account = pidgin_account_chooser_get_selected(PIDGIN_ACCOUNT_CHOOSER(acdialog->account));
-
- if(response_id == 1) {
- pidgin_roomlist_dialog_show_with_account(account);
-
- close = FALSE;
- } else if(response_id == GTK_RESPONSE_OK) {
- PurpleChat *chat = NULL;
- GHashTable *components = NULL;
- const gchar *alias = NULL;
-
- components = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- g_free);
- g_list_foreach(acdialog->rows,
- pidgin_add_chat_dialog_add_input_to_components,
- components);
-
- alias = gtk_editable_get_text(GTK_EDITABLE(acdialog->alias));
-
- chat = purple_chat_new(account, alias, components);
-
- if(PURPLE_IS_CHAT(chat)) {
- PurpleGroup *group = NULL;
- gchar *group_name = NULL;
-
- group_name = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(acdialog->group));
- if(group_name != NULL && *group_name != '\0') {
- group = purple_blist_find_group(group_name);
- }
-
- if(!PURPLE_IS_GROUP(group)) {
- group = purple_group_new(group_name);
- purple_blist_add_group(group, NULL);
- }
-
- purple_blist_add_chat(chat, group, NULL);
-
- if(gtk_switch_get_active(GTK_SWITCH(acdialog->autojoin))) {
- purple_blist_node_set_bool(PURPLE_BLIST_NODE(chat),
- "gtk-autojoin", TRUE);
- }
- if(gtk_switch_get_active(GTK_SWITCH(acdialog->persistent))) {
- purple_blist_node_set_bool(PURPLE_BLIST_NODE(chat),
- "gtk-persistent", TRUE);
- }
-
- g_free(group_name);
- } else {
- g_warning("failed to create chat");
- }
- }
-
- if(close) {
- gtk_window_destroy(GTK_WINDOW(dialog));
- }
-}
-
-static void
-pidgin_add_chat_dialog_account_changed_cb(GObject *obj,
- G_GNUC_UNUSED GParamSpec *pspec,
- gpointer data)
-{
- PidginAddChatDialog *dialog = data;
- PurpleAccount *account = NULL;
-
- account = pidgin_account_chooser_get_selected(PIDGIN_ACCOUNT_CHOOSER(obj));
-
- if(PURPLE_IS_ACCOUNT(account)) {
- PurpleProtocol *protocol = purple_account_get_protocol(account);
-
- if(PURPLE_IS_PROTOCOL(protocol)) {
- gboolean roomlist = FALSE;
-
- roomlist = PURPLE_PROTOCOL_IMPLEMENTS(protocol, ROOMLIST, get_list);
-
- gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), 1, roomlist);
- }
- }
-
- pidgin_add_chat_dialog_update_components(dialog);
-
- pidgin_add_chat_dialog_validate(dialog);
-}
-
-static void
-pidgin_add_chat_dialog_username_changed_cb(G_GNUC_UNUSED GtkEditable *editable,
- gpointer data)
-{
- pidgin_add_chat_dialog_validate(data);
-}
-
-static void
-pidgin_add_chat_dialog_group_cb(PurpleBlistNode *node, gpointer data) {
- PidginAddChatDialog *dialog = data;
- PurpleGroup *group = PURPLE_GROUP(node);
-
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(dialog->group),
- purple_group_get_name(group));
-}
-
-/******************************************************************************
- * GObject Implementation
- *****************************************************************************/
-static void
-pidgin_add_chat_dialog_finalize(GObject *obj) {
- PidginAddChatDialog *dialog = PIDGIN_ADD_CHAT_DIALOG(obj);
-
- g_list_free(dialog->rows);
-
- G_OBJECT_CLASS(pidgin_add_chat_dialog_parent_class)->finalize(obj);
-}
-
-static void
-pidgin_add_chat_dialog_init(PidginAddChatDialog *dialog) {
- gtk_widget_init_template(GTK_WIDGET(dialog));
-
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
-
- gtk_custom_filter_set_filter_func(dialog->filter,
- pidgin_add_chat_dialog_filter_accounts,
- NULL, NULL);
-
- purple_blist_walk(pidgin_add_chat_dialog_group_cb, NULL, NULL, NULL,
- dialog);
-}
-
-static void
-pidgin_add_chat_dialog_class_init(PidginAddChatDialogClass *klass) {
- GObjectClass *obj_class = G_OBJECT_CLASS(klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
-
- obj_class->finalize = pidgin_add_chat_dialog_finalize;
-
- gtk_widget_class_set_template_from_resource(
- widget_class,
- "/im/pidgin/Pidgin3/Dialogs/addchat.ui"
- );
-
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- filter);
-
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- account);
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- dynamic_group);
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- alias);
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- group);
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- autojoin);
- gtk_widget_class_bind_template_child(widget_class, PidginAddChatDialog,
- persistent);
-
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_add_chat_dialog_response_cb);
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_add_chat_dialog_account_changed_cb);
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_add_chat_dialog_username_changed_cb);
-}
-
-/******************************************************************************
- * Public API
- *****************************************************************************/
-GtkWidget *
-pidgin_add_chat_dialog_new(PurpleAccount *account, PurpleGroup *group,
- const gchar *alias, const gchar *name)
-{
- GtkWidget *dialog = g_object_new(PIDGIN_TYPE_ADD_CHAT_DIALOG, NULL);
- PidginAddChatDialog *acdialog = PIDGIN_ADD_CHAT_DIALOG(dialog);
-
- if(PURPLE_IS_ACCOUNT(account)) {
- pidgin_account_chooser_set_selected(PIDGIN_ACCOUNT_CHOOSER(acdialog->account),
- account);
- }
-
- if(alias != NULL) {
- gtk_editable_set_text(GTK_EDITABLE(acdialog->alias), alias);
- }
-
- if(PURPLE_IS_GROUP(group)) {
- GtkWidget *entry = NULL;
-
- entry = gtk_combo_box_get_child(GTK_COMBO_BOX(acdialog->group));
- gtk_editable_set_text(GTK_EDITABLE(entry),
- purple_group_get_name(group));
- }
-
- acdialog->default_name = name;
-
- pidgin_add_chat_dialog_update_components(acdialog);
-
- return dialog;
-}
--- a/pidgin/pidginaddchatdialog.h Mon Nov 27 21:05:35 2023 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Pidgin - Internet Messenger
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <https://www.gnu.org/licenses/>.
- */
-
-#if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
-# error "only <pidgin.h> may be included directly"
-#endif
-
-#ifndef PIDGIN_ADD_CHAT_DIALOG_H
-#define PIDGIN_ADD_CHAT_DIALOG_H
-
-#include <gtk/gtk.h>
-
-#include <purple.h>
-
-#include "pidginversion.h"
-
-G_BEGIN_DECLS
-
-/**
- * PidginAddChatDialog:
- *
- * A dialog for adding chats to your contact list.
- *
- * Since: 3.0.0
- */
-
-#define PIDGIN_TYPE_ADD_CHAT_DIALOG (pidgin_add_chat_dialog_get_type())
-
-PIDGIN_AVAILABLE_IN_3_0
-G_DECLARE_FINAL_TYPE(PidginAddChatDialog, pidgin_add_chat_dialog, PIDGIN,
- ADD_CHAT_DIALOG, GtkDialog)
-
-/**
- * pidgin_add_chat_dialog_new:
- * @account: (nullable): The [class@Purple.Account] to pre-select.
- * @group: (nullable): The [class@Purple.Group] to pre-fill.
- * @alias: (nullable): The alias to pre-fill.
- * @name: (nullable): The name of the chat to pre-fill.
- *
- * Creates an add chat dialog with the pre-filled optional values.
- *
- * Returns: (transfer full): The widget.
- *
- * Since: 3.0.0
- */
-PIDGIN_AVAILABLE_IN_3_0
-GtkWidget *pidgin_add_chat_dialog_new(PurpleAccount *account, PurpleGroup *group, const gchar *alias, const gchar *name);
-
-G_END_DECLS
-
-#endif /* PIDGIN_ADD_CHAT_DIALOG_H */
--- a/pidgin/resources/Dialogs/addchat.ui Mon Nov 27 21:05:35 2023 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.38.2
-
-Pidgin - Internet Messenger
-Copyright (C) Pidgin Developers <devel@pidgin.im>
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, see <https://www.gnu.org/licenses/>.
-
--->
-<interface>
- <requires lib="gtk" version="4.0"/>
- <requires lib="pidgin" version="3.0"/>
- <!-- interface-license-type gplv2 -->
- <!-- interface-name Pidgin -->
- <!-- interface-description Internet Messenger -->
- <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <template class="PidginAddChatDialog" parent="GtkDialog">
- <property name="title" translatable="1">Add Chat</property>
- <signal name="response" handler="pidgin_add_chat_dialog_response_cb" swapped="no"/>
- <child internal-child="content_area">
- <object class="GtkBox">
- <property name="margin-bottom">24</property>
- <property name="margin-end">24</property>
- <property name="margin-start">24</property>
- <property name="margin-top">24</property>
- <property name="orientation">vertical</property>
- <property name="spacing">24</property>
- <child>
- <object class="GtkLabel">
- <property name="css-classes">title-1</property>
- <property name="label" translatable="1">Add a chat</property>
- </object>
- </child>
- <child>
- <object class="GtkBox">
- <property name="spacing">5</property>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="label" translatable="1">A_ccount:</property>
- <property name="use-underline">1</property>
- <property name="mnemonic-widget">account</property>
- <property name="xalign">0</property>
- </object>
- </child>
- <child>
- <object class="PidginAccountChooser" id="account">
- <property name="hexpand">1</property>
- <property name="filter">
- <object class="GtkEveryFilter">
- <child>
- <object class="GtkCustomFilter" id="filter"/>
- </child>
- <child>
- <object class="PidginAccountFilterConnected"/>
- </child>
- </object>
- </property>
- <signal name="notify::account" handler="pidgin_add_chat_dialog_account_changed_cb" swapped="no"/>
- <accessibility>
- <relation name="labelled-by">label1</relation>
- </accessibility>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup" id="dynamic_group">
- <property name="title" translatable="1">Chat information</property>
- <property name="description" translatable="1">Please enter the appropriate information about the chat you would like to add to your buddy list.</property>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup">
- <property name="title" translatable="1">Local information</property>
- <child>
- <object class="AdwEntryRow" id="alias">
- <property name="title" translatable="1">A_lias</property>
- <property name="use-underline">1</property>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable-widget">group</property>
- <property name="focusable">0</property>
- <property name="title" translatable="1">_Group</property>
- <property name="use-underline">1</property>
- <child>
- <object class="GtkComboBoxText" id="group">
- <property name="hexpand">1</property>
- <property name="has-entry">1</property>
- <property name="valign">center</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable-widget">autojoin</property>
- <property name="focusable">0</property>
- <property name="title" translatable="1">Automatically _join when account connects</property>
- <property name="use-underline">1</property>
- <child>
- <object class="GtkSwitch" id="autojoin">
- <property name="valign">center</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="AdwActionRow">
- <property name="activatable-widget">persistent</property>
- <property name="focusable">0</property>
- <property name="title" translatable="1">_Remain in chat after window is closed</property>
- <property name="use-underline">1</property>
- <child>
- <object class="GtkSwitch" id="persistent">
- <property name="valign">center</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="action">
- <object class="GtkButton" id="button3">
- <property name="label" translatable="1">Room List</property>
- <property name="focusable">1</property>
- <property name="receives-default">1</property>
- </object>
- </child>
- <child type="action">
- <object class="GtkButton" id="button1">
- <property name="label" translatable="1">_Cancel</property>
- <property name="focusable">1</property>
- <property name="receives-default">1</property>
- <property name="use-underline">1</property>
- </object>
- </child>
- <child type="action">
- <object class="GtkButton" id="button2">
- <property name="label" translatable="1">_Add</property>
- <property name="sensitive">0</property>
- <property name="focusable">1</property>
- <property name="receives-default">1</property>
- <property name="use-underline">1</property>
- </object>
- </child>
- <action-widgets>
- <action-widget response="1">button3</action-widget>
- <action-widget response="cancel">button1</action-widget>
- <action-widget response="ok">button2</action-widget>
- </action-widgets>
- </template>
-</interface>
--- a/pidgin/resources/pidgin.gresource.xml Mon Nov 27 21:05:35 2023 -0600
+++ b/pidgin/resources/pidgin.gresource.xml Mon Nov 27 22:18:26 2023 -0600
@@ -17,7 +17,6 @@
<file compressed="true" preprocess="xml-stripblanks">ContactList/widget.ui</file>
<file compressed="true" preprocess="xml-stripblanks">Debug/debug.ui</file>
<file compressed="true" preprocess="xml-stripblanks">Dialogs/addbuddy.ui</file>
- <file compressed="true" preprocess="xml-stripblanks">Dialogs/addchat.ui</file>
<file compressed="true" preprocess="xml-stripblanks">Display/window.ui</file>
<file compressed="true" preprocess="xml-stripblanks">Keypad/keypad.ui</file>
<file compressed="true" preprocess="xml-stripblanks">Media/window.ui</file>
--- a/po/POTFILES.in Mon Nov 27 21:05:35 2023 -0600
+++ b/po/POTFILES.in Mon Nov 27 22:18:26 2023 -0600
@@ -255,7 +255,6 @@
pidgin/pidginaccountsenabledmenu.c
pidgin/pidginactiongroup.c
pidgin/pidginaddbuddydialog.c
-pidgin/pidginaddchatdialog.c
pidgin/pidginapplication.c
pidgin/pidginavatar.c
pidgin/pidgin.c
@@ -306,7 +305,6 @@
pidgin/resources/Conversations/invite_dialog.ui
pidgin/resources/Debug/debug.ui
pidgin/resources/Dialogs/addbuddy.ui
-pidgin/resources/Dialogs/addchat.ui
pidgin/resources/Display/window.ui
pidgin/resources/Keypad/keypad.ui
pidgin/resources/Media/window.ui