Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="HistoryItem"/> class.
        /// </summary>
        /// <param name="file">The backing file.</param>
        /// <param name="historyCanvas">The history canvas.</param>
        /// <param name="currentImage">The current image.</param>
        public HistoryItem(string file, CanvasHistoryState historyCanvas, BitmapSource currentImage)
        {
            backingFile = file;
            state       = HistoryItemState.Memory;
            chunk       = new HistoryChunk(historyCanvas, currentImage);

            ToDisk();
        }
Пример #2
0
 /// <summary>
 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 /// </summary>
 public void Dispose()
 {
     if (!disposed)
     {
         File.Delete(backingFile);
         chunk.Dispose();
         state    = HistoryItemState.Disposed;
         disposed = true;
     }
 }
Пример #3
0
 /// <summary>
 /// Retrieves the HistoryChunk from disk.
 /// </summary>
 public void ToMemory()
 {
     if (state == HistoryItemState.Disk)
     {
         using (FileStream fs = new FileStream(backingFile, FileMode.Open, FileAccess.Read, FileShare.None))
         {
             BinaryFormatter bf = new BinaryFormatter();
             chunk = (HistoryChunk)bf.Deserialize(fs);
             state = HistoryItemState.Memory;
         }
     }
 }
Пример #4
0
 /// <summary>
 /// Serializes the HistoryChunk to disk.
 /// </summary>
 public void ToDisk()
 {
     if (state == HistoryItemState.Memory)
     {
         using (FileStream fs = new FileStream(backingFile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None))
         {
             BinaryFormatter bf = new BinaryFormatter();
             bf.Serialize(fs, chunk);
             state = HistoryItemState.Disk;
             chunk.Dispose();
         }
     }
 }
Пример #5
0
        private void SetButtonsVisibility(HistoryItemHolder holder, HistoryItemState state)
        {
            switch (state)
            {
            case HistoryItemState.Url:
                holder.MoveFiles.Visibility       = ViewStates.Gone;
                holder.OpenFile.Visibility        = ViewStates.Gone;
                holder.BrowseFiles.Visibility     = ViewStates.Gone;
                holder.OpenUrl.Visibility         = ViewStates.Visible;
                holder.CopyToClipboard.Visibility = ViewStates.Visible;
                holder.Share.Visibility           = ViewStates.Visible;
                break;

            case HistoryItemState.Text:
                holder.MoveFiles.Visibility       = ViewStates.Gone;
                holder.OpenFile.Visibility        = ViewStates.Gone;
                holder.BrowseFiles.Visibility     = ViewStates.Gone;
                holder.OpenUrl.Visibility         = ViewStates.Gone;
                holder.CopyToClipboard.Visibility = ViewStates.Visible;
                holder.Share.Visibility           = ViewStates.Visible;
                break;

            case HistoryItemState.SingleFile:
                holder.MoveFiles.Visibility       = ViewStates.Visible;
                holder.OpenFile.Visibility        = ViewStates.Visible;
                holder.BrowseFiles.Visibility     = ViewStates.Gone;
                holder.OpenUrl.Visibility         = ViewStates.Gone;
                holder.CopyToClipboard.Visibility = ViewStates.Gone;
                holder.Share.Visibility           = ViewStates.Visible;
                break;

            case HistoryItemState.MultipleFiles:
                holder.MoveFiles.Visibility       = ViewStates.Visible;
                holder.OpenFile.Visibility        = ViewStates.Gone;
                holder.BrowseFiles.Visibility     = ViewStates.Visible;
                holder.OpenUrl.Visibility         = ViewStates.Gone;
                holder.CopyToClipboard.Visibility = ViewStates.Gone;
                holder.Share.Visibility           = ViewStates.Gone;
                break;

            default:
                holder.MoveFiles.Visibility       = ViewStates.Gone;
                holder.OpenFile.Visibility        = ViewStates.Gone;
                holder.BrowseFiles.Visibility     = ViewStates.Gone;
                holder.OpenUrl.Visibility         = ViewStates.Gone;
                holder.CopyToClipboard.Visibility = ViewStates.Gone;
                holder.Share.Visibility           = ViewStates.Gone;
                break;
            }
        }
Пример #6
0
 public BaseHistoryItem(string icon, string text, HistoryItemState state)
 {
     Icon  = icon;
     Text  = text;
     State = state;
 }
Пример #7
0
 public BaseHistoryItem(string icon, string text, HistoryItemState state)
 {
     Icon = icon;
     Text = text;
     State = state;
 }