--- a/pidgin/meson.build Sat Apr 13 20:37:17 2024 -0500
+++ b/pidgin/meson.build Sat Apr 13 20:53:22 2024 -0500
@@ -34,7 +34,6 @@
'pidginnotificationaddcontact.c',
@@ -88,7 +87,6 @@
'pidginnotificationaddcontact.h',
--- a/pidgin/pidginapplication.c Sat Apr 13 20:37:17 2024 -0500
+++ b/pidgin/pidginapplication.c Sat Apr 13 20:53:22 2024 -0500
@@ -43,7 +43,6 @@
#include "pidgindisplaywindow.h"
-#include "pidginimwindow.h"
#include "pidginpluginsdialog.h"
#include "pidginpluginsmenu.h"
@@ -210,7 +209,6 @@
* This list keeps track of which actions should only be enabled while online.
static const gchar *pidgin_application_online_actions[] = {
@@ -437,23 +435,6 @@
-pidgin_application_new_message(G_GNUC_UNUSED GSimpleAction *simple,
- G_GNUC_UNUSED GVariant *parameter,
- PidginApplication *application = data;
- static GtkWidget *dialog = NULL;
- if(!PIDGIN_IS_IM_WINDOW(dialog)) {
- dialog = pidgin_im_window_new();
- g_object_add_weak_pointer(G_OBJECT(dialog), (gpointer)&dialog);
- pidgin_application_present_transient_window(application,
pidgin_application_online_help(G_GNUC_UNUSED GSimpleAction *simple,
G_GNUC_UNUSED GVariant *parameter,
G_GNUC_UNUSED gpointer data)
@@ -560,9 +541,6 @@
.name = "manage-plugins",
.activate = pidgin_application_plugins,
- .activate = pidgin_application_new_message,
.activate = pidgin_application_online_help,
--- a/pidgin/pidginimwindow.c Sat Apr 13 20:37:17 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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
- * 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 "pidginimwindow.h"
-#include "pidginaccountrow.h"
-struct _PidginIMWindow {
- AdwMessageDialog parent;
- GtkCustomFilter *filter;
-/******************************************************************************
- *****************************************************************************/
-pidgin_im_window_filter_accounts(gpointer item, G_GNUC_UNUSED gpointer data) {
- if(PURPLE_IS_ACCOUNT(item)) {
- PurpleAccount *account = PURPLE_ACCOUNT(item);
- PurpleProtocol *protocol = purple_account_get_protocol(account);
- if(PURPLE_IS_PROTOCOL(protocol)) {
- return PURPLE_PROTOCOL_IMPLEMENTS(protocol, CONVERSATION,
-/******************************************************************************
- *****************************************************************************/
-pidgin_im_window_username_changed_cb(GtkEditable *self, gpointer data) {
- const char *text = NULL;
- gboolean enabled = FALSE;
- text = gtk_editable_get_text(self);
- enabled = !purple_strempty(text);
- adw_message_dialog_set_response_enabled(data, "okay", enabled);
-pidgin_im_window_response_cb(AdwMessageDialog *self,
- G_GNUC_UNUSED gpointer data)
- PidginIMWindow *window = PIDGIN_IM_WINDOW(self);
- PurpleAccount *account = NULL;
- PurpleConversation *im = NULL;
- PurpleConversationManager *manager = NULL;
- const char *username = NULL;
- if(!purple_strequal(response, "okay")) {
- account = pidgin_account_row_get_account(PIDGIN_ACCOUNT_ROW(window->account)) ;
- username = gtk_editable_get_text(GTK_EDITABLE(window->username));
- manager = purple_conversation_manager_get_default();
- im = purple_conversation_manager_find_im(manager, account, username);
- if(!PURPLE_IS_IM_CONVERSATION(im)) {
- /* This constructor automagically registers the conversation with the
- purple_im_conversation_new(account, username);
-/******************************************************************************
- * GObject Implementation
- *****************************************************************************/
-G_DEFINE_FINAL_TYPE(PidginIMWindow, pidgin_im_window, ADW_TYPE_MESSAGE_DIALOG)
-pidgin_im_window_init(PidginIMWindow *window) {
- gtk_widget_init_template(GTK_WIDGET(window));
- gtk_custom_filter_set_filter_func(window->filter,
- pidgin_im_window_filter_accounts,
-pidgin_im_window_class_init(PidginIMWindowClass *klass) {
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
- gtk_widget_class_set_template_from_resource(
- "/im/pidgin/Pidgin3/imwindow.ui"
- gtk_widget_class_bind_template_child(widget_class, PidginIMWindow,
- gtk_widget_class_bind_template_child(widget_class, PidginIMWindow,
- gtk_widget_class_bind_template_child(widget_class, PidginIMWindow,
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_im_window_username_changed_cb);
- gtk_widget_class_bind_template_callback(widget_class,
- pidgin_im_window_response_cb);
-/******************************************************************************
- *****************************************************************************/
-pidgin_im_window_new(void) {
- return g_object_new(PIDGIN_TYPE_IM_WINDOW, NULL);
--- a/pidgin/pidginimwindow.h Sat Apr 13 20:37:17 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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
- * 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"
-#ifndef PIDGIN_IM_WINDOW_H
-#define PIDGIN_IM_WINDOW_H
-#include "pidginversion.h"
- * A window used to start a new direct message.
-#define PIDGIN_TYPE_IM_WINDOW (pidgin_im_window_get_type())
-G_DECLARE_FINAL_TYPE(PidginIMWindow, pidgin_im_window,
- PIDGIN, IM_WINDOW, AdwMessageDialog)
- * pidgin_im_window_new:
- * Creates a new #PidginIMWindow instance.
- * Returns: (transfer full): The new #PidginIMWindow instance.
-GtkWidget *pidgin_im_window_new(void);
-#endif /* PIDGIN_IM_WINDOW_H */
--- a/pidgin/resources/gtk/menus.ui Sat Apr 13 20:37:17 2024 -0500
+++ b/pidgin/resources/gtk/menus.ui Sat Apr 13 20:53:22 2024 -0500
@@ -29,10 +29,6 @@
- <attribute name="label" translatable="yes">New Instant _Message</attribute>
- <attribute name="action">app.new-message</attribute>
<attribute name="label" translatable="yes">Join Channel</attribute>
<attribute name="action">app.join-channel</attribute>
--- a/pidgin/resources/imwindow.ui Sat Apr 13 20:37:17 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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 library; if not, see <https://www.gnu.org/licenses/>.
--->
- <requires lib="gtk" version="4.0"/>
- <!-- interface-license-type gplv2 -->
- <!-- interface-name Pidgin -->
- <!-- interface-description Internet Messenger -->
- <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <template class="PidginIMWindow" parent="AdwMessageDialog">
- <property name="heading" translatable="yes">New Instant Message</property>
- <property name="body" translatable="yes">Please enter the username or alias of the person you would like to IM.</property>
- <property name="extra-child">
- <object class="AdwPreferencesGroup">
- <property name="vexpand">true</property>
- <property name="hexpand">true</property>
- <object class="PidginAccountRow" id="account">
- <property name="filter">
- <object class="GtkEveryFilter">
- <object class="GtkCustomFilter" id="filter"/>
- <object class="PidginAccountFilterConnected"/>
- <object class="AdwEntryRow" id="username">
- <property name="focusable">no</property>
- <property name="title" translatable="yes">_Username</property>
- <property name="use-underline">yes</property>
- <property name="activates-default">yes</property>
- <signal name="changed" handler="pidgin_im_window_username_changed_cb"/>
- <property name="default-response">okay</property>
- <property name="close-response">cancel</property>
- <response id="cancel" translatable="yes">_Cancel</response>
- <response id="okay" translatable="yes" appearance="suggested" enabled="false">_Okay</response>
- <signal name="response" handler="pidgin_im_window_response_cb"/>
--- a/pidgin/resources/pidgin.gresource.xml Sat Apr 13 20:37:17 2024 -0500
+++ b/pidgin/resources/pidgin.gresource.xml Sat Apr 13 20:53:22 2024 -0500
@@ -38,7 +38,6 @@
<file compressed="true" preprocess="xml-stripblanks">contactlist.ui</file>
<file compressed="true" preprocess="xml-stripblanks">contactlistitem.ui</file>
<file compressed="true" preprocess="xml-stripblanks">conversationmemberlistitem.ui</file>
- <file compressed="true" preprocess="xml-stripblanks">imwindow.ui</file>
<file compressed="true" preprocess="xml-stripblanks">infopane.ui</file>
<file compressed="true" preprocess="xml-stripblanks">notificationlist.ui</file>
<file compressed="true" preprocess="xml-stripblanks">presenceicon.ui</file>