ekiga r6438 - trunk/lib/engine/gui/gtk-frontend
- From: jpuydt svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6438 - trunk/lib/engine/gui/gtk-frontend
- Date: Thu, 10 Jul 2008 20:26:14 +0000 (UTC)
Author: jpuydt
Date: Thu Jul 10 20:26:13 2008
New Revision: 6438
URL: http://svn.gnome.org/viewvc/ekiga?rev=6438&view=rev
Log:
Use the new SimpleChatPage and MultipleChatPage
Modified:
trunk/lib/engine/gui/gtk-frontend/chat-window.cpp
Modified: trunk/lib/engine/gui/gtk-frontend/chat-window.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-frontend/chat-window.cpp (original)
+++ trunk/lib/engine/gui/gtk-frontend/chat-window.cpp Thu Jul 10 20:26:13 2008
@@ -36,7 +36,8 @@
*/
#include "chat-window.h"
-#include "chat-area.h"
+#include "simple-chat-page.h"
+#include "multiple-chat-page.h"
struct _ChatWindowPrivate
{
@@ -46,6 +47,7 @@
Ekiga::ChatCore& core;
sigc::connection dialect_added_connection;
std::list<sigc::connection> simple_chat_added_connections;
+ std::list<sigc::connection> multiple_chat_added_connections;
GtkWidget* notebook;
};
@@ -59,6 +61,9 @@
static bool on_simple_chat_added (ChatWindow* self,
bool on_user_request,
Ekiga::SimpleChat &chat);
+static bool on_multiple_chat_added (ChatWindow* self,
+ bool on_user_request,
+ Ekiga::MultipleChat &chat);
/* signal callbacks (implementations) */
@@ -67,8 +72,10 @@
Ekiga::Dialect& dialect)
{
self->priv->simple_chat_added_connections.push_front (dialect.simple_chat_added.connect (sigc::hide_return (sigc::bind<0> (sigc::ptr_fun (on_simple_chat_added), self))));
+ self->priv->multiple_chat_added_connections.push_front (dialect.multiple_chat_added.connect (sigc::hide_return (sigc::bind<0> (sigc::ptr_fun (on_multiple_chat_added), self))));
dialect.visit_simple_chats (sigc::bind<0> (sigc::bind<0> (sigc::ptr_fun (on_simple_chat_added), self), false));
+ dialect.visit_multiple_chats (sigc::bind<0> (sigc::bind<0> (sigc::ptr_fun (on_multiple_chat_added), self), false));
return true;
}
@@ -82,7 +89,33 @@
GtkWidget* label = NULL;
gint num;
- page = chat_area_new (chat);
+ page = simple_chat_page_new (chat);
+ label = gtk_label_new (chat.get_title ().c_str ());
+
+ num = gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
+ page, label);
+ gtk_widget_show_all (page);
+
+ if (on_user_request) {
+
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), num);
+ gtk_widget_show (GTK_WIDGET (self));
+ gtk_window_present (GTK_WINDOW (self));
+ }
+
+ return true;
+}
+
+static bool
+on_multiple_chat_added (ChatWindow* self,
+ bool on_user_request,
+ Ekiga::MultipleChat &chat)
+{
+ GtkWidget* page = NULL;
+ GtkWidget* label = NULL;
+ gint num;
+
+ page = multiple_chat_page_new (chat);
label = gtk_label_new (chat.get_title ().c_str ());
num = gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
@@ -125,6 +158,12 @@
++iter)
iter->disconnect ();
+ for (std::list<sigc::connection>::iterator iter
+ = self->priv->multiple_chat_added_connections.begin ();
+ iter != self->priv->multiple_chat_added_connections.end ();
+ ++iter)
+ iter->disconnect ();
+
delete self->priv;
self->priv = NULL;
@@ -148,11 +187,8 @@
chat_window_init (GTypeInstance* instance,
G_GNUC_UNUSED gpointer g_class)
{
- ChatWindow* self = NULL;
-
- self = (ChatWindow*)instance;
-
- // hmmm...
+ /* we can't do much here since we get the Chat as reference... */
+ gtk_window_set_title (GTK_WINDOW (instance), "Chat window");
}
GType
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]