void browser_window_load_uri(BrowserWindow *window, const char *uri) { g_return_if_fail(BROWSER_IS_WINDOW(window)); g_return_if_fail(uri); if (!g_str_has_prefix(uri, "javascript:")) { char *internalURI = getInternalURI(uri); if (!g_uri_parse_scheme (uri)) { internalURI = g_strconcat("http://", internalURI, NULL); } if (!internalURI || !strncasecmp (internalURI, "http:", 5) || !strncasecmp (internalURI, "https:", 6) || !strncasecmp (internalURI, "file:", 5) || !strncasecmp (internalURI, "minibrowser-about:", 18)) { g_printerr("\n\t ok!\n"); } else return; webkit_web_view_load_uri(window->webView, internalURI); g_free(internalURI); return; } webkit_web_view_run_javascript(window->webView, strstr(uri, "javascript:"), NULL, NULL, NULL); }
static TConnection * get_t_connection (UiFormGrid *formgrid) { if (formgrid->priv->tcnc) return formgrid->priv->tcnc; else { GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (GTK_WIDGET (formgrid)); if (BROWSER_IS_WINDOW (toplevel)) return browser_window_get_connection (BROWSER_WINDOW (toplevel)); } return NULL; }
static void execute_action_mitem_cb (GtkMenuItem *menuitem, UiFormGrid *formgrid) { TFavoritesAction *act; GtkWidget *dlg; gchar *tmp; gint response; GtkWidget *toplevel; act = (TFavoritesAction*) g_object_get_data (G_OBJECT (menuitem), "action"); toplevel = gtk_widget_get_toplevel ((GtkWidget*) formgrid); tmp = g_strdup_printf (_("Set or confirm the parameters to execute\n" "action '%s'"), act->name); dlg = gdaui_basic_form_new_in_dialog (act->params, (GtkWindow*) toplevel, _("Execution of action"), tmp); g_free (tmp); response = gtk_dialog_run (GTK_DIALOG (dlg)); gtk_widget_destroy (dlg); if (response == GTK_RESPONSE_ACCEPT) { GError *lerror = NULL; TConnection *tcnc; tcnc = get_t_connection (formgrid); g_assert (tcnc); GObject *result; result = t_connection_execute_statement (tcnc, act->stmt, act->params, GDA_STATEMENT_MODEL_RANDOM_ACCESS, NULL, &lerror); if (result && GDA_IS_DATA_MODEL (result)) { GtkWidget *dialog, *label, *fg; GtkWidget *dcontents; gchar *tmp; dialog = gtk_dialog_new_with_buttons (act->name, NULL, 0, _("_Close"), GTK_RESPONSE_CLOSE, NULL); dcontents = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); gtk_box_set_spacing (GTK_BOX (dcontents), 5); gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE, TRUE); tmp = g_markup_printf_escaped ("<b>%s:</b>", act->name); label = gtk_label_new (""); gtk_label_set_markup (GTK_LABEL (label), tmp); g_free (tmp); gtk_widget_set_halign (label, GTK_ALIGN_START); gtk_box_pack_start (GTK_BOX (dcontents), label, FALSE, FALSE, 5); fg = ui_formgrid_new (GDA_DATA_MODEL (result), TRUE, GDAUI_DATA_PROXY_INFO_CURRENT_ROW); ui_formgrid_set_connection (UI_FORMGRID (fg), tcnc); ActionExecutedData *aed; aed = g_new0 (ActionExecutedData, 1); aed->formgrid = g_object_ref (formgrid); aed->tcnc = g_object_ref (tcnc); if (act->name) aed->name = g_strdup (act->name); aed->stmt = g_object_ref (act->stmt); aed->params = g_object_ref (act->params); if (GDA_IS_DATA_SELECT (result)) { GdaStatement *stmt; g_object_get (G_OBJECT (result), "select-stmt", &stmt, NULL); if (stmt) { ui_formgrid_handle_user_prefs (UI_FORMGRID (fg), NULL, stmt); g_object_unref (stmt); } aed->model = g_object_ref (result); g_signal_connect (aed->params, "holder-changed", G_CALLBACK (action_executed_holder_changed_cb), aed); aed->formgrid = g_object_ref (fg); aed->formgrid->priv->autoupdate_possible = TRUE; gtk_widget_show (aed->formgrid->priv->autoupdate_toggle); } gtk_box_pack_start (GTK_BOX (dcontents), fg, TRUE, TRUE, 0); gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 600); gtk_widget_show_all (dialog); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); g_signal_connect (dialog, "close", G_CALLBACK (gtk_widget_destroy), NULL); g_object_set_data_full (G_OBJECT (dialog), "aed", aed, (GDestroyNotify) action_executed_data_free); } else if (result) { if (BROWSER_IS_WINDOW (toplevel)) { browser_window_show_notice_printf (BROWSER_WINDOW (toplevel), GTK_MESSAGE_INFO, "ActionExecution", "%s", _("Action successfully executed")); } else ui_show_message (GTK_WINDOW (toplevel), "%s", _("Action successfully executed")); g_object_unref (result); } else { ui_show_error (GTK_WINDOW (toplevel), _("Error executing query: %s"), lerror && lerror->message ? lerror->message : _("No detail")); g_clear_error (&lerror); } } }
WebKitWebView *browser_window_get_view(BrowserWindow *window) { g_return_val_if_fail(BROWSER_IS_WINDOW(window), 0); return window->webView; }