LineBoard plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 35
Joined: Tue Nov 21, 2017 5:17 am

Post by Vilaem15 »

При нажатии ПКМ в левой части окна не выходит список закладок (заранее поставленных х2-нажатием в соответствующих строках).
Выходит стандартное контекстное меню.

AkelPad 4.9.2 (x86)

В свойствах "Plugs\LineBoard.dll" (Alt+Enter) версия 12.1.0.0
В "Docs\LineBoard-Rus.txt" -> "LineBoard AkelPad plugin v12.1"

LineBoard точно запущен.

В настройках плагина всё по стандарту.

Почему то после следующих действий список закладок заработал:
* в настройках: СНЯТЬ галочку "Использовать темы Coder" -> ОК
* в настройках: ПОСТАВИТЬ галочку "Использовать темы Coder" -> ОК

Но он опять собьётся, такое уже было, он временами почему-то работает, временами - нет.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »


Offline
Posts: 1
Joined: Tue Mar 06, 2018 5:19 pm

Post by Dook »

А можно как-нибудь убрать нумерацию строк и уменьшить эту панель до минимума - ширины символа закладки?

Offline
Posts: 47
Joined: Sat Mar 10, 2018 11:35 am

Post by wertfds »

при нажатии на кнопку

Code: Select all

"Установить закладки открытым  документам из файла ListBookmarks.txt" Call("Scripts::Main", 1, "BookmarksPlus.vbs", `5 "%a\AkelFiles\List\ListBookmarks.txt"`) Icon("%a\AkelPadImage.dll",557)
закладки обновляются только после клика по фону документа, а не сразу
т.е. надо нажать на кнопку, закладок нет. потом нажать на фон - закладки появляются.
т.е. всегда вместо одного клика нужно делать два
фиксите обновление закладок после нажатий на кнопки

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

wertfds
Не воспроизводится. Какая версия и разрядность ОС и AkelPad? Версии плагина и скрипта?
Обычно при нажатии на кнопку фокус переводится в главное окно редактора.

Offline
Posts: 47
Joined: Sat Mar 10, 2018 11:35 am

Post by wertfds »

Skif_off wrote:Какая версия и разрядность ОС и AkelPad? Версии плагина и скрипта?
7x64 10x64 4.9.8x64
ToolBar 12.6
LineBoard 12.6
Scripts 18.7
BookmarksPlus.vbs 1.7
Functions.vbs 1.8

сборка для теста
https://yadi.sk/d/hSXPQXNi3YrxUx

воспроизведение:
разархивировать
запустить акель
открыть test.txt или набить несколько строк текста
сделать 3-4 закладки
нажать на кнопку

Code: Select all

"Сохранить закладки" Call("Scripts::Main", 1, "BookmarksPlus.vbs", `4 "%a\ListBookmarks.txt"`) Icon(4)
удалить все закладки

нажать на кнопку

Code: Select all

"Открыть закладки" Call("Scripts::Main", 1, "BookmarksPlus.vbs", `5 "%a\ListBookmarks.txt"`) Icon(0)
кликнуть на поле для ввода текста чтобы появились удалённые закладки

скрины
Image

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

wertfds
Похоже, как-то связано с режимом окна: SDI или PMDI - всё работает нормально, MDI - есть косяк. Тут вопрос скорее к плагину Scripts (в части поддержки VBScript?) или самому AkelPad, т.к. если на JScript сделать так

Code: Select all

var hWndEdit = AkelPad.GetEditWnd();
var hDocEdit = AkelPad.GetEditDoc();

AkelPad.Call("LineBoard::Main", 13, hWndEdit, hDocEdit, "2,4,8")
(лень переписывать на JScript всё, извиняюсь), то всё работает.

В общем, надо ждать Instructor...

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

wertfds
Это к автору скрипта: в функции GetAllTabListBookmarks используется отключение прорисовки главного окна "SetRedraw MainWnd".

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Instructor
В этом случае, раз перебиратся вкладки, было бы неправильно брать дескриптор активного окна редактирования, AkelPad.GetEditWnd()?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Приоритет меню настроек плагина перед контекстным меню окна

Post by opk44 »

1. Настройки храню в ini-файле.
2. Сейчас для управления приоритетом контекстных меню приходится вручную редактировать ini-файл (AkelPad.ini) передвигая строки в разделе [Plugs] таким образом, чтобы соблюдалась последовательность
ContextMenu::Main=65536
LineBoard::Main=66638
3. Ожидалось, что при хранении настроек в реестре это не актуально, т. к. там имена плагинов выстраиваются по алфавиту и LineBoard всегда ниже ContextMenu. Оказалось нет. ContextMenu перебарывает LineBoard и как при этом способе хранения настроек управлять приоритетом меню, решительно непонятно.

Offline
Posts: 330
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

Насколько важно при выборе закладки переносить курсор?
Я хочу HTML порезать на куски в отдельные файлы и я ищу по тексту допустим "Глава 1", ставлю закладку, потом "Глава 2", ставлю закладку, потом хочу поставить курсор в начало или конец и выбором закладки перейти к другому концу, нажать Shift и кликнуть, тем самым выделив большой блок текста на 4 тысячи строк. Но проблема, когда я перепрыгиваю на закладку у меня перемещается курсор и я не могу выделить огромный блок текста, приходится прокручивать запоминая номер строки, пару раз пролетая мимо, очень неудобно.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

AZJIO wrote:Я хочу HTML порезать на куски в отдельные файлы
Обычно такие задачи решают "в лоб" применением метода TEXT.split(separator). Если текст режется не по структуре (произвольно), то закладки (separator-ы) нужны отдельные физические, а не "плагинные" и их потом может потребоваться чистить в исходнике. Всё равно это проще, чем руками "копипастить".

Offline
Posts: 330
Joined: Mon Jun 03, 2019 2:33 am

Post by AZJIO »

opk44
Они идут не слитно, в точку вырезания надо вставить ссылку. Я сделал частичную оптимизацию

Code: Select all

#include <Array.au3>
#include <FileOperations.au3>

$file_HTML = @ScriptDir & '\мой_файл.html'
$sText = FileRead($file_HTML)
$aFileList = _FO_FileSearch(@ScriptDir, '*.gif|*.jpg|*.png*', True, 0, 2)
_ArrayDisplay($aFileList, 'рис')


For $i = 1 To $aFileList[0]
	$aPath = _FO_PathSplit($aFileList[$i])
	$sText = StringReplace($sText, $aFileList[$i], $i & $aPath[2])
	If @extended Then
		FileMove(@ScriptDir & '\' & $aFileList[$i], @ScriptDir & '\' & $i & $aPath[2])
	EndIf
Next
$hFile = FileOpen($file_HTML, 2)
FileWrite($hFile, $sText)
FileClose($hFile)

MsgBox(0, 'Готово', 'Готово')
, переименовать файлы-картинки и ссылки на них в html, сделал регвыры для чистки мусорных тегов, но вырезать скриптом или закладками работы больше, так как ручной подход. Я сделал шаблон-html, нахожу участок который можно определить как раздел, просматривая в браузере, там тексту на пару мегабайт, его тяжело читать простынёй, вырезаю участок, делаю копию файла-шаблона, вставляю, переименовываю с учётом транслитерации заголовка главы, генерирую ссылку, возвращаюсь в главную страницу, вставляю ссылку, сохраняю. Написать скрипт нарезки или упростить я пока не вижу способа. Попробовал прыжок к строке, попробовал оба способа в Notepad++, та же ситуация, курсор перемещается. Мне нужно перейти в позицию оставив курсор где был. Думаю можно легко создать скрипт, ведь курсор можно запомнить, потом запомнить вторую позицию и сразу выделить текст. Но в любом случае, разве при прыжке с помощью закладки мне важно переместить курсор? Ведь я могу его сам поставить в нужную позицию, мне ведь важно только переместиться к закладке, прокрутить (в плаге прокрутки тоже ничего нет). Может добавить либо пункт перемещение без курсора или галку "Не перемещать курсор", чтобы удобное меню закладок работало в штатном режиме, но курсор оставался где был.

Offline
Posts: 1
Joined: Fri Jan 28, 2022 9:12 am

Post by iosa »

Обнаружил странноватое поведение.
Если в настройках плагина указано «Показывать» панель, то её видимость можно переключать (кнопкой на тулбаре или хоткеем),
но если отключить показ панели, оставив плагин включенным, то перключить видимость панели невозможно (ни кнопкой на тулбаре, ни хоткеем).
Это такая хитрая задумка или косяк?
Мне ведь что нужно-то: чтобы по умолчанию панель была выключена, но при необходимости я легко мог включить её видимость.
А получается, что либо она по умолчанию есть и я могу её отключить, либо её нет и включить я её не могу.
Версия плагина, вроде бы, последняя — 12.6.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

iosa
У меня в окне плагинов на LineBoard::Main установлена комбинация клавиш Alt+L, а галка автозагрузки на этом же пункте не стоит. Всё прекрасно работает по комбинации клавиш.
Post Reply