Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

FeyFre
Можно тогда в основном потоке вызывать:
Call("Scripts::Main", 4, "SpellCheck.js")

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

Post by VladSh »

Instructor
По поводу FullScreenEx.js. Можно либо передавать номера рядов тулбара, либо их не передавать (Call("ToolBar::Main", 1, "ROWS(SHOW)")). Не передавать было бы лучше, но тогда включаются все ряды.
Можно ли как-то программно определить, какие ряды сейчас отображены. Хотелось бы перехода в "полноэкранный режим" с теми же рядами, которые включены в данный момент.

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

Post by VladSh »

Основные изменения:
- OpenAllFilesFromFileFolder.js
- SpellCheckMSWord.js (Instructor - спасибо!)
- UndoAllNoScroll.js
- FullScreenEx.js
3 скрипта-"библиотек" были упразднены; их код перенесён в существующие.
А вообще многие корректировались.

P.S. Сейчас скрипты должны обновляться.
Last edited by VladSh on Fri Jan 16, 2015 5:21 pm, edited 1 time in total.

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

Post by Instructor »

VladSh
ToolBar-Rus.txt wrote: SHOW
Видимость рядов (один из следующих):
-2 не менять видимость ряда.
-1 инвертировать видимость ряда.
0 скрыть ряд.
1 отобразить ряд (по умолчанию).
?

Если же не надо менять видимость рядов, то зачем тогда вызывать с кодом 1?
VladSh wrote:P.S. Сейчас скрипты должны обновляться.
Ошибка (11): Include\Settings.js для скрипта
Ошибка (11): WordCopy скрипт
Ошибка (11): WordSelect скрипт

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

Post by Skif_off »

VladSh wrote:P.S. Сейчас скрипты должны обновляться.
Из-за даты в Version: в апдейтере подсвечивает как будто скрипт не обновлен (в VladSh.ini даты нет, только номер версии).

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Когда окно AkelPad находится на втором мониторе, то нажатие Ctrl+Tab (TabSwitch.js 4.1) приводит к показу вслывающего окошка на первом мониторе.

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

Post by VladSh »

Instructor, Skif_off
Обновление скриптов поправил.

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

Post by VladSh »

Instructor wrote:Если же не надо менять видимость рядов, то зачем тогда вызывать с кодом 1?
Там такое место, что можно в аргументах передавать ряды (здесь нужно 1), а можно не передавать.
Проблема в том, что тулбар надо сначала погасить, а после перехода в полноэкранный режим включить, поэтому, чтобы использовать "(-2)", надо знать, какие ряды там были включены до выключения тулбара.
Ещё поэкспериментировал и для случая, когда ряды неизвестны, достаточно просто включить плаг:

Code: Select all

AkelPad.Call(Toolbars[i].file, 1);
сейчас ранее отображаемые до погашения плага ряды нормально подхватываются; раньше, когда только писал плаг, такого не было.
Так что всё получилось.

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

Post by VladSh »

KDJ
Предложение по FindReplaceFiles.js.
В Lotus Notes есть очень удобная опция поиска (галочка) "search in results". И если она выбрана, появляется кнопка "Назад", т.е. "Вернуться к предыдущим результатам поиска".
Хотелось бы такой же функционал и в Вашем скрипте.

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

Post by VladSh »

Такой вопросец. Для открытого в проге файла имеется GetEditCodePage, GetEditBOM, GetEditNewLine. А как с помощью AkelPad'а определить эти же параметры у какого-либо внешнего файла?

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

Post by Skif_off »

VladSh

Без открытия , кажется, никак, если только смотреть AkelPad.ReadFile() в исходниках и переписывать на JScrit? AkelPad ведь возвращает только прочитанное и уже в юникоде?
Погуглил ради любопытства: в WSH вроде методов из коробки нет, так же читают файл, для начала ищут BOM или парсят на предмет HTML-заголовка. С GetEditNewLine попроще, наверное: на AutoIt сначала ищу \r\n, потом \r, если тоже не попалось - принимаю \n, но приходится читать весь файл, если не уверен, что несколько первых строк будут короткими и точно попадётся хоть один конец строки.
Любопытно, но сразу вспомнился анекдот: хорошо, что у меня такого нет :))

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

VladSh
To detect CodePage and BOM you can use AKD_DETECTFILE message. Instructor's example: DetectFile.js

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

Post by VladSh »

Skif_off, KDJ
Спасибо, решил не усложнять.

Очередная версия SpellCheckAddToWhiteList.js.
Внимание: изменились аргументы.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

DV wrote:Когда окно AkelPad находится на втором мониторе, то нажатие Ctrl+Tab (TabSwitch.js 4.1) приводит к показу всплывающего окошка на первом мониторе.
... при этом, согласно значениям rcMain,
при вызове GetWindowSize всё в порядке: rcMain = { 1456, 139, 1165, 868 }. Это соответствует второму монитору.
Однако после всех вычислений (сразу перед строкой oSys.Call("user32::SetWindowPos",...)) значение rcMain = { 793, 538, 1165, 868 }.
Как видим, значение rcMain.left становится некорректным. (Похоже, это потому, что rcMain содержит не значения { left, top, right, bottom }, а { left, top, width, height }). Хотя нет, скорее потому, что используется SM_CXMAXIMIZED: The default width, in pixels, of a maximized top-level window on the primary display monitor.
Похоже, SM_CXVIRTUALSCREEN - то, что нужно (вместо SM_CXMAXIMIZED).

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

Post by Instructor »

Locked