Scripts discussion (2)

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

Post by Instructor »

SearchReplace.js
Исправлено: "Найти все" с направлением "Вниз", "В выделении".

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

Post by KDJ »

FileAndStream_functions.js
Added function: FilePropertiesDialog()

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

Post by KDJ »

FileAndStream.js

Added:
Saving arguments of AkelPad script.
Alt+Enter - display file/directory properties.
Buttons "SF" - special folders.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Чисто из любопытства. :)
Перекодирование %-кодов в путях к ресурсам (изображения, стили, скрипты) в HTML-файлах, сохраненных из Firefox:
SearchReplace.js
Что: (\s(href|src)=")([^"]+)(")
Чем: try { return $1 + decodeURI($3).replace(/[ ()"]/g, function(s) { return encodeURIComponent(s); }) + $4; } catch(e) {} return $0;
[ ] Учитывать регистр
[v] Заменять на функцию

Только мне лень искать, какие символы все же надо кодировать, так что сделана простая замена

Code: Select all

.replace(/[ ()"]/g, function(s) { return encodeURIComponent(s); }

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

Post by DV »

Обновил скрипт RunMe.js. Теперь, с использованием ф-ции Log::Output, он превращает AkelPad в полноценное IDE, позволяющие скомпилировать/интерпретировать текущий файл с помощью соответствующего компилятора/интерпретатора, не выходя из AkelPad. (Все соответствия задаются непосредственно в RunMe.js путём редактирования/добавления элементов в наборе oCommands).

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

Post by VladSh »

Откорректированы:
OpenHelpString.js - исправлена ошибка, вылетающая, когда файл темы не найден;
OpenCoderParamsFile.js - изменён приоритет: расширение по синтаксической теме теперь выше расширения файла, т.к. например при отсутствии java.coder (используется cpp.coder) вылетала вышеуказанная ошибка, и непонятно было, какая всё-таки тема используется;
ConsoleRun.js, - переделан на вывод результата в панель Log-плагина.

TranslateWithGoogleAPI.js, - добавлен вариант для вывода результата в панель Log-плагина, но почему-то не работает... И ещё при вызове из скрипта очень медленно открывается консоль.
Вызов:

Code: Select all

-"Перевести: Ru -> En (Google)" Call("Scripts::Main", 1, "TranslateWithGoogleAPI.js", `-lngS="ru" -lngT="en" -resType=3`)

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

Post by KDJ »

FileAndStream.js
Added:
- columns with file time and file attributes in ListView,
- resizable window.

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

Post by VladSh »

Народ, ну подскажите, почему TranslateWithGoogleAPI.js не пишет в консоль (проблему описывал через одно сообщение назад)?

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

Post by KDJ »

VladSh
Instead of:

Code: Select all

AkelPad.ReplaceSel(resultText, bResultSelect);
place:

Code: Select all

{
  AkelPad.SystemFunction().Call("user32::SetWindowText" + _TCHAR, hWndOutput, resultText);
  AkelPad.SetSel(0, -1);
}

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Прототип:
moveResizeWindow.js

Image

Code: Select all

  "В&ыровнять"
  {
    -"&Вверх влево"      Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=left*top")      Icon("%a\AkelFiles\Plugs\icons\window_align_left-top.ico", 0)
    -"&Вверх"            Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=center*top")    Icon("%a\AkelFiles\Plugs\icons\window_align_center-top.ico", 0)
    -"&Вверх вправо"     Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=right*top")     Icon("%a\AkelFiles\Plugs\icons\window_align_right-top.ico", 0)
    SEPARATOR                                                                                                                              
    -"По &центру влево"  Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=left*center")   Icon("%a\AkelFiles\Plugs\icons\window_align_left-center.ico", 0)
    -"По &центру"        Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=center*center") Icon("%a\AkelFiles\Plugs\icons\window_align_center-center.ico", 0)
    -"По &центру вправо" Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=right*center")  Icon("%a\AkelFiles\Plugs\icons\window_align_right-center.ico", 0)
    SEPARATOR                                                                                                                              
    -"В&низ влево"       Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=left*bottom")   Icon("%a\AkelFiles\Plugs\icons\window_align_left-bottom.ico", 0)
    -"В&низ по центру"   Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=center*bottom") Icon("%a\AkelFiles\Plugs\icons\window_align_center-bottom.ico", 0)
    -"В&низ вправо"      Call("Scripts::Main", 1, "moveResizeWindow.js", "-move=right*bottom")  Icon("%a\AkelFiles\Plugs\icons\window_align_right-bottom.ico", 0)
  }
  "Рас&тянуть"
  {
    -"В&низ влево + 1280x720" Call("Scripts::Main", 1, "moveResizeWindow.js", "-resize=1280*720 -move=left*bottom")
    SEPARATOR
    -"Растянуть по &ширине" Call("Scripts::Main", 1, "moveResizeWindow.js", "-resize=100%%* -move=left*") Icon("%a\AkelFiles\Plugs\icons\window_stretch_width.ico", 0)
    -"Растянуть по &высоте" Call("Scripts::Main", 1, "moveResizeWindow.js", "-resize=*100%% -move=*top")  Icon("%a\AkelFiles\Plugs\icons\window_stretch_height.ico", 0)
  }
Вообще говоря, на самом деле там

Code: Select all

  "В&ыровнять"
  {
    UNSET(16)
    ...
    SET(16)
  }
, но это уже детали конкретной реализации.

Иконки: moveResizeWindow_icons.zip (утянуты из Actual Window Manager, немного подрисованы)

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

Post by Instructor »

VladSh
Окно Log::Output имеет флаг "Только чтение", поэтому ReplaceSel не работает. См. пример кода от KDJ.

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

Post by VladSh »

Instructor wrote:Окно Log::Output имеет флаг "Только чтение", поэтому ReplaceSel не работает.
Хорошо бы и в Log-xxx.txt что-нибудь об этом сказать.

KDJ, Instructor
Спасибо!

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

Post by Lenchik »

Infocatcher wrote: Вообще говоря, на самом деле там

Code: Select all

  "В&ыровнять"
  {
    UNSET(16)
    ...
    SET(16)
  }
, но это уже детали конкретной реализации.
Почему-то при установке этих флагов у меня меню окна редактирования (то которое к выделенному тексту выпадает по правой кнопке) лишается нескольких первых пунктов меню.

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

Post by KDJ »

FileAndStream_functions.js
Changed:
DeleteFile() - added argument for deleting file/directory to the Recycle Bin.
Renamed function WriteStream() -> WriteFile() - write file or stream.

SendData.js
Updated.

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

Post by KDJ »

FileAndStream_functions.js
Fixed function WriteFile() - writing to a new file.
Locked