Пример #1
0
void
gb_gnome_druid_add_child (GtkWidget *widget,
			  GtkWidget *child,
			  GbWidgetSetArgData *data)
{
  gnome_druid_append_page (GNOME_DRUID (widget), GNOME_DRUID_PAGE (child));
}
Пример #2
0
/*--------------------------------------------------------------------------*/
static void
add_finish_page( GnomeDruid *wdruid, GdkPixbuf *logo )
{
	GdkColor   druid_bg_color = DRUID_BG_COLOR;
	GdkColor   druid_title_color = DRUID_TITLE_COLOR;

	gb_debug (DEBUG_UPDATE, "START");

	finish_page = gnome_druid_page_edge_new_with_vals (GNOME_EDGE_FINISH,
							   TRUE,
							   _("done"),
							   _("Done."),
							   logo,
							   NULL,
							   NULL);
	gnome_druid_page_edge_set_bg_color(GNOME_DRUID_PAGE_EDGE(finish_page),
					   &druid_bg_color);
	gnome_druid_page_edge_set_logo_bg_color (GNOME_DRUID_PAGE_EDGE(finish_page),
						 &druid_bg_color );
	gnome_druid_page_edge_set_title_color (GNOME_DRUID_PAGE_EDGE(finish_page),
					       &druid_title_color );
	gnome_druid_append_page( wdruid, GNOME_DRUID_PAGE(finish_page) );

	g_signal_connect_after( G_OBJECT(finish_page), "prepare",
				G_CALLBACK(prepare_finish_page), NULL );

	g_signal_connect( G_OBJECT(finish_page), "finish",
			  G_CALLBACK(finish_cb), NULL );

	gb_debug (DEBUG_UPDATE, "END");
}
Пример #3
0
static void
on_druid_dialog_ok (GtkWidget * widget, GbWidgetNewData * data)
{
  GtkWidget *new_widget, *spinbutton, *window, *page;
  gint pages, i;

  window = gtk_widget_get_toplevel (widget);

  /* Only call callback if placeholder/fixed widget is still there */
  if (gb_widget_can_finish_new (data))
    {
      spinbutton = gtk_object_get_data (GTK_OBJECT (window), "pages");
      g_return_if_fail (spinbutton != NULL);
      pages = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spinbutton));

      new_widget = gnome_druid_new ();
      page = gnome_druid_page_edge_new_aa (GNOME_EDGE_START);
      gb_widget_create_from (page, "GnomeDruidPageStart");
      gnome_druid_append_page (GNOME_DRUID (new_widget),
			       GNOME_DRUID_PAGE (page));
      gnome_druid_set_page (GNOME_DRUID (new_widget), GNOME_DRUID_PAGE (page));

      for (i = 0; i < pages - 2; i++)
	{
	  page = gb_widget_new ("GnomeDruidPageStandard", new_widget);
	  gnome_druid_append_page (GNOME_DRUID (new_widget),
				   GNOME_DRUID_PAGE (page));
	}

      if (pages >= 2)
	{
	  page = gnome_druid_page_edge_new_aa (GNOME_EDGE_FINISH);
	  gb_widget_create_from (page, "GnomeDruidPageFinish");
	  gnome_druid_append_page (GNOME_DRUID (new_widget),
				   GNOME_DRUID_PAGE (page));
	}

      gtk_widget_show_all (new_widget);
      gb_widget_initialize (new_widget, data);
      (*data->callback) (new_widget, data);
    }
  gtk_widget_destroy (window);
}
Пример #4
0
static void
gnome_druid_add (GtkContainer *widget,
		 GtkWidget *page)
{
	g_return_if_fail (widget != NULL);
	g_return_if_fail (GNOME_IS_DRUID (widget));
	g_return_if_fail (page != NULL);
	g_return_if_fail (GNOME_IS_DRUID_PAGE (page));

	gnome_druid_append_page (GNOME_DRUID (widget), GNOME_DRUID_PAGE (page));
}
Пример #5
0
/*--------------------------------------------------------------------------*/
static void
add_select_download_page( GnomeDruid *wdruid, GdkPixbuf *logo )
{
	GtkWidget *wvbox;
	GdkColor   druid_bg_color = DRUID_BG_COLOR;
	GdkColor   druid_title_color = DRUID_TITLE_COLOR;
	GtkWidget *whbox, *wcombo;
	GList      *name_list = NULL;
	GList      *p;
	Site       *site;

	gb_debug (DEBUG_UPDATE, "START");

	download_page = gnome_druid_page_standard_new_with_vals (_("Select download site"),
								 logo,
								 NULL);
	gnome_druid_page_standard_set_background(GNOME_DRUID_PAGE_STANDARD(download_page),
						 &druid_bg_color);
	gnome_druid_page_standard_set_logo_background(GNOME_DRUID_PAGE_STANDARD(download_page),
						      &druid_bg_color);
	gnome_druid_page_standard_set_title_foreground( GNOME_DRUID_PAGE_STANDARD(download_page),
						   &druid_title_color);
	gnome_druid_append_page( wdruid, GNOME_DRUID_PAGE(download_page) );

	wvbox = GNOME_DRUID_PAGE_STANDARD(download_page)->vbox;

	whbox = gtk_hbox_new( FALSE, 10 );
	gtk_container_set_border_width( GTK_CONTAINER(whbox), 20 );
	gtk_box_pack_start( GTK_BOX(wvbox), whbox, TRUE, TRUE, 0 );

	gtk_box_pack_start( GTK_BOX(whbox),
			    gtk_label_new( _("Download site:") ),
			    FALSE, TRUE, 0 );

	if ( site_list == NULL ) {
		site_list = read_site_list();
	}
	for ( p=site_list; p!= NULL; p=p->next ) {
		site = (Site *)p->data;
		name_list = g_list_append( name_list, site->name );
	}
	wcombo = gtk_combo_new();
	gtk_combo_set_popdown_strings( GTK_COMBO(wcombo), name_list );
	g_list_free( name_list );
	name_list = NULL;
	site_entry = GTK_COMBO(wcombo)->entry;
	gtk_entry_set_editable( GTK_ENTRY(site_entry), FALSE );
	gtk_box_pack_start( GTK_BOX(whbox), wcombo, TRUE, TRUE, 0 );

	gb_debug (DEBUG_UPDATE, "END");
}
Пример #6
0
static void
gb_gnome_druid_add_finish_page (GtkWidget * menuitem,
				GnomeDruid *druid)
{
  GtkWidget *new_page;

  new_page = gnome_druid_page_edge_new_aa (GNOME_EDGE_FINISH);
  gb_widget_create_from (new_page, "GnomeDruidPageFinish");
  gtk_widget_show_all (new_page);

  gnome_druid_append_page (druid, GNOME_DRUID_PAGE (new_page));

  gb_gnome_druid_show_page (GTK_WIDGET (druid), new_page);

  gnome_druid_set_page (druid, GNOME_DRUID_PAGE (new_page));
  tree_add_widget (GTK_WIDGET (new_page));
}
Пример #7
0
Файл: at_new.c Проект: piki/gat
at_job_t *make_new_at_job() {
  GtkWidget *druid, *page_start, *page_at1, *page_at2, *page_finish;
  GtkWidget *hbox, *frame, *align, *bigvbox;
  at_druid_info *info;
  struct tm *tp;
  time_t t;
  char *fname;
  GdkPixbuf *logo = NULL;

  fname = gnome_pixmap_file("gnome-clock.png");
  if (fname)
    logo = gdk_pixbuf_new_from_file(fname, NULL);
  g_free(fname);

  time(&t);
  tp = localtime(&t);

  info = g_new(at_druid_info, 1);
  druid = gnome_druid_new_with_window("New One-Time Job",
    NULL, TRUE, &info->win);

  page_start = gnome_druid_page_edge_new_with_vals(
    GNOME_EDGE_START, FALSE,
    "Create new one-time job",
    "This series of dialogs will step\n"
    "you through the process of creating\n"
    "a new one-time job.", logo, NULL, NULL);
  page_at1 = gnome_druid_page_standard_new_with_vals(
    "Choose a time and date", logo, NULL);
  page_at2 = gnome_druid_page_standard_new_with_vals(
    "Select command", logo, NULL);
  page_finish = gnome_druid_page_edge_new_with_vals(
    GNOME_EDGE_FINISH, FALSE,
    "Confirm new job", NULL, logo, NULL, NULL);

  bigvbox = gtk_vbox_new(FALSE, 0);
  align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
  gtk_container_add(GTK_CONTAINER(align), bigvbox);
  gtk_box_pack_start(GTK_BOX(GNOME_DRUID_PAGE_STANDARD(page_at1)->vbox),
    align, TRUE, TRUE, 0);

  info->cal = gtk_calendar_new();
  gtk_box_pack_start(GTK_BOX(bigvbox), info->cal, FALSE, FALSE, 0);

  hbox = gtk_hbox_new(FALSE, 0);
  frame = gtk_frame_new("Time");
  gtk_container_set_border_width(GTK_CONTAINER(frame), 8);
  gtk_box_pack_start(GTK_BOX(bigvbox), frame, FALSE, FALSE, 0);
  gtk_container_add(GTK_CONTAINER(frame), hbox);

  info->hour = make_new_spinner("Hour:", tp->tm_hour, 0, 23, 5, hbox);
  info->minute = make_new_spinner("Minute:", tp->tm_min, 0, 59, 5, hbox);

  info->command = make_job_page(GNOME_DRUID_PAGE_STANDARD(page_at2)->vbox);

  gtk_signal_connect_object(GTK_OBJECT(page_finish), "finish",
    GTK_SIGNAL_FUNC(at_commit_job), (gpointer)info);
  gtk_signal_connect_object(GTK_OBJECT(info->win), "destroy",
    GTK_SIGNAL_FUNC(g_free), (gpointer)info);
  gtk_signal_connect(GTK_OBJECT(page_finish), "prepare",
    GTK_SIGNAL_FUNC(prepare_last_page), (gpointer)info);
  gtk_signal_connect(GTK_OBJECT(info->command), "changed",
    GTK_SIGNAL_FUNC(cmd_changed), (gpointer)druid);

  gnome_druid_append_page(GNOME_DRUID(druid), GNOME_DRUID_PAGE(page_start));
  gnome_druid_append_page(GNOME_DRUID(druid), GNOME_DRUID_PAGE(page_at1));
  gnome_druid_append_page(GNOME_DRUID(druid), GNOME_DRUID_PAGE(page_at2));
  gnome_druid_append_page(GNOME_DRUID(druid), GNOME_DRUID_PAGE(page_finish));
  gnome_druid_set_page(GNOME_DRUID(druid), GNOME_DRUID_PAGE(page_start));
  gtk_window_set_modal(GTK_WINDOW(info->win), TRUE);
  gtk_widget_show_all(info->win);

  g_object_unref(logo);

  return NULL;
}
Пример #8
0
/*--------------------------------------------------------------------------*/
static void
add_downloading_page( GnomeDruid *wdruid, GdkPixbuf *logo )
{
	GtkWidget *wpage, *wvbox, *wvbox2, *wvbox3, *wvbox4;
	GtkWidget *whbox2, *whbox3, *whbox4;
	GtkWidget *wlabel1, *wlabel2, *wframe;
	GdkColor   druid_bg_color = DRUID_BG_COLOR;
	GdkColor   druid_title_color = DRUID_TITLE_COLOR;

	gb_debug (DEBUG_UPDATE, "START");

	wpage = gnome_druid_page_standard_new_with_vals (_("Downloading..."),
							 logo,
							 NULL);
	gnome_druid_page_standard_set_background(GNOME_DRUID_PAGE_STANDARD(wpage),
						 &druid_bg_color);
	gnome_druid_page_standard_set_logo_background(GNOME_DRUID_PAGE_STANDARD(wpage),
						      &druid_bg_color);
	gnome_druid_page_standard_set_title_foreground(GNOME_DRUID_PAGE_STANDARD(wpage),
						       &druid_title_color);
	gnome_druid_append_page( wdruid, GNOME_DRUID_PAGE(wpage) );

	wvbox = GNOME_DRUID_PAGE_STANDARD(wpage)->vbox;

	wvbox2 = gtk_vbox_new( FALSE, 10 );
	gtk_container_set_border_width( GTK_CONTAINER(wvbox2), 20 );
	gtk_box_pack_start( GTK_BOX(wvbox), wvbox2, TRUE, FALSE, 0 );

	wlabel1 = gtk_label_new( _("Please wait while GBonds downloads new redemption data.") );
	gtk_box_pack_start( GTK_BOX(wvbox2), wlabel1, FALSE, TRUE, 0 );

	wframe = gtk_frame_new( NULL );
	gtk_box_pack_start( GTK_BOX(wvbox2), wframe, FALSE, TRUE, 0 );
	whbox2 = gtk_hbox_new( FALSE, 0 );
	gtk_container_set_border_width( GTK_CONTAINER(whbox2), 5 );
	gtk_container_add( GTK_CONTAINER(wframe), whbox2 );
	status_label = gtk_label_new( _("Status") );
	gtk_label_set_justify( GTK_LABEL(status_label), GTK_JUSTIFY_LEFT );
	gtk_box_pack_start( GTK_BOX(whbox2), status_label, FALSE, TRUE, 0 );

	wvbox3 = gtk_vbox_new( FALSE, 2 );
	gtk_box_pack_start( GTK_BOX(wvbox2), wvbox3, TRUE, FALSE, 0 );

	whbox3 = gtk_hbox_new( FALSE, 0 );
	gtk_box_pack_start( GTK_BOX(wvbox3), whbox3, FALSE, TRUE, 0 );
	file_label = gtk_label_new( _("File") );
	gtk_label_set_justify( GTK_LABEL(file_label), GTK_JUSTIFY_LEFT );
	gtk_box_pack_start( GTK_BOX(whbox3), file_label, FALSE, TRUE, 0 );

	file_progress = gtk_progress_bar_new();
	gtk_progress_bar_set_text( GTK_PROGRESS_BAR(file_progress), "" );
	gtk_box_pack_start( GTK_BOX(wvbox3), file_progress, FALSE, TRUE, 0 );

	wvbox4 = gtk_vbox_new( FALSE, 2 );
	gtk_box_pack_start( GTK_BOX(wvbox2), wvbox4, TRUE, FALSE, 0 );

	whbox4 = gtk_hbox_new( FALSE, 0 );
	gtk_box_pack_start( GTK_BOX(wvbox4), whbox4, FALSE, TRUE, 0 );
	wlabel2 = gtk_label_new( _("Total") );
	gtk_label_set_justify( GTK_LABEL(wlabel2), GTK_JUSTIFY_LEFT );
	gtk_box_pack_start( GTK_BOX(whbox4), wlabel2, FALSE, TRUE, 0 );

	total_progress = gtk_progress_bar_new();
	gtk_progress_bar_set_text( GTK_PROGRESS_BAR(total_progress), "" );
	gtk_box_pack_start( GTK_BOX(wvbox4), total_progress, FALSE, TRUE, 0 );

	g_signal_connect_after( G_OBJECT(wpage), "prepare",
				G_CALLBACK(prepare_downloading_page), NULL );

	gb_debug (DEBUG_UPDATE, "END");
}
Пример #9
0
/*--------------------------------------------------------------------------*/
static void
add_start_page( GnomeDruid *wdruid, GdkPixbuf *logo )
{
	GtkWidget    *wpage;
	GdkColor      druid_bg_color = DRUID_BG_COLOR;
	GdkColor      druid_title_color = DRUID_TITLE_COLOR;
	gbDate        date_min, date_max, date_today;
	gchar        *date_min_string, *date_max_string, *date_today_string;
	gchar        *msg, *msg1;
	gbTableModel *table_model;

	gb_debug (DEBUG_UPDATE, "START");

	table_model = gb_table_get_model ();

	date_min   = gb_table_model_get_rdate_min (table_model);
	date_max   = gb_table_model_get_rdate_max (table_model);
	date_today = gb_table_model_get_rdate_today ();

	date_min_string   = gb_date_fmt( date_min );
	date_max_string   = gb_date_fmt( date_max );
	date_today_string = gb_date_fmt( date_today );

	if ( date_today == date_max ) {
		msg1 = g_strdup_printf(
			 _( "Current redemption data will expire at the end\n"
			    "of this month (%s)\n" ), date_today_string );
	}
	else {
		if ( date_today > date_max ) {
			msg1 = g_strdup( _( "Current redemption data has expired.\n" ) );
		}
		else {
			msg1 = g_strdup( "" );
		}
	}

	msg = g_strdup_printf(
		   _( "%s\n"
		      "GBonds is currently configured with redemption data\n"
		      "for %s - %s.\n\n"
		      "New redemption data is published by the U.S. Treasury\n"
		      "every six months.  This dialog will help you\n"
		      "download and install new redemption data.\n\n"
		      "You can hit cancel at any point to cancel this dialog."
		      ),
		   msg1, date_min_string, date_max_string );

	wpage = gnome_druid_page_edge_new_with_vals (GNOME_EDGE_START,
						     TRUE,
						     _("Update redemption tables"),
						     msg,
						     logo,
						     NULL,
						     NULL);
	gnome_druid_page_edge_set_bg_color (GNOME_DRUID_PAGE_EDGE(wpage),
					    &druid_bg_color);
	gnome_druid_page_edge_set_logo_bg_color (GNOME_DRUID_PAGE_EDGE(wpage),
						 &druid_bg_color);
	gnome_druid_page_edge_set_title_color (GNOME_DRUID_PAGE_EDGE(wpage),
					       &druid_title_color);

	gnome_druid_append_page( wdruid, GNOME_DRUID_PAGE(wpage) );

	g_free( date_min_string );
	g_free( date_max_string );
	g_free( date_today_string );
	g_free( msg );
	g_free( msg1 );

	gb_debug (DEBUG_UPDATE, "END");
}