pidgin/pidgin

Remove PurpleRequestDataSheet

2 weeks ago, Gary Kramlich
86afaa3533bc
Parents b2db8ddd4756
Children c29c417539ff
Remove PurpleRequestDataSheet

This was only used by Gadu Gadu which has been removed.

Testing Done:
Called in the turtles.

Reviewed at https://reviews.imfreedom.org/r/3128/
--- a/libpurple/meson.build Sun Apr 14 02:15:04 2024 -0500
+++ b/libpurple/meson.build Sun Apr 14 02:18:58 2024 -0500
@@ -86,7 +86,6 @@
'request/purplerequestfieldaccount.c',
'request/purplerequestfieldbool.c',
'request/purplerequestfieldchoice.c',
- 'request/purplerequestfielddatasheet.c',
'request/purplerequestfieldimage.c',
'request/purplerequestfieldint.c',
'request/purplerequestfieldlabel.c',
@@ -94,7 +93,6 @@
'request/purplerequestfieldstring.c',
'request/purplerequestgroup.c',
'request/purplerequestpage.c',
- 'request-datasheet.c',
'signals.c',
'util.c',
'xmlnode.c'
@@ -183,7 +181,6 @@
'purplewhiteboardops.h',
'purplewhiteboarduiops.h',
'request.h',
- 'request-datasheet.h',
'signals.h',
'util.h',
'xmlnode.h',
@@ -201,7 +198,6 @@
'request/purplerequestfieldaccount.h',
'request/purplerequestfieldbool.h',
'request/purplerequestfieldchoice.h',
- 'request/purplerequestfielddatasheet.h',
'request/purplerequestfieldimage.h',
'request/purplerequestfieldint.h',
'request/purplerequestfieldlabel.h',
--- a/libpurple/request-datasheet.c Sun Apr 14 02:15:04 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,501 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple 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 library 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 library 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/>.
- */
-
-#include "request-datasheet.h"
-
-#include "debug.h"
-#include "signals.h"
-
-struct _PurpleRequestDatasheet
-{
- guint col_count;
- GArray *col_types;
- GArray *col_titles;
- GList *actions;
-
- GList *record_list;
- GHashTable *record_li_by_key;
-
- GHashTable *marked_for_rem;
-};
-
-struct _PurpleRequestDatasheetRecord
-{
- PurpleRequestDatasheet *sheet;
- gpointer key;
- gchar **data; /* at this point, there is only string data possible */
-};
-
-struct _PurpleRequestDatasheetAction
-{
- gchar *label;
-
- PurpleRequestDatasheetActionCb cb;
- gpointer cb_data;
-
- PurpleRequestDatasheetActionCheckCb sens_cb;
- gpointer sens_data;
-};
-
-static void
-purple_request_datasheet_record_free(PurpleRequestDatasheetRecord *rec);
-
-/***** Datasheet API **********************************************************/
-
-PurpleRequestDatasheet *
-purple_request_datasheet_new(void)
-{
- PurpleRequestDatasheet *sheet;
-
- sheet = g_new0(PurpleRequestDatasheet, 1);
-
- sheet->col_types = g_array_new(FALSE, FALSE,
- sizeof(PurpleRequestDatasheetColumnType));
- sheet->col_titles = g_array_new(FALSE, FALSE, sizeof(gchar *));
- /* XXX: use g_array_set_clear_func when we depend on Glib 2.32 */
-
- sheet->record_li_by_key = g_hash_table_new(g_direct_hash, g_direct_equal);
-
- purple_signal_register(sheet, "record-changed",
- purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2,
- G_TYPE_POINTER, /* (PurpleRequestDatasheet *) */
- G_TYPE_POINTER); /* NULL for all */
-
- purple_signal_register(sheet, "destroy",
- purple_marshal_VOID__POINTER, G_TYPE_NONE, 1,
- G_TYPE_POINTER); /* (PurpleRequestDatasheet *) */
-
- return sheet;
-}
-
-void
-purple_request_datasheet_free(PurpleRequestDatasheet *sheet)
-{
- guint i;
-
- g_return_if_fail(sheet != NULL);
-
- purple_signal_emit(sheet, "destroy", sheet);
- purple_signals_unregister_by_instance(sheet);
-
- for (i = 0; i < sheet->col_titles->len; i++)
- g_free(g_array_index(sheet->col_titles, gchar *, i));
-
- g_array_free(sheet->col_titles, TRUE);
- g_array_free(sheet->col_types, TRUE);
-
- g_list_free_full(sheet->actions,
- (GDestroyNotify)purple_request_datasheet_action_free);
-
- g_hash_table_destroy(sheet->record_li_by_key);
- g_list_free_full(sheet->record_list,
- (GDestroyNotify)purple_request_datasheet_record_free);
-
- g_clear_pointer(&sheet->marked_for_rem, g_hash_table_destroy);
-
- g_free(sheet);
-}
-
-void
-purple_request_datasheet_add_column(PurpleRequestDatasheet *sheet,
- PurpleRequestDatasheetColumnType type, const gchar *title)
-{
- gchar *title_clone;
-
- g_return_if_fail(sheet != NULL);
-
- if (sheet->record_list != NULL) {
- purple_debug_error("request-datasheet", "Cannot modify model "
- "when there is already some data");
- return;
- }
-
- title_clone = g_strdup(title);
- sheet->col_count++;
- g_array_append_val(sheet->col_types, type);
- g_array_append_val(sheet->col_titles, title_clone);
-}
-
-guint
-purple_request_datasheet_get_column_count(PurpleRequestDatasheet *sheet)
-{
- g_return_val_if_fail(sheet != NULL, 0);
-
- return sheet->col_count;
- /*return sheet->col_types->len;*/
-}
-
-PurpleRequestDatasheetColumnType
-purple_request_datasheet_get_column_type(PurpleRequestDatasheet *sheet,
- guint col_no)
-{
- g_return_val_if_fail(sheet != NULL, 0);
-
- return g_array_index(sheet->col_types,
- PurpleRequestDatasheetColumnType, col_no);
-}
-
-const gchar *
-purple_request_datasheet_get_column_title(PurpleRequestDatasheet *sheet,
- guint col_no)
-{
- g_return_val_if_fail(sheet != NULL, 0);
-
- return g_array_index(sheet->col_titles, gchar *, col_no);
-}
-
-const GList *
-purple_request_datasheet_get_records(PurpleRequestDatasheet *sheet)
-{
- g_return_val_if_fail(sheet != NULL, NULL);
-
- return sheet->record_list;
-}
-
-void
-purple_request_datasheet_add_action(PurpleRequestDatasheet *sheet,
- PurpleRequestDatasheetAction *action)
-{
- g_return_if_fail(sheet != NULL);
- g_return_if_fail(action != NULL);
-
- sheet->actions = g_list_append(sheet->actions, action);
-}
-
-const GList *
-purple_request_datasheet_get_actions(PurpleRequestDatasheet *sheet)
-{
- g_return_val_if_fail(sheet != NULL, NULL);
-
- return sheet->actions;
-}
-
-/***** Datasheet actions API **************************************************/
-
-PurpleRequestDatasheetAction *
-purple_request_datasheet_action_new(void)
-{
- return g_new0(PurpleRequestDatasheetAction, 1);
-}
-
-void
-purple_request_datasheet_action_free(PurpleRequestDatasheetAction *act)
-{
- g_return_if_fail(act != NULL);
- g_free(act->label);
- g_free(act);
-}
-
-void
-purple_request_datasheet_action_set_label(PurpleRequestDatasheetAction *act,
- const gchar *label)
-{
- gchar *new_label;
-
- g_return_if_fail(act != NULL);
-
- new_label = g_strdup(label);
- g_free(act->label);
- act->label = new_label;
-}
-
-const gchar*
-purple_request_datasheet_action_get_label(PurpleRequestDatasheetAction *act)
-{
- g_return_val_if_fail(act != NULL, NULL);
-
- return act->label;
-}
-
-void
-purple_request_datasheet_action_set_cb(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetActionCb cb, gpointer user_data)
-{
- g_return_if_fail(act != NULL);
-
- act->cb = cb;
- act->cb_data = user_data;
-}
-
-void
-purple_request_datasheet_action_call(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetRecord *rec)
-{
- g_return_if_fail(act != NULL);
-
- if (!act->cb)
- return;
-
- if (!purple_request_datasheet_action_is_sensitive(act, rec)) {
- purple_debug_warning("request-datasheet",
- "Action is disabled for this record");
- return;
- }
-
- act->cb(rec, act->cb_data);
-}
-
-void
-purple_request_datasheet_action_set_sens_cb(
- PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetActionCheckCb cb, gpointer user_data)
-{
- g_return_if_fail(act != NULL);
-
- act->sens_cb = cb;
- act->sens_data = user_data;
-}
-
-gboolean
-purple_request_datasheet_action_is_sensitive(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetRecord *rec)
-{
- g_return_val_if_fail(act != NULL, FALSE);
-
- if (!act->sens_cb)
- return (rec != NULL);
-
- return act->sens_cb(rec, act->sens_data);
-}
-
-/***** Datasheet record API ***************************************************/
-
-static PurpleRequestDatasheetRecord *
-purple_request_datasheet_record_new(void)
-{
- return g_new0(PurpleRequestDatasheetRecord, 1);
-}
-
-static void
-purple_request_datasheet_record_free(PurpleRequestDatasheetRecord *rec)
-{
- g_strfreev(rec->data);
- g_free(rec);
-}
-
-gpointer
-purple_request_datasheet_record_get_key(const PurpleRequestDatasheetRecord *rec)
-{
- g_return_val_if_fail(rec != NULL, NULL);
-
- return rec->key;
-}
-
-PurpleRequestDatasheet *
-purple_request_datasheet_record_get_datasheet(
- PurpleRequestDatasheetRecord *rec)
-{
- g_return_val_if_fail(rec != NULL, NULL);
-
- return rec->sheet;
-}
-
-PurpleRequestDatasheetRecord *
-purple_request_datasheet_record_find(PurpleRequestDatasheet *sheet,
- gpointer key)
-{
- GList *it;
-
- g_return_val_if_fail(sheet != NULL, NULL);
-
- it = g_hash_table_lookup(sheet->record_li_by_key, key);
- if (!it)
- return NULL;
-
- return it->data;
-}
-
-PurpleRequestDatasheetRecord *
-purple_request_datasheet_record_add(PurpleRequestDatasheet *sheet,
- gpointer key)
-{
- PurpleRequestDatasheetRecord *rec;
-
- g_return_val_if_fail(sheet != NULL, NULL);
-
- rec = purple_request_datasheet_record_find(sheet, key);
- if (rec != NULL) {
- if (sheet->marked_for_rem != NULL)
- g_hash_table_remove(sheet->marked_for_rem, key);
- return rec;
- }
-
- rec = purple_request_datasheet_record_new();
- rec->sheet = sheet;
- rec->key = key;
-
- /* We don't allow modifying column count when datasheet contains any
- * records. */
- rec->data = g_new0(gchar*,
- purple_request_datasheet_get_column_count(sheet) + 1);
-
- sheet->record_list = g_list_append(sheet->record_list, rec);
- g_hash_table_insert(sheet->record_li_by_key, key,
- g_list_find(sheet->record_list, rec));
-
- purple_signal_emit(sheet, "record-changed", sheet, key);
-
- return rec;
-}
-
-void
-purple_request_datasheet_record_remove(PurpleRequestDatasheet *sheet,
- gpointer key)
-{
- GList *it;
-
- g_return_if_fail(sheet != NULL);
-
- it = g_hash_table_lookup(sheet->record_li_by_key, key);
- if (it == NULL)
- return;
-
- purple_request_datasheet_record_free(it->data);
- sheet->record_list = g_list_delete_link(sheet->record_list, it);
- g_hash_table_remove(sheet->record_li_by_key, key);
-
- purple_signal_emit(sheet, "record-changed", sheet, key);
-}
-
-void
-purple_request_datasheet_record_remove_all(PurpleRequestDatasheet *sheet)
-{
- g_return_if_fail(sheet != NULL);
-
- g_clear_list(&sheet->record_list,
- (GDestroyNotify)purple_request_datasheet_record_free);
- g_hash_table_remove_all(sheet->record_li_by_key);
-
- purple_signal_emit(sheet, "record-changed", sheet, NULL);
-}
-
-void
-purple_request_datasheet_record_mark_all_for_rem(PurpleRequestDatasheet *sheet)
-{
- const GList *it;
-
- g_clear_pointer(&sheet->marked_for_rem, g_hash_table_destroy);
- sheet->marked_for_rem = g_hash_table_new(g_direct_hash, g_direct_equal);
-
- it = purple_request_datasheet_get_records(sheet);
- for (; it != NULL; it = g_list_next(it)) {
- PurpleRequestDatasheetRecord *rec = it->data;
- gpointer key = purple_request_datasheet_record_get_key(rec);
-
- g_hash_table_insert(sheet->marked_for_rem, key, key);
- }
-}
-
-void
-purple_request_datasheet_record_remove_marked(PurpleRequestDatasheet *sheet)
-{
- GHashTableIter it;
- gpointer key;
- GHashTable *rem;
-
- if (sheet->marked_for_rem == NULL)
- return;
- rem = sheet->marked_for_rem;
- sheet->marked_for_rem = NULL;
-
- g_hash_table_iter_init(&it, rem);
- while (g_hash_table_iter_next(&it, &key, NULL))
- purple_request_datasheet_record_remove(sheet, key);
-
- g_hash_table_destroy(rem);
-}
-
-static void
-purple_request_datasheet_record_set_common_data(
- PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *data)
-{
- g_return_if_fail(rec != NULL);
- g_return_if_fail(
- purple_request_datasheet_get_column_count(rec->sheet) > col_no);
-
- if (g_strcmp0(rec->data[col_no], data) == 0)
- return;
-
- /* we assume, model hasn't changed */
- g_free(rec->data[col_no]);
- rec->data[col_no] = g_strdup(data);
-
- purple_signal_emit(rec->sheet, "record-changed", rec->sheet, rec->key);
-}
-
-void
-purple_request_datasheet_record_set_string_data(
- PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *data)
-{
- g_return_if_fail(rec != NULL);
- g_return_if_fail(purple_request_datasheet_get_column_type(rec->sheet,
- col_no) == PURPLE_REQUEST_DATASHEET_COLUMN_STRING);
-
- purple_request_datasheet_record_set_common_data(rec, col_no, data);
-}
-
-void
-purple_request_datasheet_record_set_image_data(
- PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *stock_id)
-{
- g_return_if_fail(rec != NULL);
- g_return_if_fail(purple_request_datasheet_get_column_type(rec->sheet,
- col_no) == PURPLE_REQUEST_DATASHEET_COLUMN_IMAGE);
-
- purple_request_datasheet_record_set_common_data(rec, col_no, stock_id);
-}
-
-static const gchar *
-purple_request_datasheet_record_get_common_data(
- const PurpleRequestDatasheetRecord *rec, guint col_no)
-{
- g_return_val_if_fail(rec != NULL, NULL);
- g_return_val_if_fail(
- purple_request_datasheet_get_column_count(rec->sheet) > col_no,
- NULL);
-
- return rec->data[col_no];
-}
-
-const gchar *
-purple_request_datasheet_record_get_string_data(
- const PurpleRequestDatasheetRecord *rec, guint col_no)
-{
- g_return_val_if_fail(rec != NULL, NULL);
- g_return_val_if_fail(purple_request_datasheet_get_column_type(
- rec->sheet, col_no) == PURPLE_REQUEST_DATASHEET_COLUMN_STRING,
- NULL);
-
- return purple_request_datasheet_record_get_common_data(rec, col_no);
-}
-
-const gchar *
-purple_request_datasheet_record_get_image_data(
- const PurpleRequestDatasheetRecord *rec, guint col_no)
-{
- g_return_val_if_fail(rec != NULL, NULL);
- g_return_val_if_fail(purple_request_datasheet_get_column_type(
- rec->sheet, col_no) == PURPLE_REQUEST_DATASHEET_COLUMN_IMAGE,
- NULL);
-
- return purple_request_datasheet_record_get_common_data(rec, col_no);
-}
--- a/libpurple/request-datasheet.h Sun Apr 14 02:15:04 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,541 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple 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 library 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 library 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/>.
- */
-
-#if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
-# error "only <purple.h> may be included directly"
-#endif
-
-#ifndef PURPLE_REQUEST_DATA_H
-#define PURPLE_REQUEST_DATA_H
-
-#include <glib.h>
-
-#include "purpleversion.h"
-
-/**
- * PurpleRequestDatasheet:
- *
- * Request Datasheet is a UI abstracted table.
- */
-typedef struct _PurpleRequestDatasheet PurpleRequestDatasheet;
-
-/**
- * PurpleRequestDatasheetRecord:
- *
- * A data sheet record.
- */
-typedef struct _PurpleRequestDatasheetRecord PurpleRequestDatasheetRecord;
-
-/**
- * PurpleRequestDatasheetAction:
- *
- * A data sheet action.
- */
-typedef struct _PurpleRequestDatasheetAction PurpleRequestDatasheetAction;
-
-/**
- * PurpleRequestDatasheetActionCb:
- * @rec: The record.
- * @user_data: User data.
- *
- * A callback function for actions in a data sheet.
- *
- * Since: 3.0
- */
-typedef void (*PurpleRequestDatasheetActionCb)(
- PurpleRequestDatasheetRecord *rec, gpointer user_data);
-
-/**
- * PurpleRequestDatasheetActionCheckCb:
- * @rec: The record.
- * @user_data: User data.
- *
- * A callback function for checking if an action is enabled or not.
- *
- * Returns: %TRUE if the actions should be enabled, otherwise %FALSE.
- *
- * Since: 3.0
- */
-typedef gboolean (*PurpleRequestDatasheetActionCheckCb)(
- PurpleRequestDatasheetRecord *rec, gpointer user_data);
-
-/**
- * PurpleRequestDatasheetColumnType:
- * @PURPLE_REQUEST_DATASHEET_COLUMN_STRING: The column displays strings.
- * @PURPLE_REQUEST_DATASHEET_COLUMN_IMAGE: The column displays images.
- *
- * The type of data to be shown in a column.
- */
-
-typedef enum
-{
- PURPLE_REQUEST_DATASHEET_COLUMN_STRING,
- PURPLE_REQUEST_DATASHEET_COLUMN_IMAGE
-} PurpleRequestDatasheetColumnType;
-
-G_BEGIN_DECLS
-
-/**************************************************************************/
-/* Datasheet API */
-/**************************************************************************/
-
-/**
- * purple_request_datasheet_new:
- *
- * Creates new Datasheet.
- *
- * Returns: (transfer full): The new datasheet.
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheet *
-purple_request_datasheet_new(void);
-
-/**
- * purple_request_datasheet_free:
- * @sheet: The datasheet.
- *
- * Destroys datasheet with all its contents.
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_free(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_add_column:
- * @sheet: The datasheet.
- * @type: The column type.
- * @title: The column title (may be %NULL).
- *
- * Adds a column to the datasheet.
- *
- * You cannot add a column if datasheet contains any data.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_add_column(PurpleRequestDatasheet *sheet,
- PurpleRequestDatasheetColumnType type, const gchar *title);
-
-/**
- * purple_request_datasheet_get_column_count:
- * @sheet: The datasheet.
- *
- * Returns the column count of datasheet.
- *
- * Returns: The column count.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-guint
-purple_request_datasheet_get_column_count(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_get_column_type:
- * @sheet: The datasheet.
- * @col_no: The column number (0 is the first one).
- *
- * Returns the column type for a datasheet.
- *
- * Returns: The column type.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheetColumnType
-purple_request_datasheet_get_column_type(PurpleRequestDatasheet *sheet,
- guint col_no);
-
-/**
- * purple_request_datasheet_get_column_title:
- * @sheet: The datasheet.
- * @col_no: The column number (0 is the first one).
- *
- * Returns the column title for a datasheet.
- *
- * Returns: The column title.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const gchar *
-purple_request_datasheet_get_column_title(PurpleRequestDatasheet *sheet,
- guint col_no);
-
-/**
- * purple_request_datasheet_get_records:
- * @sheet: The datasheet.
- *
- * Returns the list of records in a datasheet.
- *
- * You shouldn't modify datasheet's data while iterating through it.
- *
- * Returns: (element-type PurpleRequestDatasheetRecord) (transfer none): The list of records.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const GList *
-purple_request_datasheet_get_records(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_add_action:
- * @sheet: The datasheet.
- * @action: The action.
- *
- * Adds an action to the datasheet.
- *
- * Action object is owned by the datasheet since this call.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_add_action(PurpleRequestDatasheet *sheet,
- PurpleRequestDatasheetAction *action);
-
-/**
- * purple_request_datasheet_get_actions:
- * @sheet: The datasheet.
- *
- * Returns the list of actions in a datasheet.
- *
- * Returns: (element-type PurpleRequestDatasheetAction) (transfer none): The list of actions.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const GList *
-purple_request_datasheet_get_actions(PurpleRequestDatasheet *sheet);
-
-
-/**************************************************************************/
-/* Datasheet actions API */
-/**************************************************************************/
-
-/**
- * purple_request_datasheet_action_new:
- *
- * Creates new datasheet action.
- *
- * Returns: (transfer full): The new action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheetAction *
-purple_request_datasheet_action_new(void);
-
-/**
- * purple_request_datasheet_action_free:
- * @act: The action.
- *
- * Destroys the datasheet action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_action_free(PurpleRequestDatasheetAction *act);
-
-/**
- * purple_request_datasheet_action_set_label:
- * @act: The action.
- * @label: The label.
- *
- * Sets the localized label for the action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_action_set_label(PurpleRequestDatasheetAction *act,
- const gchar *label);
-
-/**
- * purple_request_datasheet_action_get_label:
- * @act: The action.
- *
- * Gets the label of action.
- *
- * Returns: The localized label text.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const gchar*
-purple_request_datasheet_action_get_label(PurpleRequestDatasheetAction *act);
-
-/**
- * purple_request_datasheet_action_set_cb:
- * @act: The action.
- * @cb: (scope notified): The callback function.
- * @user_data: The data to be passed to the callback function.
- *
- * Sets the callback for the action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_action_set_cb(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetActionCb cb, gpointer user_data);
-
-/**
- * purple_request_datasheet_action_call:
- * @act: The action.
- * @rec: The user selected record.
- *
- * Calls the callback of the action.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_action_call(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetRecord *rec);
-
-/**
- * purple_request_datasheet_action_set_sens_cb:
- * @act: The action.
- * @cb: (scope notified): The callback function, may be %NULL.
- * @user_data: The data to be passed to the callback function.
- *
- * Sets the sensitivity checker for the action.
- *
- * If there is no callback set, default is used: the action is enabled, if any
- * record is active.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_action_set_sens_cb(
- PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetActionCheckCb cb, gpointer user_data);
-
-/**
- * purple_request_datasheet_action_is_sensitive:
- * @act: The action.
- * @rec: The record.
- *
- * Checks, if the action is enabled for the active record.
- *
- * Returns: %TRUE, if the action is enabled, %FALSE otherwise.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gboolean
-purple_request_datasheet_action_is_sensitive(PurpleRequestDatasheetAction *act,
- PurpleRequestDatasheetRecord *rec);
-
-
-/**************************************************************************/
-/* Datasheet record API */
-/**************************************************************************/
-
-/**
- * purple_request_datasheet_record_get_key:
- * @rec: The record.
- *
- * Returns the key of a record.
- *
- * Returns: The key.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-gpointer
-purple_request_datasheet_record_get_key(
- const PurpleRequestDatasheetRecord *rec);
-
-/**
- * purple_request_datasheet_record_get_datasheet:
- * @rec: The record.
- *
- * Returns the datasheet of a record.
- *
- * Returns: (transfer none): The datasheet.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheet *
-purple_request_datasheet_record_get_datasheet(
- PurpleRequestDatasheetRecord *rec);
-
-/**
- * purple_request_datasheet_record_find:
- * @sheet: The datasheet.
- * @key: The key.
- *
- * Looks up for a record in datasheet.
- *
- * Returns: (transfer none): The record if found, %NULL otherwise.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheetRecord *
-purple_request_datasheet_record_find(PurpleRequestDatasheet *sheet,
- gpointer key);
-
-/**
- * purple_request_datasheet_record_add:
- * @sheet: The datasheet.
- * @key: The key.
- *
- * Adds a record to the datasheet.
- *
- * If the specified key already exists in datasheet, old record is returned.
- *
- * Returns: (transfer full): The record.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheetRecord *
-purple_request_datasheet_record_add(PurpleRequestDatasheet *sheet,
- gpointer key);
-
-/**
- * purple_request_datasheet_record_remove:
- * @sheet: The datasheet.
- * @key: The key.
- *
- * Removes a record from a datasheet.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_remove(PurpleRequestDatasheet *sheet,
- gpointer key);
-
-/**
- * purple_request_datasheet_record_remove_all:
- * @sheet: The datasheet.
- *
- * Removes all records from a datasheet.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_remove_all(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_record_mark_all_for_rem:
- * @sheet: The datasheet.
- *
- * Marks all records for removal. Record will be unmarked, when touched with
- * purple_request_datasheet_record_add.
- *
- * See purple_request_datasheet_record_add().
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_mark_all_for_rem(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_record_remove_marked:
- * @sheet: The datasheet.
- *
- * Removes all marked records.
- *
- * See purple_request_datasheet_record_mark_all_for_rem().
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_remove_marked(PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_datasheet_record_set_string_data:
- * @rec: The record.
- * @col_no: The column.
- * @data: The data.
- *
- * Sets data for a string column of specified record.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_set_string_data(
- PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *data);
-
-/**
- * purple_request_datasheet_record_set_image_data:
- * @rec: The record.
- * @col_no: The column.
- * @stock_id: The stock identifier of a image.
- *
- * Sets data for a image column of specified record.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-void
-purple_request_datasheet_record_set_image_data(
- PurpleRequestDatasheetRecord *rec, guint col_no, const gchar *stock_id);
-
-/**
- * purple_request_datasheet_record_get_string_data:
- * @rec: The record.
- * @col_no: The column.
- *
- * Returns data for a string column of specified record.
- *
- * Returns: The data.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const gchar *
-purple_request_datasheet_record_get_string_data(
- const PurpleRequestDatasheetRecord *rec, guint col_no);
-
-/**
- * purple_request_datasheet_record_get_image_data:
- * @rec: The record.
- * @col_no: The column.
- *
- * Returns data for an image column of specified record.
- *
- * Returns: The stock id of an image.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-const gchar *
-purple_request_datasheet_record_get_image_data(
- const PurpleRequestDatasheetRecord *rec, guint col_no);
-
-G_END_DECLS
-
-#endif /* PURPLE_REQUEST_DATA_H */
--- a/libpurple/request.h Sun Apr 14 02:15:04 2024 -0500
+++ b/libpurple/request.h Sun Apr 14 02:18:58 2024 -0500
@@ -49,7 +49,6 @@
#include "request/purplerequestpage.h"
#include "request/purplerequestgroup.h"
#include "request/purplerequestfield.h"
-#include "request-datasheet.h"
/**
* PURPLE_DEFAULT_ACTION_NONE:
--- a/libpurple/request/purplerequestfielddatasheet.c Sun Apr 14 02:15:04 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple 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 library 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 library 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/>.
- */
-
-#include <glib/gi18n-lib.h>
-
-#include "purplerequestfield.h"
-#include "purplerequestfielddatasheet.h"
-
-struct _PurpleRequestFieldDatasheet {
- PurpleRequestField parent;
-
- PurpleRequestDatasheet *sheet;
-};
-
-enum {
- PROP_0,
- PROP_SHEET,
- N_PROPERTIES,
-};
-static GParamSpec *properties[N_PROPERTIES] = {NULL, };
-
-/******************************************************************************
- * Helpers
- *****************************************************************************/
-static void
-purple_request_field_datasheet_set_sheet(PurpleRequestFieldDatasheet *field,
- PurpleRequestDatasheet *sheet)
-{
- g_clear_pointer(&field->sheet, purple_request_datasheet_free);
- field->sheet = sheet;
-
- g_object_notify_by_pspec(G_OBJECT(field), properties[PROP_SHEET]);
-}
-
-/******************************************************************************
- * GObject Implementation
- *****************************************************************************/
-G_DEFINE_FINAL_TYPE(PurpleRequestFieldDatasheet,
- purple_request_field_datasheet,
- PURPLE_TYPE_REQUEST_FIELD)
-
-static void
-purple_request_field_datasheet_get_property(GObject *obj, guint param_id,
- GValue *value, GParamSpec *pspec)
-{
- PurpleRequestFieldDatasheet *field = PURPLE_REQUEST_FIELD_DATASHEET(obj);
-
- switch(param_id) {
- case PROP_SHEET:
- g_value_set_pointer(value,
- purple_request_field_datasheet_get_sheet(field));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
- break;
- }
-}
-
-static void
-purple_request_field_datasheet_set_property(GObject *obj, guint param_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- PurpleRequestFieldDatasheet *field = PURPLE_REQUEST_FIELD_DATASHEET(obj);
-
- switch(param_id) {
- case PROP_SHEET:
- purple_request_field_datasheet_set_sheet(field,
- g_value_get_pointer(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
- break;
- }
-}
-
-static void
-purple_request_field_datasheet_finalize(GObject *obj) {
- PurpleRequestFieldDatasheet *field = PURPLE_REQUEST_FIELD_DATASHEET(obj);
-
- g_clear_pointer(&field->sheet, purple_request_datasheet_free);
-
- G_OBJECT_CLASS(purple_request_field_datasheet_parent_class)->finalize(obj);
-}
-
-static void
-purple_request_field_datasheet_init(G_GNUC_UNUSED PurpleRequestFieldDatasheet *field) {
-}
-
-static void
-purple_request_field_datasheet_class_init(PurpleRequestFieldDatasheetClass *klass) {
- GObjectClass *obj_class = G_OBJECT_CLASS(klass);
-
- obj_class->finalize = purple_request_field_datasheet_finalize;
- obj_class->get_property = purple_request_field_datasheet_get_property;
- obj_class->set_property = purple_request_field_datasheet_set_property;
-
- /**
- * PurpleRequestFieldDatasheet:sheet:
- *
- * The datasheet of the field.
- *
- * Since: 3.0
- */
- properties[PROP_SHEET] = g_param_spec_pointer(
- "sheet", "sheet",
- "The datasheet of the field.",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
-
- g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
-}
-
-/******************************************************************************
- * Public API
- *****************************************************************************/
-PurpleRequestField *
-purple_request_field_datasheet_new(const char *id, const char *text,
- PurpleRequestDatasheet *sheet)
-{
- g_return_val_if_fail(id != NULL, NULL);
- g_return_val_if_fail(sheet != NULL, NULL);
-
- return g_object_new(PURPLE_TYPE_REQUEST_FIELD_DATASHEET,
- "id", id,
- "label", text,
- "sheet", sheet,
- NULL);
-}
-
-PurpleRequestDatasheet *
-purple_request_field_datasheet_get_sheet(PurpleRequestFieldDatasheet *field) {
- g_return_val_if_fail(PURPLE_IS_REQUEST_FIELD_DATASHEET(field), NULL);
-
- return field->sheet;
-}
--- a/libpurple/request/purplerequestfielddatasheet.h Sun Apr 14 02:15:04 2024 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * Purple - Internet Messaging Library
- * Copyright (C) Pidgin Developers <devel@pidgin.im>
- *
- * Purple 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 library 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 library 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/>.
- */
-
-#if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
-# error "only <purple.h> may be included directly"
-#endif
-
-#ifndef PURPLE_REQUEST_FIELD_DATASHEET_H
-#define PURPLE_REQUEST_FIELD_DATASHEET_H
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include "request.h"
-#include "request-datasheet.h"
-#include "purpleversion.h"
-
-G_BEGIN_DECLS
-
-/**
- * PurpleRequestFieldDatasheet:
- *
- * A datasheet request field.
- *
- * Since: 3.0
- */
-#define PURPLE_TYPE_REQUEST_FIELD_DATASHEET (purple_request_field_datasheet_get_type())
-
-PURPLE_AVAILABLE_IN_3_0
-G_DECLARE_FINAL_TYPE(PurpleRequestFieldDatasheet, purple_request_field_datasheet,
- PURPLE, REQUEST_FIELD_DATASHEET, PurpleRequestField)
-
-/**
- * purple_request_field_datasheet_new:
- * @id: The field ID.
- * @text: The label of the field, may be %NULL.
- * @sheet: The datasheet.
- *
- * Creates a datasheet item field.
- *
- * Returns: (transfer full): The new field.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestField *purple_request_field_datasheet_new(const char *id, const gchar *text, PurpleRequestDatasheet *sheet);
-
-/**
- * purple_request_field_datasheet_get_sheet:
- * @field: The field.
- *
- * Returns a datasheet for a field.
- *
- * Returns: (transfer none): The datasheet object.
- *
- * Since: 3.0
- */
-PURPLE_AVAILABLE_IN_3_0
-PurpleRequestDatasheet *purple_request_field_datasheet_get_sheet(PurpleRequestFieldDatasheet *field);
-
-G_END_DECLS
-
-#endif /* PURPLE_REQUEST_FIELD_DATASHEET_H */
--- a/po/POTFILES.in Sun Apr 14 02:15:04 2024 -0500
+++ b/po/POTFILES.in Sun Apr 14 02:18:58 2024 -0500
@@ -67,13 +67,11 @@
libpurple/purplewhiteboardmanager.c
libpurple/purplewhiteboarduiops.c
libpurple/request.c
-libpurple/request-datasheet.c
libpurple/request/purplerequestfield.c
libpurple/request/purplerequestfieldaccount.c
libpurple/request/purplerequestfieldbool.c
libpurple/request/purplerequestfield.c
libpurple/request/purplerequestfieldchoice.c
-libpurple/request/purplerequestfielddatasheet.c
libpurple/request/purplerequestfieldimage.c
libpurple/request/purplerequestfieldint.c
libpurple/request/purplerequestfieldlabel.c