EditInfo — работа с выделенным фрагментом и закладками в открытом документе

Здесь можно обсудить ваш любимый плагин.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

EditInfo — работа с выделенным фрагментом и закладками в открытом документе

Post by Tim Sobolev »

Прекрасный плаг, но есть парочка вопрсов ;-) :

1) нельзя ли расширить диалог плага символов на 10 в ширину
2) с помощью менеджера диалогов я вижу 3 дефолтовых кнопки ;-)
Last edited by HaRT on Wed 25 May, 2016 20:49, edited 2 times in total.
Reason: Добавлена ссылка на Анонс, улучшен Заголовок
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

1) нельзя ли расширить диалог плага символов на 10 в ширину
2) с помощью менеджера диалогов я вижу 3 дефолтовых кнопки
1. Легко
2. М-м-м, вот с диалогами FAR ещё не до конца разобрался. Чем это грозит и что нужно убрать?
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

В целом полезный плагин, но есть несколько неудобств в использовании:

1. Если фокус находится в списке закладок, то не срабатывают горячие клавиши.
Кстати, хорошо бы при отсутствии закладок в файле запрещать передачу фокуса в этот список.

2. Стрелки вверх/ вниз недостаточно интуитивны.
Хотелось бы, чтобы стрелки Up/ Down не дублировали (Shift)Tab, а перемещались в соответствии с "табличной" структурой диалогового окна.

3. Есть возможность ввести значения в текстовые поля в строке Number, хотя этот ввод, похоже, нигде не учитывается.

Есть также предложения по расширению функциональности, но их изложу в следующий раз.

Спасибо за плагин!
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

jbak wrote: 2. М-м-м, вот с диалогами FAR ещё не до конца разобрался. Чем это грозит и что нужно убрать?
Да у тя там в 3х местах стоит 1 для кнопки по умолчанию. Надо в одну кнопку выбрать.
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

To HaRT
1 и 2 - подумаю
3 - Edit'ы там нужны только чтобы скопировать текст. Пока что поставлю их ReadOnly, и все текстовые поля увеличу до 10 символов.

To 4ekucT и =Tim Sobolev=
Вот что выдал грабер дилога по кнопкам:

Code: Select all

  /*10*/{DI_BUTTON,38,5,48,16,0,DIF_NOBRACKETS|0x08000000,"{ В &начало }"},
  /*14*/{DI_BUTTON,38,6,48,16,0,DIF_NOBRACKETS|0x08000000,"{ В &конец }"},
  /*15*/{DI_BUTTON,20,7,48,16,0,DIF_NOBRACKETS|0x08000000,"{ Выделить &фрагмент }"},
  /*19*/{DI_BUTTON,7,18,50,18,0,DIF_NOBRACKETS|0x08000000,"{ Пере&йти к закладке }"},
  /*20*/{DI_BUTTON,30,18,50,18,0,0,"[ &Отмена ]"},
Где убрать-то?
[/b]
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Фтопку граббер покажи исходник с инициализацией диалогов потипу

struct InitDialogItem InitItems[]=
{// Type X1 Y1 X2 Y2 Fo Se Fl DB Data
/*00*/ { DI_DOUBLEBOX, 3, 1,55,10, 0, 0, DIF_BOXCOLOR, 0, GetMsg(lngEdit), NULL},
/*01*/ { DI_TEXT, 5, 2, 0, 2, 0, 0, 0, 0, GetMsg(lngPluginHotKey), NULL},
/*02*/ { DI_FIXEDIT, 5, 3, 5, 3, 0, 0, 0, 0, temp, NULL},
/*03*/ { DI_TEXT, 5, 4, 0, 4, 0, 0, 0, 0, GetMsg(lngPluginAlias), NULL},
/*04*/ { DI_EDIT, 5, 5,53, 5, 0, 0, DIF_HISTORY, 0, Plugins[ExitCode]->GetAlias(), "wfx2far.History.InastallPlugin.Alias"},
/*05*/ { DI_TEXT, 5, 6, 0, 6, 0, 0, 0, 0, GetMsg(lngPluginFileName), NULL},
/*06*/ { DI_EDIT, 5, 7,53, 7, 0, 0, DIF_READONLY, 0, Plugins[ExitCode]->GetName(), NULL},
/*07*/ { DI_TEXT, 0, 8, 0, 8, 0, 0, DIF_BOXCOLOR|DIF_SEPARATOR, 0, "", NULL},
/*08*/ { DI_BUTTON, 0, 9, 0, 9, 0, 0, DIF_CENTERGROUP, 1, GetMsg(lngOK), NULL},
/*09*/ { DI_BUTTON, 0, 9, 0, 9, 0, 0, DIF_CENTERGROUP, 0, GetMsg(lngCancel), NULL}
};
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

4ekucT wrote:Фтопку граббер покажи исходник с инициализацией диалогов потипу

struct InitDialogItem InitItems[]=
{// Type X1 Y1 X2 Y2 Fo Se Fl DB Data
/*00*/ { DI_DOUBLEBOX, 3, 1,55,10, 0, 0, DIF_BOXCOLOR, 0, GetMsg(lngEdit), NULL},
/*01*/ { DI_TEXT, 5, 2, 0, 2, 0, 0, 0, 0, GetMsg(lngPluginHotKey), NULL},
/*02*/ { DI_FIXEDIT, 5, 3, 5, 3, 0, 0, 0, 0, temp, NULL},
/*03*/ { DI_TEXT, 5, 4, 0, 4, 0, 0, 0, 0, GetMsg(lngPluginAlias), NULL},
/*04*/ { DI_EDIT, 5, 5,53, 5, 0, 0, DIF_HISTORY, 0, Plugins[ExitCode]->GetAlias(), "wfx2far.History.InastallPlugin.Alias"},
/*05*/ { DI_TEXT, 5, 6, 0, 6, 0, 0, 0, 0, GetMsg(lngPluginFileName), NULL},
/*06*/ { DI_EDIT, 5, 7,53, 7, 0, 0, DIF_READONLY, 0, Plugins[ExitCode]->GetName(), NULL},
/*07*/ { DI_TEXT, 0, 8, 0, 8, 0, 0, DIF_BOXCOLOR|DIF_SEPARATOR, 0, "", NULL},
/*08*/ { DI_BUTTON, 0, 9, 0, 9, 0, 0, DIF_CENTERGROUP, 1, GetMsg(lngOK), NULL},
/*09*/ { DI_BUTTON, 0, 9, 0, 9, 0, 0, DIF_CENTERGROUP, 0, GetMsg(lngCancel), NULL}
};
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

А, понял.
Накладка с дефолтными кнопками произошла в результате невнимательного копирования кода. Исправлю...

PS. А интересно, какая кнопка должна здесь быть по дефолту?
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

0. Смею предположить, что по умолчанию (по CtrlEnter) должна срабатывать кнопка Select fragment, а вот поведение по Enter хорошо бы чтобы зависело от фокуса ввода:
- если фокус в строке Start, то To start;
- если фокус в строке End, то To end;
- если фокус в списке закладок, то Go to Bookmark.

1. Хочется иметь возможность упорядочивать закладки не только по их номеру (цифре), но и по положению этой цифры в линейке клавиш (1234567890), и по позиции закладки в файле.
Например, для этого можно было бы вставить маленькие кнопочки в начале разделителя со словом Bookmarks (конечно, если это несложно).

2. Было бы здорово снабдить каждую закладку в списке горячей клавишей (Alt0 - Alt9), чтобы можно было, только взглянув на список, быстро переместиться на нужную закладку (уже не в диалоге, а в файле).
Ещё один комплект горячих клавиш (Ctrl0 - Ctrl9) мог бы использоваться для быстрой передачи фокуса на нужную закладку в самом диалоге.

3. Если хватит энтузиазма, было бы полезно иметь возможность удалять выделенную закладку (конечно, если FARAPI это позволяет).
Для этого можно добавить кнопку Delete bookmark в нижнюю строку диалога, а также использовать горячую клавишу Del в списке закладок.

Заранее спасибо!
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

HaRT
1 и 2. Можно попробовать. Вот кнопки для упорядочивания закладок IMHO слишком круто (в новой версии добавилось ещё 2 кнопки)
Наверное, лучше по хоткею.
3. Удалять закладки API не позволяет. Можно грохать из реестра, но:
- я пока не нашёл, где хранятся закладки в реестре
- в реестре можно грохнуть только после закрытия файла, иначе закладка восстановится из памяти.
Так что лучше в это не залазить.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Да простит автор, но увидев творение 1.11 не мог не покритиковать :-) :

1. Агрессивная расцветка (как для меня), кнопки визуально мало отличимы от строк ввода, особенно убила яркоголубая подсветка кнопок (бедные мои глазки ;-) ). Выход: -- или сменить на дефолтовую, или каким-либо способом настраивать

2. В справке @ используется как указатель имени раздела справки, а что такое @- ?
Если надо написать оглавление раздела, отделенное чертой, то после объявления раздела:

@имя_раздела

используется конструкция:

$#заголовок_раздела# или $заголовок_раздела

А в общем плаг развивается неплохо...
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

=Tim Sobolev=
1. Можно подумать насчёт настройки расцветки.
2. Из FAR plugins programing - Encyclopedia of Developer:
@- (в начале строки)
Отключает автоформатирование текста. По умолчанию FAR форматирует все строки, которые в тексте начинаются с первой позиции. Должен находится в отдельной строке.
@+ (в начале строки)
Включает автоформатирование текста. Должен находится в отдельной строке
Одно интересно: если вызвать help над диалогом сохранения блока, выдаётся ошибка. Плагин вызывает топик SaveName, почему он не находится в help'e? Имя менять пробовал. Если создать ссылку на этот топик - он вызывается нормально. Может быть это глюком Far?
Диалог ввода имени - вызов функции InputBox
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: EditInfo 1.11

Post by HaRT »

jbak, спасибо большое за новую функциональность и за увеличение удобства использования!

Присоединяюсь к мнению =Tim Sobolev= о новой раскраске диалога и хочу высказать несколько собственных наблюдений о косметических недостатках диалога:

0. При переходах по (Shift)Tab фокус, как и прежде, передаётся в список закладок, даже если их нет.

1. Кнопка Go to Bookmark слишком длинная: по меньшей мере два лишних знакоместа с каждой стороны.

2. Кнопка Cancel слишком короткая, особенно по сравнению с двумя другими в том же ряду.

3. Кнопка Cancel прижата к правой рамке, и интервалы между кнопками в этом ряду "пляшут".
User avatar
jbak
Posts: 609
Joined: Tue 04 Oct, 2005 15:01
Location: Одесса

Post by jbak »

0 Таки да переходит. А ведь перестал одно время... Странно...
1,2,3 Я рассчитываю размеры кнопок для русских названий. А уж потом добавляю пробелы в английские.

Ну ладно, дам настройки для раскраски. Чуть позже.
User avatar
HaRT
Moderator
Posts: 10869
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: EditInfo 1.12

Post by HaRT »

0. В списке закладок отображаются только пустые элементы.
Зато их количество - правильное. :wink:

1. При переходе по ShiftTab фокус по-прежнему передаётся в список закладок, даже если их нет.

Дальше и не проверял. Возвращаю предыдущую версию.
Post Reply

Return to “Обсуждение плагинов”