private void deletePicture()
        {
            if (listview_Flickr_uploads.SelectedItems != null && listview_Flickr_uploads.SelectedItems.Count > 0)
            {
                for (int i = 0; i < listview_Flickr_uploads.SelectedItems.Count; i++)
                {
                    FlickrInfo   imgurInfo = (FlickrInfo)listview_Flickr_uploads.SelectedItems[i].Tag;
                    DialogResult result    = MessageBox.Show(lang.GetFormattedString(LangKey.delete_question, imgurInfo.Title), lang.GetFormattedString(LangKey.delete_title, imgurInfo.ID), MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (result == DialogResult.Yes)
                    {
                        BackgroundForm backgroundForm = BackgroundForm.ShowAndWait(FlickrPlugin.Attributes.Name, lang.GetString(LangKey.communication_wait));
                        try
                        {
                            FlickrUtils.DeleteFlickrImage(imgurInfo);
                        }
                        catch (Exception ex)
                        {
                            LOG.Warn("Problem communicating with Flickr: ", ex);
                        }
                        finally
                        {
                            backgroundForm.CloseDialog();
                        }

                        imgurInfo.Dispose();
                    }
                }
            }
            redraw();
        }
        private void openPicture(PictureDisplaySize pictureDisplaySize)
        {
            if (listview_Flickr_uploads.SelectedItems != null && listview_Flickr_uploads.SelectedItems.Count > 0)
            {
                for (int i = 0; i < listview_Flickr_uploads.SelectedItems.Count; i++)
                {
                    FlickrInfo imgurInfo = (FlickrInfo)listview_Flickr_uploads.SelectedItems[i].Tag;

                    System.Diagnostics.Process.Start(imgurInfo.LinkUrl(pictureDisplaySize));
                }
            }
        }
예제 #3
0
 public ListItem(int publicationId, FlickrInfo info)
 {
     Info = info;
     if (info.IsPhoto)
     {
         // format of photo item id: [flickr photo id]_[flickr photo secret]_[flickr photo set id]
         string itemId = string.Format("{0}_{1}_{2}", info.Id, info.Secret, info.PhotoSetId);
         _id = Provider.HostServices.CreateEclUri(publicationId, Provider.MountPointId, itemId, DisplayTypeId, EclItemTypes.File);
     }
     else
     {
         _id = Provider.HostServices.CreateEclUri(publicationId, Provider.MountPointId, info.Id, DisplayTypeId, EclItemTypes.Folder);
     }
 }
예제 #4
0
        public byte[] GetThumbnailImage(IEclUri eclUri, int maxWidth, int maxHeight)
        {
            // only return thumbnails for the actual photos
            if (eclUri.ItemType == EclItemTypes.File && eclUri.SubType == "img")
            {
                // format of photo item id: [flickr photo id]_[flickr photo secret]_[flickr photo set id]
                string[]   ids   = eclUri.ItemId.Split('_');
                FlickrInfo photo = Provider.Flickr.GetPhotoInfo(ids[0], ids[1], ids[2]);

                WebClient webClient     = new WebClient();
                byte[]    thumbnailData = webClient.DownloadData(Flickr.GetPhotoUrl(photo, maxWidth));
                using (MemoryStream ms = new MemoryStream(thumbnailData, false))
                {
                    return(Provider.HostServices.CreateThumbnailImage(maxWidth, maxHeight, ms, Flickr.MaxWidth, Flickr.MaxHeight, null));
                }
            }
            return(null);
        }
        private void clipboardUrl(PictureDisplaySize pictureDisplaySize)
        {
            StringBuilder links = new StringBuilder();

            if (listview_Flickr_uploads.SelectedItems != null && listview_Flickr_uploads.SelectedItems.Count > 0)
            {
                for (int i = 0; i < listview_Flickr_uploads.SelectedItems.Count; i++)
                {
                    FlickrInfo flickrInfo = (FlickrInfo)listview_Flickr_uploads.SelectedItems[i].Tag;

                    links.AppendLine(flickrInfo.LinkUrl(pictureDisplaySize));
                }
            }
            try
            {
                Clipboard.SetText(links.ToString());
            }
            catch (Exception ex)
            {
                LOG.Error("Can't write to clipboard: ", ex);
            }
        }
 private void Listview_flickr_uploadsSelectedIndexChanged(object sender, EventArgs e)
 {
     pictureBox_Flickr.Image = null;
     if (listview_Flickr_uploads.SelectedItems != null && listview_Flickr_uploads.SelectedItems.Count > 0)
     {
         deleteButton.Enabled    = true;
         openButton.Enabled      = true;
         clipboardButton.Enabled = true;
         if (listview_Flickr_uploads.SelectedItems.Count == 1)
         {
             FlickrInfo imgurInfo = (FlickrInfo)listview_Flickr_uploads.SelectedItems[0].Tag;
             pictureBox_Flickr.Image = imgurInfo.Image;
         }
     }
     else
     {
         pictureBox_Flickr.Image = null;
         deleteButton.Enabled    = false;
         openButton.Enabled      = false;
         clipboardButton.Enabled = false;
     }
 }
예제 #7
0
 public FlickrPhoto(int publicationId, FlickrInfo info) : base(publicationId, info)
 {
     // if info needs to be fully loaded, do so here
 }