View Issue Details

IDProjectCategoryView StatusLast Update
0002658Far ManagerEditorpublic2014-04-23 10:14
ReporterJohnDoe Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version3.0 
Summary0002658: "[x] Del removes blocks" не должно распространяться на BS
DescriptionС некоторых пор эта опция действует и на BS, вряд ли это правильно.
Additional InformationСуществует скрытый параметр "Editor.BSLikeDel", но в описании указано что он действует только на вертикальные блоки.
TagsNo tags attached.
Build

Activities

vskirdin

2014-04-22 16:09

administrator   bugnote:0012268

Last edited: 2014-04-22 16:11

Реализовано было 11.10.2000. Описание оттуда же.
Возможно описание не соответствует изменению, т.к. в том патче есть такой фрагмент - "(BlockStart!=NULL || VBlockStart!=NULL)", а это говорит об обслуживании обоих типов блоков.

Изначально было так:

if (!Pasting && !Opt.EditorPersistentBlocks && BlockStart!=NULL)
 DeleteBlock();

потом стало вот так:

int IsDelBlock=FALSE;
if(Opt.EditorBSLikeDel)
{
  if (!Pasting && Opt.EditorDelRemovesBlocks && (BlockStart!=NULL || VBlockStart!=NULL))
    IsDelBlock=TRUE;
}
else
{
  if (!Pasting && !Opt.EditorPersistentBlocks && BlockStart!=NULL)
    IsDelBlock=TRUE;
}
if (IsDelBlock)
  DeleteBlock();

JohnDoe

2014-04-23 10:00

updater   bugnote:0012275

Да, и вот это паршиво, какая-то дикая мешанина получается при разных комбинациях опций.

1) При "непостоянных" блоках:
- BS удаляет поточный блок независимо от значения Editor.BSLikeDel
- BS удаляет вертикальный блок только при Editor.BSLikeDel=true
При этом для действия клавиши BS значение опции "[x] Del removes blocks" роли вообще не играет!

2) При постоянных блоках:
Не имеет значения какой блок: и поточный и вертикальный работают одинаково
- Editor.BSLikeDel=false - BS не удаляет блок
- Editor.BSLikeDel=true - действие BS полностью определяется значение "[x] Del removes blocks"

Резюме: Изначальное описание тикета неактуально.
Надо отломать всё нахрен и сделать заново.

JohnDoe

2014-04-23 10:14

updater   bugnote:0012277

Предлагаю в режиме "непостоянных" блоков сделать поведение по-умолчанию "как в Windows".
Т.е. при наличии блока, как горизонтального, так и вертикального, BS и Del действуют одинаково: удаляют блок.
(если снять опцию [ ] Del removes blocks, то не удаляют)
Опция BSLikeDel в её теперешнем значении тут не нужна.

А что должно быть в режиме постоянных блоков - обсуждаем в 0002659

Issue History

Date Modified Username Field Change
2014-04-22 14:35 JohnDoe New Issue
2014-04-22 16:09 vskirdin Note Added: 0012268
2014-04-22 16:11 vskirdin Note Edited: 0012268
2014-04-22 16:11 vskirdin Note Edited: 0012268
2014-04-23 10:00 JohnDoe Note Added: 0012275
2014-04-23 10:14 JohnDoe Note Added: 0012277