ContextMenu plugin

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

Post by Instructor »

Fixed: plugin error when user try to input submenu without title.


ContextMenu plugin v5.1

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

Post by VladSh »

Вопрос:
Будет ли реализована передача в параметре обычной двойной кавычки (" - она съедается) и прямого слэша (/ - вылетает ошибка "Указан недопустимый параметр "/" ") ?
Актуально для данного плага, а также для Toolbar- и Hotkeys-плагина.

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

Post by Instructor »

VladSh
Проблем не должно быть - если надо передать " в параметре, то необходимо заключить параметр в ' или `. Какая полная строка, которую вы хотите задать?

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

Post by VladSh »

Instructor
Пытаюсь так:

Code: Select all

-"<a href=''...''>Test...</a>" Call("Scripts::Main", 1, "TagLinking.js", `"<a href="#">#</a>"`, 0)
-"  //К//" Call("Scripts::Main", 1, "TagFraming.js", `"//#//"`)
не получается(

Upd: вопрос отсюда.
Last edited by VladSh on Thu May 07, 2009 1:39 pm, edited 1 time in total.

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

Post by Instructor »

VladSh
Нужно понимать, что параметры такие как `"<a href="#">#</a>"` передаются прямиком в командную строку WScript.exe. В данном случае можно поступить так:

Code: Select all

-"<a href=''...''>Test...</a>" Call("Scripts::Main", 1, "Test.js", `"%%22<a href=%%22#%%22>#</a>%%22"`, 0)
Test.js

Code: Select all

/// JScript test file

var pParam="";
if (WScript.Arguments.length)
{
  pParam=WScript.Arguments(0);
  pParam=decodeURI(pParam);
}
WScript.Echo(pParam);

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

Post by VladSh »

Instructor
Круто! 8)

У меня так тоже получилось:

Code: Select all

-"<a href=''...''>TestInstr...</a>" Call("Scripts::Main", 1, "Test.js", `"<a href=%%22#%%22>#</a>"`, 0)
:)


Не подскажете ссылку, где можно коды символов для WScript посмотреть?
Я хочу слэш / теперь также кодом передать. encodeURI('/') возвращает / ...

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

Post by Instructor »

VladSh
Можно посмотреть в HexSel плагине. / код 2F.

EDIT:
Для конвертирования / нужно decodeURI заменить на unescape.

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

Post by VladSh »

Чего-то ни decodeURI, ни unescape не хотят декодить строку.
Пробовал и '2F', и '002F'.

EDIT: от строки `"2F2F#2F2F"` после unescape остаётся только "2F2F2F2F".
Last edited by VladSh on Thu May 07, 2009 2:17 pm, edited 1 time in total.

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

Post by Instructor »

VladSh

Code: Select all

-"  //К//" Call("Scripts::Main", 1, "Test.js", `"%%2F%%2F#%%2F%%2F"`, 0)

Code: Select all

/// JScript test file

var pParam="";
if (WScript.Arguments.length)
{
  pParam=WScript.Arguments(0);
  pParam=unescape(pParam);
}
WScript.Echo(pParam);

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

Post by VladSh »

Странно, сразу первое что сделал, так именно эту комбинацию попробовал с символами %% - писало, что-то типа "недопустимые символы для перекодировки", сейчас заработало, но выбрасывает символ #. Т.е. в результате остаётся только '////'.

EDIT:
Самое странное, что нижеследующий "скрипт" реботает правильно:

Code: Select all

WScript.Echo(unescape('%2F%2F#%2F%2F'));
из меню работает с двойным символом %, но сжирает #, а напрямую в коде только через одинарный %, но # остаётся; вот это петрушка!..

EDIT-2:
Сорри! Туплю! Всё из меню работает ок!!! :lol:

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

Post by Infocatcher »

Баг: у элемента RECENTFILES не появляется контекстное меню.

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

Post by Instructor »

Fixed: context menu on RECENTFILES element.


ContextMenu plugin v5.2

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

Updated to the new plugin api introduced with AkelPad 4.3.0 (incl. patch)

ContextMenu plugin v5.2

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

Post by VladSh »

pvagner
Что-то я не понял, что за (incl. patch)? Теперь при установке плагина его надо "патчить"?
И что за AkelPad 4.3.0? Его ведь ещё не выходило?
Поясните плз!

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

VladSh
Sorry, I'll explain what made me to do this...
A few days back I was about to update slovak language file. I have updated my cvs tree and except slovak language file updates I have realized plugin architecture has changed a little.
So I want to run this plugin. I have simply taken its sources did some little tweaks and now it compiles and works fine with the new AkelDll header.
incl. patch means I have included a patch showing which changes I've done. I am not sure this will help anyone but I am happy about it at least.
Post Reply