Tue, 13 May 2025 00:56:10 -0500
Remove the conversation preferences
Some of these are moving other I'm not sure we can actually implement.
Testing Done:
Opened the preferences and verified that there were no errors in the console.
Reviewed at https://reviews.imfreedom.org/r/3995/
| pidgin/meson.build | file | annotate | diff | comparison | revisions | |
| pidgin/prefs/pidginconversationprefs.c | file | annotate | diff | comparison | revisions | |
| pidgin/prefs/pidginconversationprefs.h | file | annotate | diff | comparison | revisions | |
| pidgin/resources/Prefs/conversation.ui | file | annotate | diff | comparison | revisions | |
| pidgin/resources/Prefs/prefs.ui | file | annotate | diff | comparison | revisions | |
| pidgin/resources/pidgin.gresource.xml | file | annotate | diff | comparison | revisions | |
| po/POTFILES.in | file | annotate | diff | comparison | revisions |
--- a/pidgin/meson.build Tue May 13 00:49:03 2025 -0500 +++ b/pidgin/meson.build Tue May 13 00:56:10 2025 -0500 @@ -49,7 +49,6 @@ 'prefs/pidginprefs.c', 'prefs/pidginappearanceprefs.c', 'prefs/pidginawayprefs.c', - 'prefs/pidginconversationprefs.c', 'prefs/pidgincredentialproviderrow.c', 'prefs/pidgincredentialprefs.c', 'prefs/pidginnetworkprefs.c', @@ -107,7 +106,6 @@ 'prefs/pidginprefs.h', 'prefs/pidginappearanceprefs.h', 'prefs/pidginawayprefs.h', - 'prefs/pidginconversationprefs.h', 'prefs/pidgincredentialproviderrow.h', 'prefs/pidgincredentialprefs.h', 'prefs/pidginnetworkprefs.h',
--- a/pidgin/prefs/pidginconversationprefs.c Tue May 13 00:49:03 2025 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +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-lib.h> - -#include <purple.h> - -#include <adwaita.h> - -#include "pidginconversationprefs.h" -#include "pidgincore.h" - -struct _PidginConversationPrefs { - AdwPreferencesPage parent; - - GtkWidget *show_incoming_formatting; - struct { - GtkWidget *send_typing; - } im; - struct { - GtkWidget *blink_im; - } win32; - GtkWidget *minimum_entry_lines; -}; - -G_DEFINE_FINAL_TYPE(PidginConversationPrefs, pidgin_conversation_prefs, - ADW_TYPE_PREFERENCES_PAGE) - -/****************************************************************************** - * GObject Implementation - *****************************************************************************/ -static void -pidgin_conversation_prefs_class_init(PidginConversationPrefsClass *klass) -{ - GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); - - gtk_widget_class_set_template_from_resource( - widget_class, - "/im/pidgin/Pidgin3/Prefs/conversation.ui" - ); - - gtk_widget_class_bind_template_child( - widget_class, PidginConversationPrefs, - show_incoming_formatting); - gtk_widget_class_bind_template_child( - widget_class, PidginConversationPrefs, - im.send_typing); - gtk_widget_class_bind_template_child( - widget_class, PidginConversationPrefs, - win32.blink_im); - gtk_widget_class_bind_template_child( - widget_class, PidginConversationPrefs, - minimum_entry_lines); -} - -static void -pidgin_conversation_prefs_init(PidginConversationPrefs *prefs) -{ - GSettings *settings = NULL; - - gtk_widget_init_template(GTK_WIDGET(prefs)); - - settings = g_settings_new_with_backend("im.pidgin.Purple.Conversations", - purple_core_get_settings_backend()); - g_settings_bind(settings, "send-typing-notifications", - prefs->im.send_typing, "active", G_SETTINGS_BIND_DEFAULT); - g_clear_object(&settings); - -#if 0 - /* TODO: Decide on whether to keep these preferences, and then port those - * to GSettings. */ - pidgin_prefs_bind_switch(PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting", - prefs->show_incoming_formatting); - -#ifdef _WIN32 - pidgin_prefs_bind_switch(PIDGIN_PREFS_ROOT "/win32/blink_im", - prefs->win32.blink_im); -#else - gtk_widget_set_visible(prefs->win32.blink_im, FALSE); -#endif - - pidgin_prefs_bind_spin_button( - PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines", - prefs->minimum_entry_lines); -#endif -} - -/****************************************************************************** - * API - *****************************************************************************/ -GtkWidget * -pidgin_conversation_prefs_new(void) { - return g_object_new(PIDGIN_TYPE_CONVERSATION_PREFS, NULL); -}
--- a/pidgin/prefs/pidginconversationprefs.h Tue May 13 00:49:03 2025 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +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_CONVERSATION_PREFS_H -#define PIDGIN_CONVERSATION_PREFS_H - -#include <glib.h> - -#include <gtk/gtk.h> -#include <adwaita.h> - -#include "pidginversion.h" - -G_BEGIN_DECLS - -/** - * PidginConversationPrefs: - * - * #PidginConversationPrefs is a widget for the preferences window to let users - * choose and configure their conversation settings. - * - * Since: 3.0 - */ -#define PIDGIN_TYPE_CONVERSATION_PREFS (pidgin_conversation_prefs_get_type()) - -PIDGIN_AVAILABLE_IN_3_0 -G_DECLARE_FINAL_TYPE(PidginConversationPrefs, pidgin_conversation_prefs, - PIDGIN, CONVERSATION_PREFS, AdwPreferencesPage) - -/** - * pidgin_conversation_prefs_new: - * - * Creates a new #PidginConversationPrefs instance. - * - * Returns: (transfer full) (type PidginConversationPrefs): The new instance. - * - * Since: 3.0 - */ -PIDGIN_AVAILABLE_IN_3_0 -GtkWidget *pidgin_conversation_prefs_new(void); - -G_END_DECLS - -#endif /* PIDGIN_CONVERSATION_PREFS_H */
--- a/pidgin/resources/Prefs/conversation.ui Tue May 13 00:49:03 2025 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -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="Adw" version="1.0"/> - <!-- interface-license-type gplv2 --> - <!-- interface-name Pidgin --> - <!-- interface-description Internet Messenger --> - <!-- interface-copyright Pidgin Developers <devel@pidgin.im> --> - <object class="GtkAdjustment" id="minimum_entry_lines.adjustment"> - <property name="lower">1</property> - <property name="upper">8</property> - <property name="value">2</property> - <property name="step-increment">1</property> - <property name="page-increment">1</property> - </object> - <object class="GtkSizeGroup" id="iface.sg"/> - <template class="PidginConversationPrefs" parent="AdwPreferencesPage"> - <property name="icon-name">document-properties-symbolic</property> - <property name="title" translatable="yes">Conversations</property> - <child> - <object class="AdwPreferencesGroup"> - <property name="title" translatable="yes">Conversations</property> - <child> - <object class="AdwSwitchRow" id="show_incoming_formatting"> - <property name="title" translatable="yes">Show _formatting on incoming messages</property> - <property name="use-underline">1</property> - </object> - </child> - <child> - <object class="AdwSwitchRow" id="im.send_typing"> - <property name="title" translatable="yes">_Notify buddies that you are typing to them</property> - <property name="use-underline">1</property> - </object> - </child> - <child> - <object class="AdwSwitchRow" id="win32.blink_im"> - <property name="title" translatable="yes">F_lash window when IMs are received</property> - <property name="use-underline">1</property> - </object> - </child> - <child> - <object class="AdwSpinRow" id="minimum_entry_lines"> - <property name="title" translatable="yes">Minimum input area height in lines</property> - <property name="use-underline">1</property> - <property name="adjustment">minimum_entry_lines.adjustment</property> - <property name="digits">0</property> - <property name="numeric">1</property> - </object> - </child> - </object> - </child> - </template> -</interface>
--- a/pidgin/resources/Prefs/prefs.ui Tue May 13 00:49:03 2025 -0500 +++ b/pidgin/resources/Prefs/prefs.ui Tue May 13 00:56:10 2025 -0500 @@ -34,9 +34,6 @@ <object class="PidginAppearancePrefs"/> </child> <child> - <object class="PidginConversationPrefs"/> - </child> - <child> <object class="PidginNetworkPrefs"/> </child> <child>
--- a/pidgin/resources/pidgin.gresource.xml Tue May 13 00:49:03 2025 -0500 +++ b/pidgin/resources/pidgin.gresource.xml Tue May 13 00:56:10 2025 -0500 @@ -16,7 +16,6 @@ <file compressed="true" preprocess="xml-stripblanks">Media/window.ui</file> <file compressed="true" preprocess="xml-stripblanks">Prefs/appearance.ui</file> <file compressed="true" preprocess="xml-stripblanks">Prefs/away.ui</file> - <file compressed="true" preprocess="xml-stripblanks">Prefs/conversation.ui</file> <file compressed="true" preprocess="xml-stripblanks">Prefs/credentials.ui</file> <file compressed="true" preprocess="xml-stripblanks">Prefs/credentialprovider.ui</file> <file compressed="true" preprocess="xml-stripblanks">Prefs/network.ui</file>
--- a/po/POTFILES.in Tue May 13 00:49:03 2025 -0500 +++ b/po/POTFILES.in Tue May 13 00:56:10 2025 -0500 @@ -116,7 +116,6 @@ pidgin/plugins/xmppconsole/xmppconsole.c pidgin/prefs/pidginappearanceprefs.c pidgin/prefs/pidginawayprefs.c -pidgin/prefs/pidginconversationprefs.c pidgin/prefs/pidgincredentialprefs.c pidgin/prefs/pidgincredentialproviderrow.c pidgin/prefs/pidginnetworkprefs.c @@ -138,7 +137,6 @@ pidgin/resources/Media/window.ui pidgin/resources/Prefs/appearance.ui pidgin/resources/Prefs/away.ui -pidgin/resources/Prefs/conversation.ui pidgin/resources/Prefs/credentialprovider.ui pidgin/resources/Prefs/credentials.ui pidgin/resources/Prefs/network.ui