]> git.0d.be Git - empathy.git/blobdiff - src/empathy-chat-window.h
use a single window, with tabs
[empathy.git] / src / empathy-chat-window.h
index 893642e7cdc5aab4e27638f5a525532c945908ad..2e64b680300714746e685f988c09e9061053ac02 100644 (file)
@@ -1,7 +1,6 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*
  * Copyright (C) 2003-2007 Imendio AB
- * Copyright (C) 2007 Collabora Ltd.
+ * Copyright (C) 2007-2012 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
@@ -15,9 +14,9 @@
  *
  * 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>
 #ifndef __EMPATHY_CHAT_WINDOW_H__
 #define __EMPATHY_CHAT_WINDOW_H__
 
-#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <telepathy-glib/telepathy-glib.h>
 
-#include <libmissioncontrol/mc-account.h>
-#include <libempathy-gtk/empathy-chat.h>
+#include "empathy-chat.h"
+#include "empathy-individual-manager.h"
 
 G_BEGIN_DECLS
 
-#define EMPATHY_TYPE_CHAT_WINDOW         (empathy_chat_window_get_type ())
-#define EMPATHY_CHAT_WINDOW(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindow))
-#define EMPATHY_CHAT_WINDOW_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindowClass))
-#define EMPATHY_IS_CHAT_WINDOW(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CHAT_WINDOW))
-#define EMPATHY_IS_CHAT_WINDOW_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CHAT_WINDOW))
-#define EMPATHY_CHAT_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindowClass))
+#define EMPATHY_TYPE_CHAT_WINDOW \
+  (empathy_chat_window_get_type ())
+#define EMPATHY_CHAT_WINDOW(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindow))
+#define EMPATHY_CHAT_WINDOW_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindowClass))
+#define EMPATHY_IS_CHAT_WINDOW(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW))
+#define EMPATHY_IS_CHAT_WINDOW_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), \
+    EMPATHY_TYPE_CHAT_WINDOW))
+#define EMPATHY_CHAT_WINDOW_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindowClass))
+
 
-typedef struct _EmpathyChatWindow      EmpathyChatWindow;
+typedef struct _EmpathyChatWindow EmpathyChatWindow;
 typedef struct _EmpathyChatWindowClass EmpathyChatWindowClass;
-typedef struct _EmpathyChatWindowPriv  EmpathyChatWindowPriv;
+typedef struct _EmpathyChatWindowPriv EmpathyChatWindowPriv;
 
-struct _EmpathyChatWindow {
-       GObject parent;
+struct _EmpathyChatWindow
+{
+  GtkBin parent;
+  EmpathyChatWindowPriv *priv;
 };
 
-struct _EmpathyChatWindowClass {
-       GObjectClass parent_class;
+struct _EmpathyChatWindowClass
+{
+  GtkBinClass parent_class;
 };
 
-GType              empathy_chat_window_get_type       (void);
-EmpathyChatWindow *empathy_chat_window_get_default    (void);
-EmpathyChatWindow *empathy_chat_window_new            (void);
-GtkWidget *        empathy_chat_window_get_dialog     (EmpathyChatWindow *window);
-void               empathy_chat_window_add_chat       (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_remove_chat    (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_move_chat      (EmpathyChatWindow *old_window,
-                                                      EmpathyChatWindow *new_window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_switch_to_chat (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-gboolean           empathy_chat_window_has_focus      (EmpathyChatWindow *window);
-EmpathyChat *      empathy_chat_window_find_chat      (McAccount        *account,
-                                                      const gchar      *id);
-void               empathy_chat_window_present_chat   (EmpathyChat      *chat);
-void               empathy_chat_save_geometry         (EmpathyChat       *chat,
-                                                      gint               x,
-                                                      gint               y,
-                                                      gint               w,
-                                                      gint               h);
-void               empathy_chat_load_geometry         (EmpathyChat       *chat,
-                                                      gint              *x,
-                                                      gint              *y,
-                                                      gint              *w,
-                                                      gint              *h);
+GType empathy_chat_window_get_type (void);
+
+EmpathyChat * empathy_chat_window_find_chat (TpAccount *account,
+    const gchar *id,
+    gboolean sms_channel);
+
+EmpathyChatWindow * empathy_chat_window_present_chat (EmpathyChat *chat,
+    gint64 timestamp);
+
+EmpathyChatWindow * empathy_chat_window_new (void);
+
+EmpathyIndividualManager * empathy_chat_window_get_individual_manager (
+    EmpathyChatWindow *self);
 
+void empathy_chat_window_next_tab (EmpathyChatWindow *self);
+void empathy_chat_window_prev_tab (EmpathyChatWindow *self);
 
 G_END_DECLS
 
-#endif /* __EMPATHY_CHAT_WINDOW_H__ */
+#endif