Ejemplo n.º 1
0
static void
on_kb_toggle_bookmark (guint key_id)
{
  const gchar *uri = gwh_browser_get_uri (GWH_BROWSER (G_browser));
  
  if (gwh_browser_has_bookmark (GWH_BROWSER (G_browser), uri)) {
    gwh_browser_remove_bookmark (GWH_BROWSER (G_browser), uri);
  } else {
    gwh_browser_add_bookmark (GWH_BROWSER (G_browser), uri);
  }
}
Ejemplo n.º 2
0
static void
attach_browser (void)
{
  GwhBrowserPosition position;
  
  g_object_get (G_settings, "browser-position", &position, NULL);
  if (position == GWH_BROWSER_POSITION_SEPARATE_WINDOW) {
    G_container.type = CONTAINER_WINDOW;
    G_container.widget = create_separate_window ();
    /* seems that if a window is shown before it's transient parent, bad stuff
     * happend. so, show our window a little later. */
    g_idle_add (on_idle_widget_show, G_container.widget);
  } else {
    G_container.type = CONTAINER_NOTEBOOK;
    if (position == GWH_BROWSER_POSITION_SIDEBAR) {
      G_container.widget = geany_data->main_widgets->sidebar_notebook;
    } else {
      G_container.widget = geany_data->main_widgets->message_window_notebook;
    }
    gtk_notebook_append_page (GTK_NOTEBOOK (G_container.widget),
                              G_browser, gtk_label_new (_("Web preview")));
    gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser),
                                             GTK_WINDOW (geany_data->main_widgets->window));
  }
}
Ejemplo n.º 3
0
static void
on_separate_window_destroy (GtkWidget  *widget,
                            gpointer    data)
{
  gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser), NULL);
  gtk_container_remove (GTK_CONTAINER (G_container.widget), G_browser);
}
Ejemplo n.º 4
0
static void
on_document_save (GObject        *obj,
                  GeanyDocument  *doc,
                  gpointer        user_data)
{
  gboolean auto_reload = FALSE;
  
  g_object_get (G_OBJECT (G_settings), "browser-auto-reload", &auto_reload,
                NULL);
  if (auto_reload) {
    gwh_browser_reload (GWH_BROWSER (G_browser));
  }
}
Ejemplo n.º 5
0
static GtkWidget *
create_separate_window (void)
{
  GtkWidget  *window;
  gboolean    skips_taskbar;
  gboolean    is_transient;
  gint        window_type;
  
  g_object_get (G_settings,
                "wm-secondary-windows-skip-taskbar", &skips_taskbar,
                "wm-secondary-windows-are-transient", &is_transient,
                "wm-secondary-windows-type", &window_type,
                NULL);
  window = g_object_new (GTK_TYPE_WINDOW,
                         "type", GTK_WINDOW_TOPLEVEL,
                         "skip-taskbar-hint", skips_taskbar,
                         "title", _("Web view"),
                         "deletable", FALSE,
                         "type-hint", window_type,
                         NULL);
  g_signal_connect (window, "delete-event",
                    G_CALLBACK (on_separate_window_delete_event), NULL);
  g_signal_connect (window, "destroy",
                    G_CALLBACK (on_separate_window_destroy), NULL);
  gtk_container_add (GTK_CONTAINER (window), G_browser);
  if (is_transient) {
    gtk_window_set_transient_for (GTK_WINDOW (window),
                                  GTK_WINDOW (geany_data->main_widgets->window));
  } else {
    GList *icons;
    
    icons = gtk_window_get_icon_list (GTK_WINDOW (geany_data->main_widgets->window));
    gtk_window_set_icon_list (GTK_WINDOW (window), icons);
    g_list_free (icons);
  }
  gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser),
                                           GTK_WINDOW (window));
  
  return window;
}
Ejemplo n.º 6
0
static void
on_kb_toggle_inspector (guint key_id)
{
  gwh_browser_toggle_inspector (GWH_BROWSER (G_browser));
}