Ejemplo n.º 1
0
        public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window)
        {
            VersionNameRequest request = new VersionNameRequest(VersionNameRequest.RequestType.Create,
                                                                photo, parent_window);

            string       name;
            ResponseType response = request.Run(out name);

            if (response != ResponseType.Ok)
            {
                return(false);
            }

            try {
                photo.DefaultVersionId = photo.CreateVersion(name, photo.DefaultVersionId, true);
                store.Commit(photo);
            } catch (Exception e) {
                string msg  = Catalog.GetString("Could not create a new version");
                string desc = String.Format(Catalog.GetString("Received exception \"{0}\". Unable to create version \"{1}\""),
                                            e.Message, name);

                HigMessageDialog md = new HigMessageDialog(parent_window, DialogFlags.DestroyWithParent,
                                                           Gtk.MessageType.Error, ButtonsType.Ok,
                                                           msg,
                                                           desc);
                md.Run();
                md.Destroy();
                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
        public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window)
        {
            VersionNameRequest request = new VersionNameRequest (VersionNameRequest.RequestType.Create,
                                         photo, parent_window);

            string name;
            ResponseType response = request.Run (out name);

            if (response != ResponseType.Ok)
                return false;

            try {
                photo.DefaultVersionId = photo.CreateVersion (name, photo.DefaultVersionId, true);
                store.Commit (photo);
            } catch (Exception e) {
                    string msg = Catalog.GetString ("Could not create a new version");
                    string desc = String.Format (Catalog.GetString ("Received exception \"{0}\". Unable to create version \"{1}\""),
                                     e.Message, name);

                    HigMessageDialog md = new HigMessageDialog (parent_window, DialogFlags.DestroyWithParent,
                                            Gtk.MessageType.Error, ButtonsType.Ok,
                                            msg,
                                            desc);
                    md.Run ();
                    md.Destroy ();
                    return false;
            }

            return true;
        }
        public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window)
        {
            VersionNameRequest request = new VersionNameRequest (VersionNameRequest.RequestType.Create,
                                         photo, parent_window);

            string name;
            ResponseType response = request.Run (out name);

            if (response != ResponseType.Ok)
                return false;

            try {
                photo.DefaultVersionId = photo.CreateVersion (name, photo.DefaultVersionId, true);
                store.Commit (photo);
                return true;
            } catch (Exception e) {
                HandleException ("Could not create a new version", e, parent_window);
                return false;
            }
        }
Ejemplo n.º 4
0
        public bool Execute(PhotoStore store, Photo photo, Gtk.Window parent_window)
        {
            var request = new VersionNameDialog(VersionNameDialog.RequestType.Create, photo, parent_window);

            var response = request.Run(out var name);

            if (response != ResponseType.Ok)
            {
                return(false);
            }

            try {
                photo.DefaultVersionId = photo.CreateVersion(name, photo.DefaultVersionId, true);
                store.Commit(photo);
                return(true);
            } catch (Exception e) {
                HandleException("Could not create a new version", e, parent_window);
                return(false);
            }
        }
Ejemplo n.º 5
0
    static void Main(string [] args)
    {
        Program program = new Program("PhotoStoreTest", "0.0", Modules.UI, args);

        const string path = "/tmp/PhotoStoreTest.db";

        try {
            File.Delete(path);
        } catch {}

        Db db = new Db(path, true);

        Tag portraits_tag  = db.Tags.CreateTag(null, "Portraits");
        Tag landscapes_tag = db.Tags.CreateTag(null, "Landscapes");
        Tag favorites_tag  = db.Tags.CreateTag(null, "Street");

        uint portraits_tag_id  = portraits_tag.Id;
        uint landscapes_tag_id = landscapes_tag.Id;
        uint favorites_tag_id  = favorites_tag.Id;

        Pixbuf unused_thumbnail;

        Photo ny_landscape = db.Photos.Create(DateTime.Now.ToUniversalTime(), 1, "/home/ettore/Photos/ny_landscape.jpg",
                                              out unused_thumbnail);

        ny_landscape.Description = "Pretty NY skyline";
        ny_landscape.AddTag(landscapes_tag);
        ny_landscape.AddTag(favorites_tag);
        db.Photos.Commit(ny_landscape);

        Photo me_in_sf = db.Photos.Create(DateTime.Now.ToUniversalTime(), 2, "/home/ettore/Photos/me_in_sf.jpg",
                                          out unused_thumbnail);

        me_in_sf.AddTag(landscapes_tag);
        me_in_sf.AddTag(portraits_tag);
        me_in_sf.AddTag(favorites_tag);
        db.Photos.Commit(me_in_sf);

        me_in_sf.RemoveTag(favorites_tag);
        me_in_sf.Description = "Myself and the SF skyline";
        me_in_sf.CreateVersion("cropped", Photo.OriginalVersionId);
        me_in_sf.CreateVersion("UM-ed", Photo.OriginalVersionId);
        db.Photos.Commit(me_in_sf);

        Photo macro_shot = db.Photos.Create(DateTime.Now.ToUniversalTime(), 2, "/home/ettore/Photos/macro_shot.jpg",
                                            out unused_thumbnail);

        db.Dispose();

        db = new Db(path, false);

        DumpAll(db);

        portraits_tag  = db.Tags.Get(portraits_tag_id) as Tag;
        landscapes_tag = db.Tags.Get(landscapes_tag_id) as Tag;
        favorites_tag  = db.Tags.Get(favorites_tag_id) as Tag;

        ArrayList query_tags = new ArrayList();

        query_tags.Add(portraits_tag);
        query_tags.Add(landscapes_tag);
        DumpForTags(db, query_tags);

        query_tags.Clear();
        query_tags.Add(favorites_tag);
        DumpForTags(db, query_tags);
    }