View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001538 | Far Manager | Macro | public | 2010-10-07 21:46 | 2010-12-29 15:17 |
Reporter | DAtaMan | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.0 | ||||
Fixed in Version | 2.0 | ||||
Summary | 0001538: Обновление панели при выполнении некоторых макрокоманд | ||||
Description | При использовании макрокоманд Panel.SetPosIdx, Panel.SetPath и Panel.SetPos принудительно обновляется панель. Если панель плагиновая и файлов на ней много (или сетевая папка), то скорость выполнения макросов существенно падает. | ||||
Steps To Reproduce | Копируем в temp-панель побольше файлов и выполняем, например, panel.setposidx(0,1) | ||||
Additional Information | Изменение было связано с http://bugs.farmanager.com/view.php?id=289 | ||||
Tags | No tags attached. | ||||
Build | 1773 | ||||
|
|
|
macroNew.cpp.diff (1,291 bytes)
Index: macro.cpp =================================================================== --- macro.cpp (revision 5392) +++ macro.cpp (working copy) @@ -3179,7 +3179,8 @@ { //SelPanel->Show(); // <Mantis#0000289> - ������, �� �� ������ :-) - ShellUpdatePanels(SelPanel); + //ShellUpdatePanels(SelPanel); + SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL); FrameManager->RefreshFrame(FrameManager->GetTopModal()); // </Mantis#0000289> @@ -3253,7 +3254,8 @@ SelPanel->GoToFile(fileName); // ���� ��� ��������, �.�. �������� fileName �� ��������� //SelPanel->Show(); // <Mantis#0000289> - ������, �� �� ������ :-) - ShellUpdatePanels(SelPanel); + //ShellUpdatePanels(SelPanel); + SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL); FrameManager->RefreshFrame(FrameManager->GetTopModal()); // </Mantis#0000289> Ret=1; @@ -3296,7 +3298,8 @@ { //SelPanel->Show(); // <Mantis#0000289> - ������, �� �� ������ :-) - ShellUpdatePanels(SelPanel); + //ShellUpdatePanels(SelPanel); + SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL); FrameManager->RefreshFrame(FrameManager->GetTopModal()); // </Mantis#0000289> Ret=(__int64)(SelPanel->GetCurrentPos()+1); |
|
Обновил diff. |
|
1. Лечит реально? 2. Патч конечный? |
|
1. Ну, то что описано в #289 - лечит. 2. Да, к текущей rev. |
|
вместе с Scr.Scroll() пойдет :-) |
|
Отлично. Может и регулярки в макросах будут подарком к НГ ? :) |
|
ХЗ, еще не смотрел. |
|
|
|
1773 - ура :) Добавил новый SelJmp - теперь работает быстрее и плагиновые панели не обновляются. |
|
меняем содержимое Panel.JumpToSelectedFile.reg из аддонов на SelJmp2.reg? |
|
Думаю, старый можно оставить - для тех, кто пользуется более старыми верcиями FAR. |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-10-07 21:46 | DAtaMan | New Issue | |
2010-10-07 21:46 | DAtaMan | File Added: macro.cpp.diff.7z | |
2010-12-28 13:41 | DAtaMan | File Added: macroNew.cpp.diff | |
2010-12-28 13:42 | DAtaMan | Note Added: 0006047 | |
2010-12-28 14:31 | vskirdin | Note Added: 0006048 | |
2010-12-28 14:38 | DAtaMan | Note Added: 0006049 | |
2010-12-28 14:41 | vskirdin | Assigned To | => vskirdin |
2010-12-28 14:41 | vskirdin | Status | new => assigned |
2010-12-28 14:41 | vskirdin | Note Added: 0006050 | |
2010-12-28 15:21 | DAtaMan | Note Added: 0006051 | |
2010-12-29 06:21 | vskirdin | Note Added: 0006052 | |
2010-12-29 13:47 | DAtaMan | File Added: SelJmp2.reg | |
2010-12-29 13:48 | DAtaMan | Note Added: 0006053 | |
2010-12-29 14:27 | vskirdin | Note Added: 0006054 | |
2010-12-29 14:53 | DAtaMan | Note Added: 0006055 | |
2010-12-29 15:17 | vskirdin | Build | => 1773 |
2010-12-29 15:17 | vskirdin | Status | assigned => closed |
2010-12-29 15:17 | vskirdin | Resolution | open => fixed |
2010-12-29 15:17 | vskirdin | Fixed in Version | => 2.0 |