Scripts discussion (3)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

EnumerateWindows_functions.js
WindowsList.js
Fixed: reading the title of top level window when the window is hanged (GetWindowText instead of WM_GETTEXT).

Andrey_A_A
Check how it works now.
Last edited by KDJ on Wed Oct 22, 2014 6:55 pm, edited 2 times in total.

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

Post by Skif_off »

Andrey_A_A wrote:Перевод 2-х скриптов :

Translate_rus
А вы проверяли? Кнопка подсказок для регэкспов перекрыта и, соотв., не работает.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

А вы проверяли?
Конечно нет))) тупо выложил...
О какой кнопке идёт речь не знаю - в глаза её не видел
Нажимал F1 - все норм.
--------------- Добавлено -------------
KDJ
Просьба посмотреть TextMarker.js и увеличить ширину элементов для русского языка

Code: Select all

aDlg[IDMATCHCASE] = {X:  10, Y: 290, W:  90, H:  16, Class: "BUTTON", Title: sTxtCaseSens,  Style: WS_TABSTOP|BS_AUTOCHECKBOX};
aDlg[IDREGEXP]    = {X: 130, Y: 290, W: 115, H:  16, Class: "BUTTON", Title: sTxtRegExp,    Style: WS_TABSTOP|BS_AUTOCHECKBOX};
Видимо там кнопка и затерялась - я эти координаты изменил.
Конечно для русского языка окно необходимо пошире. Если бы элементы распределялись относительно ширины окна было бы лучше и проще (изменил в скрипте ширину и всё).
--------------- Добавлено -------------
KDJ, спасибо WindowsList.js заработал!

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

Post by Skif_off »

Andrey_A_A wrote:О какой кнопке идёт речь не знаю - в глаза её не видел
Справа от галочки, включающей использование регулярных выражений, выдаёт то же окно, что и по F1.

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

Post by KDJ »

SendData.js
Fixed: reading the title of top level window when the window is hanged (GetWindowText instead of WM_GETTEXT).

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

Cuprum
Как бы ещё сделать AutoInsertTab не привязанным только html/xml и css ;)
Настраиваемым как-то что ли.
Чтобы и к LaTeX, Smarty, AHK можно было настроить, например.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Lenchik
В следующей версии попытаюсь сделать передачу расширений файлов в виде параметров для скрипта. Там нужна обработка только {} ?

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

В Латехе такие конструкции подобные html-разметке:

Code: Select all

\begin{frame}
	\frametitle{\insertsection} % На такой заголовок слайда можно ещё кликать на начало раздела
	\framesubtitle{\insertsubsection }% На такой подзаголовок слайда можно ещё кликать на начало подраздела
	\begin{itemize}
		\item beamer "---  это \alert{удобный} \textbf{пакет} для создания презентаций.
		\item Вот полное руководство по beamer (на~английском языке):  \href{http://ctan.uni-altai.ru/macros/latex/contrib/beamer/doc/beameruserguide.pdf}{http://ctan.uni-altai.ru/macros/latex/contrib/beamer/doc/beameruserguide.pdf} \pause
		\item Паузу можно поставить в любом \pause месте.
		\item Для печати презентации есть режим handout.
	\end{itemize}
	\begin{columns}[T,totalwidth=\textwidth]
		\begin{column}{0.5\textwidth}
			\hspace{0em}\large{Text 1}
		\end{column}
		\begin{column}{0.5\textwidth}
			\hspace{0em}\large{Text 33}
		\end{column}%
	\end{columns}%
\end{frame}
А в Smarty такие:

Code: Select all

{function name=sublevels level=0 indentation=1 current_page=""}
	{foreach $source as $node}
		{if $node.nav_id==$parent_id and is_array($node.children)}
			{""|indent:"$indentation":"\t"}<div class="submenu"{if $sublevels_id!=""} id="{$sublevels_id}"{/if}>{"\n"}
			{sitemap data=$node.children indentation=$indentation current_page=$current_page}
			{""|indent:"$indentation":"\t"}</div>
		{elseif $node.nav_id!=$parent_id and is_array($node.children)}
			{sublevels parent_id=$parent_id source=$node.children level=$level+1 indentation=$indentation current_page=$current_page}
		{/if}
	{/foreach}
{/function}
Думается мне, что тут что-то иное нужно, чем просто аналогии с css и его {}.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Lenchik
Ага, что-то я пока не разумею, как мой скрипт может пригодится в вашем случае. Тут наоборот, то, заключено внутри {} находится на одной строке...

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

Post by VladSh »

Skif_off
Дайте правки, как Вы бы хотели изменить скрипт, и я его откорректирую.
Может, как-то передавать флаги в аргументах? Не знаю, будет ли это удобно.

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

в примере есть <div> </div>, может как-то задать \begin{ как <, frame или любые другие имена как div, \end{ как </, } и разные комбинации после как > - для Латеха. Что-то настраиваемое,может с регэкспами, в отдельном файле, как в toggleComments.js

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Lenchik
Теоретически, наверное, можно такое сделать, вот практически - не знаю. Я только разбираюсь-осваиваюсь с WSH. Если и получится, то не скоро :)

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

Post by KDJ »

FindReplaceEx.js
Updated Russian translation (by Andrey_A_A).

TextMarker.js
Aded Russian translation.

Andrey_A_A
Some strings do not fit in the list header. They can be a little shorter, eg:

Code: Select all

sTxtTextColorH  = 'ЦветТекст';
sTxtBkColorH    = 'ЦветФон';
sTxtFontStyleH  = 'СтильШри';
sTxtRegExpH     = 'РегВыр';

These strings are not translated:

Code: Select all

sTxtCurMarks = 'Current marks';
sTxtReserved   = 'This name is reserved for selected text marks.';
sTxtExists     = 'This marker already exists.';
sTxtWantDelete = 'Do you want to delete this marker?';
sErrTextColor = 'Incorrect text color code.';
sErrBkColor   = 'Incorrect background color code.';
sErrRegExp    = 'Error in regular expression.';

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

Post by Skif_off »

Lenchik
Для LaTeX посмотрите 1 и 2 (можно попробовать вытащить регулярные выражения). Были в закладках, подумывал, но пока не смотрел, как получше прикрутить.

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

Post by Skif_off »

VladSh
Так сразу не скажу, попалось десятка два бинарников в папке, надоело жать Отмена и заметил отличия в работе скрипта и самого AkelPad, спросил, не подумав :)
Наверное, идеально: при появлении первого бинарника выдать запрос типа Игнорировать бинарные файлы? и варианты Да/Нет, ну и Отмена, может быть, для завершения скрипта. Добавлять аргумент типа IgnoreBinary=true/false будет менее удобно - бинарники иногда нужны, и тут сразу два пункта меню.
Вообще, всё это усложнит скрипт (флаг 0x001 //OD_ADT_BINARY_ERROR, анализ в цикле), а я, честно говоря, не люблю добавлять людям неудобства, но если у вас будет идея, свободное время и вы посчитаете, что есть смысл и актуально для сообщества - надеюсь, буду рад не только я :)

З.Ы. Часть потребностей решил с помощью OpenSaveMask.js, типа такого:

Code: Select all

"Открыть все ini-файлы в текущей папке" Call("Scripts::Main", 1, "OpenSaveMask.js", `-OpenMask="%d\*.ini" -SubDir=false`)
Случайно пришло в голову, как оказалось - скрипт переваривает переменную %d.
Locked