Exemple #1
0
static struct prop *
gu_stop(void *ui)
{
  gtk_ui_t *gu = ui;

  gu_window_t *gw;
  prop_t *nav = NULL;

  gu_popup_fini(gu);

  // Try to find the last/currently focused navigator and return that

  gw = gu->gu_last_focused ?: LIST_FIRST(&gu->gu_windows);

  if(gw != NULL)  {
    nav = gw->gw_current_tab->gt_nav;
    gw->gw_current_tab->gt_nav = NULL; // Don't destroy it below
  }

  // Destroy all windows (and tabs)

  while((gw = LIST_FIRST(&gu->gu_windows)) != NULL)
    gu_win_destroy(gw);

  return nav;
}
Exemple #2
0
static gboolean 
gw_close(GtkWidget *widget,GdkEvent *event, gpointer data)
{
  gu_window_t *gw = data;
  gtk_ui_t *gu = gw->gw_gu;
  gu_win_destroy(gw);

  if(LIST_FIRST(&gu->gu_windows) == NULL)
    app_shutdown(0);

  return TRUE;
}
Exemple #3
0
void
gu_tab_close(gu_tab_t *gt)
{
  gu_window_t *gw = gt->gt_gw;

  gu_tab_destroy(gt);

  if(gw->gw_ntabs == 0) {
    gu_win_destroy(gw);
  } else if(gw->gw_ntabs < 2) {
    gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gw->gw_notebook), 0);
  }
}
Exemple #4
0
void
gu_tab_destroy(gu_tab_t *gt)
{
  gu_window_t *gw = gt->gt_gw;

  gtk_widget_destroy(gt->gt_notebook);

  prop_destroy(gt->gt_nav);

  LIST_REMOVE(gt, gt_link);
  free(gt);

  gw->gw_ntabs--;

  if(gw->gw_ntabs == 0) {
    gu_win_destroy(gw);
  } else if(gw->gw_ntabs < 2) {
    gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gw->gw_notebook), 0);
  }
}
Exemple #5
0
static gboolean 
gw_close(GtkWidget *widget,GdkEvent *event, gpointer data)
{
  gu_win_destroy(data);
  return TRUE;
}
Exemple #6
0
static void
m_closewindow(GtkWidget *menu_item, gpointer callback_data)
{
  gu_window_t *gw = callback_data;
  gu_win_destroy(gw);
}