finch/libgnt/gntline.c

Sat, 25 Nov 2017 21:42:28 +0800

author
Tom Li <tomli@tomli.me>
date
Sat, 25 Nov 2017 21:42:28 +0800
branch
release-2.x.y
changeset 38792
fdb68b9b02b8
parent 29049
ea3c1e7d47f4
child 35059
5fd94b14cc49
permissions
-rw-r--r--

jabber.c: fix #17270, ignore STARTTLS when using BOSH.

Pidgin wants to establish a TLS connection with a STARTTLS request, but
it doesn't make any sense, since the XMPP stream is proxied by the BOSH
connection, which is already encrypted by HTTPS. It is impossible to
STARTTLS with BOSH.

According to XEP-0206: The client SHOULD ignore any Transport Layer Security
(TLS) feature since BOSH channel encryption SHOULD be negotiated at the HTTP
layer.

Failing to do it causes Pidgin fails to create any connection with BOSH to any
XMPP server with STARTTLS enabled.

https://developer.pidgin.im/ticket/17270

17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
1 /**
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
2 * GNT - The GLib Ncurses Toolkit
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
3 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
4 * GNT is the legal property of its developers, whose names are too numerous
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
6 * source distribution.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
7 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
8 * This library is free software; you can redistribute it and/or modify
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
9 * it under the terms of the GNU General Public License as published by
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
11 * (at your option) any later version.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
12 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
13 * This program is distributed in the hope that it will be useful,
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
16 * GNU General Public License for more details.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
17 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
18 * You should have received a copy of the GNU General Public License
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19231
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
21 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15886
diff changeset
22
29049
ea3c1e7d47f4 *** Plucked rev ea18c8ce78c0229a5b968aab268f38e9bcae0aee (8e1d807c1aadfb510e14f047d2cf00e0c06be465):
Daniel Atallah <datallah@pidgin.im>
parents: 21240
diff changeset
23 #include "gntinternal.h"
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
24 #include "gntline.h"
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26 enum
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 {
19231
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
28 PROP_0,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
29 PROP_VERTICAL
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
30 };
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
31
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
32 enum
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
33 {
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 SIGS = 1,
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 };
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 static GntWidgetClass *parent_class = NULL;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40 gnt_line_draw(GntWidget *widget)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
41 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 GntLine *line = GNT_LINE(widget);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43 if (line->vertical)
21240
b78eaddaae02 Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
44 mvwvline(widget->window, 1, 0, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL),
14072
4e64a4f18686 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
45 widget->priv.height - 2);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 else
21240
b78eaddaae02 Add gnt_color_pair, which will replace color codes with 'appropriate' text
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
47 mvwhline(widget->window, 0, 1, ACS_HLINE | gnt_color_pair(GNT_COLOR_NORMAL),
14072
4e64a4f18686 [gaim-migrate @ 16602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
48 widget->priv.width - 2);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 gnt_line_size_request(GntWidget *widget)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
54 if (GNT_LINE(widget)->vertical)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 widget->priv.width = 1;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57 widget->priv.height = 5;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59 else
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61 widget->priv.width = 5;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 widget->priv.height = 1;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67 gnt_line_map(GntWidget *widget)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
68 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69 if (widget->priv.width == 0 || widget->priv.height == 0)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70 gnt_widget_size_request(widget);
14494
3575eac3a518 [gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14072
diff changeset
71 GNTDEBUG;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
72 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
73
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
74 static void
19231
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
75 gnt_line_set_property(GObject *obj, guint prop_id, const GValue *value,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
76 GParamSpec *spec)
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
77 {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
78 GntLine *line = GNT_LINE(obj);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
79 switch (prop_id) {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
80 case PROP_VERTICAL:
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
81 line->vertical = g_value_get_boolean(value);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
82 if (line->vertical) {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
83 GNT_WIDGET_SET_FLAGS(line, GNT_WIDGET_GROW_Y);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
84 } else {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
85 GNT_WIDGET_SET_FLAGS(line, GNT_WIDGET_GROW_X);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
86 }
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
87 break;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
88 default:
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
89 break;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
90 }
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
91 }
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
92
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
93 static void
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
94 gnt_line_get_property(GObject *obj, guint prop_id, GValue *value,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
95 GParamSpec *spec)
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
96 {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
97 GntLine *line = GNT_LINE(obj);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
98 switch (prop_id) {
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
99 case PROP_VERTICAL:
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
100 g_value_set_boolean(value, line->vertical);
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
101 break;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
102 default:
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
103 break;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
104 }
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
105 }
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
106
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
107 static void
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 gnt_line_class_init(GntLineClass *klass)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
109 {
19231
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
110 GObjectClass *gclass = G_OBJECT_CLASS(klass);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
111 parent_class = GNT_WIDGET_CLASS(klass);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112 parent_class->draw = gnt_line_draw;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
113 parent_class->map = gnt_line_map;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
114 parent_class->size_request = gnt_line_size_request;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115
19231
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
116 gclass->set_property = gnt_line_set_property;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
117 gclass->get_property = gnt_line_get_property;
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
118 g_object_class_install_property(gclass,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
119 PROP_VERTICAL,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
120 g_param_spec_boolean("vertical", "Vertical",
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
121 "Whether it's a vertical line or a horizontal one.",
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
122 TRUE,
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
123 G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
124 )
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
125 );
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
126 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
127
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
128 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
129 gnt_line_init(GTypeInstance *instance, gpointer class)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
130 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
131 GntWidget *widget = GNT_WIDGET(instance);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
132 GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_NO_SHADOW | GNT_WIDGET_NO_BORDER);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
133 widget->priv.minw = 1;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
134 widget->priv.minh = 1;
14494
3575eac3a518 [gaim-migrate @ 17146]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14072
diff changeset
135 GNTDEBUG;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
136 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
137
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
138 /******************************************************************************
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
139 * GntLine API
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
140 *****************************************************************************/
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
141 GType
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
142 gnt_line_get_gtype(void)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
143 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
144 static GType type = 0;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
145
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
146 if(type == 0)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
147 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
148 static const GTypeInfo info = {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
149 sizeof(GntLineClass),
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
150 NULL, /* base_init */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
151 NULL, /* base_finalize */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
152 (GClassInitFunc)gnt_line_class_init,
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
153 NULL, /* class_finalize */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
154 NULL, /* class_data */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
155 sizeof(GntLine),
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
156 0, /* n_preallocs */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
157 gnt_line_init, /* instance_init */
15874
46df7421a1b5 Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 14898
diff changeset
158 NULL /* value_table */
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
159 };
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
160
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
161 type = g_type_register_static(GNT_TYPE_WIDGET,
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
162 "GntLine",
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
163 &info, 0);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
164 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
165
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
166 return type;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
167 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
168
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
169 GntWidget *gnt_line_new(gboolean vertical)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
170 {
19231
976bb181d805 Use gobject properties for lines.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
171 GntWidget *widget = g_object_new(GNT_TYPE_LINE, "vertical", vertical, NULL);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
172 return widget;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
173 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
174

mercurial