Пример #1
0
        private View CreateSinglePhotoViewer()
        {
            // Create a signle PhotoView
            _photoView = new PhotoView()
            {
                BackgroundColor = Color.Gray
            };

            _photoView.Tap += OnPhotoTab;

            // Add the PhotoView to a layout
            var layout = new RelativeLayout();

            layout.Children.Add(_photoView,
                                xConstraint: Constraint.Constant(0),
                                yConstraint: Constraint.Constant(0),
                                widthConstraint: Constraint.RelativeToParent((parent) =>
            {
                return(parent.Width);
            }),
                                heightConstraint: Constraint.RelativeToParent((parent) =>
            {
                return(parent.Height);
            }));

            return(layout);
        }
Пример #2
0
        private void ShowPhotoView(ShowPhotoViewMessage msg)
        {
            PhotoView view = new PhotoView();

            view.DataContext = new PhotoViewModel(msg.PhotoInfo);
            view.ShowDialog();
        }
Пример #3
0
 protected override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     photo = new PhotoView(this);
     photo.SetImageResource(Resource.Drawable.wallpaper);
     SetContentView(photo);
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            if (ETC.useLightTheme)
            {
                SetTheme(Resource.Style.GFS_Toolbar_Light);
            }

            // Create your application here
            SetContentView(Resource.Layout.DollDBGuideImageViewerLayout);
            dollNum = Intent.GetIntExtra("Info", 0);

            serverImagePath = Path.Combine(ETC.server, "Data", "Images", "Guns", "GuideImage", $"{dollNum}.png");
            localImagePath  = Path.Combine(ETC.cachePath, "Doll", "GuideImage", $"{dollNum}.png");

            SetSupportActionBar(FindViewById <AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.DollDBGuideImageViewerMainToolbar));
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);

            FindViewById <TextView>(Resource.Id.DollDBGuideImageViewerToolbarDicNumber).Text = $"No. {dollNum}";
            FindViewById <TextView>(Resource.Id.DollDBGuideImageViewerToolbarTitle).SetText(Resource.String.DollDBGuideImageViewer_Title);

            loadingLayout    = FindViewById <RelativeLayout>(Resource.Id.DollDBGuideImageViewerLoadingLayout);
            loadingIndicator = FindViewById <AVLoadingIndicatorView>(Resource.Id.DollDBGuideImageViewerLoadingIndicatorView);
            loadingText      = FindViewById <TextView>(Resource.Id.DollDBGuideImageViewerLoadingIndicatorExplainText);
            guideImageView   = FindViewById <PhotoView>(Resource.Id.DollDBGuideImageViewerImageView);

            _ = InitProcess();
        }
Пример #5
0
        private static void UpdateLayout()
        {
            if (_viewChanging)
            {
                return;
            }

            bool continueLayout = _graph.Layout.PerformLayout();

            _model.Photos.ForEach(delegate(Photo photo) {
                PhotoView photoView = _photoViews[photo.id];

                MapLocation pushpinLocation = photoView.pushpin.GetLocation();
                MapLocation calloutLocation =
                    _map.TryPixelToLocation(new MapPoint(photoView.calloutNode.x, photoView.calloutNode.y),
                                            MapPointReference.Control);

                photoView.callout.SetLocation(calloutLocation);
                photoView.connector.SetLocations(new MapLocation[] { pushpinLocation, calloutLocation });
            });

            if (continueLayout)
            {
                Window.SetTimeout(UpdateLayout, 30);
            }
        }
 protected override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     photo = new PhotoView(this);
     photo.SetImageResource(Resource.Drawable.wallpaper);
     SetContentView(photo);
 }
Пример #7
0
 private void ViewPager_PageScrolled(object sender, ViewPager.PageScrolledEventArgs e)
 {
     if (e.Position == 0)
     {
         previousStep.Visibility = ViewStates.Invisible;
     }
     else if (e.Position == (routes.Count - 1))
     {
         nextStep.Visibility = ViewStates.Invisible;
     }
     else
     {
         previousStep.Visibility = ViewStates.Visible;
         nextStep.Visibility     = ViewStates.Visible;
     }
     if (e.Position >= routes.Count)
     {
         viewPager.SetCurrentItem((routes.Count - 1), false);
         photoView.SetDisplayMatrix(new Matrix());
         photoView.SetSuppMatrix(new Matrix());
     }
     else if (photoView != null)
     {
         photoView.SetDisplayMatrix(new Matrix());
         photoView.SetSuppMatrix(new Matrix());
     }
     if (routes.Count == 1 && (way != "left" || way != "right"))
     {
         var layout = FindViewById <LinearLayout>(Resource.Id.routesControlLinearLayout);
         layout.Visibility = ViewStates.Invisible;
     }
     routeTextView.Text = routes[e.Position].Text;
     photoView          = (PhotoView)viewPager.GetChildAt(e.Position);
 }
 private void ViewPager_PageScrolled(object sender, ViewPager.PageScrolledEventArgs e)
 {
     imageTitle.Text = imagesList[e.Position].Title;
     if (e.Position == 0)
     {
         previousImage.Visibility = ViewStates.Invisible;
     }
     else if (e.Position == (imagesList.Count - 1))
     {
         nextImage.Visibility = ViewStates.Invisible;
     }
     else
     {
         previousImage.Visibility = ViewStates.Visible;
         nextImage.Visibility     = ViewStates.Visible;
     }
     if (e.Position >= imagesList.Count)
     {
         viewPager.SetCurrentItem((imagesList.Count - 1), false);
         photoView.SetDisplayMatrix(new Matrix());
         photoView.SetSuppMatrix(new Matrix());
     }
     else if (photoView != null)
     {
         photoView.SetDisplayMatrix(new Matrix());
         photoView.SetSuppMatrix(new Matrix());
     }
     photoView = (PhotoView)viewPager.GetChildAt(e.Position);
 }
Пример #9
0
        public override Java.Lang.Object InstantiateItem(View container, int position)
        {
            PhotoView imageView = new PhotoView(context);

            imageView.SetScaleType(ImageView.ScaleType.CenterInside);
            imageView.SetImageResource(imagesList[position]);
            ((ViewPager)container).AddView(imageView, position);
            return(imageView);
        }
        public ActionResult PhotoView(string CarId)
        {
            IRepository rep = new Repository();
            PhotoView   pv  = new PhotoView();

            pv.carsdata = rep.getCarFullData(CarId);

            return(View(pv));
        }
Пример #11
0
        public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
        {
            var photoView = new PhotoView(container.Context);

            photoView.SetImageBitmap(bitmaps[position]);

            container.AddView(photoView, ViewPager.LayoutParams.MatchParent, ViewPager.LayoutParams.MatchParent);

            return(photoView);
        }
Пример #12
0
        public async Task <IActionResult> Upload(PhotoView photo)
        {
            var file = HttpContext.Request.Form.Files[0];

            photo.UserId = HttpContext.User.Identity.Name;

            await _photosService.Upload(file, photo);

            return(Ok());
        }
        /// <summary>
        /// Photoes the specified username.
        /// </summary>
        /// <param name="set">The set.</param>
        /// <returns></returns>
        public ActionResult Show(string set)
        {
            string mediaKeys = (string.IsNullOrEmpty(set) ? string.Empty : persistentCollectionService.Get(set));
            string url       = persistentCollectionService.GetBackUrl(SiteCookie);
            string backlink  = (url != null ? UrlService.CreateRootUrl(url) : string.Empty);

            PhotoView photoView = ModelFactory <PhotoView>(new { backlink, mediaKeys, setId = set });

            return(View(photoView));
        }
 protected override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     btClose        = FindViewById <ImageButton>(Resource.Id.btClose);
     btClose.Click += (sender, e) => Finish();
     imgContent     = FindViewById <PhotoView>(Resource.Id.imgPic);
     txtName        = FindViewById <TextView>(Resource.Id.txtName);
     txtName.SetTextColor(Android.Graphics.Color.White);
     FilePath = Intent.GetStringExtra(ImageFullScreenViewActivity.FILE_PATH);
     InitViews();
 }
Пример #15
0
            public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
            {
                PhotoView photoView = new PhotoView(container.Context);

                photoView.SetImageResource(Resource.Drawable.wallpaper);

                // Now just add PhotoView to ViewPager and return it
                container.AddView(photoView, ViewPager.LayoutParams.MatchParent, ViewPager.LayoutParams.MatchParent);

                return(photoView);
            }
Пример #16
0
 public void GetPhoto()
 {
     // Snippet: GetPhoto(string,PhotoView,CallSettings)
     // Create client
     StreetViewPublishServiceClient streetViewPublishServiceClient = StreetViewPublishServiceClient.Create();
     // Initialize request argument(s)
     string    photoId = "";
     PhotoView view    = PhotoView.Basic;
     // Make the request
     Photo response = streetViewPublishServiceClient.GetPhoto(photoId, view);
     // End snippet
 }
Пример #17
0
        public ActionResult Edit(PhotoView photoView, HttpPostedFileBase file)
        {
            var photoModel = Mapper.Map <PhotoModel>(photoView);

            photoModel.UserId = User.Identity.GetUserId();
            ServicesHost.GetService <IPhotoService>().Edit(photoModel);
            if (file != null)
            {
                ServicesHost.GetService <IImageService>().EditImage(photoModel.EntityId, file);
            }
            return(RedirectToAction("Index"));
        }
Пример #18
0
 public void BatchGetPhotos()
 {
     // Snippet: BatchGetPhotos(IEnumerable<string>,PhotoView,CallSettings)
     // Create client
     StreetViewPublishServiceClient streetViewPublishServiceClient = StreetViewPublishServiceClient.Create();
     // Initialize request argument(s)
     IEnumerable <string> photoIds = new List <string>();
     PhotoView            view     = PhotoView.Basic;
     // Make the request
     BatchGetPhotosResponse response = streetViewPublishServiceClient.BatchGetPhotos(photoIds, view);
     // End snippet
 }
Пример #19
0
        public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
        {
            View view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.item_photo, container, false);

            handler.Post(() =>
            {
                PhotoView photo = view.FindViewById <PhotoView>(Resource.Id.photoview);
                LoadPhoto(photo, position);
                container.AddView(view);
            });
            return(view);
        }
Пример #20
0
        public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
        {
            View view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.photo_item, container, false);

            handler.Post(() =>
            {
                PhotoView image = view.FindViewById <PhotoView>(Resource.Id.photo);
                Picasso.With(container.Context).Load(srcList[position]).Into(image);
                container.AddView(view);
            });
            return(view);
        }
Пример #21
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_rotation_sample);

            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            toolbar.Title = "Rotation Sample";
            toolbar.InflateMenu(Resource.Menu.rotation);
            toolbar.MenuItemClick += (sender, e) =>
            {
                switch (e.Item.ItemId)
                {
                case Resource.Id.action_rotate_10_right:
                    photo.SetRotationBy(10);
                    e.Handled = true;
                    break;

                case Resource.Id.action_rotate_10_left:
                    photo.SetRotationBy(-10);
                    e.Handled = true;
                    break;

                case Resource.Id.action_toggle_automatic_rotation:
                    ToggleRotation();
                    e.Handled = true;
                    break;

                case Resource.Id.action_reset_to_0:
                    photo.SetRotationTo(0);
                    e.Handled = true;
                    break;

                case Resource.Id.action_reset_to_90:
                    photo.SetRotationTo(90);
                    e.Handled = true;
                    break;

                case Resource.Id.action_reset_to_180:
                    photo.SetRotationTo(180);
                    e.Handled = true;
                    break;

                case Resource.Id.action_reset_to_270:
                    photo.SetRotationTo(270);
                    e.Handled = true;
                    break;
                }
            };

            photo = FindViewById <PhotoView>(Resource.Id.iv_photo);
        }
Пример #22
0
        protected override async void OnCreate(Bundle savedInstanceState)
        {
            try
            {
                base.OnCreate(savedInstanceState);

                if (ETC.useLightTheme)
                {
                    SetTheme(Resource.Style.GFS_Toolbar_Light);
                }

                // Create your application here
                SetContentView(Resource.Layout.DollDBImageViewer);

                string[] temp = Intent.GetStringExtra("Data").Split(';');

                modIndex   = int.Parse(temp[1]);
                doll       = new Doll(ETC.FindDataRow(ETC.dollList, "DicNumber", int.Parse(temp[0])));
                censorType = doll.HasCensored ? doll.CensorType : null;

                toolbar                   = FindViewById <AndroidX.AppCompat.Widget.Toolbar>(Resource.Id.DollDBImageViewerMainToolbar);
                loadingLayout             = FindViewById <RelativeLayout>(Resource.Id.DollDBImageViewerLoadingLayout);
                loadingIndicator          = FindViewById <AVLoadingIndicatorView>(Resource.Id.DollDBImageViewerLoadingIndicatorView);
                loadingText               = FindViewById <TextView>(Resource.Id.DollDBImageViewerLoadingIndicatorExplainText);
                dollImageView             = FindViewById <PhotoView>(Resource.Id.DollDBImageViewerImageView);
                snackbarLayout            = FindViewById <CoordinatorLayout>(Resource.Id.DollDBImageViewerSnackbarLayout);
                costumeList               = FindViewById <Spinner>(Resource.Id.DollDBImageViewerCostumeList);
                costumeList.ItemSelected += (sender, e) =>
                {
                    isDamage     = false;
                    costumeIndex = e.Position;
                    censorMenuItem.SetVisible(CheckCensorType());

                    _ = LoadImage(costumeIndex, false);
                };
                imageStatus = FindViewById <TextView>(Resource.Id.DollDBImageViewerImageStatus);

                SetSupportActionBar(toolbar);
                SupportActionBar.SetDisplayShowTitleEnabled(false);
                SupportActionBar.SetDisplayHomeAsUpEnabled(true);

                await InitializeProcess();

                LoadCostumeList();
                _ = LoadImage(0, false);
            }
            catch (Exception ex)
            {
                ETC.LogError(ex, this);
                Toast.MakeText(this, Resource.String.Activity_OnCreateError, ToastLength.Short).Show();
            }
        }
Пример #23
0
 public void LoadUI(bool gpui, bool pause, bool sett, bool mainmenu, bool capture, bool exit, bool GOver, bool SnU, bool GV, bool PV)
 {
     Gpui.GetComponent <Canvas>().enabled      = gpui;
     Pause.GetComponent <Canvas>().enabled     = pause;
     Exit.GetComponent <Canvas>().enabled      = exit;
     Mainmenu.GetComponent <Canvas>().enabled  = mainmenu;
     Capture.GetComponent <Canvas>().enabled   = capture;
     GmOver.GetComponent <Canvas>().enabled    = GOver;
     SavenU.GetComponent <Canvas>().enabled    = SnU;
     Sett.GetComponent <Canvas>().enabled      = sett;
     GalView.GetComponent <Canvas>().enabled   = GV;
     PhotoView.GetComponent <Canvas>().enabled = PV;
 }
Пример #24
0
        public async Task <IActionResult> Update(PhotoView photoView)
        {
            try
            {
                photoView.UserId = HttpContext.User.Identity.Name;
                await _photosService.Update(photoView);

                return(Ok());
            }
            catch (ArgumentException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
Пример #25
0
        public async Task GetPhotoAsync()
        {
            // Snippet: GetPhotoAsync(string,PhotoView,CallSettings)
            // Additional: GetPhotoAsync(string,PhotoView,CancellationToken)
            // Create client
            StreetViewPublishServiceClient streetViewPublishServiceClient = await StreetViewPublishServiceClient.CreateAsync();

            // Initialize request argument(s)
            string    photoId = "";
            PhotoView view    = PhotoView.Basic;
            // Make the request
            Photo response = await streetViewPublishServiceClient.GetPhotoAsync(photoId, view);

            // End snippet
        }
Пример #26
0
        public async Task BatchGetPhotosAsync()
        {
            // Snippet: BatchGetPhotosAsync(IEnumerable<string>,PhotoView,CallSettings)
            // Additional: BatchGetPhotosAsync(IEnumerable<string>,PhotoView,CancellationToken)
            // Create client
            StreetViewPublishServiceClient streetViewPublishServiceClient = await StreetViewPublishServiceClient.CreateAsync();

            // Initialize request argument(s)
            IEnumerable <string> photoIds = new List <string>();
            PhotoView            view     = PhotoView.Basic;
            // Make the request
            BatchGetPhotosResponse response = await streetViewPublishServiceClient.BatchGetPhotosAsync(photoIds, view);

            // End snippet
        }
        public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
        {
            PhotoView photoView = new PhotoView(container.Context);
            Action <PhotoView, byte[]> action = async(pV, photo) =>
            {
                pV.SetImageBitmap(await bitmapOperationService.GetScaledDownBitmapForDisplayAsync(photo));
            };


            action(photoView, this.photos[position]);
            // Now just add PhotoView to ViewPager and return it
            container.AddView(photoView, ViewPager.LayoutParams.MatchParent, ViewPager.LayoutParams.MatchParent);

            return(photoView);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            InitClassifier();
            InitCamera();
            InitButton();
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            photoView             = FindViewById <PhotoView>(Resource.Id.iv_photo);
            currentMatrixTextView = FindViewById <TextView>(Resource.Id.tv_current_matrix);


            Log.Debug(TAG, "READY");
        }
Пример #29
0
        public async Task Upload(IFormFile photo, PhotoView photoView)
        {
            var photoId = NewId.Next().ToGuid();
            await _amazonS3Repository.Upload(photo, photoId.ToString());

            var photoModel = _mapper.Map <Photo>(photoView);

            photoModel.Id          = photoId;
            photoModel.ImagePath   = $"{_s3Settings.ServiceURL}/{_s3Settings.BucketName}/{photoId.ToString()}";
            photoModel.DateCreated = DateTime.Now;

            await Task.WhenAll(_photosRepository.Upload(photoModel),
                               _hashtagsService.AddNewHashtags(photoId, photoModel.Description),
                               _feedService.AddPhotoToFeed(photoModel.UserId, photoModel));
        }
Пример #30
0
        public async Task ListPhotosAsync()
        {
            // Snippet: ListPhotosAsync(PhotoView,string,string,int?,CallSettings)
            // Create client
            StreetViewPublishServiceClient streetViewPublishServiceClient = await StreetViewPublishServiceClient.CreateAsync();

            // Initialize request argument(s)
            PhotoView view   = PhotoView.Basic;
            string    filter = "";
            // Make the request
            PagedAsyncEnumerable <ListPhotosResponse, Photo> response =
                streetViewPublishServiceClient.ListPhotosAsync(view, filter);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((Photo item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((ListPhotosResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (Photo item in page)
                {
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int          pageSize   = 10;
            Page <Photo> singlePage = await response.ReadPageAsync(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (Photo item in singlePage)
            {
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }
Пример #31
0
        public void FakeTest()
        {
            // Album
            var objAlbum = new Album();

            objAlbum.AccessCode     = "Test";
            objAlbum.PhotoCount     = 1;
            objAlbum.Desp           = "Test";
            objAlbum.AccessCodeHint = "Test";
            objAlbum.AlbumPhotos    = new List <AlbumPhoto>();

            Assert.NotNull(objAlbum);

            // PhotoView
            var objphotoview = new PhotoView();

            objphotoview.AVNumber       = "Test";
            objphotoview.CameraMaker    = "Test";
            objphotoview.CameraModel    = "Test";
            objphotoview.Desp           = "Test";
            objphotoview.FileUrl        = "Test";
            objphotoview.ThumbHeight    = 100;
            objphotoview.ThumbWidth     = 100;
            objphotoview.OrgFileName    = "Test";
            objphotoview.IsOrgThumbnail = true;
            objphotoview.IsPublic       = true;

            Assert.NotNull(objphotoview);

            // Album photo view
            var objalbumphotoview = new AlbumPhotoView();

            objalbumphotoview.AlbumID     = 1;
            objalbumphotoview.AVNumber    = "Test";
            objalbumphotoview.CameraMaker = "Test";
            objalbumphotoview.CameraModel = "Test";
            objalbumphotoview.Desp        = "Test";
            objalbumphotoview.FileUrl     = "Test";
            objalbumphotoview.ThumbHeight = 100;
            objalbumphotoview.IsPublic    = true;
            objalbumphotoview.LensModel   = "Test";
            Assert.NotNull(objalbumphotoview);
        }
Пример #32
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            // set up the image loader
            imageLoader = ImageLoader.Instance;
            options = new DisplayImageOptions.Builder()
                .CacheInMemory(true)
                .Build();

            // to display a preview
            imageView = FindViewById<PhotoView>(Resource.Id.imageView);

            // create the Thumbor instance pointing to the Thumbor server
            thumbor = Thumbor.Create("http://thumbor.thumborize.me/");

            // give us an image to start off with
            GetImage(Resource.Id.resize, GetString(Resource.String.resize));
        }
Пример #33
0
	//
	// Constructor
	//
	public MainWindow (Db db)
	{
		this.db = db;

		if (Toplevel == null)
			Toplevel = this;

		Glade.XML gui = new Glade.XML (null, "f-spot.glade", "main_window", null);
		gui.Autoconnect (this);

		LoadPreference (Preferences.MAIN_WINDOW_WIDTH);
		LoadPreference (Preferences.MAIN_WINDOW_X);
		LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED);
		main_window.ShowAll ();

		LoadPreference (Preferences.SIDEBAR_POSITION);
		LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE);
		
		slide_delay = new FSpot.Delay (new GLib.IdleHandler (SlideShow));
		
		toolbar = new Gtk.Toolbar ();
		toolbar_vbox.PackStart (toolbar);
	
		Widget import_button = GtkUtil.MakeToolbarButton (toolbar, "gtk-add", Catalog.GetString ("Import"), new System.EventHandler (HandleImportCommand));
		SetTip (import_button, Catalog.GetString ("Import photos"));
		toolbar.AppendSpace ();

		rl_button = GtkUtil.MakeToolbarButton (toolbar, "f-spot-rotate-270", new System.EventHandler (HandleRotate270Command));
		rr_button = GtkUtil.MakeToolbarButton (toolbar, "f-spot-rotate-90", new System.EventHandler (HandleRotate90Command));
		toolbar.AppendSpace ();
		
		// FIXME putting these two toggle buttons in a radio group would prevent
		// the two toggle sounds from being emitted every time you switch modes
		browse_button = GtkUtil.MakeToolbarToggleButton (toolbar, "f-spot-browse", 
								 new System.EventHandler (HandleToggleViewBrowse)) as ToggleButton;
		SetTip (browse_button, Catalog.GetString ("Browse many photos simultaneously"));
		edit_button = GtkUtil.MakeToolbarToggleButton (toolbar, "f-spot-edit-image", 
							       new System.EventHandler (HandleToggleViewPhoto)) as ToggleButton;
		SetTip (edit_button, Catalog.GetString ("View and edit a photo"));

		toolbar.AppendSpace ();

		Widget fs_button = GtkUtil.MakeToolbarButton (toolbar, "f-spot-fullscreen", new System.EventHandler (HandleViewFullscreen));
		SetTip (fs_button, Catalog.GetString ("View photos fullscreen"));
		
		Widget ss_button = GtkUtil.MakeToolbarButton (toolbar, "f-spot-slideshow", new System.EventHandler (HandleViewSlideShow));
		SetTip (ss_button, Catalog.GetString ("View photos in a slideshow"));

		tag_selection_widget = new TagSelectionWidget (db.Tags);
		tag_selection_scrolled.Add (tag_selection_widget);
		
		tag_selection_widget.Selection.Changed += HandleTagSelectionChanged;
		tag_selection_widget.DragDataGet += HandleTagSelectionDragDataGet;
		tag_selection_widget.DragDrop += HandleTagSelectionDragDrop;
		tag_selection_widget.DragBegin += HandleTagSelectionDragBegin;
		tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress;
		Gtk.Drag.SourceSet (tag_selection_widget, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
				    tag_target_table, DragAction.Copy | DragAction.Move);

		tag_selection_widget.DragDataReceived += HandleTagSelectionDragDataReceived;
		tag_selection_widget.DragMotion += HandleTagSelectionDragMotion;
		Gtk.Drag.DestSet (tag_selection_widget, DestDefaults.All, tag_dest_target_table, 
				  DragAction.Copy | DragAction.Move ); 

		tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent;
		tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu;
		tag_selection_widget.RowActivated += HandleTagSelectionRowActivated;
		
		LoadPreference (Preferences.TAG_ICON_SIZE);

		info_box = new InfoBox ();
		info_box.VersionIdChanged += HandleInfoBoxVersionIdChange;
		left_vbox.PackStart (info_box, false, true, 0);
		
		try {
			query = new FSpot.PhotoQuery (db.Photos);
		} catch (System.Exception e) {
			//FIXME assume any exception here is due to a corrupt db and handle that.
			RestoreDb (e);
			query = new FSpot.PhotoQuery (db.Photos);
		}

		UpdateStatusLabel ();
		query.Changed += HandleQueryChanged;

		db.Photos.ItemsChanged += HandleDbItemsChanged;
		db.Tags.ItemsChanged += HandleTagsChanged;
		db.Tags.ItemsAdded += HandleTagsChanged;
		db.Tags.ItemsRemoved += HandleTagsChanged;
#if SHOW_CALENDAR
		FSpot.SimpleCalendar cal = new FSpot.SimpleCalendar (query);
		cal.DaySelected += HandleCalendarDaySelected;
		left_vbox.PackStart (cal, false, true, 0);
#endif

		group_selector = new FSpot.GroupSelector ();
		group_selector.Adaptor = new FSpot.TimeAdaptor (query);

		group_selector.ShowAll ();
		
		if (zoom_scale != null) {
			zoom_scale.ValueChanged += HandleZoomScaleValueChanged;
		}

		view_vbox.PackStart (group_selector, false, false, 0);
		view_vbox.ReorderChild (group_selector, 0);

		find_bar = new FindBar (query, tag_selection_widget.Model);
		//find_bar = new FindBar (query, db.Tags);
		view_vbox.PackStart (find_bar, false, false, 0);
		main_window.KeyPressEvent += HandleKeyPressEvent;
		
		query_widget = new FSpot.QueryWidget (query, db, tag_selection_widget);
		query_widget.Logic.Changed += HandleQueryLogicChanged;
		view_vbox.PackStart (query_widget, false, false, 0);
		view_vbox.ReorderChild (query_widget, 1);

		icon_view = new QueryView (query);
		icon_view.ZoomChanged += HandleZoomChanged;
		LoadPreference (Preferences.ZOOM);
		LoadPreference (Preferences.SHOW_TAGS);
		LoadPreference (Preferences.SHOW_DATES);
		icon_view_scrolled.Add (icon_view);
		icon_view.DoubleClicked += HandleDoubleClicked;
		icon_view.Vadjustment.ValueChanged += HandleIconViewScroll;
		icon_view.GrabFocus ();

		new FSpot.PreviewPopup (icon_view);

		Gtk.Drag.SourceSet (icon_view, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
				    icon_source_target_table, DragAction.Copy | DragAction.Move);
		
		icon_view.DragBegin += HandleIconViewDragBegin;
		icon_view.DragDataGet += HandleIconViewDragDataGet;

		near_image.SetFromStock ("f-spot-stock_near", IconSize.SmallToolbar);
		far_image.SetFromStock ("f-spot-stock_far", IconSize.SmallToolbar);

		PhotoTagMenu pmenu = new PhotoTagMenu ();
		pmenu.TagSelected += HandleRemoveTagMenuSelected;
		remove_tag.Submenu = pmenu;
		
		Gtk.Drag.DestSet (icon_view, DestDefaults.All, icon_dest_target_table, 
				  DragAction.Copy | DragAction.Move); 

		//		icon_view.DragLeave += new DragLeaveHandler (HandleIconViewDragLeave);
		icon_view.DragMotion += HandleIconViewDragMotion;
		icon_view.DragDrop += HandleIconViewDragDrop;
		icon_view.DragDataReceived += HandleIconViewDragDataReceived;
		icon_view.KeyPressEvent += HandleIconViewKeyPressEvent;

		photo_view = new PhotoView (query);
		photo_box.Add (photo_view);

		photo_view.ButtonPressEvent += HandlePhotoViewButtonPressEvent;
		photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent;
		photo_view.UpdateStarted += HandlePhotoViewUpdateStarted;
		photo_view.UpdateFinished += HandlePhotoViewUpdateFinished;

		photo_view.View.ZoomChanged += HandleZoomChanged;

		// Tag typing: focus the tag entry if the user starts typing a tag
		icon_view.KeyPressEvent += HandlePossibleTagTyping;
		photo_view.KeyPressEvent += HandlePossibleTagTyping;
		tag_entry = new TagEntry (db.Tags);
		tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent;
		tag_entry.TagsAttached += HandleTagEntryTagsAttached;
		tag_entry.TagsRemoved += HandleTagEntryRemoveTags;
		tag_entry.Activated += HandleTagEntryActivate;
		tag_entry_container.Add (tag_entry);

		Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, 
				  DragAction.Copy | DragAction.Move); 

		photo_view.DragMotion += HandlePhotoViewDragMotion;
		photo_view.DragDrop += HandlePhotoViewDragDrop;
		photo_view.DragDataReceived += HandlePhotoViewDragDataReceived;

		view_notebook.SwitchPage += HandleViewNotebookSwitchPage;
		group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet;
		group_selector.Adaptor.Changed += HandleAdaptorChanged;
		LoadPreference (Preferences.GROUP_ADAPTOR);
		LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC);

		this.selection = new MainSelection (this);
		this.selection.Changed += HandleSelectionChanged;
		this.selection.ItemsChanged += HandleSelectionItemsChanged;

		UpdateMenus ();

		main_window.ShowAll ();

		tagbar.Hide ();
		find_bar.Hide ();

		UpdateFindByTagMenu ();

		LoadPreference (Preferences.SHOW_TOOLBAR);
		LoadPreference (Preferences.SHOW_SIDEBAR);
		LoadPreference (Preferences.SHOW_TIMELINE);
		
		Preferences.SettingChanged += OnPreferencesChanged;

		main_window.DeleteEvent += HandleDeleteEvent;
		
		query_widget.HandleChanged (query);
		query_widget.Hide ();

		// When the icon_view is loaded, set it's initial scroll position
		icon_view.SizeAllocated += HandleIconViewReady;

		export.Activated += HandleExportActivated;
		UpdateToolbar ();

		Banshee.Kernel.Scheduler.Resume ();
	}
            public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
            {
                PhotoView photoView = new PhotoView(container.Context);
                photoView.SetImageResource(Resource.Drawable.wallpaper);

                // Now just add PhotoView to ViewPager and return it
                container.AddView(photoView, ViewPager.LayoutParams.MatchParent, ViewPager.LayoutParams.MatchParent);

                return photoView;
            }
Пример #35
0
        public List<PhotoView> getPhotosByAlbumId(string albumID)
        {
            List<PhotoView> plist = new List<PhotoView>();

            string SQLStatement = "SELECT * FROM photo AS p1 WHERE p1.album_id=" +albumID;

            // Create a SqlDataAdapter to get the results as DataTable
            SqlDataAdapter SQLDataAdapter = new SqlDataAdapter(SQLStatement, conn);

            // Create a new DataTable
            DataTable dtResult = new DataTable();

            // Fill the DataTable with the result of the SQL statement
            SQLDataAdapter.Fill(dtResult);

            foreach (DataRow drRow in dtResult.Rows)
            {
                PhotoView ph = new PhotoView();
                ph._id = drRow["_id"].ToString();
                ph.album_id = drRow["album_id"].ToString();
                ph.name = drRow["name"].ToString();
                ph.network_addr = drRow["network_addr"].ToString();
                ph.file_path = drRow["file_path"].ToString();
                ph.descript = drRow["descript"].ToString();
                plist.Add(ph);
            }
            return plist;
        }
Пример #36
0
	void HandlePhotoViewUpdateStarted (PhotoView sender)
	{
		main_window.GdkWindow.Cursor = new Gdk.Cursor (Gdk.CursorType.Watch);
		// FIXME: use gdk_display_flush() when available
		main_window.GdkWindow.Display.Sync ();
	}
Пример #37
0
	void HandlePhotoViewUpdateFinished (PhotoView sender)
	{
		main_window.GdkWindow.Cursor = null;
		// FIXME: use gdk_display_flush() when available
		main_window.GdkWindow.Display.Sync ();
	}
Пример #38
0
	//
	// Constructor
	//
	public MainWindow (Db db)
	{
		this.db = db;

		if (Toplevel == null)
			Toplevel = this;

		Glade.XML gui = new Glade.XML (null, "f-spot.glade", "main_window", "f-spot");
		gui.Autoconnect (this);

		LoadPreference (Preferences.MAIN_WINDOW_WIDTH);
		LoadPreference (Preferences.MAIN_WINDOW_X);
		LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED);
		main_window.ShowAll ();

		LoadPreference (Preferences.SIDEBAR_POSITION);
		LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE);

		LoadPreference (Preferences.COLOR_MANAGEMENT_ENABLED);
 		LoadPreference (Preferences.COLOR_MANAGEMENT_USE_X_PROFILE);
 		FSpot.ColorManagement.LoadSettings();
	
#if GTK_2_10
		pagesetup_menu_item.Activated += HandlePageSetupActivated;
#else
		pagesetup_menu_item.Visible = false;
#endif
		toolbar = new Gtk.Toolbar ();
		toolbar_vbox.PackStart (toolbar);

		ToolButton import_button = GtkUtil.ToolButtonFromTheme ("gtk-add", Catalog.GetString ("Import"), false);
		import_button.Clicked += HandleImportCommand;
		import_button.SetTooltip (ToolTips, Catalog.GetString ("Import new images"), null);
		toolbar.Insert (import_button, -1);
	
		toolbar.Insert (new SeparatorToolItem (), -1);

		ToolButton rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true);
		rl_button.Clicked += HandleRotate270Command;
		toolbar.Insert (rl_button, -1);

		ToolButton rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true);
		rr_button.Clicked += HandleRotate90Command;
		toolbar.Insert (rr_button, -1);

		toolbar.Insert (new SeparatorToolItem (), -1);

		browse_button = new ToggleToolButton ();
		browse_button.Label = Catalog.GetString ("Browse");
		browse_button.IconName = "mode-browse";
		browse_button.IsImportant = true;
		browse_button.Toggled += HandleToggleViewBrowse;
		browse_button.SetTooltip (ToolTips, Catalog.GetString ("Browse many photos simultaneously"), null);
		toolbar.Insert (browse_button, -1);

		edit_button = new ToggleToolButton ();
		edit_button.Label = Catalog.GetString ("Edit Image");
		edit_button.IconName = "mode-image-edit";
		edit_button.IsImportant = true;
		edit_button.Toggled += HandleToggleViewPhoto;
		edit_button.SetTooltip (ToolTips, Catalog.GetString ("View and edit a photo"), null);
		toolbar.Insert (edit_button, -1);

		toolbar.Insert (new SeparatorToolItem (), -1);

		ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), true);
		fs_button.Clicked += HandleViewFullscreen;
		fs_button.SetTooltip (ToolTips, Catalog.GetString ("View photos fullscreen"), null);
		toolbar.Insert (fs_button, -1);

		ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), true);
		ss_button.Clicked += HandleViewSlideShow;
		ss_button.SetTooltip (ToolTips, Catalog.GetString ("View photos in a slideshow"), null);
		toolbar.Insert (ss_button, -1);

		SeparatorToolItem white_space = new SeparatorToolItem ();
		white_space.Draw = false;
		white_space.Expand = true;
		toolbar.Insert (white_space, -1);

		ToolItem label_item = new ToolItem ();
		count_label = new Label (String.Empty);
		label_item.Child = count_label;
		toolbar.Insert (label_item, -1);

		display_previous_button = new ToolButton (Stock.GoBack);
		toolbar.Insert (display_previous_button, -1);
		display_previous_button.SetTooltip (ToolTips, Catalog.GetString ("Previous photo"), String.Empty);
		display_previous_button.Clicked += new EventHandler (HandleDisplayPreviousButtonClicked);

		display_next_button = new ToolButton (Stock.GoForward);
		toolbar.Insert (display_next_button, -1);
		display_next_button.SetTooltip (ToolTips, Catalog.GetString ("Next photo"), String.Empty);
		display_next_button.Clicked += new EventHandler (HandleDisplayNextButtonClicked);

		sidebar = new Sidebar ();
		ViewModeChanged += sidebar.HandleMainWindowViewModeChanged;
		sidebar_vbox.Add (sidebar);

		tag_selection_scrolled = new ScrolledWindow ();
		tag_selection_scrolled.ShadowType = ShadowType.In;
		
		tag_selection_widget = new TagSelectionWidget (db.Tags);
		tag_selection_scrolled.Add (tag_selection_widget);

		sidebar.AppendPage (tag_selection_scrolled, Catalog.GetString ("Tags"), "tag");

		AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged);

		sidebar.Context = ViewContext.Library;
 		
		sidebar.CloseRequested += HideSidebar;
		sidebar.Show ();

		info_box = new InfoBox ();
		ViewModeChanged += info_box.HandleMainWindowViewModeChanged;
		info_box.VersionIdChanged += delegate (InfoBox box, uint version_id) { UpdateForVersionIdChange (version_id);};
		sidebar_vbox.PackEnd (info_box, false, false, 0);

		info_box.Context = ViewContext.Library;
		
		tag_selection_widget.Selection.Changed += HandleTagSelectionChanged;
		tag_selection_widget.DragDataGet += HandleTagSelectionDragDataGet;
		tag_selection_widget.DragDrop += HandleTagSelectionDragDrop;
		tag_selection_widget.DragBegin += HandleTagSelectionDragBegin;
		tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress;
		Gtk.Drag.SourceSet (tag_selection_widget, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
				    tag_target_table, DragAction.Copy | DragAction.Move);

		tag_selection_widget.DragDataReceived += HandleTagSelectionDragDataReceived;
		tag_selection_widget.DragMotion += HandleTagSelectionDragMotion;
		Gtk.Drag.DestSet (tag_selection_widget, DestDefaults.All, tag_dest_target_table, 
				  DragAction.Copy | DragAction.Move ); 

		tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent;
		tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu;
		tag_selection_widget.RowActivated += HandleTagSelectionRowActivated;
		
		LoadPreference (Preferences.TAG_ICON_SIZE);
		
		try {
			query = new FSpot.PhotoQuery (db.Photos);
		} catch (System.Exception e) {
			//FIXME assume any exception here is due to a corrupt db and handle that.
			new RepairDbDialog (e, db.Repair (), main_window);
			query = new FSpot.PhotoQuery (db.Photos);
		}

		UpdateStatusLabel ();
		query.Changed += HandleQueryChanged;

		db.Photos.ItemsChanged += HandleDbItemsChanged;
		db.Tags.ItemsChanged += HandleTagsChanged;
		db.Tags.ItemsAdded += HandleTagsChanged;
		db.Tags.ItemsRemoved += HandleTagsChanged;
#if SHOW_CALENDAR
		FSpot.SimpleCalendar cal = new FSpot.SimpleCalendar (query);
		cal.DaySelected += HandleCalendarDaySelected;
		left_vbox.PackStart (cal, false, true, 0);
#endif

		group_selector = new FSpot.GroupSelector ();
		group_selector.Adaptor = new FSpot.TimeAdaptor (query, Preferences.Get<bool> (Preferences.GROUP_ADAPTOR_ORDER_ASC));

		group_selector.ShowAll ();
		
		if (zoom_scale != null) {
			zoom_scale.ValueChanged += HandleZoomScaleValueChanged;
		}

		view_vbox.PackStart (group_selector, false, false, 0);
		view_vbox.ReorderChild (group_selector, 0);

		find_bar = new FindBar (query, tag_selection_widget.Model);
		view_vbox.PackStart (find_bar, false, false, 0);
		view_vbox.ReorderChild (find_bar, 1);
		main_window.KeyPressEvent += HandleKeyPressEvent;
		
		query_widget = new FSpot.QueryWidget (query, db, tag_selection_widget);
		query_widget.Logic.Changed += HandleQueryLogicChanged;
		view_vbox.PackStart (query_widget, false, false, 0);
		view_vbox.ReorderChild (query_widget, 2);

		icon_view = new QueryView (query);
		icon_view.ZoomChanged += HandleZoomChanged;
		LoadPreference (Preferences.ZOOM);
		LoadPreference (Preferences.SHOW_TAGS);
		LoadPreference (Preferences.SHOW_DATES);
		LoadPreference (Preferences.SHOW_RATINGS);
		icon_view_scrolled.Add (icon_view);
		icon_view.DoubleClicked += HandleDoubleClicked;
		icon_view.Vadjustment.ValueChanged += HandleIconViewScroll;
		icon_view.GrabFocus ();

		new FSpot.PreviewPopup (icon_view);

		Gtk.Drag.SourceSet (icon_view, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
				    icon_source_target_table, DragAction.Copy | DragAction.Move);
		
		icon_view.DragBegin += HandleIconViewDragBegin;
		icon_view.DragDataGet += HandleIconViewDragDataGet;

		TagMenu tag_menu = new TagMenu (null, Database.Tags);
		tag_menu.NewTagHandler += delegate { HandleCreateTagAndAttach (this, null); };
		tag_menu.TagSelected += HandleAttachTagMenuSelected;
		tag_menu.Populate();
		attach_tag.Submenu = tag_menu;
		
		PhotoTagMenu pmenu = new PhotoTagMenu ();
		pmenu.TagSelected += HandleRemoveTagMenuSelected;
		remove_tag.Submenu = pmenu;
		
		Gtk.Drag.DestSet (icon_view, DestDefaults.All, icon_dest_target_table, 
				  DragAction.Copy | DragAction.Move); 

		//		icon_view.DragLeave += new DragLeaveHandler (HandleIconViewDragLeave);
		icon_view.DragMotion += HandleIconViewDragMotion;
		icon_view.DragDrop += HandleIconViewDragDrop;
		icon_view.DragDataReceived += HandleIconViewDragDataReceived;
		icon_view.KeyPressEvent += HandleIconViewKeyPressEvent;

		photo_view = new PhotoView (query);
		photo_box.Add (photo_view);

		photo_view.DoubleClicked += HandleDoubleClicked;
		photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent;
		photo_view.UpdateStarted += HandlePhotoViewUpdateStarted;
		photo_view.UpdateFinished += HandlePhotoViewUpdateFinished;

		photo_view.View.ZoomChanged += HandleZoomChanged;

		// Tag typing: focus the tag entry if the user starts typing a tag
		icon_view.KeyPressEvent += HandlePossibleTagTyping;
		photo_view.KeyPressEvent += HandlePossibleTagTyping;
		tag_entry = new TagEntry (db.Tags);
		tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent;
		tag_entry.TagsAttached += HandleTagEntryTagsAttached;
		tag_entry.TagsRemoved += HandleTagEntryRemoveTags;
		tag_entry.Activated += HandleTagEntryActivate;
		tag_entry_container.Add (tag_entry);

		Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, 
				  DragAction.Copy | DragAction.Move); 

		photo_view.DragMotion += HandlePhotoViewDragMotion;
		photo_view.DragDrop += HandlePhotoViewDragDrop;
		photo_view.DragDataReceived += HandlePhotoViewDragDataReceived;

		view_notebook.SwitchPage += HandleViewNotebookSwitchPage;
		group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet;
		group_selector.Adaptor.Changed += HandleAdaptorChanged;
		LoadPreference (Preferences.GROUP_ADAPTOR);
		LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC);

		this.selection = new MainSelection (this);
		this.selection.Changed += HandleSelectionChanged;
		this.selection.ItemsChanged += HandleSelectionItemsChanged;
		this.selection.Changed += sidebar.HandleSelectionChanged;
		this.selection.ItemsChanged += sidebar.HandleSelectionItemsChanged;

		Mono.Addins.AddinManager.ExtensionChanged += PopulateExtendableMenus;
		PopulateExtendableMenus (null, null);

		UpdateMenus ();

		main_window.ShowAll ();

		tagbar.Hide ();
		find_bar.Hide ();

		UpdateFindByTagMenu ();

		LoadPreference (Preferences.SHOW_TOOLBAR);
		LoadPreference (Preferences.SHOW_SIDEBAR);
		LoadPreference (Preferences.SHOW_TIMELINE);
		LoadPreference (Preferences.SHOW_FILMSTRIP);

		LoadPreference (Preferences.GNOME_MAILTO_ENABLED);
		
		Preferences.SettingChanged += OnPreferencesChanged;

		main_window.DeleteEvent += HandleDeleteEvent;
		
		query_widget.HandleChanged (query);
		query_widget.Hide ();

		// When the icon_view is loaded, set it's initial scroll position
		icon_view.SizeAllocated += HandleIconViewReady;

		export.Activated += HandleExportActivated;
		UpdateToolbar ();

		Banshee.Kernel.Scheduler.Resume ();
	}
Пример #39
0
		private void HandlePhotoChanged (PhotoView sender)
		{
			if (win.view_mode == ModeType.PhotoView && Changed != null)
				Changed (this);
		}
Пример #40
0
 public void Execute(object parameter)
 {
     ShowPhotoInfo spi = parameter as ShowPhotoInfo;
     PhotoView pw = new PhotoView(spi); ;
     pw.ShowDialog();
 }