diff src/gtkft.c @ 6240:ac191233b816

[gaim-migrate @ 6734] Updated the file transfer API to resemble that of the rest of Gaim's API. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sun, 20 Jul 2003 03:30:43 +0000
parents 1abc483f74c6
children 36b80ce02a51
line wrap: on
line diff
--- a/src/gtkft.c	Sun Jul 20 03:05:58 2003 +0000
+++ b/src/gtkft.c	Sun Jul 20 03:30:43 2003 +0000
@@ -37,16 +37,16 @@
 #include "stock.h"
 
 #define GAIM_GTKXFER(xfer) \
-	(struct gaim_gtkxfer_ui_data *)(xfer)->ui_data
+	(GaimGtkXferUiData *)(xfer)->ui_data
 
-struct gaim_gtkxfer_dialog
+struct _GaimGtkXferDialog
 {
 	gboolean keep_open;
 	gboolean auto_clear;
 
 	gint num_transfers;
 
-	struct gaim_xfer *selected_xfer;
+	GaimXfer *selected_xfer;
 
 	GtkWidget *window;
 	GtkWidget *tree;
@@ -75,16 +75,17 @@
 	GtkWidget *close_button;
 };
 
-struct gaim_gtkxfer_ui_data
+typedef struct
 {
 	GtkWidget *filesel;
 	GtkTreeIter iter;
 	time_t start_time;
 
 	char *name;
-};
 
-static struct gaim_gtkxfer_dialog *xfer_dialog = NULL;
+} GaimGtkXferUiData;
+
+static GaimGtkXferDialog *xfer_dialog = NULL;
 
 enum
 {
@@ -101,11 +102,10 @@
  * Utility Functions
  **************************************************************************/
 static void
-get_xfer_info_strings(struct gaim_xfer *xfer,
-					  char **kbsec, char **time_elapsed,
+get_xfer_info_strings(GaimXfer *xfer, char **kbsec, char **time_elapsed,
 					  char **time_remaining)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	double kb_sent, kb_rem;
 	double kbps = 0.0;
 	time_t elapsed, now;
@@ -162,10 +162,9 @@
 }
 
 static void
-update_detailed_info(struct gaim_gtkxfer_dialog *dialog,
-					 struct gaim_xfer *xfer)
+update_detailed_info(GaimGtkXferDialog *dialog, GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	char *kbsec, *time_elapsed, *time_remaining;
 	char *status;
 
@@ -225,7 +224,7 @@
 }
 
 static void
-update_buttons(struct gaim_gtkxfer_dialog *dialog, struct gaim_xfer *xfer)
+update_buttons(GaimGtkXferDialog *dialog, GaimXfer *xfer)
 {
 	if (dialog->selected_xfer == NULL) {
 		gtk_widget_set_sensitive(dialog->disclosure, FALSE);
@@ -267,7 +266,7 @@
 }
 
 static void
-ensure_row_selected(struct gaim_gtkxfer_dialog *dialog)
+ensure_row_selected(GaimGtkXferDialog *dialog)
 {
 	GtkTreeIter iter;
 	GtkTreeSelection *selection;
@@ -287,9 +286,9 @@
 static gint
 delete_win_cb(GtkWidget *w, GdkEventAny *e, gpointer d)
 {
-	struct gaim_gtkxfer_dialog *dialog;
+	GaimGtkXferDialog *dialog;
 
-	dialog = (struct gaim_gtkxfer_dialog *)d;
+	dialog = (GaimGtkXferDialog *)d;
 
 	gaim_gtkxfer_dialog_hide(dialog);
 
@@ -297,25 +296,26 @@
 }
 
 static void
-toggle_keep_open_cb(GtkWidget *w, struct gaim_gtkxfer_dialog *dialog)
+toggle_keep_open_cb(GtkWidget *w, GaimGtkXferDialog *dialog)
 {
 	dialog->keep_open = !dialog->keep_open;
-	gaim_prefs_set_bool("/gaim/gtk/filetransfer/keep_open", dialog->keep_open);
+	gaim_prefs_set_bool("/gaim/gtk/filetransfer/keep_open",
+						dialog->keep_open);
 }
 
 static void
-toggle_clear_finished_cb(GtkWidget *w, struct gaim_gtkxfer_dialog *dialog)
+toggle_clear_finished_cb(GtkWidget *w, GaimGtkXferDialog *dialog)
 {
 	dialog->auto_clear = !dialog->auto_clear;
-	gaim_prefs_set_bool("/gaim/gtk/filetransfer/clear_finished", dialog->auto_clear);
+	gaim_prefs_set_bool("/gaim/gtk/filetransfer/clear_finished",
+						dialog->auto_clear);
 }
 
 static void
-selection_changed_cb(GtkTreeSelection *selection,
-					 struct gaim_gtkxfer_dialog *dialog)
+selection_changed_cb(GtkTreeSelection *selection, GaimGtkXferDialog *dialog)
 {
 	GtkTreeIter iter;
-	struct gaim_xfer *xfer = NULL;
+	GaimXfer *xfer = NULL;
 
 	if (gtk_tree_selection_get_selected(selection, NULL, &iter)) {
 		GValue val = {0, };
@@ -344,34 +344,34 @@
 }
 
 static void
-open_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+open_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 }
 
 static void
-pause_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+pause_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 }
 
 static void
-resume_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+resume_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 }
 
 static void
-remove_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+remove_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 	gaim_gtkxfer_dialog_remove_xfer(dialog, dialog->selected_xfer);
 }
 
 static void
-stop_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+stop_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 	gaim_xfer_cancel_local(dialog->selected_xfer);
 }
 
 static void
-close_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
+close_button_cb(GtkButton *button, GaimGtkXferDialog *dialog)
 {
 	gaim_gtkxfer_dialog_hide(dialog);
 }
@@ -380,7 +380,7 @@
  * Dialog Building Functions
  **************************************************************************/
 static GtkWidget *
-setup_tree(struct gaim_gtkxfer_dialog *dialog)
+setup_tree(GaimGtkXferDialog *dialog)
 {
 	GtkWidget *sw;
 	GtkWidget *tree;
@@ -468,7 +468,7 @@
 }
 
 static GtkWidget *
-make_info_table(struct gaim_gtkxfer_dialog *dialog)
+make_info_table(GaimGtkXferDialog *dialog)
 {
 	GtkWidget *table;
 	GtkWidget *label;
@@ -533,10 +533,10 @@
 	return table;
 }
 
-struct gaim_gtkxfer_dialog *
+GaimGtkXferDialog *
 gaim_gtkxfer_dialog_new(void)
 {
-	struct gaim_gtkxfer_dialog *dialog;
+	GaimGtkXferDialog *dialog;
 	GtkWidget *window;
 	GtkWidget *vbox1, *vbox2;
 	GtkWidget *bbox;
@@ -547,9 +547,11 @@
 	GtkWidget *table;
 	GtkWidget *checkbox;
 
-	dialog = g_new0(struct gaim_gtkxfer_dialog, 1);
-	dialog->keep_open  = gaim_prefs_get_bool("/gaim/gtk/filetransfer/keep_open");
-	dialog->auto_clear = gaim_prefs_get_bool("/gaim/gtk/filetransfer/clear_finished");
+	dialog = g_new0(GaimGtkXferDialog, 1);
+	dialog->keep_open =
+		gaim_prefs_get_bool("/gaim/gtk/filetransfer/keep_open");
+	dialog->auto_clear =
+		gaim_prefs_get_bool("/gaim/gtk/filetransfer/clear_finished");
 
 	/* Create the window. */
 	dialog->window = window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
@@ -696,10 +698,9 @@
 }
 
 void
-gaim_gtkxfer_dialog_destroy(struct gaim_gtkxfer_dialog *dialog)
+gaim_gtkxfer_dialog_destroy(GaimGtkXferDialog *dialog)
 {
-	if (dialog == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
 
 	gtk_widget_destroy(dialog->window);
 
@@ -707,19 +708,17 @@
 }
 
 void
-gaim_gtkxfer_dialog_show(struct gaim_gtkxfer_dialog *dialog)
+gaim_gtkxfer_dialog_show(GaimGtkXferDialog *dialog)
 {
-	if (dialog == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
 
 	gtk_widget_show(dialog->window);
 }
 
 void
-gaim_gtkxfer_dialog_hide(struct gaim_gtkxfer_dialog *dialog)
+gaim_gtkxfer_dialog_hide(GaimGtkXferDialog *dialog)
 {
-	if (dialog == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
 
 	gtk_widget_hide(dialog->window);
 }
@@ -727,30 +726,29 @@
 void
 gaim_show_xfer_dialog()
 {
-       struct gaim_gtkxfer_dialog *dialog;
-       
-       dialog = gaim_get_gtkxfer_dialog();
-       
-       if (dialog == NULL) {
-	       dialog = gaim_gtkxfer_dialog_new();
+	GaimGtkXferDialog *dialog;
+
+	dialog = gaim_get_gtkxfer_dialog();
 
-	       gaim_set_gtkxfer_dialog(dialog);
-       }
+	if (dialog == NULL) {
+		dialog = gaim_gtkxfer_dialog_new();
 
-       gaim_gtkxfer_dialog_show(dialog);
+		gaim_set_gtkxfer_dialog(dialog);
+	}
+
+	gaim_gtkxfer_dialog_show(dialog);
 }
 
 void
-gaim_gtkxfer_dialog_add_xfer(struct gaim_gtkxfer_dialog *dialog,
-							 struct gaim_xfer *xfer)
+gaim_gtkxfer_dialog_add_xfer(GaimGtkXferDialog *dialog, GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	GaimXferType type;
 	GdkPixbuf *pixbuf;
 	char *size_str, *remaining_str;
 
-	if (dialog == NULL || xfer == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
+	g_return_if_fail(xfer != NULL);
 
 	data = GAIM_GTKXFER(xfer);
 
@@ -792,13 +790,13 @@
 }
 
 void
-gaim_gtkxfer_dialog_remove_xfer(struct gaim_gtkxfer_dialog *dialog,
-								struct gaim_xfer *xfer)
+gaim_gtkxfer_dialog_remove_xfer(GaimGtkXferDialog *dialog,
+								GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 
-	if (dialog == NULL || xfer == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
+	g_return_if_fail(xfer != NULL);
 
 	data = GAIM_GTKXFER(xfer);
 
@@ -821,16 +819,16 @@
 }
 
 void
-gaim_gtkxfer_dialog_cancel_xfer(struct gaim_gtkxfer_dialog *dialog,
-								struct gaim_xfer *xfer)
+gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog,
+								GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 #if 0
 	GdkPixbuf *pixbuf;
 #endif
 
-	if (dialog == NULL || xfer == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
+	g_return_if_fail(xfer != NULL);
 
 	data = GAIM_GTKXFER(xfer);
 
@@ -865,17 +863,17 @@
 }
 
 void
-gaim_gtkxfer_dialog_update_xfer(struct gaim_gtkxfer_dialog *dialog,
-								struct gaim_xfer *xfer)
+gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog,
+								GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	char *size_str, *remaining_str;
 	GtkTreeSelection *selection;
 
-	if (dialog == NULL || xfer == NULL)
-		return;
+	g_return_if_fail(dialog != NULL);
+	g_return_if_fail(xfer != NULL);
 
-	if (!(data = GAIM_GTKXFER(xfer)))
+	if ((data = GAIM_GTKXFER(xfer)) == NULL)
 		return;
 
 	size_str      = gaim_get_size_string(gaim_xfer_get_size(xfer));
@@ -917,17 +915,17 @@
  * File Transfer UI Ops
  **************************************************************************/
 static void
-gaim_gtkxfer_new(struct gaim_xfer *xfer)
+gaim_gtkxfer_new_xfer(GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 
 	/* This is where we're setting xfer->ui_data for the first time. */
-	data = g_malloc0(sizeof(struct gaim_gtkxfer_ui_data));
+	data = g_new0(GaimGtkXferUiData, 1);
 	xfer->ui_data = data;
 }
 
 static void
-gaim_gtkxfer_destroy(struct gaim_xfer *xfer)
+gaim_gtkxfer_destroy(GaimXfer *xfer)
 {
 	gaim_gtkxfer_dialog_remove_xfer(xfer_dialog, xfer);
 }
@@ -935,7 +933,7 @@
 static gboolean
 choose_file_close_cb(GtkWidget *widget, GdkEvent *event, gpointer user_data)
 {
-	gaim_xfer_request_denied((struct gaim_xfer *)user_data);
+	gaim_xfer_request_denied((GaimXfer *)user_data);
 
 	return FALSE;
 }
@@ -943,8 +941,8 @@
 static void
 choose_file_cancel_cb(GtkButton *button, gpointer user_data)
 {
-	struct gaim_xfer *xfer = (struct gaim_xfer *)user_data;
-	struct gaim_gtkxfer_ui_data *data;
+	GaimXfer *xfer = (GaimXfer *)user_data;
+	GaimGtkXferUiData *data;
 
 	data = GAIM_GTKXFER(xfer);
 
@@ -955,9 +953,9 @@
 }
 
 static int
-do_overwrite_cb(struct gaim_xfer *xfer)
+do_overwrite_cb(GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	
 	data = GAIM_GTKXFER(xfer);
 
@@ -973,9 +971,9 @@
 }
 
 static int
-dont_overwrite_cb(struct gaim_xfer *xfer)
+dont_overwrite_cb(GaimXfer *xfer)
 {
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 	
 	data = GAIM_GTKXFER(xfer);
 
@@ -990,12 +988,12 @@
 static void
 choose_file_ok_cb(GtkButton *button, gpointer user_data)
 {
-	struct gaim_xfer *xfer;
-	struct gaim_gtkxfer_ui_data *data;
+	GaimXfer *xfer;
+	GaimGtkXferUiData *data;
 	struct stat st;
 	const char *name;
 
-	xfer = (struct gaim_xfer *)user_data;
+	xfer = (GaimXfer *)user_data;
 	data = GAIM_GTKXFER(xfer);
 
 	name = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data->filesel));
@@ -1015,7 +1013,9 @@
 			gaim_xfer_request_denied(xfer);
 		}
 	}
-	else if ((gaim_xfer_get_type(xfer) == GAIM_XFER_SEND) && (st.st_size == 0)) {
+	else if ((gaim_xfer_get_type(xfer) == GAIM_XFER_SEND) &&
+			 (st.st_size == 0)) {
+
 		gaim_notify_error(NULL, NULL,
 						  _("Cannot send a file of 0 bytes."), NULL);
 
@@ -1046,10 +1046,10 @@
 }
 
 static int
-choose_file(struct gaim_xfer *xfer)
+choose_file(GaimXfer *xfer)
 {
 	char *cur_dir, *init_str;
-	struct gaim_gtkxfer_ui_data *data;
+	GaimGtkXferUiData *data;
 
 	data = GAIM_GTKXFER(xfer);
 	cur_dir = g_get_current_dir();
@@ -1087,7 +1087,7 @@
 }
 
 static int
-cancel_recv_cb(struct gaim_xfer *xfer)
+cancel_recv_cb(GaimXfer *xfer)
 {
 	gaim_xfer_request_denied(xfer);
 
@@ -1095,7 +1095,7 @@
 }
 
 static void
-gaim_gtkxfer_ask_recv(struct gaim_xfer *xfer)
+gaim_gtkxfer_ask_recv(GaimXfer *xfer)
 {
 	char *buf, *size_buf;
 	size_t size;
@@ -1117,25 +1117,21 @@
 }
 
 static void
-gaim_gtkxfer_request_file(struct gaim_xfer *xfer)
+gaim_gtkxfer_request_file(GaimXfer *xfer)
 {
 	if (gaim_xfer_get_type(xfer) == GAIM_XFER_RECEIVE)
-	{
 		gaim_gtkxfer_ask_recv(xfer);
-	}
 	else
-	{
 		choose_file(xfer);
-	}
 }
 
 static void
-gaim_gtkxfer_ask_cancel(struct gaim_xfer *xfer)
+gaim_gtkxfer_ask_cancel(GaimXfer *xfer)
 {
 }
 
 static void
-gaim_gtkxfer_add_xfer(struct gaim_xfer *xfer)
+gaim_gtkxfer_add_xfer(GaimXfer *xfer)
 {
 	if (xfer_dialog == NULL)
 		xfer_dialog = gaim_gtkxfer_dialog_new();
@@ -1144,31 +1140,33 @@
 }
 
 static void
-gaim_gtkxfer_update_progress(struct gaim_xfer *xfer, double percent)
+gaim_gtkxfer_update_progress(GaimXfer *xfer, double percent)
 {
 	gaim_gtkxfer_dialog_update_xfer(xfer_dialog, xfer);
 
 	/* See if it's removed. */
 	/* XXX - This caused some bad stuff, and I don't see a point to it */
-/*	if (xfer->ui_data == NULL)
-		gaim_xfer_destroy(xfer); */
+#if 0
+	if (xfer->ui_data == NULL)
+		gaim_xfer_destroy(xfer);
+#endif
 }
 
 static void
-gaim_gtkxfer_cancel_local(struct gaim_xfer *xfer)
+gaim_gtkxfer_cancel_local(GaimXfer *xfer)
 {
 	gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer);
 }
 
 static void
-gaim_gtkxfer_cancel_remote(struct gaim_xfer *xfer)
+gaim_gtkxfer_cancel_remote(GaimXfer *xfer)
 {
 	gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer);
 }
 
-struct gaim_xfer_ui_ops ops =
+static GaimXferUiOps ops =
 {
-	gaim_gtkxfer_new,
+	gaim_gtkxfer_new_xfer,
 	gaim_gtkxfer_destroy,
 	gaim_gtkxfer_request_file,
 	gaim_gtkxfer_ask_cancel,
@@ -1190,18 +1188,18 @@
 }
 
 void
-gaim_set_gtkxfer_dialog(struct gaim_gtkxfer_dialog *dialog)
+gaim_set_gtkxfer_dialog(GaimGtkXferDialog *dialog)
 {
 	xfer_dialog = dialog;
 }
 
-struct gaim_gtkxfer_dialog *
+GaimGtkXferDialog *
 gaim_get_gtkxfer_dialog(void)
 {
 	return xfer_dialog;
 }
 
-struct gaim_xfer_ui_ops *
+GaimXferUiOps *
 gaim_get_gtk_xfer_ui_ops(void)
 {
 	return &ops;