Smiley manager: edit window

Wed, 02 Apr 2014 16:46:52 +0200

author
Tomasz Wasilczyk <twasilczyk@pidgin.im>
date
Wed, 02 Apr 2014 16:46:52 +0200
changeset 35719
6bf3252bf6db
parent 35718
83486b5d34ab
child 35720
863f87bfc06e

Smiley manager: edit window

pidgin/gtksmiley-manager.c file | annotate | diff | comparison | revisions
--- a/pidgin/gtksmiley-manager.c	Wed Apr 02 11:54:31 2014 +0200
+++ b/pidgin/gtksmiley-manager.c	Wed Apr 02 16:46:52 2014 +0200
@@ -37,6 +37,7 @@
 
 #define PIDGIN_RESPONSE_MODIFY 1000
 
+#if 0
 typedef struct _PidginSmiley PidginSmiley;
 struct _PidginSmiley
 {
@@ -50,10 +51,20 @@
 	gsize datasize;
 	gint entry_len;
 };
+#endif
 
 typedef struct
 {
-	GtkWidget *window;
+	gchar *filename;
+
+	GtkDialog *window;
+	GtkImage *thumbnail;
+	GtkEntry *shortcut;
+} SmileyEditDialog;
+
+typedef struct
+{
+	GtkDialog *window;
 
 	GtkWidget *treeview;
 	GtkListStore *model;
@@ -70,31 +81,74 @@
 
 static SmileyManager *smiley_manager = NULL;
 
+/******************************************************************************
+ * New routines (TODO)
+ *****************************************************************************/
+
 static void
-pidgin_smiley_destroy(PidginSmiley *smiley)
+edit_dialog_destroy(GtkWidget *window, gpointer _edit_dialog)
+{
+	SmileyEditDialog *edit_dialog = _edit_dialog;
+
+	g_free(edit_dialog->filename);
+	g_free(edit_dialog);
+}
+
+static void
+edit_dialog_update_thumb(SmileyEditDialog *edit_dialog)
 {
-	if (smiley->smiley)
-		g_object_set_data(G_OBJECT(smiley->smiley), "edit-dialog", NULL);
-	gtk_widget_destroy(smiley->parent);
-	g_free(smiley->filename);
-	if (smiley->custom_pixbuf)
-		g_object_unref(G_OBJECT(smiley->custom_pixbuf));
-	g_free(smiley);
+	GdkPixbuf *pixbuf = NULL;
+
+	if (edit_dialog->filename) {
+		pixbuf = pidgin_pixbuf_new_from_file_at_scale(
+			edit_dialog->filename, 64, 64, TRUE);
+		if (!pixbuf) {
+			g_free(edit_dialog->filename);
+			edit_dialog->filename = NULL;
+		}
+	}
+	if (!pixbuf) {
+		GtkIconSize icon_size =
+			gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL);
+		pixbuf = gtk_widget_render_icon(GTK_WIDGET(edit_dialog->window),
+			PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR, icon_size,
+			"PidginSmiley");
+	}
+	g_return_if_fail(pixbuf != NULL);
+
+	gtk_image_set_from_pixbuf(GTK_IMAGE(edit_dialog->thumbnail), pixbuf);
+
+	g_object_unref(G_OBJECT(pixbuf));
 }
 
+static void
+edit_dialog_update_buttons(SmileyEditDialog *edit_dialog)
+{
+	gboolean shortcut_ok, image_ok;
+
+	shortcut_ok = (gtk_entry_get_text_length(edit_dialog->shortcut) > 0);
+	image_ok = (edit_dialog->filename != NULL);
+
+	gtk_dialog_set_response_sensitive(edit_dialog->window,
+		GTK_RESPONSE_ACCEPT, shortcut_ok && image_ok);
+}
+
+
 /******************************************************************************
  * Manager stuff
  *****************************************************************************/
 
+#if 0
 static void refresh_list(void);
+#endif
 
 /******************************************************************************
  * The Add dialog
  ******************************************************************************/
 
+#if 0
 static void do_add(GtkWidget *widget, PidginSmiley *s)
 {
-#if 0
 	const gchar *entry;
 	PurpleSmiley *emoticon;
 
@@ -174,117 +228,103 @@
 		refresh_list();
 
 	gtk_widget_destroy(s->parent);
+}
 #endif
-}
 
-static void do_add_select_cb(GtkWidget *widget, gint resp, PidginSmiley *s)
+static void
+pidgin_smiley_edit_response(GtkDialog *window, gint response_id,
+	gpointer _edit_dialog)
 {
-	switch (resp) {
+	SmileyEditDialog *edit_dialog = _edit_dialog;
+
+	switch (response_id) {
+#if 0
 		case GTK_RESPONSE_ACCEPT:
 			do_add(widget, s);
 			break;
+#endif
 		case GTK_RESPONSE_DELETE_EVENT:
 		case GTK_RESPONSE_CANCEL:
-			gtk_widget_destroy(s->parent);
+			gtk_widget_destroy(GTK_WIDGET(edit_dialog->window));
 			break;
 		default:
-			purple_debug_error("gtksmiley", "no valid response\n");
-			break;
+			g_warn_if_reached();
 	}
 }
 
-static void do_add_file_cb(const char *filename, gpointer data)
+static void do_add_file_cb(const char *filename, gpointer _edit_dialog)
 {
-	PidginSmiley *s = data;
-	GdkPixbuf *pixbuf;
+	SmileyEditDialog *edit_dialog = _edit_dialog;
 
 	if (!filename)
 		return;
 
-	g_free(s->filename);
-	s->filename = g_strdup(filename);
-	pixbuf = pidgin_pixbuf_new_from_file_at_scale(filename, 64, 64, FALSE);
-	gtk_image_set_from_pixbuf(GTK_IMAGE(s->smiley_image), pixbuf);
-	if (pixbuf)
-		g_object_unref(G_OBJECT(pixbuf));
-	gtk_widget_grab_focus(s->smile);
+	g_free(edit_dialog->filename);
+	edit_dialog->filename = g_strdup(filename);
 
-	if (s->entry_len > 0)
-		gtk_dialog_set_response_sensitive(GTK_DIALOG(s->parent), GTK_RESPONSE_ACCEPT, TRUE);
+	edit_dialog_update_thumb(edit_dialog);
+	edit_dialog_update_buttons(edit_dialog);
+
+	gtk_widget_grab_focus(GTK_WIDGET(edit_dialog->shortcut));
 }
 
 static void
-open_image_selector(GtkWidget *widget, PidginSmiley *psmiley)
+open_image_selector(GtkWidget *widget, gpointer _edit_dialog)
 {
 	GtkWidget *file_chooser;
-	file_chooser = pidgin_buddy_icon_chooser_new(GTK_WINDOW(gtk_widget_get_toplevel(widget)),
-			do_add_file_cb, psmiley);
+	file_chooser = pidgin_buddy_icon_chooser_new(
+		GTK_WINDOW(gtk_widget_get_toplevel(widget)),
+		do_add_file_cb, _edit_dialog);
 	gtk_window_set_title(GTK_WINDOW(file_chooser), _("Custom Smiley"));
-	gtk_window_set_role(GTK_WINDOW(file_chooser), "file-selector-custom-smiley");
+	gtk_window_set_role(GTK_WINDOW(file_chooser),
+		"file-selector-custom-smiley");
 	gtk_widget_show_all(file_chooser);
 }
 
 static void
-smiley_name_insert_cb(GtkEditable *editable,
-                      gchar       *new_text,
-                      gint         new_text_length,
-                      gint        *position,
-                      gpointer     user_data)
+smiley_shortcut_changed(GtkEditable *shortcut, gpointer _edit_dialog)
 {
-	PidginSmiley *s = user_data;
-	if (new_text_length != -1)
-		s->entry_len += new_text_length;
-	else
-		s->entry_len += strlen(new_text);
+	SmileyEditDialog *edit_dialog = _edit_dialog;
 
-	if (s->filename != NULL || s->custom_pixbuf != NULL || s->smiley != NULL)
-		gtk_dialog_set_response_sensitive(GTK_DIALOG(s->parent), GTK_RESPONSE_ACCEPT, TRUE);
+	edit_dialog_update_buttons(edit_dialog);
 }
 
+/* TODO: is <widget> really necessary? */
 static void
-smiley_name_delete_cb(GtkEditable *editable,
-                      gint         start_pos,
-                      gint         end_pos,
-                      gpointer     user_data)
-{
-	PidginSmiley *s = user_data;
-	s->entry_len -= end_pos - start_pos;
-
-	if (s->entry_len <= 0)
-		gtk_dialog_set_response_sensitive(GTK_DIALOG(s->parent), GTK_RESPONSE_ACCEPT, FALSE);
-}
-
-static PidginSmiley *
 pidgin_smiley_edit(GtkWidget *widget, PurpleSmiley *smiley)
 {
-#if 0
+	SmileyEditDialog *edit_dialog;
+
 	GtkWidget *vbox;
 	GtkWidget *hbox;
 	GtkWidget *label;
 	GtkWidget *filech;
-	GtkWidget *window;
-	GdkPixbuf *pixbuf = NULL;
-	PurpleStoredImage *stored_img;
+
+	edit_dialog = g_new0(SmileyEditDialog, 1);
 
-	PidginSmiley *s = g_new0(PidginSmiley, 1);
-	s->smiley = smiley;
+	if (smiley) {
+		edit_dialog->filename =
+			g_strdup(purple_smiley_get_path(smiley));
+	}
 
-	window = gtk_dialog_new_with_buttons(smiley ? _("Edit Smiley") : _("Add Smiley"),
+	edit_dialog->window = GTK_DIALOG(gtk_dialog_new_with_buttons(smiley ? _("Edit Smiley") : _("Add Smiley"),
 			widget ? GTK_WINDOW(widget) : NULL,
 			GTK_DIALOG_DESTROY_WITH_PARENT,
 			GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
 			smiley ? GTK_STOCK_SAVE : GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT,
-			NULL);
-	s->parent = window;
-	if (smiley)
-		g_object_set_data(G_OBJECT(smiley), "edit-dialog", window);
+			NULL));
+//	if (smiley)
+//		g_object_set_data(G_OBJECT(smiley), "edit-dialog", window);
 
 #if !GTK_CHECK_VERSION(3,0,0)
-	gtk_container_set_border_width(GTK_CONTAINER(window), PIDGIN_HIG_BORDER);
+	gtk_container_set_border_width(
+		GTK_CONTAINER(edit_dialog->window), PIDGIN_HIG_BORDER);
 #endif
 
-	gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT);
-	g_signal_connect(window, "response", G_CALLBACK(do_add_select_cb), s);
+	gtk_dialog_set_default_response(
+		edit_dialog->window, GTK_RESPONSE_ACCEPT);
+	g_signal_connect(edit_dialog->window, "response",
+		G_CALLBACK(pidgin_smiley_edit_response), edit_dialog);
 
 	/* The vbox */
 #if GTK_CHECK_VERSION(3,0,0)
@@ -293,8 +333,8 @@
 #else
 	vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER);
 #endif
-	gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(window))),
-                    vbox);
+	gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(
+		edit_dialog->window)), vbox);
 	gtk_widget_show(vbox);
 
 	/* The hbox */
@@ -323,21 +363,12 @@
 #endif
 	pidgin_set_accessible_label(filech, label);
 
-	s->smiley_image = gtk_image_new();
-	gtk_container_add(GTK_CONTAINER(filech), s->smiley_image);
-	if (smiley && (stored_img = purple_smiley_get_stored_image(smiley))) {
-		pixbuf = pidgin_pixbuf_from_imgstore(stored_img);
-		purple_imgstore_unref(stored_img);
-	} else {
-		GtkIconSize icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_SMALL);
-		pixbuf = gtk_widget_render_icon(window, PIDGIN_STOCK_TOOLBAR_SELECT_AVATAR,
-				icon_size, "PidginSmiley");
-	}
+	edit_dialog->thumbnail = GTK_IMAGE(gtk_image_new());
+	gtk_container_add(GTK_CONTAINER(filech),
+		GTK_WIDGET(edit_dialog->thumbnail));
 
-	gtk_image_set_from_pixbuf(GTK_IMAGE(s->smiley_image), pixbuf);
-	if (pixbuf != NULL)
-		g_object_unref(G_OBJECT(pixbuf));
-	g_signal_connect(G_OBJECT(filech), "clicked", G_CALLBACK(open_image_selector), s);
+	g_signal_connect(G_OBJECT(filech), "clicked",
+		G_CALLBACK(open_image_selector), edit_dialog);
 
 	gtk_widget_show_all(hbox);
 
@@ -361,46 +392,44 @@
 #endif
 	gtk_widget_show(label);
 
-	s->smile = gtk_entry_new();
-	gtk_entry_set_activates_default(GTK_ENTRY(s->smile), TRUE);
-	pidgin_set_accessible_label(s->smile, label);
+	edit_dialog->shortcut = GTK_ENTRY(gtk_entry_new());
+	gtk_entry_set_activates_default(edit_dialog->shortcut, TRUE);
+	pidgin_set_accessible_label(GTK_WIDGET(edit_dialog->shortcut), label);
 	if (smiley) {
-		const char *shortcut = purple_smiley_get_shortcut(smiley);
-		gtk_entry_set_text(GTK_ENTRY(s->smile), shortcut);
-		s->entry_len = strlen(shortcut);
+		gtk_entry_set_text(edit_dialog->shortcut,
+			purple_smiley_get_shortcut(smiley));
 	}
-	else
-		gtk_dialog_set_response_sensitive(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT, FALSE);
 
-	/* gtk_entry_get_text_length is 2.14+, so we'll just keep track ourselves */
-	g_signal_connect(G_OBJECT(s->smile), "insert-text", G_CALLBACK(smiley_name_insert_cb), s);
-	g_signal_connect(G_OBJECT(s->smile), "delete-text", G_CALLBACK(smiley_name_delete_cb), s);
+	edit_dialog_update_thumb(edit_dialog);
+	edit_dialog_update_buttons(edit_dialog);
+
+	g_signal_connect(edit_dialog->shortcut, "changed",
+		G_CALLBACK(smiley_shortcut_changed), edit_dialog);
 
 #if GTK_CHECK_VERSION(3,0,0)
-	gtk_grid_attach_next_to(GTK_GRID(hbox), s->smile, NULL, GTK_POS_RIGHT, 1, 1);
+	gtk_grid_attach_next_to(GTK_GRID(hbox), GTK_WIDGET(edit_dialog->shortcut), NULL, GTK_POS_RIGHT, 1, 1);
 #else
-	gtk_box_pack_end(GTK_BOX(hbox), s->smile, FALSE, FALSE, 0);
+	gtk_box_pack_end(GTK_BOX(hbox), GTK_WIDGET(edit_dialog->shortcut), FALSE, FALSE, 0);
 #endif
-	gtk_widget_show(s->smile);
+	gtk_widget_show(GTK_WIDGET(edit_dialog->shortcut));
 
 	gtk_widget_show(hbox);
 
-	gtk_widget_show(GTK_WIDGET(window));
-	g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(pidgin_smiley_destroy), s);
-	g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(purple_notify_close_with_handle), s);
-
-	return s;
-#else
-	return NULL;
-#endif
+	gtk_widget_show(GTK_WIDGET(edit_dialog->window));
+	g_signal_connect(edit_dialog->window, "destroy",
+		G_CALLBACK(edit_dialog_destroy), edit_dialog);
+//	g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(purple_notify_close_with_handle), s);
 }
 
+#if 0
 static void
 pidgin_smiley_editor_set_shortcut(PidginSmiley *editor, const gchar *shortcut)
 {
 	gtk_entry_set_text(GTK_ENTRY(editor->smile), shortcut ? shortcut : "");
 }
+#endif
 
+#if 0
 static void
 pidgin_smiley_editor_set_image(PidginSmiley *editor, GdkPixbuf *image)
 {
@@ -416,22 +445,27 @@
 	else
 		gtk_dialog_set_response_sensitive(GTK_DIALOG(editor->parent),
 		                                  GTK_RESPONSE_ACCEPT, FALSE);
+
+	edit_dialog_update_buttons(...);
 }
+#endif
 
+#if 0
 static void
 pidgin_smiley_editor_set_data(PidginSmiley *editor, gpointer data, gsize datasize)
 {
 	editor->data = data;
 	editor->datasize = datasize;
 }
+#endif
 
 /******************************************************************************
  * Delete smiley
  *****************************************************************************/
+#if 0
 static void delete_foreach(GtkTreeModel *model, GtkTreePath *path,
 		GtkTreeIter *iter, gpointer data)
 {
-#if 0
 	PurpleSmiley *smiley = NULL;
 
 	gtk_tree_model_get(model, iter,
@@ -443,16 +477,19 @@
 		pidgin_smiley_del_from_list(smiley);
 		purple_smiley_delete(smiley);
 	}
+}
 #endif
-}
 
+#if 0
 static void append_to_list(GtkTreeModel *model, GtkTreePath *path,
 		GtkTreeIter *iter, gpointer data)
 {
 	GList **list = data;
 	*list = g_list_prepend(*list, gtk_tree_path_copy(path));
 }
+#endif
 
+#if 0
 static void smiley_delete(SmileyManager *dialog)
 {
 	GtkTreeSelection *selection;
@@ -470,9 +507,11 @@
 		list = g_list_delete_link(list, list);
 	}
 }
+#endif
 /******************************************************************************
  * The Smiley Manager
  *****************************************************************************/
+#if 0
 static void add_columns(GtkWidget *treeview, SmileyManager *dialog)
 {
 	GtkCellRenderer *rend;
@@ -498,10 +537,11 @@
 	gtk_tree_view_column_pack_start(column, rend, TRUE);
 	gtk_tree_view_column_add_attribute(column, rend, "text", SHORTCUT);
 }
+#endif
 
+#if 0
 static void store_smiley_add(PurpleSmiley *smiley)
 {
-#if 0
 	GtkTreeIter iter;
 	PurpleStoredImage *img;
 	GdkPixbuf *sized_smiley = NULL;
@@ -539,12 +579,12 @@
 
 	if (sized_smiley != NULL)
 		g_object_unref(G_OBJECT(sized_smiley));
+}
 #endif
-}
 
+#if 0
 static void populate_smiley_list(SmileyManager *dialog)
 {
-#if 0
 	GList *list;
 	PurpleSmiley *emoticon;
 
@@ -556,22 +596,25 @@
 
 		store_smiley_add(emoticon);
 	}
+}
 #endif
-}
 
+#if 0
 static void smile_selected_cb(GtkTreeSelection *sel, SmileyManager *dialog)
 {
 	gint selected;
 
 	selected = gtk_tree_selection_count_selected_rows(sel);
 
-	gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog->window),
+	gtk_dialog_set_response_sensitive(dialog->window,
 			GTK_RESPONSE_NO, selected > 0);
 
-	gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog->window),
+	gtk_dialog_set_response_sensitive(dialog->window,
 	                                  PIDGIN_RESPONSE_MODIFY, selected > 0);
 }
+#endif
 
+#if 0
 static void
 smiley_edit_iter(SmileyManager *dialog, GtkTreeIter *iter)
 {
@@ -584,7 +627,9 @@
 		pidgin_smiley_edit(gtk_widget_get_toplevel(GTK_WIDGET(dialog->treeview)), smiley);
 	g_object_unref(G_OBJECT(smiley));
 }
+#endif
 
+#if 0
 static void smiley_edit_cb(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data)
 {
 	GtkTreeIter iter;
@@ -593,13 +638,17 @@
 	gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path);
 	smiley_edit_iter(dialog, &iter);
 }
+#endif
 
+#if 0
 static void
 edit_selected_cb(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
 {
 	smiley_edit_iter(data, iter);
 }
+#endif
 
+#if 0
 static void
 smiley_got_url(PurpleHttpConnection *http_conn, PurpleHttpResponse *response,
 	gpointer _dialog)
@@ -621,11 +670,13 @@
 	if (!image)
 		return;
 
-	ps = pidgin_smiley_edit(dialog->window, NULL);
+	ps = pidgin_smiley_edit(GTK_WIDGET(dialog->window), NULL);
 	pidgin_smiley_editor_set_image(ps, image);
 	pidgin_smiley_editor_set_data(ps, g_memdup(smileydata, len), len);
 }
+#endif
 
+#if 0
 static void
 smiley_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y,
 		GtkSelectionData *sd, guint info, guint t, gpointer user_data)
@@ -650,7 +701,7 @@
 							"g_filename_from_uri error"));
 				return;
 			}
-			ps = pidgin_smiley_edit(dialog->window, NULL);
+			ps = pidgin_smiley_edit(GTK_WIDGET(dialog->window), NULL);
 			do_add_file_cb(tmp, ps);
 			if (gtk_image_get_pixbuf(GTK_IMAGE(ps->smiley_image)) == NULL)
 				gtk_dialog_response(GTK_DIALOG(ps->parent), GTK_RESPONSE_CANCEL);
@@ -671,7 +722,9 @@
 
 	gtk_drag_finish(dc, FALSE, FALSE, t);
 }
+#endif
 
+#if 0
 static GtkWidget *smiley_list_create(SmileyManager *dialog)
 {
 	GtkWidget *treeview;
@@ -714,46 +767,59 @@
 
 	return pidgin_make_scrollable(treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1);
 }
+#endif
 
+#if 0
 static void refresh_list()
 {
 	populate_smiley_list(smiley_manager);
 }
+#endif
 
-static void smiley_manager_select_cb(GtkWidget *widget, gint resp, SmileyManager *dialog)
+static void
+smiley_manager_select_cb(GtkWidget *widget, gint resp, SmileyManager *dialog)
 {
+#if 0
 	GtkTreeSelection *selection = NULL;
+#endif
 
 	switch (resp) {
 		case GTK_RESPONSE_YES:
-			pidgin_smiley_edit(dialog->window, NULL);
+			pidgin_smiley_edit(GTK_WIDGET(dialog->window), NULL);
 			break;
+#if 0
 		case GTK_RESPONSE_NO:
 			smiley_delete(dialog);
 			break;
+#endif
 		case GTK_RESPONSE_DELETE_EVENT:
 		case GTK_RESPONSE_CLOSE:
-			gtk_widget_destroy(dialog->window);
+			gtk_widget_destroy(GTK_WIDGET(dialog->window));
 			purple_http_conn_cancel(smiley_manager->running_request);
 			g_free(smiley_manager);
 			smiley_manager = NULL;
 			break;
+#if 0
 		case PIDGIN_RESPONSE_MODIFY:
 			/* Find smiley of selection... */
 			selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
 			gtk_tree_selection_selected_foreach(selection, edit_selected_cb, dialog);
 			break;
+#endif
 		default:
 			purple_debug_info("gtksmiley", "No valid selection\n");
 			break;
 	}
 }
 
-void pidgin_smiley_manager_show(void)
+void
+pidgin_smiley_manager_show(void)
 {
 	SmileyManager *dialog;
-	GtkWidget *win;
+	GtkDialog *win;
+#if 0
 	GtkWidget *sw;
+#endif
 	GtkWidget *vbox;
 
 	if (smiley_manager) {
@@ -764,36 +830,35 @@
 	dialog = g_new0(SmileyManager, 1);
 	smiley_manager = dialog;
 
-	dialog->window = win = gtk_dialog_new_with_buttons(
-			_("Custom Smiley Manager"),
-			NULL,
-			GTK_DIALOG_DESTROY_WITH_PARENT,
-			PIDGIN_STOCK_ADD, GTK_RESPONSE_YES,
-			PIDGIN_STOCK_MODIFY, PIDGIN_RESPONSE_MODIFY,
-			GTK_STOCK_DELETE, GTK_RESPONSE_NO,
-			GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
-			NULL);
+	dialog->window = win = GTK_DIALOG(gtk_dialog_new_with_buttons(
+		_("Custom Smiley Manager"), NULL,
+		GTK_DIALOG_DESTROY_WITH_PARENT,
+		PIDGIN_STOCK_ADD, GTK_RESPONSE_YES,
+		PIDGIN_STOCK_MODIFY, PIDGIN_RESPONSE_MODIFY,
+		GTK_STOCK_DELETE, GTK_RESPONSE_NO,
+		GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+		NULL));
 
 	gtk_window_set_default_size(GTK_WINDOW(win), 50, 400);
 	gtk_window_set_role(GTK_WINDOW(win), "custom_smiley_manager");
 #if !GTK_CHECK_VERSION(3,0,0)
 	gtk_container_set_border_width(GTK_CONTAINER(win),PIDGIN_HIG_BORDER);
 #endif
-	gtk_dialog_set_response_sensitive(GTK_DIALOG(win), GTK_RESPONSE_NO, FALSE);
-	gtk_dialog_set_response_sensitive(GTK_DIALOG(win),
-	                                  PIDGIN_RESPONSE_MODIFY, FALSE);
+	gtk_dialog_set_response_sensitive(win, GTK_RESPONSE_NO, FALSE);
+	gtk_dialog_set_response_sensitive(win, PIDGIN_RESPONSE_MODIFY, FALSE);
 
-	g_signal_connect(win, "response", G_CALLBACK(smiley_manager_select_cb),
-			dialog);
+	g_signal_connect(win, "response",
+		G_CALLBACK(smiley_manager_select_cb), dialog);
 
 	/* The vbox */
-	vbox = gtk_dialog_get_content_area(GTK_DIALOG(win));
+	vbox = gtk_dialog_get_content_area(win);
 
+#if 0
 	/* get the scrolled window with all stuff */
 	sw = smiley_list_create(dialog);
 	gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
 	gtk_widget_show(sw);
+#endif
 
-	gtk_widget_show(win);
+	gtk_widget_show(GTK_WIDGET(win));
 }
-

mercurial