gnome-scan r547 - in trunk: . lib
- From: bersace svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-scan r547 - in trunk: . lib
- Date: Thu, 28 Feb 2008 17:04:26 +0000 (GMT)
Author: bersace
Date: Thu Feb 28 17:04:25 2008
New Revision: 547
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=547&view=rev
Log:
Auto focus Next button in acquisition dialog.
Modified:
trunk/ChangeLog
trunk/lib/gnome-scan-acquisition-dialog.c
Modified: trunk/lib/gnome-scan-acquisition-dialog.c
==============================================================================
--- trunk/lib/gnome-scan-acquisition-dialog.c (original)
+++ trunk/lib/gnome-scan-acquisition-dialog.c Thu Feb 28 17:04:25 2008
@@ -53,7 +53,7 @@
struct _GnomeScanAcquisitionDialogPrivate
{
- GnomeScanJob *job;
+ GnomeScanJob *job;
GtkWidget *progressbar;
GtkWidget *state_label;
@@ -63,10 +63,10 @@
};
enum
- {
- PROP_0,
- PROP_JOB
- };
+{
+ PROP_0,
+ PROP_JOB
+};
static GObjectClass* parent_class = NULL;
@@ -81,79 +81,79 @@
static void
gnome_scan_acquisition_dialog_init (GnomeScanAcquisitionDialog *object)
{
- GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (object);
- GtkWidget *label, *button, *hbox, *icon, *text_box;
- GtkWidget *vbox = GTK_DIALOG (object)->vbox;
- GtkWidget *action_area = GTK_DIALOG (object)->action_area;
-
- /* parent properties */
- g_object_set (object,
- "title", _("Acquisition"),
- "window-position", GTK_WIN_POS_CENTER,
- "has-separator", FALSE,
- "border-width", 6,
- "resizable", FALSE,
- NULL);
-
- g_signal_connect_swapped (object, "delete-event",
- (GCallback) gsad_close,
- object);
-
- /* container border */
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
- gtk_box_set_spacing (GTK_BOX (vbox), 6);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (object)->action_area), 6);
-
-
- hbox = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 6);
-
- icon = gtk_image_new_from_icon_name ("scanner", GTK_ICON_SIZE_DIALOG);
- gtk_misc_set_padding (GTK_MISC (icon), 6, 6);
- gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, TRUE, 0);
-
- text_box = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox), text_box, TRUE, TRUE, 0);
-
- /* primary text */
- label = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (label),
- g_strconcat ("<span size=\"x-large\"><b>", _("Acquisition"), "</b></span>",NULL));
- gtk_misc_set_alignment (GTK_MISC (label), 0., .5);
- gtk_box_pack_start (GTK_BOX (text_box), label, FALSE, TRUE, 0);
-
- /* secondary text */
- label = gtk_label_new (_("The software now acquires and processes images "
- "according to the settings."));
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_box_pack_start (GTK_BOX (text_box), label, FALSE, TRUE, 0);
-
- /* progress bar */
- priv->progressbar = gtk_progress_bar_new ();
- /*gtk_progress_bar_set_text (GTK_PROGRESS_BAR (priv->progressbar),
- _("Waiting for device"));*/
- gtk_box_pack_start (GTK_BOX (vbox), priv->progressbar,
- FALSE, TRUE, 0);
-
- /* state label */
- priv->state_label = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (priv->state_label),
- g_strconcat ("<i>", _("Waiting for device"), "</i>", NULL));
- gtk_misc_set_alignment (GTK_MISC (priv->state_label), 0., .5);
- gtk_box_pack_start (GTK_BOX (vbox), priv->state_label, FALSE, TRUE, 0);
-
- /* buttons */
- button = gtk_button_new_from_stock (GTK_STOCK_STOP);
- g_signal_connect_swapped (button, "clicked",
- (GCallback) gsad_close,
- object);
- gtk_box_pack_start (GTK_BOX (action_area), button, FALSE, FALSE, 0);
-
- button = priv->forward = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
- g_signal_connect_swapped (button, "clicked",
- G_CALLBACK (gsad_forward),
- object);
- gtk_box_pack_start (GTK_BOX (action_area), button, FALSE, FALSE, 0);
+ GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (object);
+ GtkWidget *label, *button, *hbox, *icon, *text_box;
+ GtkWidget *vbox = GTK_DIALOG (object)->vbox;
+ GtkWidget *action_area = GTK_DIALOG (object)->action_area;
+
+ /* parent properties */
+ g_object_set (object,
+ "title", _("Acquisition"),
+ "window-position", GTK_WIN_POS_CENTER,
+ "has-separator", FALSE,
+ "border-width", 6,
+ "resizable", FALSE,
+ NULL);
+
+ g_signal_connect_swapped (object, "delete-event",
+ (GCallback) gsad_close,
+ object);
+
+ /* container border */
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+ gtk_box_set_spacing (GTK_BOX (vbox), 6);
+ gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (object)->action_area), 6);
+
+
+ hbox = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 6);
+
+ icon = gtk_image_new_from_icon_name ("scanner", GTK_ICON_SIZE_DIALOG);
+ gtk_misc_set_padding (GTK_MISC (icon), 6, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, TRUE, 0);
+
+ text_box = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), text_box, TRUE, TRUE, 0);
+
+ /* primary text */
+ label = gtk_label_new (NULL);
+ gtk_label_set_markup (GTK_LABEL (label),
+ g_strconcat ("<span size=\"x-large\"><b>", _("Acquisition"), "</b></span>",NULL));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., .5);
+ gtk_box_pack_start (GTK_BOX (text_box), label, FALSE, TRUE, 0);
+
+ /* secondary text */
+ label = gtk_label_new (_("The software now acquires and processes images "
+ "according to the settings."));
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_box_pack_start (GTK_BOX (text_box), label, FALSE, TRUE, 0);
+
+ /* progress bar */
+ priv->progressbar = gtk_progress_bar_new ();
+ /*gtk_progress_bar_set_text (GTK_PROGRESS_BAR (priv->progressbar),
+ _("Waiting for device"));*/
+ gtk_box_pack_start (GTK_BOX (vbox), priv->progressbar,
+ FALSE, TRUE, 0);
+
+ /* state label */
+ priv->state_label = gtk_label_new (NULL);
+ gtk_label_set_markup (GTK_LABEL (priv->state_label),
+ g_strconcat ("<i>", _("Waiting for device"), "</i>", NULL));
+ gtk_misc_set_alignment (GTK_MISC (priv->state_label), 0., .5);
+ gtk_box_pack_start (GTK_BOX (vbox), priv->state_label, FALSE, TRUE, 0);
+
+ /* buttons */
+ button = gtk_button_new_from_stock (GTK_STOCK_STOP);
+ g_signal_connect_swapped (button, "clicked",
+ (GCallback) gsad_close,
+ object);
+ gtk_box_pack_start (GTK_BOX (action_area), button, FALSE, FALSE, 0);
+
+ button = priv->forward = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
+ g_signal_connect_swapped (button, "clicked",
+ G_CALLBACK (gsad_forward),
+ object);
+ gtk_box_pack_start (GTK_BOX (action_area), button, FALSE, FALSE, 0);
}
static void
@@ -166,44 +166,50 @@
priv->disposed = TRUE;
}
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
gnome_scan_acquisition_dialog_finalize (GObject *object)
{
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
-gnome_scan_acquisition_dialog_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
-{
- g_return_if_fail (GNOME_IS_SCAN_ACQUISITION_DIALOG (object));
-
- switch (prop_id)
- {
- case PROP_JOB:
- GET_PRIVATE (object)->job = GNOME_SCAN_JOB (g_value_dup_object (value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+gnome_scan_acquisition_dialog_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ g_return_if_fail (GNOME_IS_SCAN_ACQUISITION_DIALOG (object));
+
+ switch (prop_id)
+ {
+ case PROP_JOB:
+ GET_PRIVATE (object)->job = GNOME_SCAN_JOB (g_value_dup_object (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
static void
-gnome_scan_acquisition_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- g_return_if_fail (GNOME_IS_SCAN_ACQUISITION_DIALOG (object));
-
- switch (prop_id)
- {
- case PROP_JOB:
- g_value_set_object (value, GET_PRIVATE (object)->job);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+gnome_scan_acquisition_dialog_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ g_return_if_fail (GNOME_IS_SCAN_ACQUISITION_DIALOG (object));
+
+ switch (prop_id)
+ {
+ case PROP_JOB:
+ g_value_set_object (value, GET_PRIVATE (object)->job);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
/**
@@ -215,27 +221,27 @@
static void
gnome_scan_acquisition_dialog_class_init (GnomeScanAcquisitionDialogClass *klass)
{
- GObjectClass* object_class = G_OBJECT_CLASS (klass);
- parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass));
-
- g_type_class_add_private (klass, sizeof (GnomeScanAcquisitionDialogPrivate));
- object_class->finalize = gnome_scan_acquisition_dialog_finalize;
- object_class->finalize = gnome_scan_acquisition_dialog_dispose;
- object_class->set_property = gnome_scan_acquisition_dialog_set_property;
- object_class->get_property = gnome_scan_acquisition_dialog_get_property;
-
- /**
- * GnomeScanAcquisitionDialog:job:
- *
- * The job being monitored by the #GnomeScanAcquisitionDialog.
- **/
- g_object_class_install_property (object_class,
- PROP_JOB,
- g_param_spec_object ("job",
- "Job",
- "The job the dialog is handling",
- GNOME_TYPE_SCAN_JOB,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+ GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass));
+
+ g_type_class_add_private (klass, sizeof (GnomeScanAcquisitionDialogPrivate));
+ object_class->finalize = gnome_scan_acquisition_dialog_finalize;
+ object_class->finalize = gnome_scan_acquisition_dialog_dispose;
+ object_class->set_property = gnome_scan_acquisition_dialog_set_property;
+ object_class->get_property = gnome_scan_acquisition_dialog_get_property;
+
+ /**
+ * GnomeScanAcquisitionDialog:job:
+ *
+ * The job being monitored by the #GnomeScanAcquisitionDialog.
+ **/
+ g_object_class_install_property (object_class,
+ PROP_JOB,
+ g_param_spec_object ("job",
+ "Job",
+ "The job the dialog is handling",
+ GNOME_TYPE_SCAN_JOB,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}
@@ -251,11 +257,11 @@
GtkWidget*
gnome_scan_acquisition_dialog_new (GtkWindow *parent, GnomeScanJob *job)
{
- GObject* object= g_object_new (GNOME_TYPE_SCAN_ACQUISITION_DIALOG,
- "transient-for", parent,
- "job", job,
- NULL);
- return GTK_WIDGET (object);
+ GObject* object= g_object_new (GNOME_TYPE_SCAN_ACQUISITION_DIALOG,
+ "transient-for", parent,
+ "job", job,
+ NULL);
+ return GTK_WIDGET (object);
}
/**
@@ -270,8 +276,8 @@
void
gnome_scan_acquisition_dialog_run (GnomeScanAcquisitionDialog *dialog)
{
- gtk_init_add ((GtkFunction) gsad_run, dialog);
- gtk_main ();
+ gtk_init_add ((GtkFunction) gsad_run, dialog);
+ gtk_main ();
}
@@ -282,52 +288,54 @@
static void
gsad_job_run (GnomeScanJob *job)
{
- gnome_scan_job_run (job);
- g_thread_exit (NULL);
+ gnome_scan_job_run (job);
+ g_thread_exit (NULL);
}
static void
gsad_run (GnomeScanAcquisitionDialog *dialog)
{
- GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
- GError *error = NULL;
+ GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
+ GError *error = NULL;
- gtk_widget_show_all (GTK_WIDGET (dialog));
- gtk_widget_set_sensitive (priv->forward, FALSE);
- /* ~24 updates per second -> update each 42 microseconds */
- g_timeout_add (42, (GSourceFunc) gsad_monitor, dialog);
- gnome_scan_job_configure (priv->job);
- priv->job_thread = g_thread_create ((GThreadFunc) gsad_job_run,
- priv->job, TRUE, &error);
+ gtk_widget_show_all (GTK_WIDGET (dialog));
+ gtk_widget_set_sensitive (priv->forward, FALSE);
+ /* ~24 updates per second -> update each 42 microseconds */
+ g_timeout_add (42, (GSourceFunc) gsad_monitor, dialog);
+ gnome_scan_job_configure (priv->job);
+ priv->job_thread = g_thread_create ((GThreadFunc) gsad_job_run,
+ priv->job, TRUE, &error);
}
static gboolean
gsad_monitor (GnomeScanAcquisitionDialog *dialog)
{
- GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (priv->progressbar),
- priv->job->progress);
- gtk_label_set_markup (GTK_LABEL (priv->state_label),
- g_strdup_printf ("<i>%s</i>", priv->job->stage));
-
- gtk_widget_set_sensitive (priv->forward,
- priv->job->done);
- return !priv->job->done;
+ GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (priv->progressbar),
+ priv->job->progress);
+ gtk_label_set_markup (GTK_LABEL (priv->state_label),
+ g_strdup_printf ("<i>%s</i>", priv->job->stage));
+
+ gtk_widget_set_sensitive (priv->forward,
+ priv->job->done);
+ if (GTK_WIDGET_CAN_FOCUS(priv->forward))
+ gtk_widget_grab_focus (priv->forward);
+ return !priv->job->done;
}
/* callbacks */
static void
gsad_close (GnomeScanAcquisitionDialog *dialog)
{
- GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
- gtk_widget_hide (GTK_WIDGET (dialog));
- gnome_scan_job_cancel (priv->job);
- g_thread_join (priv->job_thread);
- gtk_main_quit ();
+ GnomeScanAcquisitionDialogPrivate *priv = GET_PRIVATE (dialog);
+ gtk_widget_hide (GTK_WIDGET (dialog));
+ gnome_scan_job_cancel (priv->job);
+ g_thread_join (priv->job_thread);
+ gtk_main_quit ();
}
static void
gsad_forward (GnomeScanAcquisitionDialog *dialog)
{
- gsad_run (dialog);
+ gsad_run (dialog);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]