Beispiel #1
0
 protected void EmitChanged(DbItem [] items, DbItemEventArgs args)
 {
     if (ItemsChanged != null)
     {
         ItemsChanged(this, args);
     }
 }
    private void HandleTagsChanged(object sender, DbItemEventArgs args)
    {
        TreeStore store = Model as TreeStore;
        TreeIter  iter, category_iter, parent_iter;

        foreach (DbItem item in args.Items)
        {
            Tag tag = (Tag)item;

            TreeIterForTag(tag, out iter);

            bool category_valid = TreeIterForTag(tag.Category, out category_iter);
            bool parent_valid   = Model.IterParent(out parent_iter, iter);

            if ((category_valid && (category_iter.Equals(parent_iter))) || (!category_valid && !parent_valid))
            {
                // if we haven't been reparented
                TreePath path = store.GetPath(iter);
                store.EmitRowChanged(path, iter);
            }
            else
            {
                // It is a bit tougher. We need to do an annoying clone of structs...
                CopyBranch(iter, category_iter, !category_valid, true);
                store.Remove(ref iter);
            }
        }
    }
        /** Handlers **/

        // When the user edits a tag (it's icon, name, etc) we get called
        // and update the images/text in the query as needed to reflect the changes.
        private void HandleTagChanged(object sender, DbItemEventArgs args)
        {
            foreach (DbItem item in args.Items)
            {
                foreach (Literal term in rootTerm.FindByTag(item as Tag))
                {
                    term.Update();
                }
            }
        }
 // If the user deletes a tag that is in use in the query, remove it from the query too.
 private void HandleTagDeleted(object sender, DbItemEventArgs args)
 {
     foreach (DbItem item in args.Items)
     {
         foreach (Literal term in rootTerm.FindByTag(item as Tag))
         {
             term.RemoveSelf();
         }
     }
 }
Beispiel #5
0
        /** Handlers **/

        // When the user edits a tag (it's icon, name, etc) we get called
        // and update the images/text in the query as needed to reflect the changes.
        void HandleTagChanged(object sender, DbItemEventArgs <Tag> args)
        {
            foreach (var t in args.Items)
            {
                foreach (Literal term in Root.FindByTag(t))
                {
                    term.Update();
                }
            }
        }
Beispiel #6
0
 // If the user deletes a tag that is in use in the query, remove it from the query too.
 void HandleTagDeleted(object sender, DbItemEventArgs <Tag> args)
 {
     foreach (var t in args.Items)
     {
         foreach (Literal term in Root.FindByTag(t))
         {
             term.RemoveSelf();
         }
     }
 }
Beispiel #7
0
        void EmitEvent(EventHandler <DbItemEventArgs <T> > evnt, DbItemEventArgs <T> args)
        {
            if (evnt == null)
            {
                // No subscribers.
                return;
            }

            ThreadAssist.ProxyToMain(() => {
                evnt(this, args);
            });
        }
    private void HandleTagsRemoved(object sender, DbItemEventArgs args)
    {
        TreeIter iter;

        foreach (DbItem item in args.Items)
        {
            Tag tag = (Tag)item;

            if (TreeIterForTag(tag, out iter))
            {
                (Model as TreeStore).Remove(ref iter);
            }
        }
    }
        private void HandleDbItemsChanged(object sender, DbItemEventArgs args)
        {
#if ENABLE_BEAGLE
            Log.Debug("Notifying beagle");
            foreach (DbItem item in args.Items)
            {
                if (item as Photo != null)
                {
                    try {
                        BeagleNotifier.SendUpdate(item as Photo);
                    } catch (Exception e) {
                        Log.DebugFormat("BeagleNotifier.SendUpdate failed with {0}", e.Message);
                    }
                }
            }
#endif
        }
    private void HandleTagsAdded(object sender, DbItemEventArgs args)
    {
        TreeIter iter = TreeIter.Zero;

        foreach (DbItem item in args.Items)
        {
            Tag tag = (Tag)item;

            if (tag.Category != tag_store.RootCategory)
            {
                TreeIterForTag(tag.Category, out iter);
            }

            InsertInOrder(iter,
                          tag.Category.Name == tag_store.RootCategory.Name,
                          tag);
        }
    }
Beispiel #11
0
    public void Commit(DbItem [] items, DbItemEventArgs args)
    {
        if (items.Length > 1)
        {
            Database.BeginTransaction();
        }

        foreach (DbItem item in items)
        {
            Update((Photo)item);
        }
        EmitChanged(items, args);

        if (items.Length > 1)
        {
            Database.CommitTransaction();
        }
    }
	private void HandleDbItemsChanged (object sender, DbItemEventArgs args)
	{
		foreach (DbItem item in args.Items) {
			Photo p = item as Photo;
			if (p == null)
				continue;
#if ENABLE_BEAGLE
			BeagleNotifier.SendUpdate (p);
#endif
			if (write_metadata)
				FSpot.Jobs.SyncMetadataJob.Create (db.Jobs, p);
		}
		
		if (args is TimeChangedEventArgs)
			query.RequestReload ();
	}
	private void HandleTagsChanged (object sender, DbItemEventArgs args)
	{
		icon_view.QueueDraw ();
		UpdateTagEntryFromSelection ();	
	}
Beispiel #14
0
 protected void EmitChanged(T[] items, DbItemEventArgs <T> args)
 {
     EmitEvent(ItemsChanged, args);
 }
	private void HandleTagsChanged (object sender, DbItemEventArgs args)
	{
		TreeStore store = Model as TreeStore;
		TreeIter iter, category_iter, parent_iter;

		foreach (DbItem item in args.Items) {
			Tag tag = (Tag) item;

			TreeIterForTag (tag, out iter);
			
			bool category_valid = TreeIterForTag(tag.Category, out category_iter);
			bool parent_valid = Model.IterParent(out parent_iter, iter);
			
			if ((category_valid && (category_iter.Equals (parent_iter))) || (!category_valid && !parent_valid)) {
				// if we haven't been reparented
				TreePath path = store.GetPath (iter); 
				store.EmitRowChanged (path, iter);
			} else {
				// It is a bit tougher. We need to do an annoying clone of structs...
				CopyBranch (iter, category_iter, !category_valid, true);
				store.Remove (ref iter);
			}
		}
	}
	private void HandleDbItemsChanged (object sender, DbItemEventArgs args)
	{
		foreach (DbItem item in args.Items) {
			Photo p = item as Photo;
			if (p == null)
				continue;
			if (write_metadata)
				FSpot.Jobs.SyncMetadataJob.Create (db.Jobs, p);
		}
		
		if (args is PhotoEventArgs && (args as PhotoEventArgs).Changes.TimeChanged)
			query.RequestReload ();
	}
	private void HandleTagsRemoved (object sender, DbItemEventArgs args)
	{
		TreeIter iter;

		foreach (DbItem item in args.Items) {
			Tag tag = (Tag)item;

			if (TreeIterForTag (tag, out iter)) 
				(Model as TreeStore).Remove (ref iter);
		}
	}
	private void HandleTagsAdded (object sender, DbItemEventArgs args)
	{
		TreeIter iter = TreeIter.Zero;
		
		foreach (DbItem item in args.Items) {
			Tag tag = (Tag)item;

			if (tag.Category != tag_store.RootCategory)
				TreeIterForTag (tag.Category, out iter);

			InsertInOrder (iter,
				       tag.Category.Name == tag_store.RootCategory.Name,
				       tag);
		}
	}
	public override void Commit (DbItem item)
	{
		DbItemEventArgs args = new DbItemEventArgs (item);
		Commit (args.Items, args);
	}
Beispiel #20
0
 void HandlePhotoItemsChanged(object sender, DbItemEventArgs <Photo> e)
 {
     UpdateFolderTree();
 }
	public void Commit (DbItem [] items, DbItemEventArgs args)
	{
		if (items.Length > 1)
			Database.BeginTransaction ();

		foreach (DbItem item in items) {
			Update ((Photo)item);
		}
		EmitChanged (items, args);

		if (items.Length > 1)
			Database.CommitTransaction ();
	}
Beispiel #22
0
 /** Handlers **/
 // When the user edits a tag (it's icon, name, etc) we get called
 // and update the images/text in the query as needed to reflect the changes.
 void HandleTagChanged(object sender, DbItemEventArgs<Tag> args)
 {
     foreach (Tag t in args.Items)
                 foreach (Literal term in rootTerm.FindByTag (t))
                     term.Update ();
 }
		/** Handlers **/

		// When the user edits a tag (it's icon, name, etc) we get called
		// and update the images/text in the query as needed to reflect the changes.
		private void HandleTagChanged (object sender, DbItemEventArgs args)
		{
			foreach (DbItem item in args.Items)
			foreach (Literal term in rootTerm.FindByTag (item as Tag))
			term.Update ();
		}
		// If the user deletes a tag that is in use in the query, remove it from the query too.
		private void HandleTagDeleted (object sender, DbItemEventArgs args)
		{
			foreach (DbItem item in args.Items)
			foreach (Literal term in rootTerm.FindByTag (item as Tag))
			term.RemoveSelf ();
		}
Beispiel #25
0
    public override void Commit(DbItem item)
    {
        DbItemEventArgs args = new DbItemEventArgs(item);

        Commit(args.Items, args);
    }
Beispiel #26
0
 // If the user deletes a tag that is in use in the query, remove it from the query too.
 void HandleTagDeleted(object sender, DbItemEventArgs<Tag> args)
 {
     foreach (Tag t in args.Items)
                 foreach (Literal term in rootTerm.FindByTag (t))
                     term.RemoveSelf ();
 }
Beispiel #27
0
	protected void EmitChanged (DbItem [] items, DbItemEventArgs args)
	{
		if (ItemsChanged != null)
			ItemsChanged (this, args);
	}