Exemplo n.º 1
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");
}
Exemplo n.º 2
0
Arquivo: at_new.c Projeto: 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;
}
Exemplo n.º 3
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");
}