--- a/pidgin/pidginstatuseditor.c Wed Mar 29 23:32:07 2023 -0500
+++ b/pidgin/pidginstatuseditor.c Wed Mar 29 23:33:48 2023 -0500
@@ -47,10 +47,6 @@
G_DEFINE_TYPE(PidginStatusEditor, pidgin_status_editor, GTK_TYPE_DIALOG)
@@ -173,8 +169,10 @@
gboolean duplicated = purple_savedstatus_find(title) != NULL;
- gtk_widget_set_sensitive(editor->use, FALSE);
- gtk_widget_set_sensitive(editor->save, FALSE);
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(editor), + gtk_dialog_set_response_sensitive(GTK_DIALOG(editor), @@ -182,8 +180,10 @@
sensitive = !purple_strequal(title, "");
- gtk_widget_set_sensitive(editor->use, sensitive);
- gtk_widget_set_sensitive(editor->save, sensitive);
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(editor), RESPONSE_USE, + gtk_dialog_set_response_sensitive(GTK_DIALOG(editor), RESPONSE_SAVE, /******************************************************************************
@@ -266,13 +266,6 @@
gtk_widget_class_bind_template_child(widget_class, PidginStatusEditor,
- gtk_widget_class_bind_template_child(widget_class, PidginStatusEditor,
- gtk_widget_class_bind_template_child(widget_class, PidginStatusEditor,
- gtk_widget_class_bind_template_child(widget_class, PidginStatusEditor,
gtk_widget_class_bind_template_callback(widget_class,
pidgin_status_editor_response_cb);
--- a/pidgin/pidginstatusprimitivechooser.c Wed Mar 29 23:32:07 2023 -0500
+++ b/pidgin/pidginstatusprimitivechooser.c Wed Mar 29 23:33:48 2023 -0500
@@ -25,13 +25,11 @@
#include <pidgin/pidginiconname.h>
struct _PidginStatusPrimitiveChooser {
G_DEFINE_TYPE(PidginStatusPrimitiveChooser, pidgin_status_primitive_chooser,
/******************************************************************************
@@ -110,10 +108,6 @@
gtk_widget_class_set_template_from_resource(
widget_class, "/im/pidgin/Pidgin3/statusprimitivechooser.ui");
- gtk_widget_class_bind_template_child(widget_class,
- PidginStatusPrimitiveChooser,
gtk_widget_class_bind_template_callback(widget_class,
pidgin_status_primitive_chooser_icon_name_cb);
gtk_widget_class_bind_template_callback(widget_class,
@@ -136,7 +130,7 @@
g_return_val_if_fail(PIDGIN_IS_STATUS_PRIMITIVE_CHOOSER(chooser),
- selected = gtk_drop_down_get_selected_item(chooser->chooser);
+ selected = adw_combo_row_get_selected_item(ADW_COMBO_ROW(chooser)); value = gtk_string_object_get_string(selected);
return pidgin_status_primitive_chooser_primitive_from_string(value);
@@ -147,23 +141,22 @@
PurpleStatusPrimitive primitive)
GListModel *model = NULL;
+ GtkStringList *list = NULL; g_return_if_fail(PIDGIN_IS_STATUS_PRIMITIVE_CHOOSER(chooser));
- model = gtk_drop_down_get_model(chooser->chooser);
+ model = adw_combo_row_get_model(ADW_COMBO_ROW(chooser)); + list = GTK_STRING_LIST(model); for(guint i = 0; i < g_list_model_get_n_items(model); i++) {
PurpleStatusPrimitive candidate = PURPLE_STATUS_UNSET;
- GtkStringObject *str = NULL;
const char *value = NULL;
- str = g_list_model_get_item(model, i);
- value = gtk_string_object_get_string(str);
+ value = gtk_string_list_get_string(list, i); candidate = pidgin_status_primitive_chooser_primitive_from_string(value);
if(primitive == candidate) {
- gtk_drop_down_set_selected(chooser->chooser, i);
+ adw_combo_row_set_selected(ADW_COMBO_ROW(chooser), i); --- a/pidgin/pidginstatusprimitivechooser.h Wed Mar 29 23:32:07 2023 -0500
+++ b/pidgin/pidginstatusprimitivechooser.h Wed Mar 29 23:33:48 2023 -0500
@@ -38,7 +38,7 @@
* PidginStatusPrimitiveChooser:
- * A [class@Gtk.ComboBox] for presenting [enum@Purple.StatusPrimitive]'s to a
+ * A [class@Adw.ComboRow] for presenting [enum@Purple.StatusPrimitive]'s to a @@ -47,7 +47,7 @@
#define PIDGIN_TYPE_STATUS_PRIMITIVE_CHOOSER (pidgin_status_primitive_chooser_get_type())
G_DECLARE_FINAL_TYPE(PidginStatusPrimitiveChooser,
pidgin_status_primitive_chooser, PIDGIN,
- STATUS_PRIMITIVE_CHOOSER, AdwBin)
+ STATUS_PRIMITIVE_CHOOSER, AdwComboRow) * pidgin_status_primitive_chooser_new:
--- a/pidgin/resources/Status/editor.ui Wed Mar 29 23:32:07 2023 -0500
+++ b/pidgin/resources/Status/editor.ui Wed Mar 29 23:33:48 2023 -0500
@@ -27,87 +27,59 @@
<template class="PidginStatusEditor" parent="GtkDialog">
<property name="title" translatable="1">Status</property>
<property name="destroy-with-parent">1</property>
+ <property name="resizable">0</property> <signal name="response" handler="pidgin_status_editor_response_cb" swapped="no"/>
<child internal-child="content_area">
<property name="orientation">vertical</property>
- <property name="spacing">2</property>
- <object class="GtkBox">
- <property name="vexpand">1</property>
- <property name="orientation">vertical</property>
+ <object class="AdwPreferencesGroup"> + <property name="margin-start">24</property> + <property name="margin-end">24</property> + <property name="margin-top">24</property> + <property name="margin-bottom">24</property> - <object class="GtkBox">
- <property name="vexpand">1</property>
- <object class="GtkLabel" id="label1">
- <property name="label" translatable="1">_Title:</property>
- <property name="use-underline">1</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="mnemonic-widget">title</property>
- <object class="GtkEntry" id="title">
- <property name="hexpand">1</property>
- <property name="focusable">1</property>
- <signal name="changed" handler="pidgin_status_editor_title_changed_cb" object="PidginStatusEditor" swapped="no"/>
+ <object class="AdwEntryRow" id="title"> + <property name="title" translatable="1">_Title</property> + <property name="use-underline">1</property> + <signal name="changed" handler="pidgin_status_editor_title_changed_cb"/> + <object class="PidginStatusPrimitiveChooser" id="primitive"> + <property name="title" translatable="1">St_atus</property> + <property name="use-underline">1</property> - <object class="GtkBox">
- <property name="vexpand">1</property>
- <object class="GtkLabel" id="label2">
- <property name="label" translatable="1">St_atus:</property>
- <property name="use-underline">1</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="mnemonic-widget">primitive</property>
+ <object class="AdwPreferencesRow"> + <property name="focusable">0</property> - <object class="PidginStatusPrimitiveChooser" id="primitive">
- <property name="hexpand">1</property>
- <object class="GtkBox">
- <property name="vexpand">1</property>
- <object class="GtkLabel" id="label3">
- <property name="label" translatable="1">_Message:</property>
- <property name="use-underline">1</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="mnemonic-widget">message</property>
- <object class="TalkatuEditor">
- <property name="hexpand">1</property>
+ <object class="GtkBox"> <property name="orientation">vertical</property>
- <property name="vexpand">1</property>
- <child internal-child="send_button">
- <object class="GtkButton">
- <property name="visible">0</property>
+ <object class="GtkLabel"> + <property name="css-classes">subtitle</property> + <property name="label" translatable="1">_Message</property> + <property name="mnemonic-widget">message</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="xalign">0</property> + <property name="use-underline">1</property> - <child internal-child="toolbar">
- <object class="TalkatuToolbar"/>
- <child internal-child="input">
- <object class="TalkatuInput" id="message">
- <property name="buffer">buffer</property>
+ <object class="TalkatuEditor" id="editor"> <property name="hexpand">1</property>
- <property name="vexpand">1</property>
- <property name="width-request">450</property>
- <property name="wrap-mode">word</property>
+ <property name="show-send-button">0</property> + <child internal-child="input"> + <object class="TalkatuInput" id="message"> + <property name="buffer">buffer</property> + <property name="hexpand">1</property> + <property name="width-request">450</property> + <property name="wrap-mode">word</property> @@ -150,13 +122,6 @@
<action-widget response="1">save</action-widget>
- <object class="GtkSizeGroup">
- <widget name="label1"/>
- <widget name="label2"/>
- <widget name="label3"/>
<object class="TalkatuBuffer" id="buffer">
<property name="action-group">
<object class="TalkatuActionGroup">
--- a/pidgin/resources/statusprimitivechooser.ui Wed Mar 29 23:32:07 2023 -0500
+++ b/pidgin/resources/statusprimitivechooser.ui Wed Mar 29 23:33:48 2023 -0500
@@ -24,12 +24,10 @@
<!-- interface-name Pidgin -->
<!-- interface-description Internet Messenger -->
<!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
- <template class="PidginStatusPrimitiveChooser" parent="AdwBin">
- <property name="child">
- <object class="GtkDropDown" id="chooser">
- <property name="factory">
- <object class="GtkBuilderListItemFactory">
- <property name="bytes">
+ <template class="PidginStatusPrimitiveChooser" parent="AdwComboRow"> + <property name="factory"> + <object class="GtkBuilderListItemFactory"> + <property name="bytes"> <?xml version="1.0" encoding="UTF-8"?>
@@ -62,21 +60,19 @@
- <property name="model">
- <object class="GtkStringList">
- <item>unavailable</item>
- <item>extended-away</item>
+ <property name="model"> + <object class="GtkStringList"> + <item>unavailable</item> + <item>extended-away</item>