--- a/ChangeLog.API Sat Jun 27 00:13:49 2020 -0500
+++ b/ChangeLog.API Mon Jun 29 21:24:32 2020 +0000
@@ -594,6 +594,13 @@
* PidginBuddyList.connection_errors
+ * PidginConvPlacementFunc + * pidgin_conv_placement_get_name + * pidgin_conv_placement_add_fnc + * pidgin_conv_placement_remove_fnc + * pidgin_conv_placement_get_fnc + * pidgin_conv_placement_set_current_func + * pidgin_conv_placement_get_current_func * pidgin_dialogs_alias_contact
* pidgin_make_pretty_arrows
--- a/pidgin/gtkconv.c Sat Jun 27 00:13:49 2020 -0500
+++ b/pidgin/gtkconv.c Mon Jun 29 21:24:32 2020 +0000
@@ -5829,9 +5829,9 @@
PurpleConversation *conv;
- PidginConversation *gtkconv;
for (cl = purple_conversations_get_all(); cl != NULL; cl = cl->next) {
+ PidginConversation *gtkconv = NULL; conv = (PurpleConversation *)cl->data;
@@ -5962,13 +5962,6 @@
-conv_placement_usetabs_cb(const char *name, PurplePrefType type,
- gconstpointer value, gpointer data)
- purple_prefs_trigger_callback(PIDGIN_PREFS_ROOT "/conversations/placement");
account_status_changed_cb(PurpleAccount *account, PurpleStatus *oldstatus,
@@ -6036,23 +6029,6 @@
-conv_placement_pref_cb(const char *name, PurplePrefType type,
- gconstpointer value, gpointer data)
- PidginConvPlacementFunc func;
- if (!purple_strequal(name, PIDGIN_PREFS_ROOT "/conversations/placement"))
- func = pidgin_conv_placement_get_fnc(value);
- pidgin_conv_placement_set_current_func(func);
static PidginConversation *
get_gtkconv_with_contact(PurpleContact *contact)
@@ -6414,8 +6390,6 @@
purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/show_formatting_toolbar", TRUE);
- purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/placement", "last");
- purple_prefs_add_int(PIDGIN_PREFS_ROOT "/conversations/placement_number", 1);
purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/bgcolor", "");
purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/fgcolor", "");
purple_prefs_add_string(PIDGIN_PREFS_ROOT "/conversations/font_face", "");
@@ -6467,13 +6441,6 @@
purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/conversations/tab_side",
- purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/conversations/tabs",
- conv_placement_usetabs_cb, NULL);
- purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/conversations/placement",
- conv_placement_pref_cb, NULL);
- purple_prefs_trigger_callback(PIDGIN_PREFS_ROOT "/conversations/placement");
purple_prefs_connect_callback(handle, PIDGIN_PREFS_ROOT "/conversations/minimum_entry_lines",
minimum_entry_lines_pref_cb, NULL);
@@ -8528,399 +8495,6 @@
-/**************************************************************************
- * Conversation placement functions
- **************************************************************************/
- PidginConvPlacementFunc fnc;
-static GList *conv_placement_fncs = NULL;
-static PidginConvPlacementFunc place_conv = NULL;
-/* This one places conversations in the last made window. */
-conv_placement_last_created_win(PidginConversation *conv)
- GList *l = g_list_last(pidgin_conv_windows_get_list());
- win = l ? l->data : NULL;;
- win = pidgin_conv_window_new();
- g_signal_connect(G_OBJECT(win->window), "configure_event",
- G_CALLBACK(gtk_conv_configure_cb), NULL);
- pidgin_conv_window_add_gtkconv(win, conv);
- pidgin_conv_window_show(win);
- pidgin_conv_window_add_gtkconv(win, conv);
-/* This one places conversations in the last made window of the same type. */
-conv_placement_last_created_win_type_configured_cb(GtkWidget *w,
- GdkEventConfigure *event, PidginConversation *conv)
- GdkMonitor *monitor = NULL;
- if (gtk_widget_get_visible(w))
- gtk_window_get_position(GTK_WINDOW(w), &x, &y);
- return FALSE; /* carry on normally */
- /* Workaround for GTK+ bug # 169811 - "configure_event" is fired
- * when the window is being maximized */
- if (gdk_window_get_state(gtk_widget_get_window(w)) & GDK_WINDOW_STATE_MAXIMIZED)
- monitor = gdk_display_get_monitor_at_window(gdk_display_get_default(),
- gdk_monitor_get_geometry(monitor, &geo);
- /* don't save off-screen positioning */
- if (x + event->width < geo.x ||
- y + event->height < geo.y ||
- return FALSE; /* carry on normally */
- for (all = conv->convs; all != NULL; all = all->next) {
- if (PURPLE_IS_IM_CONVERSATION(conv->active_conv) != PURPLE_IS_IM_CONVERSATION(all->data)) {
- /* this window has different types of conversation, don't save */
- if (PURPLE_IS_IM_CONVERSATION(conv->active_conv)) {
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/im/x", x);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/im/y", y);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/im/width", event->width);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/im/height", event->height);
- } else if (PURPLE_IS_CHAT_CONVERSATION(conv->active_conv)) {
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/chat/x", x);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/chat/y", y);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/chat/width", event->width);
- purple_prefs_set_int(PIDGIN_PREFS_ROOT "/conversations/chat/height", event->height);
-conv_placement_last_created_win_type(PidginConversation *conv)
- if (PURPLE_IS_IM_CONVERSATION(conv->active_conv))
- win = pidgin_conv_window_last_im();
- win = pidgin_conv_window_last_chat();
- win = pidgin_conv_window_new();
- if (PURPLE_IS_IM_CONVERSATION(conv->active_conv) ||
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/width") == 0) {
- pidgin_conv_set_position_size(win,
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/x"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/y"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/width"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/im/height"));
- } else if (PURPLE_IS_CHAT_CONVERSATION(conv->active_conv)) {
- pidgin_conv_set_position_size(win,
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/x"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/y"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/width"),
- purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/chat/height"));
- pidgin_conv_window_add_gtkconv(win, conv);
- pidgin_conv_window_show(win);
- g_signal_connect(G_OBJECT(win->window), "configure_event",
- G_CALLBACK(conv_placement_last_created_win_type_configured_cb), conv);
- pidgin_conv_window_add_gtkconv(win, conv);
-/* This one places each conversation in its own window. */
-conv_placement_new_window(PidginConversation *conv)
- win = pidgin_conv_window_new();
- g_signal_connect(G_OBJECT(win->window), "configure_event",
- G_CALLBACK(gtk_conv_configure_cb), NULL);
- pidgin_conv_window_add_gtkconv(win, conv);
- pidgin_conv_window_show(win);
-conv_get_group(PidginConversation *conv)
- PurpleGroup *group = NULL;
- if (PURPLE_IS_IM_CONVERSATION(conv->active_conv)) {
- buddy = purple_blist_find_buddy(purple_conversation_get_account(conv->active_conv),
- purple_conversation_get_name(conv->active_conv));
- group = purple_buddy_get_group(buddy);
- } else if (PURPLE_IS_CHAT_CONVERSATION(conv->active_conv)) {
- chat = purple_blist_find_chat(purple_conversation_get_account(conv->active_conv),
- purple_conversation_get_name(conv->active_conv));
- group = purple_chat_get_group(chat);
- * This groups things by, well, group. Buddies from groups will always be
- * grouped together, and a buddy from a group not belonging to any currently
- * open windows will get a new window.
-conv_placement_by_group(PidginConversation *conv)
- PurpleGroup *group = NULL;
- group = conv_get_group(conv);
- /* Go through the list of IMs and find one with this group. */
- for (wl = pidgin_conv_windows_get_list(); wl != NULL; wl = wl->next) {
- PidginConvWindow *win2;
- PidginConversation *conv2;
- PurpleGroup *group2 = NULL;
- for (cl = win2->gtkconvs;
- group2 = conv_get_group(conv2);
- pidgin_conv_window_add_gtkconv(win2, conv);
- /* Make a new window. */
- conv_placement_new_window(conv);
-/* This groups things by account. Otherwise, the same semantics as above */
-conv_placement_by_account(PidginConversation *conv)
- PurpleAccount *account;
- account = purple_conversation_get_account(conv->active_conv);
- /* Go through the list of IMs and find one with this group. */
- for (wins = pidgin_conv_windows_get_list(); wins != NULL; wins = wins->next) {
- PidginConvWindow *win2;
- PidginConversation *conv2;
- for (convs = win2->gtkconvs;
- if (account == purple_conversation_get_account(conv2->active_conv)) {
- pidgin_conv_window_add_gtkconv(win2, conv);
- /* Make a new window. */
- conv_placement_new_window(conv);
-static ConvPlacementData *
-get_conv_placement_data(const char *id)
- ConvPlacementData *data = NULL;
- for (n = conv_placement_fncs; n; n = n->next) {
- if (purple_strequal(data->id, id))
-add_conv_placement_fnc(const char *id, const char *name,
- PidginConvPlacementFunc fnc)
- ConvPlacementData *data;
- data = g_new(ConvPlacementData, 1);
- data->id = g_strdup(id);
- data->name = g_strdup(name);
- conv_placement_fncs = g_list_append(conv_placement_fncs, data);
-ensure_default_funcs(void)
- if (conv_placement_fncs == NULL) {
- add_conv_placement_fnc("last", _("Last created window"),
- conv_placement_last_created_win);
- add_conv_placement_fnc("im_chat", _("Separate IM and Chat windows"),
- conv_placement_last_created_win_type);
- add_conv_placement_fnc("new", _("New window"),
- conv_placement_new_window);
- add_conv_placement_fnc("group", _("By group"),
- conv_placement_by_group);
- add_conv_placement_fnc("account", _("By account"),
- conv_placement_by_account);
-pidgin_conv_placement_get_options(void)
- GList *n, *list = NULL;
- ConvPlacementData *data;
- ensure_default_funcs();
- for (n = conv_placement_fncs; n; n = n->next) {
- list = g_list_append(list, data->name);
- list = g_list_append(list, data->id);
-pidgin_conv_placement_add_fnc(const char *id, const char *name,
- PidginConvPlacementFunc fnc)
- g_return_if_fail(id != NULL);
- g_return_if_fail(name != NULL);
- g_return_if_fail(fnc != NULL);
- ensure_default_funcs();
- add_conv_placement_fnc(id, name, fnc);
-pidgin_conv_placement_remove_fnc(const char *id)
- ConvPlacementData *data = get_conv_placement_data(id);
- conv_placement_fncs = g_list_remove(conv_placement_fncs, data);
-pidgin_conv_placement_get_name(const char *id)
- ConvPlacementData *data;
- ensure_default_funcs();
- data = get_conv_placement_data(id);
-pidgin_conv_placement_get_fnc(const char *id)
- ConvPlacementData *data;
- ensure_default_funcs();
- data = get_conv_placement_data(id);
-pidgin_conv_placement_set_current_func(PidginConvPlacementFunc func)
- g_return_if_fail(func != NULL);
- /* If tabs are enabled, set the function, otherwise, NULL it out. */
- if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/tabs"))
-pidgin_conv_placement_get_current_func(void)
-pidgin_conv_placement_place(PidginConversation *gtkconv)
- conv_placement_new_window(gtkconv);
pidgin_conv_is_hidden(PidginConversation *gtkconv)
@@ -8974,6 +8548,25 @@
return (luminosity_ratio > min_contrast_ratio);
+pidgin_conv_placement_place(PidginConversation *conv) { + GList *l = g_list_last(pidgin_conv_windows_get_list()); + win = l ? l->data : NULL;; + win = pidgin_conv_window_new(); + g_signal_connect(G_OBJECT(win->window), "configure_event", + G_CALLBACK(gtk_conv_configure_cb), NULL); + pidgin_conv_window_add_gtkconv(win, conv); + pidgin_conv_window_show(win); + pidgin_conv_window_add_gtkconv(win, conv); generate_nick_colors(guint numcolors, GdkRGBA background)
--- a/pidgin/gtkconvwin.h Sat Jun 27 00:13:49 2020 -0500
+++ b/pidgin/gtkconvwin.h Mon Jun 29 21:24:32 2020 +0000
@@ -278,53 +278,7 @@
PidginConvWindow *pidgin_conv_window_last_chat(void);
-/**************************************************************************
- * GTK+ Conversation Placement API
- **************************************************************************/
- * PidginConvPlacementFunc: (skip)
-typedef void (*PidginConvPlacementFunc)(PidginConversation *conv);
- * pidgin_conv_placement_get_options: (skip)
-GList *pidgin_conv_placement_get_options(void);
- * pidgin_conv_placement_get_name: (skip)
-const char *pidgin_conv_placement_get_name(const char *id);
- * pidgin_conv_placement_place: (skip)
-void pidgin_conv_placement_place(PidginConversation *gtkconv);
- * pidgin_conv_placement_add_fnc: (skip)
-void pidgin_conv_placement_add_fnc(const char *id, const char *name, PidginConvPlacementFunc fnc);
- * pidgin_conv_placement_remove_fnc: (skip)
-void pidgin_conv_placement_remove_fnc(const char *id);
- * pidgin_conv_placement_get_fnc: (skip)
-PidginConvPlacementFunc pidgin_conv_placement_get_fnc(const char *id);
- * pidgin_conv_placement_set_current_func: (skip)
-void pidgin_conv_placement_set_current_func(PidginConvPlacementFunc func);
- * pidgin_conv_placement_get_current_func: (skip)
-PidginConvPlacementFunc pidgin_conv_placement_get_current_func(void);
+void pidgin_conv_placement_place(PidginConversation *conv); --- a/pidgin/gtkprefs.c Sat Jun 27 00:13:49 2020 -0500
+++ b/pidgin/gtkprefs.c Mon Jun 29 21:24:32 2020 +0000
@@ -110,7 +110,6 @@
GtkWidget *close_on_tabs;
PidginPrefCombo tab_side;
- PidginPrefCombo placement;
@@ -1708,14 +1707,6 @@
win->iface.conversations.tab_side.type = PURPLE_PREF_INT;
win->iface.conversations.tab_side.key = PIDGIN_PREFS_ROOT "/conversations/tab_side";
pidgin_prefs_bind_dropdown(&win->iface.conversations.tab_side);
- win->iface.conversations.placement.type = PURPLE_PREF_STRING;
- win->iface.conversations.placement.key = PIDGIN_PREFS_ROOT "/conversations/placement";
- names = pidgin_conv_placement_get_options();
- pidgin_prefs_bind_dropdown_from_list(
- &win->iface.conversations.placement,
/* This is also Win32-specific, but must be visible for Glade binding. */
@@ -3487,9 +3478,6 @@
gtk_widget_class_bind_template_child(
widget_class, PidginPrefsWindow,
iface.conversations.tab_side.combo);
- gtk_widget_class_bind_template_child(
- widget_class, PidginPrefsWindow,
- iface.conversations.placement.combo);
gtk_widget_class_bind_template_child(
@@ -3851,8 +3839,6 @@
/* Rename some old prefs */
purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_ims", "/purple/logging/log_ims");
purple_prefs_rename(PIDGIN_PREFS_ROOT "/logging/log_chats", "/purple/logging/log_chats");
- purple_prefs_rename("/purple/conversations/placement",
- PIDGIN_PREFS_ROOT "/conversations/placement");
purple_prefs_rename(PIDGIN_PREFS_ROOT "/conversations/im/raise_on_events", "/plugins/gtk/X11/notify/method_raise");
--- a/pidgin/plugins/extplacement.c Sat Jun 27 00:13:49 2020 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
- * Extra conversation placement options for Purple
- * 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.
-#include <glib/gi18n-lib.h>
-#include "pidginplugininfo.h"
-conv_placement_by_number(PidginConversation *conv)
- PidginConvWindow *win = NULL;
- if (purple_prefs_get_bool("/plugins/gtk/extplacement/placement_number_separate"))
- win = PURPLE_IS_IM_CONVERSATION(conv->active_conv) ?
- pidgin_conv_window_last_im() : pidgin_conv_window_last_chat();
- else if ((wins = pidgin_conv_windows_get_list()) != NULL)
- win = g_list_last(wins)->data;
- win = pidgin_conv_window_new();
- pidgin_conv_window_add_gtkconv(win, conv);
- pidgin_conv_window_show(win);
- int max_count = purple_prefs_get_int("/plugins/gtk/extplacement/placement_number");
- int count = pidgin_conv_window_get_gtkconv_count(win);
- pidgin_conv_window_add_gtkconv(win, conv);
- for (l = pidgin_conv_windows_get_list(); l != NULL; l = l->next) {
- if (!conv || !conv->active_conv ||
- !G_TYPE_FROM_INSTANCE(conv->active_conv))
- if (purple_prefs_get_bool("/plugins/gtk/extplacement/placement_number_separate") &&
- G_TYPE_FROM_INSTANCE(pidgin_conv_window_get_active_conversation(win)) != G_TYPE_FROM_INSTANCE(conv->active_conv))
- count = pidgin_conv_window_get_gtkconv_count(win);
- if (count < max_count) {
- pidgin_conv_window_add_gtkconv(win, conv);
- win = pidgin_conv_window_new();
- pidgin_conv_window_add_gtkconv(win, conv);
- pidgin_conv_window_show(win);
-static PurplePluginPrefFrame *
-get_plugin_pref_frame(PurplePlugin *plugin) {
- PurplePluginPrefFrame *frame;
- PurplePluginPref *ppref;
- frame = purple_plugin_pref_frame_new();
- ppref = purple_plugin_pref_new_with_label(_("Conversation Placement"));
- purple_plugin_pref_frame_add(frame, ppref);
- /* Translators: "New conversations" should match the text in the preferences dialog and "By conversation count" should be the same text used above */
- ppref = purple_plugin_pref_new_with_label(_("Note: The preference for \"New conversations\" must be set to \"By conversation count\"."));
- purple_plugin_pref_set_pref_type(ppref, PURPLE_PLUGIN_PREF_INFO);
- purple_plugin_pref_frame_add(frame, ppref);
- ppref = purple_plugin_pref_new_with_name_and_label(
- "/plugins/gtk/extplacement/placement_number",
- _("Number of conversations per window"));
- purple_plugin_pref_set_bounds(ppref, 1, 50);
- purple_plugin_pref_frame_add(frame, ppref);
- ppref = purple_plugin_pref_new_with_name_and_label(
- "/plugins/gtk/extplacement/placement_number_separate",
- _("Separate IM and Chat windows when placing by number"));
- purple_plugin_pref_frame_add(frame, ppref);
-static PidginPluginInfo *
-plugin_query(GError **error)
- const gchar * const authors[] = {
- "Stu Tomlinson <stu@nosnilmot.com>",
- return pidgin_plugin_info_new(
- "id", "gtk-extplacement",
- "name", N_("ExtPlacement"),
- "version", DISPLAY_VERSION,
- "category", N_("User interface"),
- "summary", N_("Extra conversation placement options."),
- "description", N_("Restrict the number of conversations per "
- "windows, optionally separating IMs and "
- "website", PURPLE_WEBSITE,
- "abi-version", PURPLE_ABI_VERSION,
- "pref-frame-cb", get_plugin_pref_frame,
-plugin_load(PurplePlugin *plugin, GError **error)
- purple_prefs_add_none("/plugins/gtk/extplacement");
- purple_prefs_add_int("/plugins/gtk/extplacement/placement_number", 4);
- purple_prefs_add_bool("/plugins/gtk/extplacement/placement_number_separate", FALSE);
- pidgin_conv_placement_add_fnc("number", _("By conversation count"),
- &conv_placement_by_number);
- purple_prefs_trigger_callback(PIDGIN_PREFS_ROOT "/conversations/placement");
-plugin_unload(PurplePlugin *plugin, GError **error)
- pidgin_conv_placement_remove_fnc("number");
- purple_prefs_trigger_callback(PIDGIN_PREFS_ROOT "/conversations/placement");
-PURPLE_PLUGIN_INIT(extplacement, plugin_query, plugin_load, plugin_unload);
--- a/pidgin/plugins/meson.build Sat Jun 27 00:13:49 2020 -0500
+++ b/pidgin/plugins/meson.build Mon Jun 29 21:24:32 2020 +0000
@@ -25,11 +25,6 @@
dependencies : [libpurple_dep, libpidgin_dep, glib],
- extplacement = library('extplacement', 'extplacement.c',
- dependencies : [libpurple_dep, libpidgin_dep, glib],
- install : true, install_dir : PIDGIN_PLUGINDIR)
gtkbuddynote = library('gtkbuddynote', 'gtkbuddynote.c',
dependencies : [libpurple_dep, libpidgin_dep, glib],
--- a/pidgin/resources/Prefs/prefs.ui Sat Jun 27 00:13:49 2020 -0500
+++ b/pidgin/resources/Prefs/prefs.ui Mon Jun 29 21:24:32 2020 +0000
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1
+<!-- Generated with glade 3.22.2 Pidgin - Internet Messenger
Copyright (C) Pidgin Developers <devel@pidgin.im>
@@ -424,7 +424,7 @@
<property name="title" translatable="yes">Preferences</property>
<property name="type_hint">dialog</property>
<signal name="destroy" handler="delete_prefs" swapped="no"/>
+ <child type="titlebar"> <child internal-child="vbox">
@@ -682,51 +682,6 @@
<property name="position">1</property>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">6</property>
- <object class="GtkLabel" id="label4">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">N_ew conversations:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">iface.conversations.placement.combo</property>
- <property name="xalign">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- <object class="GtkComboBox" id="iface.conversations.placement.combo">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="model">iface.conversations.placement.store</property>
- <object class="GtkCellRendererText"/>
- <attribute name="text">0</attribute>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
<property name="expand">False</property>
@@ -3583,7 +3538,6 @@
- <widget name="label4"/>
<object class="GtkSizeGroup" id="network.sg">