[GnomeMeeting-devel-list] Bug
- From: "Stephane Troestler" <stephane troestler free fr>
- To: <gnomemeeting-devel-list gnome org>
- Subject: [GnomeMeeting-devel-list] Bug
- Date: Tue, 27 Jan 2004 18:11:00 +0100
Hello,
i'm working on integrating your application into a custom apppliance. I just
found a minor bug. Don't know if i should post it here.
My system : Redhat Linux 9 with gnome desktop and all updartes. Compiled
Gnomemeeting Sources 0.98.5.
The Bug : When I drag the toolbars out of the main window make a call and
then interrupt it by clicking on the red phone icon -> Exit (Quitter in
French) the toolbars don't disapear with the rest of gnomemeeting.
Sincerely
Stephane Troestler
-----Message d'origine-----
De : gnomemeeting-devel-list-admin gnome org
[mailto:gnomemeeting-devel-list-admin gnome org]De la part de
gnomemeeting-devel-list-request gnome org
Envoyé : mardi 27 janvier 2004 16:07
À : gnomemeeting-devel-list gnome org
Objet : Gnomemeeting-devel-list digest, Vol 1 #345 - 5 msgs
Send Gnomemeeting-devel-list mailing list submissions to
gnomemeeting-devel-list gnome org
To subscribe or unsubscribe via the World Wide Web, visit
http://mail.gnome.org/mailman/listinfo/gnomemeeting-devel-list
or, via email, send a message with subject or body 'help' to
gnomemeeting-devel-list-request gnome org
You can reach the person managing the list at
gnomemeeting-devel-list-admin gnome org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Gnomemeeting-devel-list digest..."
Today's Topics:
1. Re: 1.00 Freeze (Damien Sandras)
2. Re: 1.00 Freeze (Miguel =?ISO-8859-1?Q?Rodr=EDguez?=)
3. Re: 1.00 Freeze (Christopher Warner)
4. Re: 1.00 Freeze (Damien Sandras)
5. [PRE-PATCH] private structures (PUYDT Julien)
--__--__--
Message: 1
Subject: Re: [GnomeMeeting-devel-list] 1.00 Freeze
From: Damien Sandras <damien sandras it-optics com>
To: gnomemeeting-devel-list gnome org
Date: Tue, 27 Jan 2004 11:49:02 +0100
Reply-To: gnomemeeting-devel-list gnome org
Le mar 27/01/2004 à 11:22, PUYDT Julien a écrit :
> > - When calling somebody from the ILS browser, use the IP and not the
> > callto
>
> I can have a look, as it's a part of the code I know.
>
Mmmh better not as it requires changes to urlhandler.cpp and .h.
> > - Fix XDAP, or at least comment out the messages printed in the
> > terminal
>
> I can't fix it since I don't understand it... I could probably make it
> compile without warning and stop printing debug messages, but it annoys
> me to hide problems instead of fixing them...
I think there is no other way. Paul doesn't answer anymore, and he
didn't keep its promise. It is too late to get rid of XDAP.
--
_ Damien Sandras
(o-
//\ It-Optics s.a.
v_/_ GnomeMeeting: http://www.gnomemeeting.org/
FOSDEM 2004: http://www.fosdem.org
H.323 phone: callto:ils.seconix.com/dsandras seconix com
--__--__--
Message: 2
Subject: Re: [GnomeMeeting-devel-list] 1.00 Freeze
From: Miguel =?ISO-8859-1?Q?Rodr=EDguez?= <migrax terra es>
To: gnomemeeting-devel-list gnome org
Date: Tue, 27 Jan 2004 11:49:54 +0100
Reply-To: gnomemeeting-devel-list gnome org
El mar, 27-01-2004 a las 11:45, PUYDT Julien escribi=C3=B3:
> On mar, 2004-01-27 at 11:33, Miguel Rodr=C3=ADguez wrote:
>=20
> > Both are compatible. gconf_test_age is/was great to warn people that
> > their installation was broken. Those were difficult times when nobody
> > managed to properly setup gconf. Don't know if it still relevant, but a=
s
> > a warning to the user is useful.
>=20
> This prompts the question: how does it work when a user installs a
> recent version in ~, and the system version is much older?
I'm not sure. Maybe he can directly install those in this account.
Another solution is to show some arm to the site administrator ;)*
* Don't try this at home**
** Even better, don't try this.
--__--__--
Message: 3
Subject: Re: [GnomeMeeting-devel-list] 1.00 Freeze
From: Christopher Warner <zanee kernelcode com>
To: gnomemeeting-devel-list gnome org
Cc: Fabrice Alphonso <fabrice alphonso dyndns org>
Date: Tue, 27 Jan 2004 09:21:07 -0500
Reply-To: gnomemeeting-devel-list gnome org
I can still commit the doc stuff right?
> Please don't put any patch from now in CVS.
--
Christopher Warner
[KC] http://www.kernelcode.com
--__--__--
Message: 4
Subject: Re: [GnomeMeeting-devel-list] 1.00 Freeze
From: Damien Sandras <dsandras seconix com>
To: gnomemeeting-devel-list gnome org
Date: Tue, 27 Jan 2004 15:42:00 +0100
Reply-To: gnomemeeting-devel-list gnome org
Le mar 27/01/2004 à 15:21, Christopher Warner a écrit :
> I can still commit the doc stuff right?
>
Yes, but let me have a look at it first (if it changes the code or the
configure/make process). Doc changes can directly go in CVS.
> > Please don't put any patch from now in CVS.
--
_ Damien Sandras
(o-
//\ It-Optics s.a.
v_/_ GnomeMeeting: http://www.gnomemeeting.org/
FOSDEM 2004: http://www.fosdem.org
H.323 phone: callto:ils.seconix.com/dsandras seconix com
--__--__--
Message: 5
From: PUYDT Julien <julien puydt laposte net>
To: GnomeMeeting Devel Liste <gnomemeeting-devel-list gnome org>
Date: Tue, 27 Jan 2004 15:57:17 +0100
Subject: [GnomeMeeting-devel-list] [PRE-PATCH] private structures
Reply-To: gnomemeeting-devel-list gnome org
--=-uaceEw++FZgra8+Df/yr
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Hi,
don't cry, I know it's for post 1.00, but since I was still working on
it, I wanted to have something at least a little polished before working
on something else!
The private text-chat pre-patch looked quite good, so it's the same than
last time, and is probably a patch.
The calls history pre-patch moves everything to calls_history.*, and:
* it still has the dirty function is_calls_history_model (that shows
there's some factoring to do);
* the fact that calls_history.h depends on ldap_window.h shows there
some factoring to do.
My conclusion is: the first thing to do after 1.00 is make a list of
gnomemeeting's part, with a list of what the dependancies should be, and
break those that are there but shouldn't!
Snark
--=-uaceEw++FZgra8+Df/yr
Content-Disposition: attachment; filename=private_calls_history.patch
Content-Type: text/x-patch; name=private_calls_history.patch;
charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
diff -urN gnomemeeting-cvs-20040127.CVS/src/calls_history.cpp
gnomemeeting-cvs-20040127.CVS.patched/src/calls_history.cpp
--- gnomemeeting-cvs-20040127.CVS/src/calls_history.cpp 1970-01-01
01:00:00.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/calls_history.cpp 2004-01-27
14:45:58.000000000 +0100
@@ -0,0 +1,433 @@
+
+/* GnomeMeeting -- A Video-Conferencing application
+ * Copyright (C) 2000-2004 Damien Sandras
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ *
+ *
+ * GnomeMeting is licensed under the GPL license and as a special
exception,
+ * you have permission to link or otherwise combine this program with the
+ * programs OpenH323 and Pwlib, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OpenH323 program, as
long
+ * as you do follow the requirements of the GNU GPL for all the rest of the
+ * software thus combined.
+ */
+
+
+/*
+ * calls_history.cpp - description
+ * -------------------------
+ * begin : Sun Sep 1 2002
+ * copyright : (C) 2000-2004 by Damien Sandras
+ * description : This file contains functions to manage&display
the
+ * calls history
+ */
+
+#include "common.h"
+#include "calls_history.h"
+#include "gnomemeeting.h"
+#include "gconf_widgets_extensions.h"
+#include "misc.h"
+#include "lib/stock-icons.h"
+#include "ldap_window.h"
+
+struct _GmCallsHistoryWindowPrivate
+{
+ GtkListStore *given_calls_list_store;
+ GtkListStore *received_calls_list_store;
+ GtkListStore *missed_calls_list_store;
+};
+
+/* FIXME: should really disappear soon after 1.00 */
+gboolean is_model_from_calls_history (GmCallsHistoryWindow *chw,
GtkTreeModel *model)
+{
+ return model == GTK_TREE_MODEL (chw->internal->given_calls_list_store)
+ || model == GTK_TREE_MODEL (chw->internal->received_calls_list_store)
+ || model == GTK_TREE_MODEL (chw->internal->missed_calls_list_store);
+}
+
+static void dnd_drag_data_get_cb (GtkWidget *,
+ GdkDragContext *,
+ GtkSelectionData *,
+ guint,
+ guint,
+ gpointer);
+
+/* DESCRIPTION : This callback is called when the user has released the
drag.
+ * BEHAVIOR : Puts the required data into the selection_data, we put
+ * name and the url fields for now.
+ * PRE : data = the type of the page from where the drag occured
:
+ * CONTACTS_GROUPS or CONTACTS_SERVERS.
+ */
+static void
+dnd_drag_data_get_cb (GtkWidget *tree_view,
+ GdkDragContext *dc,
+ GtkSelectionData *selection_data,
+ guint info,
+ guint t,
+ gpointer data)
+{
+ GtkTreeSelection *selection = NULL;
+ GtkTreeModel *model = NULL;
+ GtkTreeIter iter;
+
+ gchar *contact_name = NULL;
+ gchar *contact_url = NULL;
+ gchar *drag_data = NULL;
+
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
+ model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
+
+ if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+
+ gtk_tree_model_get (GTK_TREE_MODEL (model), &iter,
+ 1, &contact_name,
+ 2, &contact_url, -1);
+
+ if (contact_name && contact_url) {
+
+ drag_data = g_strdup_printf ("%s|%s", contact_name, contact_url);
+
+ gtk_selection_data_set (selection_data,
+ selection_data->target,
+ 8,
+ (const guchar *) drag_data,
+ strlen (drag_data));
+ g_free (drag_data);
+ }
+ }
+
+ g_free (contact_name);
+ g_free (contact_url);
+}
+
+
+/* The functions */
+void
+gnomemeeting_calls_history_window_populate ()
+{
+ GtkTreeIter iter;
+ GtkListStore *list_store = NULL;
+
+ gchar *gconf_key = NULL;
+ gchar **call_data = NULL;
+
+ GSList *calls_list = NULL;
+
+ GmCallsHistoryWindowPrivate *chw = NULL;
+
+ chw = GnomeMeeting::Process ()->GetCallsHistoryWindow ()->internal;
+
+ for (int i = 0 ; i < MAX_VALUE_CALL ; i++) {
+
+ switch (i) {
+
+ case RECEIVED_CALL:
+ list_store = chw->received_calls_list_store;
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY
"calls_history_window/received_calls_history");
+ break;
+ case PLACED_CALL:
+ list_store = chw->given_calls_list_store;
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY "calls_history_window/placed_calls_history");
+ break;
+ case MISSED_CALL:
+ list_store = chw->missed_calls_list_store;
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY "calls_history_window/missed_calls_history");
+ break;
+ }
+
+ gtk_list_store_clear (list_store);
+
+ calls_list = gconf_get_string_list (gconf_key);
+
+ while (calls_list && calls_list->data) {
+
+ call_data = g_strsplit ((char *) calls_list->data, "|", 0);
+
+ if (call_data) {
+
+ gtk_list_store_append (list_store, &iter);
+ gtk_list_store_set (list_store,
+ &iter,
+ 0, call_data [0],
+ 1, call_data [1],
+ 2, call_data [2],
+ 3, call_data [3],
+ 4, call_data [4],
+ 5, call_data [5],
+ -1);
+ }
+
+ g_strfreev (call_data);
+
+ calls_list = g_slist_next (calls_list);
+ }
+
+ g_free (gconf_key);
+ g_slist_free (calls_list);
+ }
+}
+
+
+void
+gnomemeeting_calls_history_window_add_call (int i,
+ const char *remote_user,
+ const char *ip,
+ const char *duration,
+ const char *reason,
+ const char *software)
+{
+ PString time;
+
+ gchar *gconf_key = NULL;
+ gchar *call_data = NULL;
+
+ GSList *calls_list = NULL;
+ GSList *tmp = NULL;
+
+ time = PTime ().AsString ("www dd MMM, hh:mm:ss");
+
+ switch (i) {
+
+ case RECEIVED_CALL:
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY
"calls_history_window/received_calls_history");
+ break;
+ case PLACED_CALL:
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY
"calls_history_window/placed_calls_history");
+ break;
+ case MISSED_CALL:
+ gconf_key =
+ g_strdup (USER_INTERFACE_KEY
"calls_history_window/missed_calls_history");
+ break;
+ }
+
+
+ call_data =
+ g_strdup_printf ("%s|%s|%s|%s|%s|%s",
+ (const char *) time ? (const char *) time : "",
+ remote_user ? remote_user : "",
+ ip ? ip : "",
+ duration ? duration : "",
+ reason ? reason : "",
+ software ? software : "");
+
+ calls_list = gconf_get_string_list (gconf_key);
+ calls_list = g_slist_append (calls_list, (gpointer) call_data);
+
+ while (g_slist_length (calls_list) > 100) {
+
+ tmp = g_slist_nth (calls_list, 0);
+ calls_list = g_slist_remove_link (calls_list, tmp);
+
+ g_slist_free_1 (tmp);
+ }
+
+ gconf_set_string_list (gconf_key, calls_list);
+
+ g_free (gconf_key);
+ g_slist_free (calls_list);
+}
+
+#define CLOSE_BUTTON_ID 0
+#define CLEAR_BUTTON_ID 1
+
+void
+gnomemeeting_calls_history_window_response_event (GtkDialog *dialog, gint
id, gpointer window)
+{
+ switch (id) {
+ case CLOSE_BUTTON_ID:
+ gnomemeeting_window_hide (GTK_WIDGET (window));
+ break;
+ case CLEAR_BUTTON_ID:
+ gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/received_calls_history", NULL);
+ gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/placed_calls_history", NULL);
+ gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/missed_calls_history", NULL);
+ break;
+ }
+}
+
+GtkWidget *
+gnomemeeting_calls_history_window_new (GmCallsHistoryWindow *chw)
+{
+ GtkWidget *window = NULL;
+ GtkWidget *notebook = NULL;
+ GtkWidget *scr = NULL;
+ GtkWidget *label = NULL;
+ GtkWidget *tree_view = NULL;
+ GdkPixbuf *icon = NULL;
+
+ GtkTreeViewColumn *column = NULL;
+ GtkCellRenderer *renderer = NULL;
+
+ GtkListStore *list_store [3];
+
+ gchar *label_text [3] =
+ {N_("Received Calls"), N_("Placed Calls"), N_("Unanswered Calls")};
+ label_text [0] = gettext (label_text [0]);
+ label_text [1] = gettext (label_text [1]);
+ label_text [2] = gettext (label_text [2]);
+
+ static GtkTargetEntry dnd_targets [] =
+ {
+ {"text/plain", GTK_TARGET_SAME_APP, 0}
+ };
+
+
+ window = gtk_dialog_new ();
+ gtk_dialog_add_button (GTK_DIALOG (window), GTK_STOCK_CLEAR,
CLEAR_BUTTON_ID);
+ gtk_dialog_add_button (GTK_DIALOG (window), GTK_STOCK_CLOSE,
CLOSE_BUTTON_ID);
+ g_object_set_data_full (G_OBJECT (window), "window_name",
+ g_strdup ("calls_history_window"), g_free);
+
+ gtk_window_set_title (GTK_WINDOW (window), _("Calls History"));
+ gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
+ icon = gtk_widget_render_icon (GTK_WIDGET (window),
+ GM_STOCK_CALLS_HISTORY,
+ GTK_ICON_SIZE_MENU, NULL);
+ gtk_window_set_icon (GTK_WINDOW (window), icon);
+ g_object_unref (icon);
+
+ notebook = gtk_notebook_new ();
+ gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), notebook,
+ TRUE, TRUE, 0);
+
+ for (int i = 0 ; i < MAX_VALUE_CALL ; i++) {
+
+ label = gtk_label_new (N_(label_text [i]));
+ scr = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scr),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+
+ list_store [i] =
+ gtk_list_store_new (6,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING);
+
+ tree_view =
+ gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store [i]));
+ gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Date"),
+ renderer,
+ "text",
+ 0,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Remote User"),
+ renderer,
+ "text",
+ 1,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+ g_object_set (G_OBJECT (renderer), "weight", "bold", NULL);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("URL"),
+ renderer,
+ "text",
+ 2,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+ gtk_tree_view_column_set_visible (column, false);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Call Duration"),
+ renderer,
+ "text",
+ 3,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+ if (i == 2)
+ gtk_tree_view_column_set_visible (column, false);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Call End
Reason"),
+ renderer,
+ "text",
+ 4,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+ g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
+
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes (_("Software"),
+ renderer,
+ "text",
+ 5,
+ NULL);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
+ g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
+
+
+ gtk_container_add (GTK_CONTAINER (scr), tree_view);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), scr, label);
+
+
+ /* Signal to call the person on the double-clicked row */
+ g_signal_connect (G_OBJECT (tree_view), "row_activated",
+ G_CALLBACK (contact_activated_cb), GINT_TO_POINTER (3));
+
+ /* The drag and drop information */
+ gtk_drag_source_set (GTK_WIDGET (tree_view),
+ GDK_BUTTON1_MASK, dnd_targets, 1,
+ GDK_ACTION_COPY);
+ g_signal_connect (G_OBJECT (tree_view), "drag_data_get",
+ G_CALLBACK (dnd_drag_data_get_cb), NULL);
+
+ /* Right-click on a contact */
+ g_signal_connect (G_OBJECT (tree_view), "event_after",
+ G_CALLBACK (contact_clicked_cb), GINT_TO_POINTER (1));
+ }
+
+ chw->internal = new GmCallsHistoryWindowPrivate ();
+ chw->internal->received_calls_list_store = list_store [0];
+ chw->internal->given_calls_list_store = list_store [1];
+ chw->internal->missed_calls_list_store = list_store [2];
+
+ g_signal_connect_swapped (GTK_OBJECT (window),
+ "response",
+ G_CALLBACK (gnomemeeting_calls_history_window_response_event),
+ (gpointer) window);
+
+ g_signal_connect_swapped (GTK_OBJECT (window),
+ "delete-event",
+ G_CALLBACK (gtk_widget_hide_on_delete),
+ (gpointer) window);
+
+
+ /* Fill in the window with old calls */
+ gnomemeeting_calls_history_window_populate ();
+
+
+ gtk_widget_show_all (GTK_WIDGET (GTK_DIALOG (window)->vbox));
+
+ return window;
+}
diff -urN gnomemeeting-cvs-20040127.CVS/src/calls_history.h
gnomemeeting-cvs-20040127.CVS.patched/src/calls_history.h
--- gnomemeeting-cvs-20040127.CVS/src/calls_history.h 1970-01-01
01:00:00.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/calls_history.h 2004-01-27
13:11:28.000000000 +0100
@@ -0,0 +1,84 @@
+
+/* GnomeMeeting -- A Video-Conferencing application
+ * Copyright (C) 2000-2004 Damien Sandras
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ *
+ *
+ * GnomeMeting is licensed under the GPL license and as a special
exception,
+ * you have permission to link or otherwise combine this program with the
+ * programs OpenH323 and Pwlib, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OpenH323 program, as
long
+ * as you do follow the requirements of the GNU GPL for all the rest of the
+ * software thus combined.
+ */
+
+
+/*
+ * calls_history.h - description
+ * -----------------------
+ * begin : Sun Sep 1 2002
+ * copyright : (C) 2000-2004 by Damien Sandras
+ * description : This file contains functions to manage&display
+ * the calls history
+ */
+
+#ifndef _CALLS_HISTORY_H
+#define _CALLS_HISTORY_H
+
+enum {
+ RECEIVED_CALL,
+ PLACED_CALL,
+ MISSED_CALL,
+ MAX_VALUE_CALL // hackish... sorry... just keep it last
+};
+
+typedef struct _GmCallsHistoryWindow GmCallsHistoryWindow;
+typedef struct _GmCallsHistoryWindowPrivate GmCallsHistoryWindowPrivate;
+
+struct _GmCallsHistoryWindow
+{
+ GmCallsHistoryWindowPrivate *internal;
+};
+
+/* FIXME: will disappear real soon! */
+gboolean is_model_from_calls_history (GmCallsHistoryWindow *chw,
GtkTreeModel *model);
+
+/* DESCRIPTION : /
+ * BEHAVIOR : Build the calls history window and returns a pointer to
it.
+ * PRE : /
+ */
+GtkWidget *gnomemeeting_calls_history_window_new (GmCallsHistoryWindow *);
+
+
+/* DESCRIPTION : /
+ * BEHAVIOR : Populate the calls history window.
+ * PRE : /
+ */
+void gnomemeeting_calls_history_window_populate ();
+
+
+/* DESCRIPTION : /
+ * BEHAVIOR : Add a call to the calls history window.
+ * PRE : /
+ */
+void gnomemeeting_calls_history_window_add_call (int,
+ const char *,
+ const char *,
+ const char *,
+ const char *,
+ const char *);
+
+#endif
diff -urN gnomemeeting-cvs-20040127.CVS/src/common.h
gnomemeeting-cvs-20040127.CVS.patched/src/common.h
--- gnomemeeting-cvs-20040127.CVS/src/common.h 2004-01-24 23:27:39.000000000
+0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/common.h 2004-01-27
10:07:53.000000000 +0100
@@ -122,7 +122,6 @@
typedef struct _GmLdapWindowPage GmLdapWindowPage;
typedef struct _GmTextChat GmTextChat;
typedef struct _GmDruidWindow GmDruidWindow;
-typedef struct _GmCallsHistoryWindow GmCallsHistoryWindow;
typedef struct _GmRtpData GmRtpData;
@@ -293,13 +292,6 @@
};
-struct _GmCallsHistoryWindow
-{
- GtkListStore *given_calls_list_store;
- GtkListStore *received_calls_list_store;
- GtkListStore *missed_calls_list_store;
-};
-
struct _GmPrefWindow
{
diff -urN gnomemeeting-cvs-20040127.CVS/src/gnomemeeting.h
gnomemeeting-cvs-20040127.CVS.patched/src/gnomemeeting.h
--- gnomemeeting-cvs-20040127.CVS/src/gnomemeeting.h 2004-01-20
12:46:57.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/gnomemeeting.h 2004-01-27
13:10:54.000000000 +0100
@@ -41,7 +41,7 @@
#include "common.h"
#include "endpoint.h"
-
+#include "calls_history.h"
/**
* COMMON NOTICE: The Application must be initialized with Init after its
diff -urN gnomemeeting-cvs-20040127.CVS/src/ldap_window.cpp
gnomemeeting-cvs-20040127.CVS.patched/src/ldap_window.cpp
--- gnomemeeting-cvs-20040127.CVS/src/ldap_window.cpp 2004-01-25
18:27:50.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/ldap_window.cpp 2004-01-27
10:07:54.000000000 +0100
@@ -285,9 +285,7 @@
model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
/* The source can be either the addressbook OR the calls history */
- if (src_model == GTK_TREE_MODEL (chw->given_calls_list_store)
- || src_model == GTK_TREE_MODEL (chw->received_calls_list_store)
- || src_model == GTK_TREE_MODEL (chw->missed_calls_list_store)) {
+ if (is_model_from_calls_history (chw, src_model)) {
src_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW
(src_widget));
diff -urN gnomemeeting-cvs-20040127.CVS/src/Makefile.am
gnomemeeting-cvs-20040127.CVS.patched/src/Makefile.am
--- gnomemeeting-cvs-20040127.CVS/src/Makefile.am 2004-01-02
19:48:15.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/Makefile.am 2004-01-27
13:11:37.000000000 +0100
@@ -10,6 +10,7 @@
common.h \
callbacks.cpp \
callbacks.h \
+ calls_history.cpp \
gdkvideoio.cpp \
gdkvideoio.h \
gnomemeeting.cpp \
diff -urN gnomemeeting-cvs-20040127.CVS/src/tools.cpp
gnomemeeting-cvs-20040127.CVS.patched/src/tools.cpp
--- gnomemeeting-cvs-20040127.CVS/src/tools.cpp 2004-01-24
23:27:40.000000000 +0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/tools.cpp 2004-01-27
15:34:08.000000000 +0100
@@ -41,14 +41,11 @@
#include "tools.h"
#include "gnomemeeting.h"
-#include "callbacks.h"
-#include "ldap_window.h"
#include "misc.h"
#include "gconf_widgets_extensions.h"
#include "gnome_prefs_window.h"
-#include "stock-icons.h"
-
+//#include "stock-icons.h"
extern GtkWidget *gm;
@@ -59,13 +56,6 @@
static void microtelco_consult_cb (GtkWidget *,
gpointer);
-static void dnd_drag_data_get_cb (GtkWidget *,
- GdkDragContext *,
- GtkSelectionData *,
- guint,
- guint,
- gpointer);
-
/* DESCRIPTION : This callback is called when the user validates an
answer
* to the PC-To-Phone window.
@@ -157,374 +147,6 @@
g_free (pin);
}
-
-/* DESCRIPTION : This callback is called when the user has released the
drag.
- * BEHAVIOR : Puts the required data into the selection_data, we put
- * name and the url fields for now.
- * PRE : data = the type of the page from where the drag occured
:
- * CONTACTS_GROUPS or CONTACTS_SERVERS.
- */
-static void
-dnd_drag_data_get_cb (GtkWidget *tree_view,
- GdkDragContext *dc,
- GtkSelectionData *selection_data,
- guint info,
- guint t,
- gpointer data)
-{
- GtkTreeSelection *selection = NULL;
- GtkTreeModel *model = NULL;
- GtkTreeIter iter;
-
- gchar *contact_name = NULL;
- gchar *contact_url = NULL;
- gchar *drag_data = NULL;
-
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
-
- if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
-
- gtk_tree_model_get (GTK_TREE_MODEL (model), &iter,
- 1, &contact_name,
- 2, &contact_url, -1);
-
- if (contact_name && contact_url) {
-
- drag_data = g_strdup_printf ("%s|%s", contact_name, contact_url);
-
- gtk_selection_data_set (selection_data,
- selection_data->target,
- 8,
- (const guchar *) drag_data,
- strlen (drag_data));
- g_free (drag_data);
- }
- }
-
- g_free (contact_name);
- g_free (contact_url);
-}
-
-
-/* The functions */
-void
-gnomemeeting_calls_history_window_populate ()
-{
- GtkTreeIter iter;
- GtkListStore *list_store = NULL;
-
- gchar *gconf_key = NULL;
- gchar **call_data = NULL;
-
- GSList *calls_list = NULL;
-
- GmCallsHistoryWindow *chw = NULL;
-
- chw = GnomeMeeting::Process ()->GetCallsHistoryWindow ();
-
- for (int i = 0 ; i < MAX_VALUE_CALL ; i++) {
-
- switch (i) {
-
- case RECEIVED_CALL:
- list_store = chw->received_calls_list_store;
- gconf_key =
- g_strdup (USER_INTERFACE_KEY
"calls_history_window/received_calls_history");
- break;
- case PLACED_CALL:
- list_store = chw->given_calls_list_store;
- gconf_key =
- g_strdup (USER_INTERFACE_KEY "calls_history_window/placed_calls_history");
- break;
- case MISSED_CALL:
- list_store = chw->missed_calls_list_store;
- gconf_key =
- g_strdup (USER_INTERFACE_KEY "calls_history_window/missed_calls_history");
- break;
- }
-
- gtk_list_store_clear (list_store);
-
- calls_list = gconf_get_string_list (gconf_key);
-
- while (calls_list && calls_list->data) {
-
- call_data = g_strsplit ((char *) calls_list->data, "|", 0);
-
- if (call_data) {
-
- gtk_list_store_append (list_store, &iter);
- gtk_list_store_set (list_store,
- &iter,
- 0, call_data [0],
- 1, call_data [1],
- 2, call_data [2],
- 3, call_data [3],
- 4, call_data [4],
- 5, call_data [5],
- -1);
- }
-
- g_strfreev (call_data);
-
- calls_list = g_slist_next (calls_list);
- }
-
- g_free (gconf_key);
- g_slist_free (calls_list);
- }
-}
-
-
-void
-gnomemeeting_calls_history_window_add_call (int i,
- const char *remote_user,
- const char *ip,
- const char *duration,
- const char *reason,
- const char *software)
-{
- PString time;
-
- gchar *gconf_key = NULL;
- gchar *call_data = NULL;
-
- GSList *calls_list = NULL;
- GSList *tmp = NULL;
-
- time = PTime ().AsString ("www dd MMM, hh:mm:ss");
-
- switch (i) {
-
- case RECEIVED_CALL:
- gconf_key =
- g_strdup (USER_INTERFACE_KEY
"calls_history_window/received_calls_history");
- break;
- case PLACED_CALL:
- gconf_key =
- g_strdup (USER_INTERFACE_KEY
"calls_history_window/placed_calls_history");
- break;
- case MISSED_CALL:
- gconf_key =
- g_strdup (USER_INTERFACE_KEY
"calls_history_window/missed_calls_history");
- break;
- }
-
-
- call_data =
- g_strdup_printf ("%s|%s|%s|%s|%s|%s",
- (const char *) time ? (const char *) time : "",
- remote_user ? remote_user : "",
- ip ? ip : "",
- duration ? duration : "",
- reason ? reason : "",
- software ? software : "");
-
- calls_list = gconf_get_string_list (gconf_key);
- calls_list = g_slist_append (calls_list, (gpointer) call_data);
-
- while (g_slist_length (calls_list) > 100) {
-
- tmp = g_slist_nth (calls_list, 0);
- calls_list = g_slist_remove_link (calls_list, tmp);
-
- g_slist_free_1 (tmp);
- }
-
- gconf_set_string_list (gconf_key, calls_list);
-
- g_free (gconf_key);
- g_slist_free (calls_list);
-}
-
-#define CLOSE_BUTTON_ID 0
-#define CLEAR_BUTTON_ID 1
-
-void
-gnomemeeting_calls_history_window_response_event (GtkDialog *dialog, gint
id, gpointer window)
-{
- switch (id) {
- case CLOSE_BUTTON_ID:
- gnomemeeting_window_hide (GTK_WIDGET (window));
- break;
- case CLEAR_BUTTON_ID:
- gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/received_calls_history", NULL);
- gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/placed_calls_history", NULL);
- gconf_set_string_list (USER_INTERFACE_KEY
"calls_history_window/missed_calls_history", NULL);
- break;
- }
-}
-
-GtkWidget *
-gnomemeeting_calls_history_window_new (GmCallsHistoryWindow *chw)
-{
- GtkWidget *window = NULL;
- GtkWidget *notebook = NULL;
- GtkWidget *scr = NULL;
- GtkWidget *label = NULL;
- GtkWidget *tree_view = NULL;
- GdkPixbuf *icon = NULL;
-
- GtkTreeViewColumn *column = NULL;
- GtkCellRenderer *renderer = NULL;
-
- GtkListStore *list_store [3];
-
- gchar *label_text [3] =
- {N_("Received Calls"), N_("Placed Calls"), N_("Unanswered Calls")};
- label_text [0] = gettext (label_text [0]);
- label_text [1] = gettext (label_text [1]);
- label_text [2] = gettext (label_text [2]);
-
- static GtkTargetEntry dnd_targets [] =
- {
- {"text/plain", GTK_TARGET_SAME_APP, 0}
- };
-
-
- window = gtk_dialog_new ();
- gtk_dialog_add_button (GTK_DIALOG (window), GTK_STOCK_CLEAR,
CLEAR_BUTTON_ID);
- gtk_dialog_add_button (GTK_DIALOG (window), GTK_STOCK_CLOSE,
CLOSE_BUTTON_ID);
- g_object_set_data_full (G_OBJECT (window), "window_name",
- g_strdup ("calls_history_window"), g_free);
-
- gtk_window_set_title (GTK_WINDOW (window), _("Calls History"));
- gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
- icon = gtk_widget_render_icon (GTK_WIDGET (window),
- GM_STOCK_CALLS_HISTORY,
- GTK_ICON_SIZE_MENU, NULL);
- gtk_window_set_icon (GTK_WINDOW (window), icon);
- g_object_unref (icon);
-
- notebook = gtk_notebook_new ();
- gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), notebook,
- TRUE, TRUE, 0);
-
- for (int i = 0 ; i < MAX_VALUE_CALL ; i++) {
-
- label = gtk_label_new (N_(label_text [i]));
- scr = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scr),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
-
- list_store [i] =
- gtk_list_store_new (6,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING);
-
- tree_view =
- gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store [i]));
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tree_view), TRUE);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Date"),
- renderer,
- "text",
- 0,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Remote User"),
- renderer,
- "text",
- 1,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
- g_object_set (G_OBJECT (renderer), "weight", "bold", NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("URL"),
- renderer,
- "text",
- 2,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
- gtk_tree_view_column_set_visible (column, false);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Call Duration"),
- renderer,
- "text",
- 3,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
- if (i == 2)
- gtk_tree_view_column_set_visible (column, false);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Call End
Reason"),
- renderer,
- "text",
- 4,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
- g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes (_("Software"),
- renderer,
- "text",
- 5,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
- g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
-
-
- gtk_container_add (GTK_CONTAINER (scr), tree_view);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), scr, label);
-
-
- /* Signal to call the person on the double-clicked row */
- g_signal_connect (G_OBJECT (tree_view), "row_activated",
- G_CALLBACK (contact_activated_cb), GINT_TO_POINTER (3));
-
- /* The drag and drop information */
- gtk_drag_source_set (GTK_WIDGET (tree_view),
- GDK_BUTTON1_MASK, dnd_targets, 1,
- GDK_ACTION_COPY);
- g_signal_connect (G_OBJECT (tree_view), "drag_data_get",
- G_CALLBACK (dnd_drag_data_get_cb), NULL);
-
- /* Right-click on a contact */
- g_signal_connect (G_OBJECT (tree_view), "event_after",
- G_CALLBACK (contact_clicked_cb), GINT_TO_POINTER (1));
- }
-
- chw->received_calls_list_store = list_store [0];
- chw->given_calls_list_store = list_store [1];
- chw->missed_calls_list_store = list_store [2];
-
- g_signal_connect_swapped (GTK_OBJECT (window),
- "response",
- G_CALLBACK (gnomemeeting_calls_history_window_response_event),
- (gpointer) window);
-
- g_signal_connect_swapped (GTK_OBJECT (window),
- "delete-event",
- G_CALLBACK (gtk_widget_hide_on_delete),
- (gpointer) window);
-
-
- /* Fill in the window with old calls */
- gnomemeeting_calls_history_window_populate ();
-
-
- gtk_widget_show_all (GTK_WIDGET (GTK_DIALOG (window)->vbox));
-
- return window;
-}
-
-
GtkWidget *
gnomemeeting_pc_to_phone_window_new ()
{
diff -urN gnomemeeting-cvs-20040127.CVS/src/tools.h
gnomemeeting-cvs-20040127.CVS.patched/src/tools.h
--- gnomemeeting-cvs-20040127.CVS/src/tools.h 2004-01-25 18:27:52.000000000
+0100
+++ gnomemeeting-cvs-20040127.CVS.patched/src/tools.h 2004-01-27
12:10:03.000000000 +0100
@@ -42,40 +42,6 @@
#include "common.h"
-enum {
- RECEIVED_CALL,
- PLACED_CALL,
- MISSED_CALL,
- MAX_VALUE_CALL // hackish... sorry... just keep it last
-};
-
-/* The functions */
-
-/* DESCRIPTION : /
- * BEHAVIOR : Build the calls history window and returns a pointer to
it.
- * PRE : /
- */
-GtkWidget *gnomemeeting_calls_history_window_new (GmCallsHistoryWindow *);
-
-
-/* DESCRIPTION : /
- * BEHAVIOR : Populate the calls history window.
- * PRE : /
- */
-void gnomemeeting_calls_history_window_populate ();
-
-
-/* DESCRIPTION : /
- * BEHAVIOR : Add a call to the calls history window.
- * PRE : /
- */
-void gnomemeeting_calls_history_window_add_call (int,
- const char *,
- const char *,
- const char *,
- const char *,
- const char *);
-
/* DESCRIPTION : /
* BEHAVIOR : Build the log window and returns it.
* PRE : /
--=-uaceEw++FZgra8+Df/yr
Content-Disposition: attachment; filename=private_text_chat.patch
Content-Type: text/x-patch; name=private_text_chat.patch;
charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
diff -ur gnomemeeting-cvs-20040126.CVS/src/chat_window.cpp
gnomemeeting-cvs-20040126.CVS.patched/src/chat_window.cpp
--- gnomemeeting-cvs-20040126.CVS/src/chat_window.cpp 2004-01-22
22:07:29.000000000 +0100
+++ gnomemeeting-cvs-20040126.CVS.patched/src/chat_window.cpp 2004-01-26
11:19:01.000000000 +0100
@@ -54,6 +54,16 @@
#include "gtk-text-view-addon.h"
#include "gtk_menu_extensions.h"
+struct _GmTextChatPrivate
+{
+ GtkWidget *text_view;
+ GtkTextBuffer *text_buffer;
+ gboolean something_typed;
+ gchar *begin_msg;
+};
+
+
+
extern GtkWidget *gm;
@@ -185,10 +195,10 @@
gw = GnomeMeeting::Process ()->GetMainWindow ();
- gtk_text_buffer_get_start_iter (chat->text_buffer, &start_iter);
- gtk_text_buffer_get_end_iter (chat->text_buffer, &end_iter);
+ gtk_text_buffer_get_start_iter (chat->internal->text_buffer,
&start_iter);
+ gtk_text_buffer_get_end_iter (chat->internal->text_buffer, &end_iter);
- gtk_text_buffer_delete (chat->text_buffer, &start_iter, &end_iter);
+ gtk_text_buffer_delete (chat->internal->text_buffer, &start_iter,
&end_iter);
gtk_menu_set_sensitive (gw->main_menu, "clear_text_chat", FALSE);
}
@@ -196,11 +206,11 @@
void
gnomemeeting_text_chat_call_start_notification (void)
{
- GmTextChat *chat = NULL;
+ GmTextChatPrivate *chat = NULL;
GmWindow *gw = NULL;
gw = GnomeMeeting::Process ()->GetMainWindow ();
- chat = GnomeMeeting::Process ()->GetTextChat ();
+ chat = GnomeMeeting::Process ()->GetTextChat ()->internal;
// find the time at which the event occured
time_t *timeptr;
@@ -227,7 +237,7 @@
gnomemeeting_text_chat_call_stop_notification (void)
{
GtkTextIter iter;
- GmTextChat *chat = NULL;
+ GmTextChatPrivate *chat = NULL;
GmWindow *gw = NULL;
gchar *text = NULL;
@@ -246,7 +256,7 @@
// displays the message
gw = GnomeMeeting::Process ()->GetMainWindow ();
- chat = GnomeMeeting::Process ()->GetTextChat ();
+ chat = GnomeMeeting::Process ()->GetTextChat ()->internal;
gtk_text_buffer_get_end_iter (chat->text_buffer, &iter);
if (chat->something_typed == TRUE)
@@ -266,11 +276,11 @@
GtkTextIter iter;
GtkTextMark *mark;
- GmTextChat *chat = NULL;
+ GmTextChatPrivate *chat = NULL;
GmWindow *gw = NULL;
gw = GnomeMeeting::Process ()->GetMainWindow ();
- chat = GnomeMeeting::Process ()->GetTextChat ();
+ chat = GnomeMeeting::Process ()->GetTextChat ()->internal ;
gtk_text_buffer_get_end_iter (chat->text_buffer, &iter);
@@ -337,36 +347,36 @@
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scr),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_ALWAYS);
-
- chat->begin_msg = NULL;
- chat->something_typed = FALSE;
-
- chat->text_view = gtk_text_view_new_with_regex ();
- gtk_text_view_set_editable (GTK_TEXT_VIEW (chat->text_view), FALSE);
- gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (chat->text_view),
+ chat->internal = new _GmTextChatPrivate ();
+ chat->internal->begin_msg = NULL;
+ chat->internal->something_typed = FALSE;
+
+ chat->internal->text_view = gtk_text_view_new_with_regex ();
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (chat->internal->text_view),
FALSE);
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (chat->internal->text_view),
GTK_WRAP_WORD);
- chat->text_buffer =
- gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->text_view));
+ chat->internal->text_buffer =
+ gtk_text_view_get_buffer (GTK_TEXT_VIEW (chat->internal->text_view));
- gtk_text_buffer_get_end_iter (chat->text_buffer, &iter);
- gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (chat->text_view),
false);
+ gtk_text_buffer_get_end_iter (chat->internal->text_buffer, &iter);
+ gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW
(chat->internal->text_view), false);
- mark = gtk_text_buffer_create_mark (chat->text_buffer,
+ mark = gtk_text_buffer_create_mark (chat->internal->text_buffer,
"current-position", &iter, FALSE);
- gtk_text_buffer_create_tag (chat->text_buffer, "primary-user",
+ gtk_text_buffer_create_tag (chat->internal->text_buffer, "primary-user",
"foreground", "red",
"weight", 900, NULL);
- gtk_text_buffer_create_tag (chat->text_buffer,
+ gtk_text_buffer_create_tag (chat->internal->text_buffer,
"secondary-user",
"foreground", "darkblue",
"weight", 900, NULL);
/* Create the various tags for the different urls types */
- regex_tag = gtk_text_buffer_create_tag (chat->text_buffer,
+ regex_tag = gtk_text_buffer_create_tag (chat->internal->text_buffer,
"uri-http",
"foreground", "blue",
NULL);
@@ -383,7 +393,7 @@
}
- regex_tag = gtk_text_buffer_create_tag (chat->text_buffer, "uri-h323",
+ regex_tag = gtk_text_buffer_create_tag (chat->internal->text_buffer,
"uri-h323",
"foreground", "pink",
NULL);
if (gtk_text_tag_set_regex (regex_tag,
@@ -398,14 +408,14 @@
NULL);
}
- regex_tag = gtk_text_buffer_create_tag (chat->text_buffer, "smileys",
+ regex_tag = gtk_text_buffer_create_tag (chat->internal->text_buffer,
"smileys",
"foreground", "grey",
NULL);
if (gtk_text_tag_set_regex (regex_tag,
"(:[-]?(\\)|\\(|o|O|p|P|D|\\||/)|\\}:(\\(|\\))|\\|[-]?(\\(|\\))|:'\\(|:\\[|:
-(\\.|\\*|x)|;[-]?\\)|(8|B)[-]?\\)|X(\\(|\\||\\))|\\((\\.|\\|)\\)|x\\*O)"))
gtk_text_tag_set_regex_display (regex_tag,
gtk_text_buffer_insert_smiley);
- regex_tag = gtk_text_buffer_create_tag (chat->text_buffer, "latex",
+ regex_tag = gtk_text_buffer_create_tag (chat->internal->text_buffer,
"latex",
"foreground", "grey",
NULL);
if (gtk_text_tag_set_regex (regex_tag,
@@ -417,7 +427,7 @@
/* */
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
- gtk_container_add (GTK_CONTAINER (scr), chat->text_view);
+ gtk_container_add (GTK_CONTAINER (scr), chat->internal->text_view);
gtk_container_add (GTK_CONTAINER (frame), scr);
gtk_table_attach (GTK_TABLE (table), GTK_WIDGET (frame),
@@ -448,7 +458,7 @@
0, 0);
g_signal_connect (GTK_OBJECT (entry), "activate",
- G_CALLBACK (chat_entry_activate), chat->text_view);
+ G_CALLBACK (chat_entry_activate), chat->internal->text_view);
return chat_window;
}
diff -ur gnomemeeting-cvs-20040126.CVS/src/chat_window.h
gnomemeeting-cvs-20040126.CVS.patched/src/chat_window.h
--- gnomemeeting-cvs-20040126.CVS/src/chat_window.h 2004-01-20
12:46:57.000000000 +0100
+++ gnomemeeting-cvs-20040126.CVS.patched/src/chat_window.h 2004-01-26
09:42:08.000000000 +0100
@@ -46,6 +46,14 @@
G_BEGIN_DECLS
+typedef struct _GmTextChat GmTextChat;
+typedef struct _GmTextChatPrivate GmTextChatPrivate;
+
+struct _GmTextChat
+{
+ GtkWidget *window;
+ GmTextChatPrivate *internal;
+};
/* DESCRIPTION : /
* BEHAVIOR : Initializes the text chat view.
diff -ur gnomemeeting-cvs-20040126.CVS/src/common.h
gnomemeeting-cvs-20040126.CVS.patched/src/common.h
--- gnomemeeting-cvs-20040126.CVS/src/common.h 2004-01-24 23:27:39.000000000
+0100
+++ gnomemeeting-cvs-20040126.CVS.patched/src/common.h 2004-01-26
09:29:23.000000000 +0100
@@ -120,7 +120,6 @@
typedef struct _GmPrefWindow GmPrefWindow;
typedef struct _GmLdapWindow GmLdapWindow;
typedef struct _GmLdapWindowPage GmLdapWindowPage;
-typedef struct _GmTextChat GmTextChat;
typedef struct _GmDruidWindow GmDruidWindow;
typedef struct _GmCallsHistoryWindow GmCallsHistoryWindow;
typedef struct _GmRtpData GmRtpData;
@@ -156,14 +155,6 @@
} ControlPanelSection;
-struct _GmTextChat
-{
- GtkWidget *text_view;
- GtkTextBuffer *text_buffer;
- gboolean something_typed;
- gchar *begin_msg;
-};
-
struct _GmRtpData
{
diff -ur gnomemeeting-cvs-20040126.CVS/src/endpoint.h
gnomemeeting-cvs-20040126.CVS.patched/src/endpoint.h
--- gnomemeeting-cvs-20040126.CVS/src/endpoint.h 2004-01-24
23:27:40.000000000 +0100
+++ gnomemeeting-cvs-20040126.CVS.patched/src/endpoint.h 2004-01-26
09:32:01.000000000 +0100
@@ -43,6 +43,7 @@
#include "../config.h"
#include "common.h"
+#include "chat_window.h"
#ifdef HAS_IXJ
#include <ixjlid.h>
diff -ur gnomemeeting-cvs-20040126.CVS/src/gnomemeeting.h
gnomemeeting-cvs-20040126.CVS.patched/src/gnomemeeting.h
--- gnomemeeting-cvs-20040126.CVS/src/gnomemeeting.h 2004-01-20
12:46:57.000000000 +0100
+++ gnomemeeting-cvs-20040126.CVS.patched/src/gnomemeeting.h 2004-01-26
09:32:37.000000000 +0100
@@ -40,6 +40,7 @@
#define _GNOMEMEETING_H_
#include "common.h"
+#include "chat_window.h"
#include "endpoint.h"
--=-uaceEw++FZgra8+Df/yr--
--__--__--
_______________________________________________
Gnomemeeting-devel-list mailing list
Gnomemeeting-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gnomemeeting-devel-list
End of Gnomemeeting-devel-list Digest
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]