#include <gtk/gtk.h>
#include <gio/gio.h>
+#include <libempathy/empathy-gsettings.h>
#include <libempathy/empathy-utils.h>
#include "empathy-avatar-chooser.h"
-#include "empathy-conf.h"
#include "empathy-images.h"
#include "empathy-ui-utils.h"
gulong ready_handler_id;
EmpathyAvatar *avatar;
+ GSettings *gsettings_ui;
} EmpathyAvatarChooserPriv;
static void avatar_chooser_finalize (GObject *object);
G_N_ELEMENTS (drop_types),
GDK_ACTION_COPY);
+ priv->gsettings_ui = g_settings_new (EMPATHY_PREFS_UI_SCHEMA);
+
g_signal_connect (chooser, "drag-motion",
G_CALLBACK (avatar_chooser_drag_motion_cb),
chooser);
empathy_avatar_unref (priv->avatar);
}
+ g_object_unref (priv->gsettings_ui);
+
G_OBJECT_CLASS (empathy_avatar_chooser_parent_class)->finalize (object);
}
/* Takes ownership of new_mime_type and best_image_data */
avatar = empathy_avatar_new ((guchar *) best_image_data,
- best_image_size, new_mime_type, NULL, NULL);
+ best_image_size, new_mime_type, NULL);
return avatar;
}
}
/* avatar takes ownership of data and mime_type */
- avatar = empathy_avatar_new ((guchar *) data, size, mime_type, NULL, NULL);
+ avatar = empathy_avatar_new ((guchar *) data, size, mime_type, NULL);
avatar_chooser_set_image (chooser, avatar, pixbuf, set_locally);
}
priv = GET_PRIV (chooser);
- for (p = context->targets; p != NULL; p = p->next) {
+ for (p = gdk_drag_context_list_targets (context); p != NULL;
+ p = p->next) {
gchar *possible_type;
possible_type = gdk_atom_name (GDK_POINTER_TO_ATOM (p->data));
priv = GET_PRIV (chooser);
- if (context->targets == NULL) {
+ if (gdk_drag_context_list_targets (context) == NULL) {
return FALSE;
}
- for (p = context->targets; p != NULL; p = p->next) {
+ for (p = gdk_drag_context_list_targets (context);
+ p != NULL; p = p->next) {
char *possible_type;
possible_type = gdk_atom_name (GDK_POINTER_TO_ATOM (p->data));
path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (widget));
if (path) {
- empathy_conf_set_string (empathy_conf_get (),
- EMPATHY_PREFS_UI_AVATAR_DIRECTORY,
- path);
+ g_settings_set_string (priv->gsettings_ui,
+ EMPATHY_PREFS_UI_AVATAR_DIRECTORY,
+ path);
+
g_free (path);
}
}
gtk_window_set_destroy_with_parent (GTK_WINDOW (chooser_dialog), TRUE);
/* Get special dirs */
- empathy_conf_get_string (empathy_conf_get (),
- EMPATHY_PREFS_UI_AVATAR_DIRECTORY,
- &saved_dir);
+ saved_dir = g_settings_get_string (priv->gsettings_ui,
+ EMPATHY_PREFS_UI_AVATAR_DIRECTORY);
+
if (saved_dir && !g_file_test (saved_dir, G_FILE_TEST_IS_DIR)) {
g_free (saved_dir);
saved_dir = NULL;
chooser);
gtk_widget_show (GTK_WIDGET (chooser_dialog));
+
g_free (saved_dir);
}
* Return value: a new #EmpathyAvatarChooser
*/
GtkWidget *
-empathy_avatar_chooser_new ()
+empathy_avatar_chooser_new (void)
{
return g_object_new (EMPATHY_TYPE_AVATAR_CHOOSER, NULL);
}