예제 #1
0
        public override void Execute(CommandContext context)
        {
            if (context.Items.Length != 1)
            {
                return;
            }

            if (!ImageCompressionSettings.IsImageCompressionButtonEnabled())
            {
                return;
            }

            var currentItem = context.Items[0];

            currentItem.Editing.BeginEdit();
            _imageConversionService.ConvertImage(currentItem);
            currentItem.Editing.EndEdit();
        }
        /// <summary>
        /// Queries the state of the command.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <returns>The state of the command.</returns>
        public override CommandState QueryState(CommandContext context)
        {
            Assert.ArgumentNotNull(context, "context");

            if (!ImageCompressionSettings.IsImageCompressionButtonEnabled())
            {
                return(CommandState.Hidden);
            }

            if (context.Items.Length != 1 || !ImageCompressionSettings.IsImage(context.Items[0]))
            {
                return(CommandState.Hidden);
            }

            var item = context.Items[0];

            return(CommandState.Enabled);
        }