2
2
* Xiphos Bible Study Tool
3
3
* gbs.c - generic book support - the gui
5
* Copyright (C) 2000-2011 Xiphos Developer Team
5
* Copyright (C) 2000-2014 Xiphos Developer Team
7
7
* This program is free software; you can redistribute it and/or modify
8
8
* it under the terms of the GNU General Public License as published by
50
46
#include "gui/navbar_book.h"
51
47
#include "gui/tabbed_browser.h"
52
48
#include "gui/menu_popup.h"
49
#include "gui/utilities.h"
54
51
#include "main/settings.h"
55
52
#include "main/lists.h"
67
64
/******************************************************************************
69
* on_comm_button_press_event
74
* gboolean on_comm_button_press_event(GtkWidget * widget,
75
GdkEventButton * event, DIALOG_DATA * t)
78
* called when mouse button is clicked in html widget
83
#ifndef USE_XIPHOS_HTML
84
static gboolean on_book_button_press_event(GtkWidget * widget,
85
GdkEventButton * event,
88
if (!settings.havebook)
90
switch (event->button) {
96
gui_menu_popup (NULL, settings.book_mod, NULL);
103
/******************************************************************************
105
* on_button_release_event
108
* #include "_bibletext.h"
110
* gboolean on_button_release_event(GtkWidget * widget,
111
GdkEventButton * event, DIALOG_DATA * t)
114
* called when mouse button is clicked in html widget
120
extern gboolean in_url;
122
static gboolean on_book_button_release_event(GtkWidget * widget,
123
GdkEventButton * event,
131
if (!settings.havebook)
133
settings.whichwindow = BOOK_WINDOW;
136
switch (event->button) {
140
key = gui_button_press_lookup(widgets.html_book);
142
if (g_strstr_len(key,strlen(key),"*")) {
143
key = g_strdelimit(key, "*", ' ');
144
key = g_strstrip(key);
145
url = g_strdup_printf(
146
"passagestudy.jsp?action=showModInfo&value=1&module=%s",
148
main_url_handler(url,TRUE);
154
if (settings.useDefaultDict)
159
dict = g_strdup(settings.DictWindowModule);
161
main_display_dictionary(dict, key);
170
url = gtk_html_get_url_at (GTK_HTML(widgets.html_text),
173
if (url && (strstr(url,"sword://"))) {
174
gchar **work_buf = g_strsplit (url,"/",4);
175
gui_open_passage_in_new_tab(work_buf[3]);
176
g_strfreev(work_buf);
185
#endif /* !USE_XIPHOS_HTML */
187
/******************************************************************************
189
66
* gui_set_gbs_frame_label
284
159
GtkWidget *gui_create_book_pane(void)
287
/* #ifdef USE_XIPHOS_HTML
289
#endif */ /* USE_XIPHOS_HTML */
290
#ifndef USE_GTKMOZEMBED
291
162
GtkWidget *scrolledwindow;
292
#endif /* !USE_GTKMOZEMBED */
293
163
GtkWidget *navbar;
295
box = gtk_vbox_new(FALSE, 0);
165
UI_VBOX(box, FALSE, 0);
296
166
gtk_widget_show(box);
298
168
navbar = gui_navbar_book_new();
299
169
gtk_box_pack_start(GTK_BOX(box), navbar, FALSE, FALSE, 0);
300
#ifndef USE_GTKMOZEMBED
301
170
scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
302
171
gtk_widget_show(scrolledwindow);
303
172
gtk_box_pack_start(GTK_BOX(box), scrolledwindow, TRUE, TRUE, 0);
305
174
(scrolledwindow),
306
175
GTK_POLICY_AUTOMATIC,
307
176
GTK_POLICY_AUTOMATIC);
308
/* gtk_scrolled_window_set_shadow_type((GtkScrolledWindow *)scrolledwindow,
309
settings.shadow_type);*/
310
#endif /* !USE_GTKMOZEMBED */
311
#ifdef USE_XIPHOS_HTML
312
/* eventbox = gtk_event_box_new ();
313
gtk_widget_show (eventbox);
314
gtk_box_pack_start(GTK_BOX(box), eventbox, TRUE, TRUE, 0);*/
315
widgets.html_book = GTK_WIDGET(XIPHOS_HTML_NEW(NULL, FALSE, BOOK_TYPE)); //embed_new(BOOK_TYPE);
178
widgets.html_book = GTK_WIDGET(XIPHOS_HTML_NEW(NULL, FALSE, BOOK_TYPE));
316
179
gtk_widget_show(widgets.html_book);
318
180
gtk_container_add(GTK_CONTAINER(scrolledwindow),
319
181
widgets.html_book);
321
gtk_box_pack_start(GTK_BOX(box),
322
widgets.html_book, TRUE, TRUE, 0);
323
#endif /* USE_WEBKIT */
325
183
g_signal_connect((gpointer)widgets.html_book,
326
184
"popupmenu_requested",
327
185
G_CALLBACK (_popupmenu_requested_cb),
330
widgets.html_book = gtk_html_new();
331
gtk_widget_show(widgets.html_book);
332
gtk_container_add(GTK_CONTAINER(scrolledwindow),
335
g_signal_connect(G_OBJECT(widgets.html_book), "link_clicked",
336
G_CALLBACK(gui_link_clicked),
338
g_signal_connect(G_OBJECT(widgets.html_book), "on_url",
340
GINT_TO_POINTER(BOOK_TYPE));
341
g_signal_connect(G_OBJECT(widgets.html_book),
342
"button_press_event",
344
(on_book_button_press_event),
346
g_signal_connect(G_OBJECT(widgets.html_book),
347
"button_release_event",
349
(on_book_button_release_event),
351
g_signal_connect(G_OBJECT(widgets.html_book),
353
G_CALLBACK(url_requested), NULL);
360
190
//****** end of file ******/