* Mark unused parameters, and remove unnecessary widgets passed to callbacks.
* Remove unused `purple_roomlist_[gs]et_protocol_data`.
* Remove unused list of `PurpleRoomList`s.
* Inline `update_roomlist` using GObject macros.
* Remove use of `PurpleRoomListUiOps->destroy`.
This can be achieved through object destruction notifiers.
I'm not sure how the room list would ever get destroyed in Finch though, as the
widget seems to hold a ref to it, which is cleared when the list is destroyed.
But the list can't be destroyed until said ref is dropped.
* Replace `PurpleRoomlistUiOps->in_progress` with notify signals.
Testing Done:
Compile only. Might have done some tests, but I wrote this a while back and don't remember.
Reviewed at https://reviews.imfreedom.org/r/785/
/* purple
*
* 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 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"internal.h"
#include"account.h"
#include"connection.h"
#include"debug.h"
#include"purpleprotocolfactory.h"
#include"roomlist.h"
#include"server.h"
/*
* Private data for a room list.
*/
typedefstruct{
PurpleAccount*account;/* The account this list belongs to. */
GList*fields;/* The fields. */
GList*rooms;/* The list of rooms. */
gbooleanin_progress;/* The listing is in progress. */
}PurpleRoomlistPrivate;
/*
* Represents a room.
*/
struct_PurpleRoomlistRoom{
PurpleRoomlistRoomTypetype;/* The type of room. */
gchar*name;/* The name of the room. */
GList*fields;/* Other fields. */
PurpleRoomlistRoom*parent;/* The parent room, or NULL. */
gbooleanexpanded_once;/* A flag the UI uses to avoid multiple expand protocol cbs. */
};
/*
* A field a room might have.
*/
struct_PurpleRoomlistField{
PurpleRoomlistFieldTypetype;/* The type of field. */
gchar*label;/* The i18n user displayed name of the field. */