diff src/gtkblist.h @ 13015:2d71d4081e06

[gaim-migrate @ 15368] Alright, no beta tonight, I need sleep :-( We'll do it soon. Here's my implementation for connection error reporting. It's currently ugly, but I think you'll get the idea. Is this acceptable to people? I might not have a lot of time to finish this up on Monday. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 23 Jan 2006 08:08:33 +0000
parents 301e9f0841d7
children 7f276f375789
line wrap: on
line diff
--- a/src/gtkblist.h	Mon Jan 23 06:54:29 2006 +0000
+++ b/src/gtkblist.h	Mon Jan 23 08:08:33 2006 +0000
@@ -71,6 +71,8 @@
 	GtkWidget *menutray;            /**< The menu tray widget. */
 	GtkWidget *menutrayicon;        /**< The menu tray icon. */
 
+	GHashTable *connection_errors;  /**< Caches connection error messages and accounts. */
+
 	guint refresh_timer;            /**< The timer for refreshing every 30 seconds */
 
 	guint      timeout;              /**< The timeout for the tooltip. */
@@ -86,8 +88,9 @@
 	GtkWidget *tipwindow;            /**< The window used by the tooltip */
 	GList *tooltipdata;              /**< The data for each "chunk" of the tooltip */
 
-	GaimBlistNode *selected_node;   /**< The currently selected node */
-        GtkWidget *statusbox;            /**< The status selector dropdown */
+	GaimBlistNode *selected_node;    /**< The currently selected node */
+	GtkWidget *error_buttons;        /**< Box containing the connection error buttons */
+	GtkWidget *statusbox;            /**< The status selector dropdown */
 	GdkPixbuf *east, *south;                 /**< Drop shadow stuff */
 	GdkWindow *east_shadow, *south_shadow;   /**< Drop shadow stuff */
 
@@ -283,12 +286,25 @@
 
 /**
  * Appends the protocol specific menu items for a GaimBlistNode
+ * TODO: Rename these.
  */
 void gaim_gtk_append_blist_node_proto_menu (GtkWidget *menu, GaimConnection *gc, GaimBlistNode *node);
 
 /**
  * Appends the extended menu items for a GaimBlistNode
+ * TODO: Rename these.
  */
 void gaim_gtk_append_blist_node_extended_menu(GtkWidget *menu, GaimBlistNode *node);
 
+/**
+ * Used by the connection API to tell the blist if an account
+ * has a connection error or no longer has a connection error.
+ *
+ * @param account The account that either has a connection error
+ *        or no longer has a connection error.
+ * @param message The connection error message, or NULL if this
+ *        account is no longer in an error state.
+ */
+void gaim_gtk_blist_update_account_error_state(GaimAccount *account, const char *message);
+
 #endif /* _GAIM_GTKBLIST_H_ */