AIMP Forum

AIMP для Windows => Предложения => Skin Editor / Skin Engine => Skin Editor => Topic started by: sergio7786 on August 21, 2011, 19:39:06

Title: действие "отменить"
Post by: sergio7786 on August 21, 2011, 19:39:06
предлагаю ввести обычную функцию с отменой действия. чтобы она отменяла такие действия как : перенести, добавить, удалить, копировать и прочие действия которые ты например сделал не так или случайно. оч не хватает такого действия :-(
Title: Re: действие "отменить"
Post by: B1ood on August 21, 2011, 20:16:53
Согласен, нужная вещь, но лучше сразу делать историю.
Title: Re: действие "отменить"
Post by: HyperOne on August 21, 2011, 20:55:24
Вроде запланировано. Написано в этой (https://www.aimp.ru/forum/index.php?topic=21368.0) теме.
Title: Re: действие "отменить"
Post by: NikolavRj on August 22, 2011, 18:40:08
Да, давно уже такое предложение было... Да, кнопочка такая пригодится
Title: Re: действие "отменить"
Post by: FreeMan700 on August 24, 2011, 16:38:11
Да, давно уже такое предложение было... Да, кнопочка такая пригодится

+1
Title: To step backward(recovering mistakes).
Post by: baram on May 16, 2013, 18:33:09
There is no ability to step backward.

So if I make a mistake during editing, I must revert manually or reopen project.

It is better if you implement step backward ability.
Title: Re: To step backward(recovering mistakes).
Post by: Artem on May 16, 2013, 18:52:27
Yes, I know, but this is complex task
Title: Re: действие "отменить"
Post by: Я Гриша! on September 02, 2014, 10:37:10
Отмена последнего действия - очень нужная вещь
Title: Re: действие "отменить"
Post by: McClaud on September 02, 2014, 13:49:00
Очень нужная вещь! Хотя бы на один шаг. Не раз были ситуации, когда хочешь мышкой переместить какой-то элемент, а цепляется что-то под ним. И сообрази потом, что цапанул и где оно было  ???
Title: Re: действие "отменить"
Post by: Алексей Долматов on September 02, 2014, 15:19:51
Не плохо бы, чтоб можно было бы видеть так-же саму историю действий, подобно Paint.net и восстанавливать до какого-то определённого места
Title: Re: действие "отменить"
Post by: Tarik on September 02, 2014, 17:02:47
Да хотя бы отмену лишь одного последнего действия.
Title: Re: действие "отменить"
Post by: Artem on September 02, 2014, 17:17:54
На текущий момент это можно реализовать только "в лоб" - полностью сохранять файл проекта после каждого чиха. Нужно расширять архитектуру скин-движка.
Title: Re: действие "отменить"
Post by: Алексей Долматов on September 02, 2014, 17:32:03
На текущий момент это можно реализовать только "в лоб" - полностью сохранять файл проекта после каждого чиха. Нужно расширять архитектуру скин-движка.
А с текущей архитектурой хранить одну копию в "памяти" насколько сильно нагрузка по быстродействию не рассчитать до реализации?
Title: Re: действие "отменить"
Post by: Tarik on September 02, 2014, 17:57:00
На текущий момент это можно реализовать только "в лоб" - полностью сохранять файл проекта после каждого чиха.
Да лучше не надо )
Title: Re: действие "отменить"
Post by: McClaud on September 02, 2014, 22:24:06
На текущий момент это можно реализовать только "в лоб" - полностью сохранять файл проекта после каждого чиха. Нужно расширять архитектуру скин-движка.
В таком виде неприемлемо - несоразмерные затраты времени и ресурсов.
Title: Re: действие "отменить"
Post by: Black_AVP on September 03, 2014, 10:39:06
Проголосовал "Нейтрален" - ничего необратимого в данном случае нет, а загружать каждый раз копию файла, конечно, неприемлимо, особенно дла больших проектов - на это могут уйти десятки секунд.
Title: Re: действие "отменить"
Post by: Soolo on September 03, 2014, 10:41:39
Проголосовал "Нейтрален" - ничего необратимого в данном случае нет
Необратимого ничего нет, но всё-же удобство вырастет в разы.

а загружать каждый раз копию файла, конечно, неприемлимо, особенно дла больших проектов - на это могут уйти десятки секунд.
Насчёт хранения 2-х или более копий проекта в оперативке или на диске и переписывать их после каждого чиха - явно некрасивый подход.
Title: Re: действие "отменить"
Post by: Black_AVP on September 03, 2014, 10:51:51
Необратимого ничего нет, но всё-же удобство вырастет в разы.

Бесспорно, потому и проголосовал так, ну а если появится такая возможность, то это можно будет только приветствовать.
На данный момент, может, можно было бы добывать пункт в меню "Восстановить из резервной копии", чтобы не возиться с переименованием бэкапного файла.
Title: Re: действие "отменить"
Post by: Tarik on September 03, 2014, 11:13:59
На данный момент, может, можно было бы добывать пункт в меню "Восстановить из резервной копии", чтобы не возиться с переименованием бэкапного файла.
Зачем, если можно перезапуститть редактор, не сохраняя проект?
Title: Re: действие "отменить"
Post by: Black_AVP on September 03, 2014, 12:26:17
Зачем, если можно перезапуститть редактор, не сохраняя проект?

Ну, так и делаем... Но, согласиь, Tarik, кривоватый путь.
Title: Re: действие "отменить"
Post by: pepsioner on October 29, 2014, 08:02:51
когда случайно удаляешь группу контейнеров после 3х часов манипуляций без сохранения, начинаешь закипать...
з а к и п а т ь от невозможности что-то сделать....вот как сейчас...

Title: Re: действие "отменить"
Post by: Soolo on October 29, 2014, 08:17:28
когда случайно удаляешь группу контейнеров после 3х часов манипуляций без сохранения, начинаешь закипать...
з а к и п а т ь от невозможности что-то сделать....вот как сейчас...
Лучше научиться периодически раз в 5-10 мин сохранять плоды своей работы на обложке, а не на дипломе или годовом отчёте.
Кроме "отменить" бывают сбои питания или синие экраны, которые так же ловко могут погубить 3-х часовые манипуляции.
Title: Re: действие "отменить"
Post by: Artem on October 29, 2014, 08:24:51
К сожалению, Undo/Redo не заложено архитектурой, поэтому реализовать это сейчас весьма сложно
Title: Re: действие "отменить"
Post by: pepsioner on October 29, 2014, 09:47:18
даже текстом в файле с координатами позиций и статусом есть\нет?
Title: Re: действие "отменить"
Post by: Artem on October 29, 2014, 11:39:02
даже текстом в файле с координатами позиций и статусом есть\нет?

Поясните
Title: Re: действие "отменить"
Post by: pepsioner on October 29, 2014, 12:47:44
Поясните

если очень-очень грубо:

Code: [Select]
AIMPMainForm{
< //означает вложенность в этот контейнер других контейнеров
 LayoutContainer1:Main {
      alignment: laTop;
      alignmentLevel: 0;
      alignmentMargines:0,0,0,0;
....
      skin: c:\test\fon.png;
}

 button1:showGroup1 {
      positionX:540;
      positionY:23;

      bindings{
                   [
                   bindingItem (button1:showGroup1);
                   Action;
                   State;
                   //только используемые связи
                   ]

                   [ bindingItem(LayoutTabbedGroup1);
                   ActivePage: Action [(value + 1) mod 2 ];
                   ActivePage: State; ]
                   }

 LayoutContainer2:PlayButton {
      alignment: laTop;
      alignmentLevel: 0;
      alignmentMargines:0,0,0,0;
....
      skin: c:\test\fon.png;
}

[b]>[/b]




Code: [Select]
Контейнер1  //вложенные контейнеры
<\
     контейнер2{
          свойство: параметр;
          свойство: параметр;
          свойство: параметр;
          ....
          }

     ГруппаКонтейнеров1{

                     кнопка:Название {
                                              свойство: параметр;
                                              свойство: параметр;
                                              свойство: параметр;
                                              ....

                                                              биндСвязи{
                                                                                [биндСвязи (кнопка:Название)
                                                                                точкаСвязи:Action;
                                                                                точкаСвязи:State;
                                                                              //только используемые связи
                                                                                ]

                                                            [ биндСвязи (ГруппаКонтейнеров1);
                                                                               ActivePage: Action [(value + 1) mod 2 ];
                                                                               ActivePage: State; ]
                                                           }


}

\>
Title: Re: действие "отменить"
Post by: Artem on October 29, 2014, 13:26:32
и? проблема не в том, как хранить информацию об изменениях. Проблема в том, как эту информацию собрать. В частности, изменение одного свойства может потянуть за собой изменение еще 10-ка, это нужно отслеживать
Title: Re: действие "отменить"
Post by: pepsioner on October 29, 2014, 13:32:56
скинедитор хранит эту информацию где-то во время работы в нём? в памяти или в файле?
он же отслеживает изменения, вот и бекапить в виде текста в файл.
Title: Re: действие "отменить"
Post by: Artem on October 29, 2014, 13:34:45
скинедитор хранит эту информацию где-то во время работы в нём? в памяти или в файле?
он же отслеживает изменения, вот и бекапить в виде текста в файл.

1. Он не отслеживает изменения.
2. Бэкапить только XML-ки можно, но тогда есть вероятность, что потеряются картинки. А бэкапить все - это сродни обычному сохранению проекта, т.е. операция долгая
Title: Re: действие "отменить"
Post by: drunkentigerijk on November 23, 2014, 16:05:25
Может ввести автосейв, например каждые 15 - 30 мин?
Title: Re: действие "отменить"
Post by: Soolo on November 23, 2014, 17:08:14
Может ввести автосейв, например каждые 15 - 30 мин?
без опции отмены - автосейв может такого сохранить...
Да, есть бэкап, но всё-равно на данном этапе это больше вредная опция, чем полезная.
Думаю, самому научиться жать "сохранить" время от времени - гораздо полезнее будет в жизни.
А то у нас на работе дяти-тёти до пенсии доработали, а делать промежуточные сохранения так и не научились. Из-за чего с завидной регулярностью теряют результаты работы за последние 2-4 часа из-за сбоев в подаче электроэнергии.
Да, сбои бывают регулярно, т.к. электросеть относится не к промзоне и не к городу, а к ж/д станции, а там то внеплановый ремонт, то внеплановая проверка.
Title: Re: действие "отменить"
Post by: makspeison on July 05, 2017, 00:35:09
на предложение админов почаще сохранятся, скажу следуещее: сохранятся любой здравый юзер умеет. друго дело перезапускать проект каждый раз когда что-то случайно подвинул и потер.
да даже просто цвет поменял посмотреть как будт смотрется - пока перебрал пару цветов, понял что до этого было лучше. и тут бы пару раз контрл-з нажать, так нет - либо свойства копируй-вставляй, либо проект перезапускай. удовольствие так себе.
о запутаности реализации и непредусмотренности в начальном коде я прочитал. ждемс вобщем, а пока сохраняемся)
Title: Re: действие "отменить"
Post by: Данил Батин on August 29, 2017, 12:34:07
#ВеримВАртёма ибо очень нужная вещь.
Title: Re: действие "отменить"
Post by: Я Гриша! on August 29, 2017, 12:54:39
#ВеримВАртёма (https://www.aimp.ru/forum/index.php?topic=29747.msg355279#msg355279) ибо очень нужная вещь.
;D
Title: Undo function for Skin Editor
Post by: xeo on November 06, 2017, 21:22:29
Any chance to have undo function for Skin Editor in the future?
Title: Re: Undo function for Skin Editor
Post by: Zhenya on November 06, 2017, 22:01:33
According to Artem:

К сожалению, Undo/Redo не заложено архитектурой, поэтому реализовать это сейчас весьма сложно

In English:
Unfortunately, Undo/Redo is not embedded in the architecture, so it is very difficult to implement now.

Suggestion (https://www.aimp.ru/forum/index.php?topic=29747.0) (in Russian) with voting.
Title: Re: действие "отменить"
Post by: orange_python on April 06, 2018, 10:55:23
шёл 2018 год  :( функции так и не наблюдалось  :'(
Title: Re: действие "отменить"
Post by: Artem on April 06, 2018, 12:53:14
шёл 2018 год  :( функции так и не наблюдалось  :'(

Да после таких слов мне вообще ничего не хочется делать.
Title: Re: действие "отменить"
Post by: orange_python on April 06, 2018, 15:20:09
слова - это лишь метод фиксации информации...  :) а смысл меняется от контекста... а контекст от потребностей и задачи...  :) надо быть проще, а не искать подвоха
Title: Re: действие "отменить"
Post by: Artem on April 06, 2018, 15:25:57
слова - это лишь метод фиксации информации...  :) а смысл меняется от контекста... а контекст от потребностей и задачи...  :) надо быть проще, а не искать подвоха

Как я говорил выше, для поддержки истории, нужно правильно выстраивать архитектуру приложения с самого начала, иначе это будут костыли, и постоянно будут появляться новые. На текущий момент у меня нет столько времени, чтобы заняться переписыванием редактора.
Title: Re: действие "отменить"
Post by: TurboDISCO Adept on August 23, 2018, 16:21:56
...тогда хотя бы возможность блокировать на изменение всех параметров всех элементов внутри контейнера и/или окна - защита от случайной активации кликом и случайного смещения, если работаешь в другом контейнере.  (или это уже есть и я где-то недосмотрел?) Нечто схожее происходит сейчас если снять галочку с контейнера, но в этом случае контейнер со всем содержимым перестаёт быть видимым.