Exemplo n.º 1
0
/**
 * add handlers to factory widgets
 * \param g the scaffolding to attach handlers to
 * \param i the toolbar item id
 */
void nsgtk_toolbar_set_handler(nsgtk_scaffolding *g, nsgtk_toolbar_button i)
{
	switch(i){
	case URL_BAR_ITEM:
		nsgtk_scaffolding_update_url_bar_ref(g);
		g_signal_connect(GTK_WIDGET(nsgtk_scaffolding_urlbar(g)),
				"activate", G_CALLBACK(
				nsgtk_window_url_activate_event), g);
		g_signal_connect(GTK_WIDGET(nsgtk_scaffolding_urlbar(g)),
				"changed", G_CALLBACK(
				nsgtk_window_url_changed), g);
		break;
	case THROBBER_ITEM:
		nsgtk_scaffolding_update_throbber_ref(g);
		break;
	case WEBSEARCH_ITEM:
		nsgtk_scaffolding_update_websearch_ref(g);
		g_signal_connect(GTK_WIDGET(nsgtk_scaffolding_websearch(g)),
				"activate", G_CALLBACK(
				nsgtk_websearch_activate), g);
		g_signal_connect(GTK_WIDGET(nsgtk_scaffolding_websearch(g)),
				"button-press-event", G_CALLBACK(
				nsgtk_websearch_clear), g);
		break;
	default:
		if ((nsgtk_scaffolding_button(g, i)->bhandler != NULL) &&
				(nsgtk_scaffolding_button(g, i)->button
				!= NULL))
			g_signal_connect(nsgtk_scaffolding_button(g, i)->
					button, "clicked",
					G_CALLBACK(nsgtk_scaffolding_button(g,
					i)->bhandler), g);
	break;
	}
}
Exemplo n.º 2
0
gboolean nsgtk_websearch_clear(GtkWidget *widget, GdkEventFocus *f, 
		gpointer data)
{
	struct nsgtk_scaffolding *g = (struct nsgtk_scaffolding *)data;
	gtk_editable_select_region(GTK_EDITABLE(
			nsgtk_scaffolding_websearch(g)), 0, -1);
	gtk_widget_grab_focus(GTK_WIDGET(nsgtk_scaffolding_websearch(g)));
	return TRUE;
}
Exemplo n.º 3
0
gboolean nsgtk_websearch_activate(GtkWidget *widget, gpointer data)
{
	struct nsgtk_scaffolding *g = data;
	nserror ret;
	nsurl *url;

	ret = search_web_omni(
		gtk_entry_get_text(GTK_ENTRY(nsgtk_scaffolding_websearch(g))),
		SEARCH_WEB_OMNI_SEARCHONLY,
		&url);
	if (ret == NSERROR_OK) {
		temp_open_background = 0;
		ret = browser_window_create(
			BW_CREATE_HISTORY | BW_CREATE_TAB,
			url,
			NULL,
			nsgtk_get_browser_window(nsgtk_scaffolding_top_level(g)),
			NULL);
		temp_open_background = -1;
		nsurl_unref(url);
	}
	if (ret != NSERROR_OK) {
		nsgtk_warning(messages_get_errorcode(ret), 0);
	}

	return TRUE;
}