View Issue Details

IDProjectCategoryView StatusLast Update
0001743WishesHistorypublic2013-03-01 05:54
ReporterRaistlin Assigned Tovskirdin  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Fixed in Version3.0 
Summary0001743: Возможность отключения истории
DescriptionХотелось бы иметь возможность временного отключения истории (команд, папок и т. д.) при работе макросов. Например, так:
history.state(State[,Type])
State = 1 (enable) / 0 (disable)
Type - тип истории; если опущен, меняем состояние всех историй
TagsNo tags attached.
Build2657

Activities

vskirdin

2011-04-05 13:54

administrator   bugnote:0006692

Last edited: 2011-04-05 13:55

А если вот так сделать:

N=history.state([State])
Здесь State - набор битов:
бит 0 - cmd history
бит 1 - folder histroy
бит 2 - view/edit history
бит 3 - dialog hisrtory
если соответствующий бит выставлен в 1, эту историю дизаблить
State = -1 - дизаблить все истории
Возвращает предыдущую маску.

Если параметр не указан, то просто возвращает текущую маску

DrKnS

2011-04-05 14:01

administrator   bugnote:0006693

После завершения макроса история должна сама назад врубаться, не?

vskirdin

2011-04-05 14:05

administrator   bugnote:0006694

Last edited: 2011-04-05 14:12

да.
хистори дисаблед будет работать только на время исполнения макроса.
это как с клипбордом...

здесь в другом вопрос - может имеет смысл делать не на время исполнения макроса, а на сеанс работы текущей копии фара?

Здесь "весь сеанс" - это только к макросам относится, вне макросов - как раньше.
Ну, что бы каждый раз (в каждом макросе) не выставлять запрет...
Хотя, если где-то кто-то (1) поставит, а другой (2) макрос уберет, а (1) будет думать, что все оби... в обчем ХЗ

Raistlin

2011-04-05 14:38

reporter   bugnote:0006696

> А если вот так сделать
Да, так лучше. Только дизаблить, наверное, лучше при бите, выставленном в 0. И еще непонято, зачем
> State = -1 - дизаблить все истории
если все дизаблятся при всех выставленных битах. Если "для простоты", то проще явно указать в справке (в виде примера), как дизаблить все.

Дизаблить только на время исполнения макроса.

JohnDoe

2011-04-05 15:37

updater   bugnote:0006702

>если все дизаблятся при всех выставленных битах.
так это ж -1 и есть: FFFFFF

>здесь в другом вопрос - может имеет смысл делать не на время исполнения макроса, а на сеанс работы текущей копии фара?
Пример практического применения есть?

Кстати, может сдетать это через mmode(), по аналогии с другими режимами выполнения макроса?

P.S.
Тема на форуме: http://forum.farmanager.com/viewtopic.php?f=15&t=5390

Raistlin

2011-04-05 16:10

reporter   bugnote:0006703

>так это ж -1 и есть: FFFFFF
Я думал, что если взвести 4 бита, то получится 15...

vskirdin

2011-04-05 16:12

administrator   bugnote:0006704

> Пример практического применения есть?
автостартующий макрос, который ваще отрубает хистори - чтобы хистори из под макросов не работало.

> может сдетать это через mmode()
да, можно и через mmode (если нет планов на history)

Raistlin

2011-04-05 16:52

reporter   bugnote:0006705

> автостартующий макрос, который ваще отрубает хистори - чтобы хистори из под макросов не работало.
А не проще для такого сделать TechInfo? Кроме того, не уверен, что отрубание истории для всех макросов - это хорошая идея. А возвращать все в status quo по окончании каждого макроса, учитывая наличие $Exit... Так IMHO не надо.

vskirdin

2011-04-05 17:06

administrator   bugnote:0006706

Про течинфу понял - в морг однозначно.
Про остальное - много читал, много думал... это был пример того, как бы можно было бы использовать этот режим, если бы он (вкл/выкл историй) работал не для "текущего исполнения" (старт макроса, история "доступна", говорим "жмяк" и дальше что-то делаем без истории, макрос закончился и все вернулось восвояси, т.е. следующий макрос стартует с опять "доступной всем" историей), а в рамках текущей сессии ФАР (в одном макросе выставили блокировку, во втором она, блокировка, работает, в третьем отключили, четвертый макрос уже с историей пашет)

Raistlin

2011-04-05 19:00

reporter   bugnote:0006708

Я так и понял. На деле это будет означать, что в одних макросах история всегда должна явно отключаться, а в других - явно включаться. Третьих не будет: порядок запуска макросов произволен. И зачем?

vskirdin

2011-04-06 03:37

administrator   bugnote:0006709

Ок. Значит распространение действия лочки только на время работы "этого" макроса.
При старте макроса истории разрешены.

vskirdin

2011-04-06 08:36

administrator   bugnote:0006711

после 1946 будет вот так
------------------
     Добавлена макрофункция, позволяющая управлять состоянием добавления пунктов в истории во время воспроизведения текущего макроса.
     При старте макроса истории разрешены.

     N=history.disable([State])

     Здесь State - набор битов:
       бит 0 - cmd history
       бит 1 - folder histroy
       бит 2 - view/edit history
       бит 3 - dialog history
       если соответствующий бит выставлен в 1, эту историю дизаблить
       State = -1 - дизаблить все истории

     Возвращает предыдущую маску.

     Если параметр не указан, то просто возвращает текущую маску
------------------

JohnDoe

2011-04-06 09:47

updater   bugnote:0006712

Last edited: 2011-04-06 09:48

>> может сдетать это через mmode()
>да, можно и через mmode (если нет планов на history)
Значит ли это что планы на history есть?

vskirdin

2011-04-06 09:59

administrator   bugnote:0006713

а почему бы и нет?
объект есть, функционал у него тоже есть.
на вскидку, например, (почему бы и нет) функция s=history.get(index) или...

vskirdin

2011-04-06 10:00

administrator   bugnote:0006714

build 1946
N=history.disable([State])

Raistlin

2011-04-06 19:37

reporter   bugnote:0006722

Может, все-таки дизаблить при нулевых битах? Где это видано, чтобы 1 для состояния означало disabled? Логики в макроязык это не добавит.

vskirdin

2011-04-07 03:25

administrator   bugnote:0006723

название функции ни о чем не говорит?

Raistlin

2011-04-07 06:16

reporter   bugnote:0006724

Название функции прочел в первом комментарии :).

vskirdin

2011-04-12 06:27

administrator   bugnote:0006752

закрываем?

Raistlin

2011-04-12 06:35

reporter   bugnote:0006753

Хотелось бы опробовать это на деле, где взять текущий билд?

vskirdin

2011-04-12 07:25

administrator   bugnote:0006755

http://skirda-file.googlecode.com/files/Far_3_1955.7z

Raistlin

2011-04-12 21:32

reporter   bugnote:0006766

У меня в 1955 макросы и так следов в истории не оставляют.

[HKEY_CURRENT_USER\Software\Far Manager\KeyMacros\Shell\CtrlAltR]
"Sequence"="panel.setpath(0,\"C:\\\\WINDOWS\") panel.setpath(0,\"C:\\\\WINDOWS\\\\system\") panel.setpath(0,\"C:\\\\WINDOWS\\\\system32\")"

Запускаю - в истории чисто.

vskirdin

2011-04-13 07:41

administrator   bugnote:0006769

вот ить... ошибся.
в KeyMacro::IsHistroyDisable false и true нужно местами поменять...

Raistlin

2011-04-13 08:28

reporter   bugnote:0006770

Жду нового билда.
P. S. Не по теме, конечно, но что, теперь макросы типа CtrlAltShiftT работать не будут? У меня нажатие на модификаторы гасит панели.

vskirdin

2011-04-13 08:38

administrator   bugnote:0006771

http://skirda-file.googlecode.com/files/Far_3_1957.7z

На счет CAS.

Это пока недоделки конфигуратора, раньше CASRule (TechInfo #68) можно было поменять в реестре, теперь надо лезть в sqlite базу и добавлять значение (по умолчанию CAS включен)

2t-rex: Алекс, наверное нужно отказываться от поля FARConfig::IsSave и писать всю конфигурацию...
Но это тема отдельного Инца.

vskirdin

2011-04-13 08:45

administrator   bugnote:0006772

"Как загнать значение из TechInfo в generalconfig.db" :-)

Вот эти две строки:
-------------------------------------------
INSERT INTO "general_config" VALUES('System','CASRule',0);
INSERT INTO "general_config" VALUES('System','AllCtrlAltShiftRule',0);
-------------------------------------------
в файл "foo.sql"
и выполнить команду
sqlite3 generalconfig.db < foo.sql

JohnDoe

2011-04-13 09:01

updater   bugnote:0006773

Смотрю и кажется мне что реестр был прекрасен...

vskirdin

2011-04-13 10:09

administrator   bugnote:0006778

не обращай внимание, это был "грязный хак"
могу остальные выкатить :-)

vskirdin

2011-04-13 10:13

administrator   bugnote:0006779

реестр, кстати, такой же уродский, как и скюлите, просто к реестру прилагается утиль соответствующий... а здесь нужно немного границы разума раздвигать :-)

Raistlin

2011-04-13 10:33

reporter   bugnote:0006780

Работает as expected.

>реестр, кстати, такой же уродский, как и скюлите
Возникает риторический вопрос: а стоило ли менять известное шило на неизвестное мыло?
Всё, всё, закрываем :).

vskirdin

2011-04-13 10:52

administrator   bugnote:0006781

так че?
меняем "шило на мыло"? disable на enable ==> http://forum.farmanager.com/viewtopic.php?p=80244#p80244

Raistlin

2011-04-13 10:56

reporter   bugnote:0006782

Я имел в виду реестр и sqlite.
А чтобы история по умолчанию была отключена для макросов - идея хорошая. Я за.

JohnDoe

2011-04-13 11:04

updater   bugnote:0006783

>к реестру прилагается утиль соответствующий...
Заметьте: из коробки, прилагается, и формат reg-файла знает каждый.

JohnDoe

2011-04-13 11:06

updater   bugnote:0006784

>меняем "шило на мыло"? disable на enable
на форуме вроде как не все сошлись на этом мнении

vskirdin

2011-04-13 11:30

administrator   bugnote:0006785

> и формат reg-файла знает каждый.
не вижу проблем знать sql в минимальном варианте (insert/update/delete/select) :-)
(если sqlite приживется, нужно будет микро howto по sql в Писание вставить)

Про "из коробки" - а чем, извините, "regedit /ea FarSave1.reg" отличается от "sqlite3 generalconfig.db < foo.sql"? А. Ну да, это ж надо sqlite3.exe скачать...
(если sqlite приживется, нужно в сорцы кинуть shell.c, который совместно с sqlite3.c и sqlite3.h делают sqlite3.exe)

JohnDoe

2011-04-13 11:40

updater   bugnote:0006786

>INSERT INTO "general_config" VALUES('System','CASRule',0);
>INSERT INTO "general_config" VALUES('System','AllCtrlAltShiftRule',0);
Извините, но это на порядок хуже нормального человеческого структурированого .reg

Я считаю что если уж переходить к новому формату конфигов, то уж точно нет никакого смысла менять .reg на .sql
Если уж менять, то на нормальные, максимально абстрагированные от формата хранения, и оптимизированные для обработки человеком.

А импорт/экспорт возложить на плагин.

vskirdin

2011-04-13 11:50

administrator   bugnote:0006787

никто не спорит, но читай выше - это грязный хак.
для нормальной работы нужен либо плагин, либо отдельный утиль, который...
...ок, пусть это будет reg...
так вот, этот reg-файл прожует и корректно запульнет в настройки.

vskirdin

2011-04-15 06:53

administrator   bugnote:0006793

history.disable переименована в history.enable.
   Это означает, что:
    1. истории во время вопрсоизведения макроса отключены
    2. битовая маска действует на принудительное включение историй

Raistlin

2011-08-25 10:44

reporter   bugnote:0007525

М-да... А для prompt() история тоже отключена и ее надо включать принудительно? Непорядок.

vskirdin

2011-08-25 12:25

administrator   bugnote:0007530

prompt() - элемент макросов, в чем тут непорядок?

Raistlin

2011-08-25 12:28

reporter   bugnote:0007531

В том, что в prompt() указываем "использовать историю", а она не работает. Несколько неприятный эффект от нововведения. Если поделать ничего нельзя, надо будет отметить этот момент в Энциклопедии.

vskirdin

2011-09-01 11:21

administrator   bugnote:0007588

Можно сделать так:
Если в промте указали хистори (точнее оно неравно пустой строке), то независимо от состояния "история в диалогах из-под макросов" историю включать.
Но будет ли это логично?

JohnDoe

2011-09-01 12:47

updater   bugnote:0007591

Не будет.
Не за то боролись.
История в prompt и "история в диалогах из-под макросов" это разные вещи.
История в prompt никому вроде не мешает ни в каком случае.

vskirdin

2011-09-01 13:53

administrator   bugnote:0007592

это означает
"описываем поведение в Писании"
или
"Если в промте указан хистори..."

JohnDoe

2011-09-01 14:57

updater   bugnote:0007594

>"Если в промте указан хистори..."
Если в промте не указать хистори, то история не работает, и никогда не работала, поэтому отдельно оговаривать это имхо не стоит.

А если указан хистори, то использовать независимо от того, включена ли "история в диалогах из-под макросов".
Причём это тоже настолько очевидно, что нет смысла специально оговаривать, ибо лишняя писанина только усложнит понимание.

Raistlin

2011-09-01 17:04

reporter   bugnote:0007597

Согласен с JohnDoe. Только маленькая ремарка в статье про history.enable() (именно там!) все же не помешает - а то какой-нибудь чрезмерно системно мыслящий пользователь логично рассудит, что, раз без history.enable() все истории выключены, то для prompt() ее нужно насильно включать.

vskirdin

2011-09-01 18:38

administrator   bugnote:0007598

http://skirda-file.googlecode.com/files/Far_2187.rar
prompt() - если указан не пустой history, то принудительно выставляем историю (на время вызова этой функции).

Raistlin

2011-09-01 19:15

reporter   bugnote:0007599

Вылетаем при prompt():

╔═══════════════════ Exception occurred ═══════════════════╗
║ Exception: Access violation (read from 0x00000000) ║
║ Address: 0x004A609A ║
║ Function: ║
║ Module: C:\Program Files\Far3\Far.exe ║
╟──────────────────────────────────────────────────────────╢
║ { Terminate FAR } [ Debug ] ║
╚══════════════════════════════════════════════════════════╝

vskirdin

2011-09-02 05:33

administrator   bugnote:0007600

http://skirda-file.googlecode.com/files/Far_2188.7z

Raistlin

2011-09-02 08:05

reporter   bugnote:0007602

Работает.
А вот панельки по Ctrl-Alt-Shift по-прежнему гасятся - сочетания клавиш с ними не работают.

Raistlin

2011-09-12 09:12

reporter   bugnote:0007656

Last edited: 2011-09-12 10:17

Предлагаю изменить синтаксис функции, чтобы она позволяла включать/выключать историю не только в рамках текущего макроса, но и в течение текущего сеанса Far:

history.state(Histories[,Where[,State]])

Histories: битовая маска для историй, как в текущей реализации, кроме "0" (становится бессмысленной)
Where: 0 - в текущем макросе (по умолчанию), 1 - в текущем сеансе Far
State: 0 - выключить, 1 - включить, если опущен - переключить значение

По умолчанию при запуске макроса предполагается состояние как после history.state(-1,0,0)

Потому что сейчас, например, невозможно (или очень геморройно) переключить состояние истории, скажем, из диалога сохранения файла в редакторе.

vskirdin

2011-09-12 10:30

administrator   bugnote:0007657

может разумнее сделать включение истории как параметр макроса?

Raistlin

2011-09-12 10:40

reporter   bugnote:0007659

Не понял, поясни.

vskirdin

2011-09-12 13:24

administrator   bugnote:0007669

ну вот есть "DisableOutput", "RunAfterFARStart" - и сделать "EnableHistory".

JohnDoe

2011-09-12 13:52

updater   bugnote:0007672

>Предлагаю изменить синтаксис функции, чтобы она позволяла включать/выключать историю не только в рамках текущего макроса, но и в течение текущего сеанса Far:

http://api.farmanager.com/ru2/macro/macrocmd/prop_func/general.html#history.enable
Из писания складывается впечатление, будто именно так оно и работает (т.е. глобально).

vskirdin

2011-09-12 14:08

administrator   bugnote:0007674

значит писание врет :-)

Raistlin

2011-09-12 17:05

reporter   bugnote:0007678

Last edited: 2011-09-12 17:06

Писание однозначно врет - только что проверил.
"EnableHistory" - зло, откат назад от сделанного. Где гибкость? Мне может понадобиться включить историю в середине макроса. Более того - если действительно понадобится включить, то скорее всего именно где-нибудь в середине, на конкретное действие.
Но я ведь вообще не о макросах уже предложение сделал. С точки зрения privacy возможность управления историей из любого места в любой момент - штука очень полезная.

DAtaMan

2012-05-02 11:10

reporter   bugnote:0009090

Last edited: 2012-05-02 11:11

А как сейчас включить историю? А то в Prompt(...) это сделать никак не получается.
(Или я где-то что-то недочитал).

vskirdin

2012-05-02 13:46

administrator   bugnote:0009091

Имеется:
S=prompt(["Title"[,"Prompt"[,flags[, "Src"[, "History"]]]]])
делаем
prompt(,,,,"History")
получаем хистори для промпта

независимо от опции, если у prompt указан параметр History, то именно для этого промтера будет включена хистори:
    if (history && *history) // Mantis#0001743: Возможность отключения истории
        CtrlObject->Macro.SetHistoryDisableMask(8); // если указан history, то принудительно выставляем историю для ЭТОГО prompt()

DAtaMan

2012-05-02 13:52

reporter   bugnote:0009092

>делаем prompt(,,,,"History")
Сделал macro:post prompt(,,,,"History")
И...
> получаем хистори для промпта
...не получаем
ЧЯДНТ?

vskirdin

2012-05-03 06:02

administrator   bugnote:0009095

ндя...
build 2338 недоделанный получился.
пошел смотреть

vskirdin

2012-05-03 06:08

administrator   bugnote:0009096

build 2657

DAtaMan

2012-05-03 07:32

reporter   bugnote:0009098

Ндя, историю в prompt'е и не юзают, значит :)

Теперь ок.

Issue History

Date Modified Username Field Change
2011-04-05 12:31 Raistlin New Issue
2011-04-05 13:54 vskirdin Note Added: 0006692
2011-04-05 13:55 vskirdin Note Edited: 0006692
2011-04-05 14:01 DrKnS Note Added: 0006693
2011-04-05 14:05 vskirdin Note Added: 0006694
2011-04-05 14:06 vskirdin Note Edited: 0006694
2011-04-05 14:12 vskirdin Note Edited: 0006694
2011-04-05 14:38 Raistlin Note Added: 0006696
2011-04-05 15:37 JohnDoe Note Added: 0006702
2011-04-05 16:10 Raistlin Note Added: 0006703
2011-04-05 16:12 vskirdin Note Added: 0006704
2011-04-05 16:52 Raistlin Note Added: 0006705
2011-04-05 17:06 vskirdin Note Added: 0006706
2011-04-05 19:00 Raistlin Note Added: 0006708
2011-04-06 03:37 vskirdin Note Added: 0006709
2011-04-06 08:28 vskirdin Assigned To => vskirdin
2011-04-06 08:28 vskirdin Status new => assigned
2011-04-06 08:36 vskirdin Note Added: 0006711
2011-04-06 09:47 JohnDoe Note Added: 0006712
2011-04-06 09:48 JohnDoe Note Edited: 0006712
2011-04-06 09:59 vskirdin Note Added: 0006713
2011-04-06 10:00 vskirdin Note Added: 0006714
2011-04-06 10:00 vskirdin Status assigned => feedback
2011-04-06 19:37 Raistlin Note Added: 0006722
2011-04-06 19:37 Raistlin Status feedback => assigned
2011-04-07 03:25 vskirdin Note Added: 0006723
2011-04-07 06:16 Raistlin Note Added: 0006724
2011-04-12 06:27 vskirdin Note Added: 0006752
2011-04-12 06:27 vskirdin Status assigned => feedback
2011-04-12 06:35 Raistlin Note Added: 0006753
2011-04-12 06:35 Raistlin Status feedback => assigned
2011-04-12 07:25 vskirdin Note Added: 0006755
2011-04-12 21:25 Raistlin Status assigned => resolved
2011-04-12 21:32 Raistlin Note Added: 0006766
2011-04-12 21:32 Raistlin Status resolved => assigned
2011-04-13 07:41 vskirdin Note Added: 0006769
2011-04-13 08:28 Raistlin Note Added: 0006770
2011-04-13 08:38 vskirdin Note Added: 0006771
2011-04-13 08:45 vskirdin Note Added: 0006772
2011-04-13 09:01 JohnDoe Note Added: 0006773
2011-04-13 10:09 vskirdin Note Added: 0006778
2011-04-13 10:13 vskirdin Note Added: 0006779
2011-04-13 10:33 Raistlin Note Added: 0006780
2011-04-13 10:33 Raistlin Status assigned => resolved
2011-04-13 10:52 vskirdin Note Added: 0006781
2011-04-13 10:56 Raistlin Note Added: 0006782
2011-04-13 11:04 JohnDoe Note Added: 0006783
2011-04-13 11:06 JohnDoe Note Added: 0006784
2011-04-13 11:30 vskirdin Note Added: 0006785
2011-04-13 11:40 JohnDoe Note Added: 0006786
2011-04-13 11:50 vskirdin Note Added: 0006787
2011-04-15 06:53 vskirdin Build => 1959
2011-04-15 06:53 vskirdin Note Added: 0006793
2011-04-15 06:53 vskirdin Status resolved => closed
2011-04-15 06:53 vskirdin Resolution open => fixed
2011-04-15 06:53 vskirdin Fixed in Version => 3.0
2011-08-25 10:44 Raistlin Note Added: 0007525
2011-08-25 10:44 Raistlin Status closed => feedback
2011-08-25 10:44 Raistlin Resolution fixed => reopened
2011-08-25 12:25 vskirdin Note Added: 0007530
2011-08-25 12:28 Raistlin Note Added: 0007531
2011-08-25 12:28 Raistlin Status feedback => assigned
2011-09-01 11:21 vskirdin Note Added: 0007588
2011-09-01 12:47 JohnDoe Note Added: 0007591
2011-09-01 13:53 vskirdin Note Added: 0007592
2011-09-01 14:57 JohnDoe Note Added: 0007594
2011-09-01 17:04 Raistlin Note Added: 0007597
2011-09-01 18:38 vskirdin Note Added: 0007598
2011-09-01 18:38 vskirdin Status assigned => feedback
2011-09-01 19:15 Raistlin Note Added: 0007599
2011-09-01 19:15 Raistlin Status feedback => assigned
2011-09-02 05:33 vskirdin Note Added: 0007600
2011-09-02 05:33 vskirdin Status assigned => feedback
2011-09-02 08:05 Raistlin Note Added: 0007602
2011-09-02 08:05 Raistlin Status feedback => assigned
2011-09-02 08:05 Raistlin Status assigned => resolved
2011-09-02 09:18 vskirdin Build 1959 => 2188
2011-09-02 09:18 vskirdin Status resolved => closed
2011-09-02 09:18 vskirdin Resolution reopened => fixed
2011-09-12 09:12 Raistlin Note Added: 0007656
2011-09-12 09:12 Raistlin Status closed => feedback
2011-09-12 09:12 Raistlin Resolution fixed => reopened
2011-09-12 10:17 Raistlin Note Edited: 0007656
2011-09-12 10:30 vskirdin Note Added: 0007657
2011-09-12 10:40 Raistlin Note Added: 0007659
2011-09-12 10:40 Raistlin Status feedback => assigned
2011-09-12 13:24 vskirdin Note Added: 0007669
2011-09-12 13:52 JohnDoe Note Added: 0007672
2011-09-12 14:08 vskirdin Note Added: 0007674
2011-09-12 17:05 Raistlin Note Added: 0007678
2011-09-12 17:06 Raistlin Note Edited: 0007678
2012-05-02 11:10 DAtaMan Note Added: 0009090
2012-05-02 11:11 DAtaMan Note Edited: 0009090
2012-05-02 13:46 vskirdin Note Added: 0009091
2012-05-02 13:52 DAtaMan Note Added: 0009092
2012-05-03 06:02 vskirdin Note Added: 0009095
2012-05-03 06:08 vskirdin Note Added: 0009096
2012-05-03 06:08 vskirdin Status assigned => feedback
2012-05-03 07:32 DAtaMan Note Added: 0009098
2013-02-03 00:33 alexy Severity minor => feature
2013-03-01 05:54 vskirdin Build 2188 => 2657
2013-03-01 05:54 vskirdin Status feedback => closed
2013-03-01 05:54 vskirdin Resolution reopened => fixed