public QueryWidget (PhotoQuery query, Db db, TagSelectionWidget selector)
		{
			tips.Enable ();

			this.query = query;
			query.Changed += HandleChanged;

			Gtk.HSeparator sep = new Gtk.HSeparator ();
			sep.Show ();
			this.PackStart (sep, false, false, 0);
			
			Gtk.HBox hbox = new Gtk.HBox ();
			hbox.Show ();
			this.PackStart (hbox, false, false, 0);
			
			label = new Gtk.Label (Catalog.GetString ("Find: "));
			label.Show ();
			label.Ypad = 9;
			hbox.PackStart (label, false, false, 0);

			untagged = new Gtk.Label (Catalog.GetString ("Untagged photos"));
			untagged.Visible = false;
			hbox.PackStart (untagged, false, false, 0);

			comma_label = new Gtk.Label (", ");
			comma_label.Visible = false;
			hbox.PackStart (comma_label, false, false, 0);

			rollfilter = new Gtk.Label (Catalog.GetString ("Import roll"));	
			rollfilter.Visible = false;
			hbox.PackStart (rollfilter, false, false, 0);

			logic_widget = new LogicWidget (query, db.Tags, selector);
			logic_widget.Show ();
			hbox.PackStart (logic_widget, true, true, 0);

			warning_box = new Gtk.HBox ();
			warning_box.PackStart (new Gtk.Label (System.String.Empty));
			
			Gtk.Image warning_image = new Gtk.Image ("gtk-info", Gtk.IconSize.Button);
			warning_image.Show ();
			warning_box.PackStart (warning_image, false, false, 0);
			
			clear_button = new Gtk.Button ();
			clear_button.Add (new Gtk.Image ("gtk-close", Gtk.IconSize.Button));
			clear_button.Clicked += HandleClearButtonClicked;
			clear_button.Relief = Gtk.ReliefStyle.None;
			hbox.PackEnd (clear_button, false, false, 0);
			tips.SetTip (clear_button, Catalog.GetString("Clear search"), null);

			Gtk.Label warning = new Gtk.Label (Catalog.GetString ("No matching photos found"));
			warning_box.PackStart (warning, false, false, 0);
			warning_box.ShowAll ();
			warning_box.Spacing = 6;
			warning_box.Visible = false;

			hbox.PackEnd (warning_box, false, false, 0);
			
			warning_box.Visible = false;
		}
示例#2
0
        public LogicWidget(PhotoQuery query, TagStore tag_store)
            : base()
        {
            //SetFlag (WidgetFlags.NoWindow);
            this.query = query;

            CanFocus = true;
            Sensitive = true;

            Literal.Tips = tips;

            tips.Enable ();

            Init ();

            tag_store.ItemsChanged += HandleTagChanged;
            tag_store.ItemsRemoved += HandleTagDeleted;

            Show ();

            logic_widget = this;
        }
示例#3
0
        public QueryWidget(PhotoQuery query, Db db)
            : base(new HBox())
        {
            box = Child as HBox;
            box.Spacing = 6;
            box.BorderWidth = 2;

            tips.Enable ();

            this.query = query;
            query.Changed += HandleChanged;

            label = new Gtk.Label (Catalog.GetString ("Find: "));
            label.Show ();
            label.Ypad = 9;
            box.PackStart (label, false, false, 0);

            untagged = new Gtk.Label (Catalog.GetString ("Untagged photos"));
            untagged.Visible = false;
            box.PackStart (untagged, false, false, 0);

            comma1_label = new Gtk.Label (", ");
            comma1_label.Visible = false;
            box.PackStart (comma1_label, false, false, 0);

            rated = new Gtk.Label (Catalog.GetString ("Rated photos"));
            rated.Visible = false;
            box.PackStart (rated, false, false, 0);

            comma2_label = new Gtk.Label (", ");
            comma2_label.Visible = false;
            box.PackStart (comma2_label, false, false, 0);

            // Note for translators: 'Import roll' is no command, it means 'Roll that has been imported'
            rollfilter = new Gtk.Label (Catalog.GetString ("Import roll"));
            rollfilter.Visible = false;
            box.PackStart (rollfilter, false, false, 0);

            folder_query_widget = new FolderQueryWidget (query);
            folder_query_widget.Visible = false;
            box.PackStart (folder_query_widget, false, false, 0);

            logic_widget = new LogicWidget (query, db.Tags);
            logic_widget.Show ();
            box.PackStart (logic_widget, true, true, 0);

            warning_box = new Gtk.HBox ();
            warning_box.PackStart (new Gtk.Label (System.String.Empty));

            Gtk.Image warning_image = new Gtk.Image ("gtk-info", Gtk.IconSize.Button);
            warning_image.Show ();
            warning_box.PackStart (warning_image, false, false, 0);

            clear_button = new Gtk.Button ();
            clear_button.Add (new Gtk.Image ("gtk-close", Gtk.IconSize.Button));
            clear_button.Clicked += HandleClearButtonClicked;
            clear_button.Relief = Gtk.ReliefStyle.None;
            box.PackEnd (clear_button, false, false, 0);
            tips.SetTip (clear_button, Catalog.GetString("Clear search"), null);

            refresh_button = new Gtk.Button ();
            refresh_button.Add (new Gtk.Image ("gtk-refresh", Gtk.IconSize.Button));
            refresh_button.Clicked += HandleRefreshButtonClicked;
            refresh_button.Relief = Gtk.ReliefStyle.None;
            box.PackEnd (refresh_button, false, false, 0);
            tips.SetTip (refresh_button, Catalog.GetString("Refresh search"), null);

            Gtk.Label warning = new Gtk.Label (Catalog.GetString ("No matching photos found"));
            warning_box.PackStart (warning, false, false, 0);
            warning_box.ShowAll ();
            warning_box.Spacing = 6;
            warning_box.Visible = false;

            box.PackEnd (warning_box, false, false, 0);

            warning_box.Visible = false;
        }