gnome-scan r660 - in trunk: . lib
- From: bersace svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-scan r660 - in trunk: . lib
- Date: Fri, 12 Dec 2008 19:50:40 +0000 (UTC)
Author: bersace
Date: Fri Dec 12 19:50:40 2008
New Revision: 660
URL: http://svn.gnome.org/viewvc/gnome-scan?rev=660&view=rev
Log:
Select scanner when ready.
Modified:
trunk/ChangeLog
trunk/lib/gnome-scan-scanner-selector.vala
Modified: trunk/lib/gnome-scan-scanner-selector.vala
==============================================================================
--- trunk/lib/gnome-scan-scanner-selector.vala (original)
+++ trunk/lib/gnome-scan-scanner-selector.vala Fri Dec 12 19:50:40 2008
@@ -33,6 +33,7 @@
public class ScannerSelector : ScrolledWindow {
ListStore scanners;
TreeView view;
+ TreeSelection selection;
SList<Backend> backends;
int backends_probing_count;
@@ -43,7 +44,6 @@
construct {
CellRenderer renderer;
TreeViewColumn col;
- TreeSelection selection;
this.backends_probing_count = 0;
this.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
@@ -107,7 +107,7 @@
this.backends.append(backend);
backend.scanner_added += this.on_scanner_added;
backend.probe_done += this.on_probe_done;
- GLib.Idle.add(this.on_idle_check_probe_done);
+ GLib.Idle.add(this.on_check_probe_done);
}
}
@@ -129,7 +129,7 @@
this.backends_probing_count--;
}
- private bool on_idle_check_probe_done()
+ private bool on_check_probe_done()
{
TreeIter iter;
@@ -148,7 +148,7 @@
return true;
}
- private void on_selection_changed(TreeSelection selection)
+ private bool select_scanner_if_usable()
{
TreeModel model;
TreeIter iter;
@@ -159,7 +159,27 @@
else
scanner = null;
- this.job.scanner = scanner;
+ if (scanner == null) {
+ this.job.scanner = null;
+ return false;
+ }
+
+ if (scanner.status == Status.FAILED) {
+ selection.unselect_all();
+ return false;
+ }
+
+ if ((int)scanner.status >= (int)Status.UNCONFIGURED) {
+ this.job.scanner = scanner;
+ return false;
+ }
+
+ return true;
+ }
+
+ private void on_selection_changed(TreeSelection selection)
+ {
+ GLib.Idle.add(this.select_scanner_if_usable);
}
private void on_scanner_status_changed(Scanner scanner, ParamSpec pspec)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]