]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-ui-utils.h
individual_view_drag_end: remove the auto scroll
[empathy.git] / libempathy-gtk / empathy-ui-utils.h
index 285b66452c42c31b14c65ccdee08cb1f2e4568f5..2ffbf2cd8a932706d141b60972afb0a4b3031c59 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*
  * Copyright (C) 2002-2007 Imendio AB
- * Copyright (C) 2007-2008 Collabora Ltd.
+ * Copyright (C) 2007-2010 Collabora Ltd.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
  *
  * 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., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
- * 
+ *          Travis Reitter <travis.reitter@collabora.co.uk>
+ *
  *          Part of this file is copied from GtkSourceView (gtksourceiter.c):
  *          Paolo Maggi
  *          Jeroen Zwartepoorte
 #define __EMPATHY_UI_UTILS_H__
 
 #include <gtk/gtk.h>
-#include <glade/glade.h>
 
-#include <libmissioncontrol/mc-account.h>
-#include <libmissioncontrol/mc-profile.h>
+#include <folks/folks.h>
 
 #include <libempathy/empathy-contact.h>
+#include <libempathy/empathy-ft-handler.h>
 
 #include "empathy-chat-view.h"
 
 G_BEGIN_DECLS
 
-#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
+#define EMPATHY_RECT_IS_ON_SCREEN(x,y,w,h) ((x) + (w) > 0 && \
+                                           (y) + (h) > 0 && \
+                                           (x) < gdk_screen_width () && \
+                                           (y) < gdk_screen_height ())
+
+typedef void (*EmpathyPixbufAvatarFromIndividualCb) (FolksIndividual *individual,
+               GdkPixbuf *pixbuf,
+               gpointer user_data);
 
 void            empathy_gtk_init                        (void);
+
 /* Glade */
-void            empathy_glade_get_file_simple           (const gchar      *filename,
-                                                        const gchar      *root,
-                                                        const gchar      *domain,
-                                                        const gchar      *first_required_widget,
-                                                        ...);
-GladeXML *      empathy_glade_get_file                  (const gchar      *filename,
-                                                        const gchar      *root,
-                                                        const gchar      *domain,
-                                                        const gchar      *first_required_widget,
+GtkBuilder *    empathy_builder_get_file                (const gchar      *filename,
+                                                        const gchar      *first_object,
                                                         ...);
-void            empathy_glade_connect                   (GladeXML         *gui,
+void            empathy_builder_connect                 (GtkBuilder       *gui,
                                                         gpointer          user_data,
-                                                        gchar            *first_widget,
-                                                        ...);
-void            empathy_glade_setup_size_group          (GladeXML         *gui,
-                                                        GtkSizeGroupMode  mode,
-                                                        gchar            *first_widget,
+                                                        const gchar      *first_object,
                                                         ...);
+GtkWidget     *empathy_builder_unref_and_keep_widget    (GtkBuilder       *gui,
+                                                        GtkWidget        *root);
+
 /* Pixbufs */
-const gchar * empathy_icon_name_from_account            (McAccount        *account);
-const gchar * empathy_icon_name_for_presence            (McPresence        presence);
+const gchar * empathy_icon_name_for_presence            (TpConnectionPresenceType  presence);
 const gchar * empathy_icon_name_for_contact             (EmpathyContact   *contact);
+const gchar * empathy_icon_name_for_individual          (FolksIndividual  *individual);
+const gchar * empathy_protocol_name_for_contact         (EmpathyContact   *contact);
 GdkPixbuf *   empathy_pixbuf_from_data                  (gchar            *data,
                                                         gsize             data_size);
 GdkPixbuf *   empathy_pixbuf_from_data_and_mime         (gchar            *data,
                                                         gsize             data_size,
                                                         gchar           **mime_type);
+void empathy_pixbuf_avatar_from_individual_scaled_async (FolksIndividual     *individual,
+                                                        gint                 width,
+                                                        gint                 height,
+                                                        GCancellable        *cancellable,
+                                                        GAsyncReadyCallback  callback,
+                                                        gpointer             user_data);
+GdkPixbuf * empathy_pixbuf_avatar_from_individual_scaled_finish (
+                                                        FolksIndividual  *individual,
+                                                        GAsyncResult     *result,
+                                                        GError          **error);
 GdkPixbuf *   empathy_pixbuf_from_avatar_scaled         (EmpathyAvatar    *avatar,
                                                         gint              width,
                                                         gint              height);
 GdkPixbuf *   empathy_pixbuf_avatar_from_contact_scaled (EmpathyContact   *contact,
                                                         gint              width,
                                                         gint              height);
-GdkPixbuf * empathy_pixbuf_scale_down_if_necessary      (GdkPixbuf        *pixbuf,
+GdkPixbuf *   empathy_pixbuf_protocol_from_contact_scaled (EmpathyContact   *contact,
+                                                        gint              width,
+                                                        gint              height);
+GdkPixbuf *   empathy_pixbuf_contact_status_icon (EmpathyContact   *contact,
+                                                        gboolean          show_protocol);
+GdkPixbuf *   empathy_pixbuf_contact_status_icon_with_icon_name (EmpathyContact   *contact,
+                                                        const gchar       *icon_name,
+                                                        gboolean          show_protocol);
+GdkPixbuf *   empathy_pixbuf_scale_down_if_necessary    (GdkPixbuf        *pixbuf,
                                                         gint              max_size);
-GdkPixbuf * empathy_pixbuf_from_icon_name               (const gchar      *icon_name,
+GdkPixbuf *   empathy_pixbuf_from_icon_name             (const gchar      *icon_name,
+                                                        GtkIconSize       icon_size);
+GdkPixbuf *   empathy_pixbuf_from_icon_name_sized       (const gchar      *icon_name,
+                                                        gint              size);
+gchar *       empathy_filename_from_icon_name           (const gchar      *icon_name,
                                                         GtkIconSize       icon_size);
+
 /* Text view */
 gboolean    empathy_text_iter_forward_search            (const GtkTextIter*iter,
                                                         const gchar      *str,
@@ -97,28 +121,45 @@ gboolean    empathy_text_iter_backward_search           (const GtkTextIter*iter,
                                                         GtkTextIter      *match_end,
                                                         const GtkTextIter*limit);
 /* Windows */
-gboolean    empathy_window_get_is_visible               (GtkWindow        *window);
-void        empathy_window_present                      (GtkWindow        *window,
-                                                        gboolean          steal_focus);
-void        empathy_window_iconify                      (GtkWindow        *window,
-                                                        GtkStatusIcon    *status_icon);
+void        empathy_window_present                      (GtkWindow *window);
+void        empathy_window_present_with_time            (GtkWindow        *window,
+                                                        guint32 timestamp);
 GtkWindow * empathy_get_toplevel_window                 (GtkWidget        *widget);
+
+void empathy_move_to_window_desktop (GtkWindow *window,
+    guint32 timestamp);
+
+/* URL */
+gchar *     empathy_make_absolute_url                   (const gchar      *url);
+
+gchar *     empathy_make_absolute_url_len               (const gchar      *url,
+                                                        guint             len);
 void        empathy_url_show                            (GtkWidget        *parent,
                                                         const char       *url);
-void        empathy_toggle_button_set_state_quietly     (GtkWidget        *widget,
-                                                        GCallback         callback,
-                                                        gpointer          user_data,
-                                                        gboolean          active);
-GtkWidget * empathy_link_button_new                     (const gchar      *url,
-                                                        const gchar      *title);
 
+/* File transfer */
+void        empathy_send_file                           (EmpathyContact   *contact,
+                                                        GFile            *file);
+void        empathy_send_file_from_uri_list             (EmpathyContact   *contact,
+                                                        const gchar      *uri_list);
 void        empathy_send_file_with_file_chooser         (EmpathyContact   *contact);
+void        empathy_receive_file_with_file_chooser      (EmpathyFTHandler *handler);
+
+/* Misc */
+void        empathy_make_color_whiter                   (GdkRGBA *color);
+
+GtkWidget * empathy_context_menu_new                    (GtkWidget *attach_to);
+
+gint64      empathy_get_current_action_time             (void);
+
+gboolean empathy_individual_match_string (
+    FolksIndividual *individual,
+    const gchar *text,
+    GPtrArray *words);
 
-/* Sounds */
-void        empathy_sound_play                          (GtkWidget        *widget,
-                                                        const char       *key,
-                                                        const char       *event_id,
-                                                        const char       *description);
+void empathy_launch_program (const gchar *dir,
+    const gchar *name,
+    const gchar *args);
 
 G_END_DECLS