/// <summary>
        /// Determines if the item should be processed.
        /// </summary>
        /// <param name="item">The <see cref="CacheItem"/> to check.</param>
        /// <returns>true if the item should be processed; otherwise false.</returns>
        private bool OnCanContinueProcessing(CacheRequest item)
        {
            CanContinueProcessingEventArgs arg = new CanContinueProcessingEventArgs(item);

            context.Send(checkProcessingCallback, arg);
            return(arg.ContinueProcessing);
        }
Пример #2
0
        /// <summary>
        /// Determines if the item should be processed.
        /// </summary>
        /// <param name="extension">The file extension to check.</param>
        /// <returns>true if the item should be processed; otherwise false.</returns>
        private bool OnCanContinueProcessing(string extension)
        {
            CanContinueProcessingEventArgs arg = new CanContinueProcessingEventArgs(extension);

            context.Send(checkProcessingCallback, arg);
            return(arg.ContinueProcessing);
        }
Пример #3
0
        /// <summary>
        /// Determines if the item should be processed.
        /// </summary>
        /// <param name="argument">The event argument.</param>
        /// <returns>true if the item should be processed; otherwise false.</returns>
        private void CanContinueProcessing(object argument)
        {
            CanContinueProcessingEventArgs arg = argument as CanContinueProcessingEventArgs;
            CacheRequest request    = arg.Request;
            bool         canProcess = true;

            // Is it in the edit cache?
            if (canProcess)
            {
                if (editCache.ContainsKey(request.Guid))
                {
                    canProcess = false;
                }
            }

            // Was the item was updated by the UI thread?
            if (canProcess)
            {
                if (mImageListView != null && !mImageListView.IsItemDirty(request.Guid))
                {
                    canProcess = false;
                }
            }

            arg.ContinueProcessing = canProcess;
        }
Пример #4
0
        /// <summary>
        /// Determines if the item should be processed.
        /// </summary>
        /// <param name="argument">The event argument.</param>
        /// <returns>true if the item should be processed; otherwise false.</returns>
        private void CanContinueProcessing(object argument)
        {
            CanContinueProcessingEventArgs arg = argument as CanContinueProcessingEventArgs;
            CacheRequest request    = arg.Request;
            bool         canProcess = true;

            // Is it in the edit cache?
            if (canProcess && editCache.ContainsKey(request.Guid))
            {
                canProcess = false;
            }

            // Is it already cached?
            if (canProcess && (request.RequestType == RequestType.Thumbnail))
            {
                thumbCache.TryGetValue(request.Guid, out CacheItem existing);
                if (existing != null &&
                    existing.Size == request.Size &&
                    existing.UseEmbeddedThumbnails == request.UseEmbeddedThumbnails &&
                    existing.AutoRotate == request.AutoRotate &&
                    existing.UseWIC == request.UseWIC)
                {
                    canProcess = false;
                }

                // Is it outside the visible area?
                if (canProcess && (CacheMode == CacheMode.OnDemand) &&
                    mImageListView != null &&
                    !mImageListView.IsItemVisible(request.Guid))
                {
                    canProcess = false;
                }
            }
            else if (canProcess && (request.RequestType == RequestType.Gallery))
            {
                CacheItem existing = galleryItem;
                if (existing != null && existing.Guid == request.Guid && existing.Size == request.Size && existing.UseEmbeddedThumbnails == request.UseEmbeddedThumbnails && existing.AutoRotate == request.AutoRotate && existing.UseWIC == request.UseWIC)
                {
                    canProcess = false;
                }
            }
            else if (canProcess && (request.RequestType == RequestType.Renderer))
            {
                CacheItem existing = rendererItem;
                if (existing != null && existing.Guid == request.Guid && existing.Size == request.Size && existing.UseEmbeddedThumbnails == request.UseEmbeddedThumbnails && existing.AutoRotate == request.AutoRotate && existing.UseWIC == request.UseWIC)
                {
                    canProcess = false;
                }
            }

            arg.ContinueProcessing = canProcess;
        }
        /// <summary>
        /// Determines if the item should be processed.
        /// </summary>
        /// <param name="argument">The event argument.</param>
        /// <returns>true if the item should be processed; otherwise false.</returns>
        private void CanContinueProcessing(object argument)
        {
            CanContinueProcessingEventArgs arg = argument as CanContinueProcessingEventArgs;
            bool canProcess = true;

            // Is it already cached?
            if (shellCache.TryGetValue(arg.Extension, out CacheItem existing))
            {
                if (existing.SmallIcon != null && existing.LargeIcon != null)
                {
                    canProcess = false;
                }
            }

            arg.ContinueProcessing = canProcess;
        }
		/// <summary>
		/// Determines if the item should be processed.
		/// </summary>
		/// <param name="item">The <see cref="CacheItem"/> to check.</param>
		/// <returns>true if the item should be processed; otherwise false.</returns>
		private bool OnCanContinueProcessing(CacheRequest item)
		{
			CanContinueProcessingEventArgs arg = new CanContinueProcessingEventArgs(item);
			context.Send(checkProcessingCallback, arg);
			return arg.ContinueProcessing;
		}
 /// <summary>
 /// Determines if the item should be processed.
 /// </summary>
 /// <param name="extension">The file extension to check.</param>
 /// <returns>true if the item should be processed; otherwise false.</returns>
 private bool OnCanContinueProcessing(string extension)
 {
     CanContinueProcessingEventArgs arg = new CanContinueProcessingEventArgs (extension);
     context.Send (checkProcessingCallback, arg);
     return arg.ContinueProcessing;
 }