Esempio n. 1
0
GtkWidget *create_results_menu(void)
{
	GtkWidget *menu;
	gchar *glade_file;
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#ifdef HAVE_GTK_314
	glade_file =
	    gui_general_user_file("xi-menus-popup.gtkbuilder", FALSE);
#else
	glade_file =
	    gui_general_user_file("xi-menus-popup_old.gtkbuilder", FALSE);
#endif
#else
	GladeXML *gxml;
	glade_file = gui_general_user_file("xi-menus.glade", FALSE);
#endif
	g_return_val_if_fail((glade_file != NULL), NULL);

#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "menu_verselist", NULL);
#endif

	g_free(glade_file);
	g_return_val_if_fail((gxml != NULL), NULL);

	menu = UI_GET_ITEM(gxml, "menu_verselist");
#ifdef USE_GTKBUILDER
	/* connect signals and data */
	gtk_builder_connect_signals(gxml, NULL);
/*gtk_builder_connect_signals_full
	   (gxml, (GtkBuilderConnectFunc)gui_glade_signal_connect_func, NULL); */
#else
	/* connect signals and data */
	glade_xml_signal_autoconnect_full(gxml, (GladeXMLConnectFunc)gui_glade_signal_connect_func,
					  NULL);
#endif

	return menu;
}
Esempio n. 2
0
static GtkWidget *_create_bookmark_dialog(gchar *label,
					  gchar *module, gchar *key)
{
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
	gchar *glade_file =
	    gui_general_user_file("bookmarks" UI_SUFFIX, TRUE);
	g_return_val_if_fail(glade_file != NULL, NULL);
	XI_message(("%s", glade_file));

/* build the widget */
#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, NULL, NULL);
#endif
	g_free(glade_file);
	g_return_val_if_fail(gxml != NULL, NULL);

	/* lookup the root widget */
	bookmark_dialog = UI_GET_ITEM(gxml, "dialog");
	g_signal_connect(bookmark_dialog, "response",
			 G_CALLBACK(on_dialog_response), NULL);

	/* treeview */
	treeview = UI_GET_ITEM(gxml, "treeview");
	setup_treeview();
	g_signal_connect(treeview, "button-release-event",
			 G_CALLBACK(on_treeview_button_release_event),
			 NULL);
	/* entrys */
	entry_label = UI_GET_ITEM(gxml, "entry1");
	entry_key = UI_GET_ITEM(gxml, "entry2");
	entry_module = UI_GET_ITEM(gxml, "entry3");

	gtk_entry_set_text(GTK_ENTRY(entry_label), label);
	gtk_entry_set_text(GTK_ENTRY(entry_key), key);
	gtk_entry_set_text(GTK_ENTRY(entry_module), module);
	g_signal_connect(entry_label, "activate",
			 G_CALLBACK(on_dialog_enter), NULL);
	g_signal_connect(entry_key, "activate",
			 G_CALLBACK(on_dialog_enter), NULL);
	g_signal_connect(entry_module, "activate",
			 G_CALLBACK(on_dialog_enter), NULL);

	/* dialog buttons */
	button_new_folder = UI_GET_ITEM(gxml, "button1");
	button_add_bookmark = UI_GET_ITEM(gxml, "button3");

	return bookmark_dialog;
}
Esempio n. 3
0
/******************************************************************************
 * Name
 *   create_menu_modules
 *
 * Synopsis
 *   #include "gui/sidebar.h"
 *
 *    void create_menu_modules (void)
 *
 * Description
 *
 *
 * Return value
 *   void
 */
static GtkWidget *create_menu_modules(void)
{
	gchar *glade_file;
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#ifdef HAVE_GTK_314
	glade_file =
	    gui_general_user_file("xi-menus-popup.gtkbuilder", FALSE);
#else
	glade_file =
	    gui_general_user_file("xi-menus-popup_old.gtkbuilder", FALSE);
#endif
#else
	GladeXML *gxml;
	glade_file = gui_general_user_file("xi-menus.glade", FALSE);
#endif
	g_return_val_if_fail((glade_file != NULL), NULL);

#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "menu_modules", NULL);
#endif
	g_free(glade_file);
	g_return_val_if_fail((gxml != NULL), NULL);

	GtkWidget *menu = UI_GET_ITEM(gxml, "menu_modules");
#ifdef USE_GTKBUILDER
	gtk_builder_connect_signals(gxml, NULL);
/*gtk_builder_connect_signals_full
	   (gxml, (GtkBuilderConnectFunc)gui_glade_signal_connect_func, NULL); */
#else
	glade_xml_signal_autoconnect_full(gxml, (GladeXMLConnectFunc)gui_glade_signal_connect_func,
					  NULL);
#endif
	gtk_menu_popup((GtkMenu *)menu, NULL, NULL, NULL, NULL, 2,
		       gtk_get_current_event_time());

	return menu;
}
Esempio n. 4
0
void _get_export_filename(void)
{
#ifndef USE_GTKBUILDER
	gchar *glade_file;
	GladeXML *gxml;
#endif
	GtkWidget *fdialog;
	filename = NULL;

#ifndef USE_GTKBUILDER
	glade_file =
	    gui_general_user_file("export-dialog" UI_SUFFIX, FALSE);
	g_return_if_fail(glade_file != NULL);
	XI_message(("%s", glade_file));
#endif

/* build the widget */
#ifdef USE_GTKBUILDER
	fdialog = gtk_file_chooser_dialog_new("Save Export File",
					      NULL,
					      GTK_FILE_CHOOSER_ACTION_SAVE,
#ifdef HAVE_GTK_310
					      "_Cancel",
					      GTK_RESPONSE_CANCEL, "_Save",
					      GTK_RESPONSE_ACCEPT,
#else
					      GTK_STOCK_CANCEL,
					      GTK_RESPONSE_CANCEL,
					      GTK_STOCK_SAVE,
					      GTK_RESPONSE_ACCEPT,
#endif
					      NULL);
#else
	gxml = glade_xml_new(glade_file, "filechooserdialog1", NULL);

	fdialog = glade_xml_get_widget(gxml, "filechooserdialog1");
#endif
	g_signal_connect(fdialog,
			 "response",
			 G_CALLBACK(on_filechooserdialog_response),
			 (GtkFileChooser *)fdialog);

#ifdef USE_GTKBUILDER
	gtk_dialog_run(GTK_DIALOG(fdialog));
#endif
}
Esempio n. 5
0
static GtkWidget *_create_popup_menu(XiphosHtml *html, const gchar *mod_name,
				     DIALOG_DATA *d)
{
	gchar *glade_file;
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
	const gchar *mname = (is_dialog ? d->mod_name : mod_name);
	XI_message(("_create_popup_menu mod_name:%s", mod_name));
	if (!mname || !*mname)
		return NULL;

#ifdef USE_GTKBUILDER
#ifdef HAVE_GTK_314
	glade_file =
	    gui_general_user_file("xi-menus-popup.gtkbuilder", FALSE);
#else
	glade_file =
	    gui_general_user_file("xi-menus-popup_old.gtkbuilder", FALSE);
#endif
#else
	glade_file = gui_general_user_file("xi-menus.glade", FALSE);
#endif
	g_return_val_if_fail((glade_file != NULL), NULL);

#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "menu_popup", NULL);
#endif
	g_free(glade_file);
	g_return_val_if_fail((gxml != NULL), NULL);

	GtkWidget *menu = UI_GET_ITEM(gxml, "menu_popup");
	GtkWidget *bookmark = UI_GET_ITEM(gxml, "bookmark");
	GtkWidget *open = UI_GET_ITEM(gxml, "open_module2");
	GtkWidget *export_ = UI_GET_ITEM(gxml, "export_passage");
	GtkWidget *close = UI_GET_ITEM(gxml, "close");
	GtkWidget *note = UI_GET_ITEM(gxml, "note");
	GtkWidget *mark_verse = UI_GET_ITEM(gxml, "mark_verse");
	GtkWidget *open_edit = UI_GET_ITEM(gxml, "open_in_editor");
	GtkWidget *mod_opt_sub = UI_GET_ITEM(gxml, "module_options1_menu");
	GtkWidget *lookup = UI_GET_ITEM(gxml, "lookup_selection1");
	GtkWidget *lookup_sub =
	    UI_GET_ITEM(gxml, "lookup_selection1_menu");
	GtkWidget *unlock = UI_GET_ITEM(gxml, "unlock_this_module");
	GtkWidget *book_heading =
	    UI_GET_ITEM(gxml, "display_book_heading");
	GtkWidget *chapter_heading =
	    UI_GET_ITEM(gxml, "display_chapter_heading");
	GtkWidget *rename_percomm = UI_GET_ITEM(gxml, "rename_perscomm");
	GtkWidget *dump_percomm = UI_GET_ITEM(gxml, "dump_perscomm");

	GtkWidget *open_sub = gtk_menu_new();
	GtkWidget *note_sub = gtk_menu_new();

	gtk_widget_hide(unlock);
	gtk_widget_hide(book_heading);
	gtk_widget_hide(export_);
	gtk_widget_hide(chapter_heading);
	gtk_widget_hide(rename_percomm);
	gtk_widget_hide(dump_percomm);
	gtk_widget_hide(note);
	gtk_widget_hide(open_edit);
	gtk_widget_hide(mark_verse);
	gtk_widget_hide(close); /* FIXME: hide until connected to dialog close */

	if (is_dialog) {
		gtk_widget_hide(open);
		gtk_widget_hide(bookmark);
		gtk_widget_hide(export_);
	} else {
		gtk_widget_hide(close);
		gtk_menu_item_set_submenu(GTK_MENU_ITEM(open), open_sub);
		gui_add_mods_2_gtk_menu(_get_type_mod_list(), open_sub,
					(GCallback)on_view_mod_activate);

		/* unlock from main window only */
		if (main_has_cipher_tag((gchar *)mod_name))
			gtk_widget_show(unlock);
	}

	switch (main_get_mod_type((gchar *)mname)) {
	case TEXT_TYPE:
		gtk_widget_show(export_);
		if (is_dialog)
			break;
		gtk_widget_show(note);
		gtk_widget_show(mark_verse);
		gtk_menu_item_set_submenu(GTK_MENU_ITEM(note), note_sub);
		gui_add_mods_2_gtk_menu(PERCOMM_LIST, note_sub, (GCallback)
					on_edit_percomm_activate);
		break;

	case COMMENTARY_TYPE:
		gtk_widget_show(export_);
		gtk_widget_show(book_heading);
		gtk_widget_show(chapter_heading);
		break;

	case PERCOM_TYPE:
		gtk_widget_show(export_);
		gtk_widget_show(open_edit);
		g_signal_connect(G_OBJECT(open_edit),
				 "activate",
				 G_CALLBACK(on_edit_percomm_activate),
				 (gchar *)(is_dialog ? d->mod_name : mod_name));

		gtk_widget_show(rename_percomm);
		gtk_widget_show(dump_percomm);
		break;

	case DICTIONARY_TYPE:
		break;

	case BOOK_TYPE:
		break;

	case PRAYERLIST_TYPE:
		gtk_widget_show(open_edit);
		g_signal_connect(G_OBJECT(open_edit),
				 "activate",
				 G_CALLBACK(on_edit_prayerlist_activate),
				 (gchar *)(is_dialog ? d->mod_name : mod_name));
		break;
	}

	gtk_menu_item_set_submenu(GTK_MENU_ITEM(lookup), lookup_sub);

	gui_add_mods_2_gtk_menu(DICT_DESC_LIST, lookup_sub,
				(GCallback)_lookup_selection);

	/* = glade_xml_get_widget (gxml, ""); */
	_add_and_check_global_opts(gxml,
				   (char *)(is_dialog ? d->mod_name : mod_name), mod_opt_sub, d);
/* connect signals and data */
#ifdef USE_GTKBUILDER
	gtk_builder_connect_signals(gxml, html);
/*gtk_builder_connect_signals_full
	   (gxml, (GtkBuilderConnectFunc)gui_glade_signal_connect_func, html); */
#else
	glade_xml_signal_autoconnect_full(gxml, (GladeXMLConnectFunc)gui_glade_signal_connect_func,
					  html);
#endif

	return menu;
}
Esempio n. 6
0
static GtkWidget *_create_mark_verse_dialog(gchar *module, gchar *key)
{
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
	GtkWidget *sw;
	gchar osisreference[100];
	gchar *old_note = NULL;

	gchar *glade_file =
	    gui_general_user_file("markverse" UI_SUFFIX, TRUE);
	g_return_val_if_fail(glade_file != NULL, NULL);
	XI_message(("%s", glade_file));

	g_snprintf(osisreference, 100, "%s %s", module,
		   main_get_osisref_from_key((const char *)module,
					     (const char *)key));
	note = NULL;

/* build the widget */
#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, NULL, NULL);
#endif
	g_free(glade_file);
	g_return_val_if_fail(gxml != NULL, NULL);

	/* lookup the root widget */
	mark_verse_dialog = UI_GET_ITEM(gxml, "dialog");
	gtk_window_set_default_size(GTK_WINDOW(mark_verse_dialog),
				    300, 350);

	g_signal_connect(mark_verse_dialog, "response",
			 G_CALLBACK(on_mark_verse_response), NULL);

	/* entrys */
	entry_key = UI_GET_ITEM(gxml, "entry2");
	entry_module = UI_GET_ITEM(gxml, "entry3");
	textview = UI_GET_ITEM(gxml, "textview");

	textbuffer = gtk_text_view_get_buffer((GtkTextView *)textview);
	gtk_entry_set_text(GTK_ENTRY(entry_key), key);
	gtk_entry_set_text(GTK_ENTRY(entry_module), module);

	sw = UI_GET_ITEM(gxml, "scrolledwindow1");

	gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(textview),
				    GTK_WRAP_WORD);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
				       GTK_POLICY_AUTOMATIC,
				       GTK_POLICY_AUTOMATIC);
	g_signal_connect(entry_key, "activate",
			 G_CALLBACK(on_mark_verse_enter), NULL);
	g_signal_connect(entry_module, "activate",
			 G_CALLBACK(on_mark_verse_enter), NULL);

	old_note =
	    xml_get_list_from_label("osisrefmarkedverses", "markedverse",
				    osisreference);
	note = g_strdup((old_note) ? old_note : "");
	gtk_text_buffer_set_text(textbuffer, (old_note) ? old_note : "",
				 -1);
	g_signal_connect(textbuffer, "changed",
			 G_CALLBACK(on_buffer_changed), NULL);

	return mark_verse_dialog;
}
Esempio n. 7
0
void gui_export_dialog(void)
{
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
	gint dist_license, curVerse;
	gdouble max;
	char *ref;

	gchar *glade_file =
	    gui_general_user_file("export-dialog" UI_SUFFIX, FALSE);
	g_return_if_fail(glade_file != NULL);
	XI_message(("%s", glade_file));

	dist_license =
	    _check_for_distribution_license(settings.MainWindowModule);

/* build the widget */
#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "dialog_export_passage", NULL);
#endif

	dialog = UI_GET_ITEM(gxml, "dialog_export_passage");

	d.rb_book = UI_GET_ITEM(gxml, "radiobutton1");
	d.rb_chapter = UI_GET_ITEM(gxml, "radiobutton2");
	d.rb_verse = UI_GET_ITEM(gxml, "radiobutton3");
	d.rb_multi_verse = UI_GET_ITEM(gxml, "rb_multi_verse");
	d.cb_versenum = UI_GET_ITEM(gxml, "check_versenum");
	d.rb_html = UI_GET_ITEM(gxml, "radiobutton4");
	d.rb_plain = UI_GET_ITEM(gxml, "radiobutton5");
	d.rb_copy = UI_GET_ITEM(gxml, "rb_copy");
	d.rb_export = UI_GET_ITEM(gxml, "rb_export");
	d.lb_version = UI_GET_ITEM(gxml, "label3");
	d.lb_key = UI_GET_ITEM(gxml, "label4");
	d.sb_start_verse = UI_GET_ITEM(gxml, "sb_start_verse");
	d.sb_end_verse = UI_GET_ITEM(gxml, "sb_end_verse");
	d.warning_label = UI_GET_ITEM(gxml, "hbox2");
	d.cb_reference_last = UI_GET_ITEM(gxml, "check_reference_last");
	d.cb_version = UI_GET_ITEM(gxml, "check_include_version");

	/* set export-copy.xml */
	datafile =
	    g_strdup_printf("%s/export-copy.xml", settings.gSwordDir);
/* check for datafile */
#ifdef HAVE_GTK_224
	if (g_access(datafile, F_OK) == -1) {
#else
	if (g_access(datafile, 0) == -1) {
#endif
		xml_create_copy_export_file(datafile);
	}
	_load_data(datafile);
	if (datafile)
		g_free(datafile);

	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(d.rb_copy), TRUE);
	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(d.rb_multi_verse),
				     TRUE);

	g_signal_connect(dialog, "response",
			 G_CALLBACK(on_dialog_export_passage_response),
			 NULL);

	max = main_get_max_verses(settings.MainWindowModule);
	gtk_spin_button_set_range(GTK_SPIN_BUTTON(d.sb_start_verse),
				  1, max);
	gtk_spin_button_set_range(GTK_SPIN_BUTTON(d.sb_end_verse), 1, max);
	curVerse = main_get_current_verse(settings.MainWindowModule);
	gtk_spin_button_set_value(GTK_SPIN_BUTTON(d.sb_start_verse),
				  curVerse);
	gtk_spin_button_set_value(GTK_SPIN_BUTTON(d.sb_end_verse),
				  curVerse);
	gtk_widget_set_sensitive(d.sb_start_verse, FALSE);
	gtk_widget_set_sensitive(d.sb_end_verse, FALSE);

	/* experiment: hide single verse option; subsumed into multi-verse. */
	gtk_widget_hide(d.rb_verse);
	gtk_widget_set_sensitive(d.sb_start_verse, TRUE);
	gtk_widget_set_sensitive(d.sb_end_verse, TRUE);
	/* end experiment. */

	if (dist_license) {
		gtk_widget_show(d.warning_label);
		gtk_widget_show(d.rb_book);	/* formerly hide */
	} else {
		gtk_widget_hide(d.warning_label);
		gtk_widget_show(d.rb_book);
	}

	gtk_label_set_text(GTK_LABEL(d.lb_version),
			   settings.MainWindowModule);
	ref = (char *)main_getText(settings.currentverse);
	gtk_label_set_text(GTK_LABEL(d.lb_key), ref);
	g_free(ref);

	g_signal_connect((gpointer)d.rb_multi_verse, "toggled",
			 G_CALLBACK(on_rb_multi_verse_toggled), NULL);
	g_signal_connect((gpointer)d.cb_version, "toggled",
			 G_CALLBACK(on_cb_version_toggled), NULL);
	g_signal_connect((gpointer)d.cb_reference_last, "toggled",
			 G_CALLBACK(on_reference_last_toggled), NULL);
}
Esempio n. 8
0
/* need note toolbars when type is note */
static GtkWidget *editor_new(const gchar *title, EDITOR *e)
{
	GtkWidget *window;
	GtkWidget *scrollwindow;
	GtkWidget *statusbar;
	GtkBuilder *builder;
	gchar *gbuilder_file;
	GError *error = NULL;
	GtkMenuItem *item;
	GtkWidget *recent_item;

	buttons_state.nochange = 1;

	gbuilder_file = gui_general_user_file(
#ifdef USE_GTK_3
	    "gtk_webedit.ui"
#else
	    "gtk2_webedit.ui"
#endif
	    ,
	    FALSE);
	builder = gtk_builder_new();

	if (!gtk_builder_add_from_file(builder, gbuilder_file, &error)) {
		g_warning("Couldn't load builder file: %s",
			  error->message);
		g_error_free(error);
	}

	window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
	e->window = window;
	gtk_window_set_title(GTK_WINDOW(window), title);

	statusbar = GTK_WIDGET(gtk_builder_get_object(builder, "statusbar1"));
	gtk_widget_hide(statusbar);

	e->toolitems.outline_level = 0;
	e->toolitems.bold = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_bold"));
	e->toolitems.italic = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_italic"));
	e->toolitems.underline = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbuttonunderline"));
	e->toolitems.strike = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_strikethrough"));
	e->toolitems.open = GTK_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_open"));
	e->toolitems.newdoc = GTK_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_new"));
	e->toolitems.deletedoc = GTK_TOOL_BUTTON(gtk_builder_get_object(builder, "toolbutton_delete"));
	e->toolitems.color = GTK_COLOR_BUTTON(gtk_builder_get_object(builder, "colorbutton1"));
	e->toolitems.cb = GTK_COMBO_BOX_TEXT(gtk_builder_get_object(builder, "comboboxtext1"));

	gtk_combo_box_set_active((GtkComboBox *)e->toolitems.cb, 0);

	item = GTK_MENU_ITEM(gtk_builder_get_object(builder, "menuitem_recent"));

	switch (e->type) {
	case STUDYPAD_EDITOR:
		gtk_widget_hide(GTK_WIDGET(e->toolitems.deletedoc));

		recent_item = gtk_recent_chooser_menu_new();
		g_signal_connect(G_OBJECT(recent_item), "item-activated",
				 G_CALLBACK(recent_item_cb), e);
		gtk_menu_item_set_submenu(item, recent_item);
		break;
	case NOTE_EDITOR:
		gtk_widget_hide(GTK_WIDGET(e->toolitems.open));
		gtk_widget_hide(GTK_WIDGET(e->toolitems.newdoc));
		gtk_widget_hide(GTK_WIDGET(item));
		break;
	case BOOK_EDITOR:
		gtk_widget_hide(GTK_WIDGET(e->toolitems.open));
		gtk_widget_hide(GTK_WIDGET(e->toolitems.newdoc));
		gtk_widget_hide(GTK_WIDGET(item));
		break;
	}

	e->navbar_box = GTK_WIDGET(gtk_builder_get_object(builder, "box_navbar"));
	e->box = GTK_WIDGET(gtk_builder_get_object(builder, "vbox1"));

	scrollwindow = GTK_WIDGET(gtk_builder_get_object(builder, "scrolledwindow1"));
	create_editor_window(scrollwindow, e);
	e->is_changed = FALSE;

	/* This is important */
	gtk_builder_connect_signals(builder, (EDITOR *)e);

	find_dialog.window = GTK_WIDGET(gtk_builder_get_object(builder, "dialog_find_replace"));
	find_dialog.find_entry = GTK_WIDGET(gtk_builder_get_object(builder, "entry1"));
	find_dialog.replace_entry = GTK_WIDGET(gtk_builder_get_object(builder, "entry2"));
	find_dialog.box_replace = GTK_WIDGET(gtk_builder_get_object(builder, "box4"));
	find_dialog.button_replace = GTK_WIDGET(gtk_builder_get_object(builder, "button_replace"));

	g_object_unref(builder);

	return window;
}
Esempio n. 9
0
GtkWidget *gui_create_main_menu(void)
{
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
	gchar *glade_file =
	    gui_general_user_file("xi-menus" UI_SUFFIX, FALSE);
	g_return_val_if_fail(glade_file != NULL, NULL);

#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "menu_main", NULL);
#endif
	g_free(glade_file);
	g_return_val_if_fail(gxml != NULL, NULL);

	GtkWidget *menu = UI_GET_ITEM(gxml, "menu_main");

	widgets.viewtexts_item = UI_GET_ITEM(gxml, "show_bible_text");
	widgets.viewpreview_item = UI_GET_ITEM(gxml, "preview");
	widgets.viewcomms_item = UI_GET_ITEM(gxml, "commentary");
	widgets.viewdicts_item =
	    UI_GET_ITEM(gxml, "show_dictionary_lexicon");
	widgets.linkedtabs_item = UI_GET_ITEM(gxml, "link_tabs");
	widgets.readaloud_item = UI_GET_ITEM(gxml, "read_aloud");
	widgets.showversenum_item =
	    UI_GET_ITEM(gxml, "show_verse_numbers");
	widgets.versehighlight_item =
	    UI_GET_ITEM(gxml, "highlight_current_verse");
	widgets.parallel_tab_item =
	    UI_GET_ITEM(gxml, "show_parallel_view_in_a_tab");
	widgets.side_preview_item =
	    UI_GET_ITEM(gxml, "show_previewer_in_sidebar");
	widgets.new_journal_item = UI_GET_ITEM(gxml, "newjournal");

	/* map tab's show state into view menu. */
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.viewtexts_item),
				       settings.showtexts);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.viewcomms_item),
				       settings.showcomms);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.viewdicts_item),
				       settings.showdicts);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.viewpreview_item),
				       settings.showpreview);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.parallel_tab_item),
				       settings.showparatab);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.side_preview_item),
				       settings.show_previewer_in_sidebar);

	/* update other status toys */
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.linkedtabs_item),
				       settings.linkedtabs);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.readaloud_item),
				       settings.readaloud);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.showversenum_item),
				       settings.showversenum);
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widgets.versehighlight_item),
				       settings.versehighlight);
/* connect signals and data */
#ifdef USE_GTKBUILDER
	gtk_builder_connect_signals(gxml, NULL);
/*gtk_builder_connect_signals_full
	   (gxml, (GtkBuilderConnectFunc)gui_glade_signal_connect_func, NULL); */
#else
	glade_xml_signal_autoconnect_full(gxml, (GladeXMLConnectFunc)gui_glade_signal_connect_func,
					  NULL);
#endif
	//set up global function to handle all link buttons
	//      gtk_link_button_set_uri_hook (link_uri_hook, NULL, NULL);

	if (settings.prayerlist)
		gtk_widget_show(widgets.new_journal_item);
	else
		gtk_widget_hide(widgets.new_journal_item);
	gtk_widget_show(menu);
	return menu;
}
Esempio n. 10
0
GtkWidget *gui_navbar_versekey_editor_new(EDITOR *editor)
{
#ifdef USE_GTKBUILDER
	GtkBuilder *gxml;
#else
	GladeXML *gxml;
#endif
#ifdef HAVE_GTK_34
	GtkWidget *eventbox;
#endif

	gchar *glade_file =
	    gui_general_user_file("navbar_versekey" UI_SUFFIX, FALSE);
	g_return_val_if_fail((glade_file != NULL), NULL);
	XI_message(("%s", glade_file));

/* build the widget */
#ifdef USE_GTKBUILDER
	gxml = gtk_builder_new();
	gtk_builder_add_from_file(gxml, glade_file, NULL);
#else
	gxml = glade_xml_new(glade_file, "navbar", NULL);
#endif
	editor->navbar.dialog = TRUE;
	editor->navbar.module_name =
	    g_string_new(settings.MainWindowModule);
	editor->navbar.key = g_string_new(settings.currentverse);

	editor->navbar.navbar = UI_GET_ITEM(gxml, "navbar");
	editor->navbar.button_history_back =
	    UI_GET_ITEM(gxml, "button_history_back");
	editor->navbar.button_history_next =
	    UI_GET_ITEM(gxml, "button_history_foward");
	editor->navbar.button_history_menu =
	    UI_GET_ITEM(gxml, "togglebutton_history_list");

	editor->navbar.button_sync =
	    UI_GET_ITEM(gxml, "togglebutton_sync");
	gtk_widget_show(editor->navbar.button_sync);
	gtk_widget_set_tooltip_text(editor->navbar.button_sync,
				    _("Synchronize this window's scrolling with the main window"));
	editor->navbar.button_book_up = UI_GET_ITEM(gxml, "eventbox9");
	editor->navbar.button_book_down = UI_GET_ITEM(gxml, "eventbox6");
	editor->navbar.button_chapter_up = UI_GET_ITEM(gxml, "eventbox8");
	editor->navbar.button_chapter_down =
	    UI_GET_ITEM(gxml, "eventbox4");
	editor->navbar.button_verse_up = UI_GET_ITEM(gxml, "eventbox7");
	editor->navbar.button_verse_down = UI_GET_ITEM(gxml, "eventbox1");

	editor->navbar.arrow_book_up_box = UI_GET_ITEM(gxml, "image13");
	editor->navbar.arrow_book_up = UI_GET_ITEM(gxml, "image12");
	editor->navbar.arrow_book_down_box = UI_GET_ITEM(gxml, "image15");
	editor->navbar.arrow_book_down = UI_GET_ITEM(gxml, "image14");
	editor->navbar.arrow_chapter_up_box = UI_GET_ITEM(gxml, "image9");
	editor->navbar.arrow_chapter_up = UI_GET_ITEM(gxml, "image8");
	editor->navbar.arrow_chapter_down_box =
	    UI_GET_ITEM(gxml, "image11");
	editor->navbar.arrow_chapter_down = UI_GET_ITEM(gxml, "image10");
	editor->navbar.arrow_verse_up_box = UI_GET_ITEM(gxml, "image7");
	editor->navbar.arrow_verse_up = UI_GET_ITEM(gxml, "image6");
	editor->navbar.arrow_verse_down_box = UI_GET_ITEM(gxml, "image16");
	editor->navbar.arrow_verse_down = UI_GET_ITEM(gxml, "image5");

	editor->navbar.button_book_menu =
	    UI_GET_ITEM(gxml, "togglebutton_book");
	editor->navbar.button_chapter_menu =
	    UI_GET_ITEM(gxml, "togglebutton_chapter");
	editor->navbar.button_verse_menu =
	    UI_GET_ITEM(gxml, "togglebutton_verse");
	editor->navbar.lookup_entry = UI_GET_ITEM(gxml, "entry_lookup");
	editor->navbar.label_book_menu = UI_GET_ITEM(gxml, "label_book");
	editor->navbar.label_chapter_menu =
	    UI_GET_ITEM(gxml, "label_chapter");
	editor->navbar.label_verse_menu = UI_GET_ITEM(gxml, "label_verse");

#ifdef HAVE_GTK_34
	eventbox = UI_GET_ITEM(gxml, "eventbox_book");
	g_signal_connect((gpointer)eventbox, "scroll_event",
			 G_CALLBACK(on_button_verse_menu_book_scroll_event), editor);

	eventbox = UI_GET_ITEM(gxml, "eventbox_chapter");
	g_signal_connect((gpointer)eventbox, "scroll_event",
			 G_CALLBACK(on_button_verse_menu_chapter_scroll_event),
			 editor);

	eventbox = UI_GET_ITEM(gxml, "eventbox_verse");
	g_signal_connect((gpointer)eventbox, "scroll_event",
			 G_CALLBACK(on_button_verse_menu_verse_scroll_event),
			 editor);
#endif
	_connect_signals(editor->navbar, editor);

	return editor->navbar.navbar;
}