AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ContextMenu plugin
Goto page Previous  1, 2, 3, ... 41, 42, 43  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Fri Jul 13, 2007 4:15 pm    Post subject: +1 Reply with quote

Instructor wrote:
http://akelpad.sourceforge.net/forum/viewtopic.php?p=1297

Да, работает, отлично!

Я просто не хотел каждый раз беспокоить Вас по пустякам.
Хочется для контекста по списку свежих ещё пару действий:
1. Удалить из списка ненужный лейбл файла (наверняка функция удаления у Вас уже есть, похоже удаляются несуществующие файлы).
2. Создать новый файл на основе выделенного (текст из этого файла скопировать в новый).
Возможно, и даже скорее всего, хотелки будут рости Mr. Green именно поэтому (да и Вам, возможно, было бы проще) я хотел несколько готовых функций в общей dll, чтобы дёргать их оттуда из разных мест, т.е. дать их в публичный доступ.

Quote:
В файле "ContextMenu.zip\Source\AkelDLL.h" под заголовком "//AkelPad menu messages:"

Посмотрел, хэдэр документирован прилично, думаю разберусь Smile

Спасибо!
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Fri Jul 13, 2007 4:56 pm    Post subject: +100! Reply with quote

wisgest wrote:
Огромное спасибо за EXPLORER!!!

Только сейчас понял всю прелесть!
Редактируешь htm-файл, затем на закладке RightClick -> Explorer -> Open - наслаждаешься результатами... Wink
Cool
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Fri Jul 13, 2007 5:41 pm    Post subject: ЕЩЁ ВОПРОС И ИДЕЯ Reply with quote

1. Question Теперь, когда всё так обалденно настраивается, не совсем понятен смысл ContextMenu::Show.

2. Idea Задумал в конце каждой менюшки вызывать настройки, что-то типа того:
Code:
"Settings" Call("ContextMenu::Main")

Всё бы ничего, но постоянно вылетает главное окно настройки плагина.
Хотелось бы чтобы либо вручную командовать параметром Main/Show(?!) для определённого меню, либо, что ещё лучше, - при вызове, как я указал вверху, чтобы автоматом открывалось именно то меню настроек, в котором я сейчас нахожусь, т.е. где клацаю на подменю "Settings".
Back to top
View user's profile Send private message Visit poster's website
wisgest



Joined: 24 Jun 2007
Posts: 63
Location: Belorussia

PostPosted: Fri Jul 13, 2007 8:50 pm    Post subject: Reply with quote

Было бы удобно иметь возможность, не переопределять меню объекта целиком, а дополнять имеющееся, добавив в синтаксис описания ключевое слово "DEFAULT" (или другое).
Чтобы можно было сделать, например для окна редактирования так:
Code:
DEFAULT
SEPARATOR
"Lines" {
  ...
}

VladSh wrote:
1. Question Теперь, когда всё так обалденно настраивается, не совсем понятен смысл ContextMenu::Show.
Ну я, например, предпочитаю однооконный режим, так куда мне "EXPLORER" прикрутить?
VladSh wrote:
Ещё хотелось бы номера команд (если это возможно) из меню "Правка\Выделение" для добавления в контекст.меню окна редактирования.
Вместо изучения документации можно открыть в редакторе ресурсов (например, в ResHacker) AkelPad.exe или какой-нибудь языковый модуль, напр. Russian.dll, и изучить ресурсы Menu:4001, Menu:4002. Хотя, из документации, наверно, можно узнать и многое другое.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Sat Jul 14, 2007 10:26 am    Post subject: МОИ РУССКИЕ МЕНЮХИ (+) Reply with quote


Меню ContextMenu::Show
Code:
"CLIPBOARD"
{
  "Захват (окошко)" +Call("Clipboard::Capture") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 8)
  "Вставка серийного номера" Call("Clipboard::PasteSerial")
  SEPARATOR
  "Настроить..." Call("Clipboard::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"CODER"
{
  "Настроить..." Call("Coder::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
  -"Обновить кэш" Call("Coder::Settings", 2) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 3)
  SEPARATOR
  "Подсветка синтаксиса" +Call("Coder::HighLight") Icon("%a\AkelFiles\Plugs\Coder.dll", 0)
  SEPARATOR
  "Автодополнение" +Call("Coder::AutoComplete") Icon("%a\AkelFiles\Plugs\Coder.dll", 2)
  SEPARATOR
  -"Активный столбец" Call("Scripts::Main", 1, "ActiveColumnSwitch.js", `"%m" "%i" -Local=true`) Icon("%a\AkelFiles\Plugs\ico\column.ico")
  -"Навигация (область слева)" Call("Scripts::Main", 1, "CodeFoldSwitcher.js") Icon("%a\AkelFiles\Plugs\Coder.dll", 1)
  -"Область навигации с окном" Call("Scripts::Main", 1, "CodeFoldSwitcher.js", `-ShowDock=1 -hideAll=1`) Icon("%a\AkelFiles\Plugs\Coder.dll", 3)
  SEPARATOR
  -"Удалить отладочные строки" Call("Scripts::Main", 1, "removeDebug.js")
  -"AStyle форматирование {}-кода: allman" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AStyle.exe" -A1 -N -o -t -S -w -Y -M -H -U -p`, "", "", "", -1, -1, 1052673)
  -"AStyle форматирование {}-кода: java" Call("Log::Output", 1, `"%a\AkelFiles\Tools\AStyle.exe" -A2 -N -o -t -S -w -Y -M -H -U -p`, "", "", "", -1, -1, 1052673)
  -"Tidy форматирование XML" Call("Log::Output", 1, `"%a\AkelFiles\Tools\Tidy.exe" -utf8 -xml --indent auto --indent-spaces 3 --quiet yes --wrap 0 --show-errors 0`, "", "", "", 65001, 65001, 1052673)
  -"Tidy форматирование HTML" Call("Log::Output", 1, `"%a\AkelFiles\Tools\Tidy.exe" -utf8 --indent auto --indent-spaces 3 --quiet yes --wrap 0 --show-errors 1`, "", "", "", 65001, 65001, 1052673)
  SEPARATOR
   "Пробелы -> Символы табуляции" Menu("SPACESTOTABS")
  -"Символы табуляции -> Пробелы" Call("Scripts::Main", 1, "TabsToSpaces.js")
  -"Вставка цвета..." Call("Scripts::Main", 1, "ChooseColor.js", `-default="127 127 127" -lcase=1`) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 30)
  SEPARATOR
  -"Валидация JavaScript Lint" Call("Log::Output", 1, `"%a\AkelFiles\Tools\jsl.exe" -process "%f" -output-format "__FILENAME__   __LINE__   __ERROR__" -nologo -nofilelisting`, "%d", "^(.+)\t(\d+)", "/FILE=$1 /GOTOLINE=$2:1") Icon("%a\AkelFiles\Plugs\Log.dll", 1)
  -"Валидация XML" Call("Scripts::Main", 1, "XMLValidator.js", `-msgOpts=48 -append=1`)
  -"Тестирование RegExp-выражений..." Call("Scripts::Main", 1, "RegExpTestJS.js")
  "Hex-код" +Call("HexSel::Main")
}

"DOCS_ALL"
{
  "AkelPad4-Eng.chm" Exec(`"hh.exe" "%a\AkelFiles\Docs\AkelPad4-Eng.chm"`)
  "История изменений" OpenFile("%a\AkelFiles\Docs\AkelHistory-Rus.txt")

  SEPARATOR
  "Описание плагинов" Menu("DOCS_PLUGINS") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 18)

  SEPARATOR
  "FAQ" Exec(`"Explorer.exe" "%a\AkelFiles\Docs\FAQ.htm"`)
  "Дополнения к FAQ" Exec(`"Explorer.exe" "%a\AkelFiles\Docs\FAQ дополнения.htm"`)

  SEPARATOR
  "Описание AStyle" Exec(`"Explorer.exe" "%a\AkelFiles\Docs\Tools\AStyle\astyle.html"`)

  SEPARATOR
  -"Script Tehnologies (Win)" Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="wsh.chm"`)
  -"Справочник JS" Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="JS.chm"`)
  -"Справочник HTML" Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="HTML.chm"`)
  -"Справочник CSS" Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="css.chm"`)
  -"Справочник VBS" Call("Scripts::Main", 1, "ChmKeyword.js", `-Name="VBS.chm"`)

  SEPARATOR
  -"Изменить меню..." Call("ContextMenu::Main", 1, 0, '"DOCS_ALL"')
}

"DOCS_PLUGINS"
{
   "Информация с сайта" Exec(`"Explorer.exe" "%a\AkelFiles\Docs\Plugs\AkelPad plugins.mht"`)
   "Plugins-Eng.chm" Exec(`"hh.exe" "%a\AkelFiles\Docs\Plugs\Plugins-Eng.chm"`)
   SEPARATOR
   "Coder.txt" OpenFile("%a\AkelFiles\Docs\Plugs\Coder-Rus.txt") Icon("%a\AkelFiles\Plugs\Coder.dll", 4)
   "Scripts.txt" OpenFile("%a\AkelFiles\Docs\Plugs\Scripts-Rus.txt") Icon("%a\AkelFiles\Plugs\Scripts.dll", 0)
   "Scripts.idl" OpenFile("%a\AkelFiles\Docs\Sources\Scripts.idl")
   "AkelDLL.h" OpenFile("%a\AkelFiles\Docs\Sources\AkelDLL.h")
   SEPARATOR
   "ContextMenu.txt" OpenFile("%a\AkelFiles\Docs\Plugs\ContextMenu-Rus.txt")
   "Toolbar.txt" OpenFile("%a\AkelFiles\Docs\Plugs\Toolbar-Rus.txt")
   "Hotkeys.txt" OpenFile("%a\AkelFiles\Docs\Plugs\Hotkeys-Rus.txt")
   SEPARATOR
   "SpellCheck.txt" OpenFile("%a\AkelFiles\Docs\Plugs\SpellCheck-Rus.txt")
   SEPARATOR
   -"Каталог файлов-описаний" Call("Explorer::Main", 1, "%a\AkelFiles\Docs\Plugs")
}

"EXPLORE"
{
  -"К текущему файлу" Call("Explorer::Main", 1, "")
  SEPARATOR
  -"Корень AkelPad'а" Call("Explorer::Main", 1, "%a") Icon("%a\AkelPad.exe", 0)
  -"Каталог плагинов" Call("Explorer::Main", 1, "%a\AkelFiles\Plugs") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 18)
  -"Каталог \Scripts\" Call("Explorer::Main", 1, "%a\AkelFiles\Plugs\Scripts") Icon("%a\AkelFiles\Plugs\Scripts.dll", 0)
  -"Каталог \Scripts\Include\" Call("Explorer::Main", 1, "%a\AkelFiles\Plugs\Scripts\Include") Icon("%a\AkelFiles\Plugs\Scripts.dll", 0)
  -"Синтаксические конфигурации" Call("Explorer::Main", 1, "%a\AkelFiles\Plugs\Coder")
  -"Белые списки ASpell" Call("Explorer::Main", 1, "%a\AkelFiles\Plugs\SpellCheck")
  -"Cессии" Call("Scripts::Main", 1, "OpenSessionsDir.js") Icon("%a\AkelFiles\Plugs\Sessions.dll", 0)
  -"Описания плагинов" Call("Explorer::Main", 1, "%a\AkelFiles\Docs\Plugs")
  -"Справочники..." Exec("explorer /e, %a\AkelFiles\Help")
  SEPARATOR
  -"Program Files" Call("Explorer::Main", 1, "%ProgramFiles%")
}

"FAVOURITESMANAGE"
{
  FAVOURITES
  SEPARATOR
  "Добавить в избранное..." Favourites(1) Icon(0)
  "Управление избранным..." Favourites(3) Icon(1)
  SEPARATOR
  -"Экспортировать..." Call("Scripts::Main", 1, "Favourites.js", "1") Icon("%a\AkelFiles\Plugs\ContextMenu.dll", 4)
  -"Импортировать (заменить)..." Call("Scripts::Main", 1, "Favourites.js", "2") Icon("%a\AkelFiles\Plugs\ContextMenu.dll", 5)
  -"Очистить избранное..." Call("Scripts::Main", 1, "Favourites.js", "0") Icon("%a\AkelFiles\Plugs\ContextMenu.dll", 6)
  SEPARATOR
  -"Изменить меню..." Call("ContextMenu::Main", 1, 0, '"FAVOURITESMANAGE"')
}

"FILEMANAGE"
{
  -"Поиск файлов..." Call("Scripts::Main", 1, "FindReplaceFiles.js") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 12)
  -"Сравнить файлы (WinMerge)..." Call("Scripts::Main", 1, "WinMerge.js")
  "Просмотр лога" Menu("LOGVIEW") Icon("%a\AkelFiles\Plugs\Log.dll", 0)
  SEPARATOR
  "Управление избранным..." Favourites(3) Icon(1)
  "Управление списком свежих..." Call("RecentFiles::Manage") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 0)
  -"Управление сессиями..." +Call("Sessions::Main") Icon("%a\AkelFiles\Plugs\Sessions.dll", 0)
  SEPARATOR
  "Сохранение файлов" Menu("SAVEFILE") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 5)
}

"FONTSYZE"
{
  -"уменьшить   Ctrl+Num -" Command(4205) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 29)
  "10 pt" Font("", 0, 10)
  "11 pt" Font("", 0, 11)
  "12 pt" Font("", 0, 12)
  "14 pt" Font("", 0, 14)
  -"Увеличить   Ctrl+Num +"  Command(4204) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 28)
}

"FULLSCREEN"
{
  -"Обычный" Call("Scripts::Main", 1, "FullScreenEx.js")
  -"Только с тулбаром" Call("Scripts::Main", 1, "FullScreenEx.js", `-ToolBar='["ToolBar","1"]'`)
  -"Псевдо-SDI" Call("Scripts::Main", 1, "FullScreenEx.js", `-ToolBar='["ToolBar"]' -Menu=true -StatusBar=true`)
}

"SMARTSEL"
{
  "Умная клавиша Home" +Call("SmartSel::SmartHome")
  "Опция: инвертировать" +Call("SmartSel::altSmartHome")
  SEPARATOR1
  "Умная клавиша End" +Call("SmartSel::SmartEnd")
  "Опция: инвертировать" +Call("SmartSel::altSmartEnd")
  SEPARATOR1
  "Умные клавиши Up/Down" +Call("SmartSel::SmartUpDown")
  "Опция: +PageUp/PageDown" +Call("SmartSel::altSmartUpDown")
  SEPARATOR1
  "Исключить EOL из выделения" +Call("SmartSel::NoSelEOL")
  "Опция: только одна строка" +Call("SmartSel::altNoSelEOL")
  SEPARATOR1
  "Умная клавиша Backspace" +Call("SmartSel::SmartBackspace")
}

"KEY_ESC"
{
  "Включить" +Call("Exit::Main")
  SEPARATOR
  "Настроить..." Call("Exit::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"SMARTKEYS"
{
  -"Горячие клавиши..." +Call("Hotkeys::Main") Icon("%a\AkelFiles\Plugs\Hotkeys.dll", 0)
  "Навигация" Menu("SMARTSEL")
  "Прокрутка" Menu("SCROLL")
  "Клавиша Esc" Menu("KEY_ESC") Icon("%a\AkelFiles\Plugs\Exit.dll", 0)
}

"INTERNET"
{
  -"Перевести: Ru -> En (Google)..." Call("Scripts::Main", 1, "TranslateWithGoogleAPI.js", `-lngS="ru" -lngT="en" -Msg=1`)
  -"Перевести: En -> Ru (Google)..." Call("Scripts::Main", 1, "TranslateWithGoogleAPI.js", `-lngS="en" -lngT="ru" -Msg=1`)
  -"Переводчик..." Call("Scripts::Main", 1, "Translator.js")
SEPARATOR
  -"Открыть страницу: Auto -> Ru (Google)" Call("Scripts::Main", 1, "InternetRequest.js", `"http://translate.google.com/#auto|ru|\s"`)
  -"Открыть страницу: Auto -> En (Google)" Call("Scripts::Main", 1, "InternetRequest.js", `"http://translate.google.com/#auto|en|\s"`)
  -"Открыть страницу: Словари (Lingvo)" Call("Scripts::Main", 1, "InternetRequest.js", `"http://lingvo.yandex.ru/en?text=\s"`)
SEPARATOR
  -"Открыть в Энциклопедиях (Яndex)" Call("Scripts::Main", 1, "InternetRequest.js", `"http://slovari.yandex.ru/\s/значение/"`)
  -"Открыть в Википедии (ru)" Call("Scripts::Main", 1, "InternetRequest.js", `"http://ru.wikipedia.org/w/index.php?Search&search=\s"`)
SEPARATOR
  -"Искать в Яndex" Call("Scripts::Main", 1, "InternetRequest.js", `"http://yandex.ua/yandsearch?text=\s"`)
  -"Искать в Google" Call("Scripts::Main", 1, "InternetRequest.js", `"http://www.google.com/search?&rls=ru&q=\s"`)
}

"LINEBOARD"
{
  "Включить / Выключить   Alt+L" Call("LineBoard::Main")  Icon("%a\AkelFiles\Plugs\LineBoard.dll", 0)
  "Линейка" Call("LineBoard::Main", 3, -1)
  SEPARATOR
  "Список закладок..." Call("LineBoard::Main::BookmarkList")
  "Перейти к предыдущей закладке   Alt+Up" Call("LineBoard::Main::PrevBookmark") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 1)
  "Перейти к следующей закладке   Alt+Down" Call("LineBoard::Main::NextBookmark") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 2)
  SEPARATOR
  "Удалить все закладки" Call("LineBoard::Main::DelAllBookmark") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 4)
  SEPARATOR
  "Настроить..." Call("LineBoard::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"LOGVIEW"
{
  "В реальном времени (по текущему файлу)" Call("Log::Watch")
  "Консоль..." Call("Log::Output") Icon("%a\AkelFiles\Plugs\Log.dll", 1)
  SEPARATOR
  "Настроить..." Call("Log::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"MACROS"
{
  -"Записать" Call("Macros::Main", 2, "%m", "%i") Icon("%a\AkelFiles\Plugs\Macros.dll", 1)
  -"Воспроизвести один раз" Call("Macros::Main", 1, "", 1) Icon("%a\AkelFiles\Plugs\Macros.dll", 3)
  -"Воспроизвести до конца" Call("Macros::Main", 3, "%m", "%i") Icon("%a\AkelFiles\Plugs\Macros.dll", 4)
}

"MODIFY_EDIT"
{
  "Убрать пустые символы В КОНЦЕ   Alt+Backspace" Command(4174)
  -"Убрать пустые символы ПО КРАЯМ" Call("Scripts::Main", 1, "DelLeadTrailSpaces.js")
  -"Убрать повторяющиеся пустые символы ВНУТРИ" Call("Scripts::Main", 1, "DelInsideSpaces.js")
  -"Удалить ВСЕ табы и пробелы" Command(4195)
  SEPARATOR
  -"Удалить пустые строки" Call("Scripts::Main", 1, "DelEmptyLines.js")
  -"Убрать переводы строк" Call("Scripts::Main", 1, "DelLineFeed.js")
  "Вставить разрыв строки в местах переноса" Call("Format::LineFixWrap")
  SEPARATOR
  "Пробелы -> Символы табуляции" Menu("SPACESTOTABS")
  -"Символы табуляции -> Пробелы" Call("Scripts::Main", 1, "TabsToSpaces.js")
  SEPARATOR
  "Сортировать строки по возрастанию" Call("Format::LineSortStrAsc") Icon("%a\AkelFiles\Plugs\Format.dll", 0)
  "Сортировать строки по убыванию" Call("Format::LineSortStrDesc") Icon("%a\AkelFiles\Plugs\Format.dll", 1)
  "Сортировать строки по числовому возрастанию" Call("Format::LineSortIntAsc") Icon("%a\AkelFiles\Plugs\Format.dll", 2)
  "Сортировать строки по числовому убыванию" Call("Format::LineSortIntDesc") Icon("%a\AkelFiles\Plugs\Format.dll", 3)
  SEPARATOR
  "Инвертировать порядок строк" Call("Format::LineReverse")
  "Получить дублирующиеся строки" Call("Format::LineGetDuplicates")
  "Удалить дублирующиеся строки" Call("Format::LineRemoveDuplicates")
  "Получить уникальные строки" Call("Format::LineGetUnique")
  SEPARATOR
  "" Command(4175)
  "" Command(4176)
  "" Command(4177)
  "" Command(4178)
  "" Command(4179)
  SEPARATOR
  "Раскладки/Кодировки"
  {
    -"Исправить набор En->Ru" Call("Scripts::Main", 1, "Keyboard.js", `-Type=Layout -Direction=En->Ru`)
    -"Исправить набор Ru->En" Call("Scripts::Main", 1, "Keyboard.js", `-Type=Layout -Direction=Ru->En`)
    -"Транслитерация En->Ru" Call("Scripts::Main", 1, "Keyboard.js", `-Type=Translit -Direction=En->Ru`)
    -"Транслитерация Ru->En" Call("Scripts::Main", 1, "Keyboard.js", `-Type=Translit -Direction=Ru->En`)
    "" Command(4182)
  }
  SEPARATOR
  -"Конвертировать..." Call("Scripts::Main", 1, "converter.js")
  -"Де/-шифровать..." Call("Scripts::Main", 1, "crypt.js")
  SEPARATOR
  -"Извлечь ссылки из текста" Call("Scripts::Main", 1, "getLinks.js")
}

"MODIFY_BBCode"
{
  -"[url=|]...[/url]" Insert('[url=\|]\s[/url]', 1) Icon("%a\AkelFiles\Plugs\ico\alink.ico")
  -"[url=  CB  ]...[/url]" Call("Scripts::Main", 1, "insertTag.js", `'-template="[url=%%C]%%S[/url]"'`)
  -"[url=...][img]...[/img][/url]" Insert('[url=\s][img]\s[/img][/url]', 1)
  -"[quote='''']...[/quote]" Insert(`[quote=""]\s[/quote]`, 1)
  -"[quote]...[/quote]   Ctrl+q" Insert("[quote]\s[/quote]", 1)
  -"[quote=''  CB  '']...[/quote]" Call("Scripts::Main", 1, "insertTag.js", `-template='[quote="%%C"]%%S%%|[/quote]'`)
  -"[code]...[/code]" Insert("[code]\s[/code]", 1)
  -"[more=''...''] | [/more]" Insert('[more="\s"]\n\|[/more]', 1)
  -"[b][more=''...''][/b] | [/more]" Insert('[b][more="\s"][/b]\n\|[/more]', 1)
  -"[more=''...''][code] | [/code][/more]" Insert('[more="\s"]\n[code]\|[/code]\n[/more]', 1)
  -"[spoiler=...][code] | [/code][/spoiler]" Insert('[spoiler=\s]\n[code]\|[/code]\n[/spoiler]', 1)
  -"[spoiler=][code]...[/code][/spoiler]" Insert('[spoiler=][code]\s[/code][/spoiler]', 1)
  -"[spoiler=...] | [/spoiler]" Insert('[spoiler=\|]\s[/spoiler]', 1)
  -"[b]...[/b]" Insert("[b]\s[/b]", 1) Icon("%a\AkelFiles\Plugs\ico\bold.ico")
  -"[i]...[/i]" Insert("[i]\s[/i]", 1) Icon("%a\AkelFiles\Plugs\ico\italic.ico")
  -"[u]...[/u]" Insert("[u]\s[/u]", 1) Icon("%a\AkelFiles\Plugs\ico\underline.ico")
  -"[list]...[/list]" Call("Scripts::Main", 1, "insertStructure.js", `-rootOpen="[list]" -lineOpen="[*]" -rootClose="[/list]" -shift=""`)
}

"MODIFY_HTML"
{
  -"<a href=''  CB  ''>...</a>" Call("Scripts::Main", 1, "insertTag.js", `'-template="<a href=\"%%C\">%%S</a>"'`) Icon("%a\AkelFiles\Plugs\ico\alink.ico")
  -"<h3>...</h3>" Insert("<h3>\s</h3>", 1) Icon("%a\AkelFiles\Plugs\ico\head.ico")
  -"<center>...</center>" Insert("<center>\s</center>", 1) Icon("%a\AkelFiles\Plugs\ico\center.ico")
  -"<p>...</p>" Insert("<p>\s</p>", 1)
  -"<ul>...</ul>" Call("Scripts::Main", 1, "insertStructure.js", `-rootOpen="<ul>" -lineOpen="<li>" -lineClose="</li>" -rootClose="</ul>"`)
  -"<b>...</b>" Insert("<b>\s</b>", 1) Icon("%a\AkelFiles\Plugs\ico\bold.ico")
  -"<i>...</i>" Insert("<i>\s</i>", 1) Icon("%a\AkelFiles\Plugs\ico\italic.ico")
  -"<u>...</u>" Insert("<u>\s</u>", 1) Icon("%a\AkelFiles\Plugs\ico\underline.ico")
  SEPARATOR
  -"Неразрывный пробел" Insert(" ") Icon("%a\AkelFiles\Plugs\ico\space.ico")
  -"<br> + переводы строк" Call("Scripts::Main", 1, "HTMLlinefeed.js") Icon("%a\AkelFiles\Plugs\ico\br.ico")
  SEPARATOR
  -"Убрать лишние тэги" Call("Scripts::Main", 1, "HTMLDelUselessTags.js")
  -"Убрать все HTML-тэги" Call("Scripts::Main", 1, "HTMLDelAllTags.js")
}

"MODIFY_MARK"
{
  #Highlight selected
  "Оранжевым" Call("Coder::HighLight", 2, 0, "#FFA000", 0, 0, 12) Icon("%a\AkelFiles\Plugs\ico\pen-orange.ico")
  "Жёлтым" Call("Coder::HighLight", 2, 0, "#FFFF9B", 1, 0, 13) Icon("%a\AkelFiles\Plugs\Coder.dll", 8)
  "Зелёным" Call("Coder::HighLight", 2, 0, "#00A000", 0, 0, 14) Icon("%a\AkelFiles\Plugs\Coder.dll", 10)
  "Сиреневым" Call("Coder::HighLight", 2, 0, "#A0A0FF", 0, 0, 15) Icon("%a\AkelFiles\Plugs\ico\pen-lilac.ico")
  "Фиолетовым" Call("Coder::HighLight", 2, 0, "#BE7DFF", 1, 0, 16) Icon("%a\AkelFiles\Plugs\Coder.dll", 9)
  "Красным" Call("Coder::HighLight", 2, 0, "#FF0000", 0, 0, 17) Icon("%a\AkelFiles\Plugs\ico\pen-red.ico")
  "Бирюзовым" Call("Coder::HighLight", 2, 0, "#9BFFFF", 1, 0, 18) Icon("%a\AkelFiles\Plugs\Coder.dll", 6)
  SEPARATOR
  -"Убрать все отметки" Call("Coder::HighLight", 3, 0) Icon("%a\AkelFiles\Plugs\Coder.dll", 11)
  SEPARATOR
  -"Маркеры..." Call("Scripts::Main", 1, "TextMarker.js")
}

"MODIFY_OTHER"
{
  -"AutoComplete: $[...]" Insert("$[\s]", 1)
  SEPARATOR
  -"Wiki: '''Ж''' " Insert("'''\s'''", 1) Icon("%a\AkelFiles\Plugs\ico\bold.ico")
  -"Wiki:  ''К'' " Insert("''\s''", 1) Icon("%a\AkelFiles\Plugs\ico\italic.ico")
  -"Wiki:  _П_" Insert("__\s__", 1) Icon("%a\AkelFiles\Plugs\ico\underline.ico")
  -"Wiki: [ CB _ ... ]" Call("Scripts::Main", 1, "insertTag.js", `'-template="[%%C %%S]"'`) Icon("%a\AkelFiles\Plugs\ico\alink.ico")
  SEPARATOR
  "i.ua: [cit]...[/cit]" Insert("[cit]\s[/cit]", 1)
  "i.ua: <cite>...</cite>" Insert("<cite>\s</cite>", 1)
}

"MODIFY_SELECT"
{
  -"[code]{...}[/code]" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="[code]" -tagEnd="[/code]" -inclTags=0`)
  -"[quote]{...}[/quote]" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="[quote]" -tagEnd="[/quote]" -inclTags=0`)
  -"{[b][more][/b]...[/more]}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="[b][more" -tagEnd="[/more]" -inclTags=1`)
  -"{[b][more]...[/more][/b]}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="[b][more" -tagEnd="[/more][/b]" -inclTags=1`)
  SEPARATOR
  -"{<tr>...</tr>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<tr" -tagEnd="</tr>" -inclTags=1`)
  -"{<table>...</table>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<table" -tagEnd="</table>" -inclTags=1`)
  -"{<div>...</div>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<div" -tagEnd="</div>" -inclTags=1`)
  -"{<a>...</a>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<a" -tagEnd="</a>" -inclTags=1`)
  -"{<section>...</section>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<section" -tagEnd="</section>" -inclTags=1`)
  -"{<binary>...</binary>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<binary" -tagEnd="</binary>" -inclTags=1`)
  SEPARATOR
  -"{<form>...</form>}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="<form" -tagEnd="</form>" -inclTags=1`)
  SEPARATOR
  -"{...}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="{" -tagEnd="}"`)
  -"{/*...*/}" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="/*" -tagEnd="*/"`)
  -"\r{...}\r" Call("Scripts::Main", 1, "BlockSelect.js", `-tagStart="\r" -tagEnd="\r" -inclTags=0`)
}

"QSEARCH"
{
  "Быстрое переключение диалогов" +Call("QSearch::DialogSwitcher") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 34)
}

"OPEN"
{
  RECENTFILES
  SEPARATOR
 "Удалить несуществующие" Call("RecentFiles::DeleteNonExistent")
}

"PLUGINS"
{
  "Программирование" Menu("CODER") Icon("%a\AkelFiles\Plugs\Coder.dll", 5)
  "Парные скобки" Menu("XBRACKETS")
  "Специальные символы" Menu("SPECIALCHAR") Icon("%a\AkelFiles\Plugs\SpecialChar.dll", 0)
  "Номера строк, закладки" Menu("LINEBOARD") Icon("%a\AkelFiles\Plugs\LineBoard.dll", 0)
  SEPARATOR
  "Управление файлами" Menu("FILEMANAGE")
  "Буфер обмена" Menu("CLIPBOARD") Icon("%a\AkelFiles\Plugs\Clipboard.dll", 0)
  -"Макросы..." +Call("Macros::Main") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 17)
  "Скрипты" Menu("SCRIPTS") Icon("%a\AkelFiles\Plugs\Scripts.dll", 0)
 
  SEPARATOR
  "Клавиши и навигация" Menu("SMARTKEYS")
  "Панели инструментов" Menu("TOOLBARS") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 14)
  "Полноэкранный режим" Menu("FULLSCREEN") Icon("%a\AkelFiles\Plugs\FullScreen.dll", 0)
  SEPARATOR
  "Свернуть в трей" Call("MinimizeToTray::Now") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 15)
  "Сворачивать в трей всегда" +Call("MinimizeToTray::Always")
  "Быстрое переключение диалогов" +Call("QSearch::DialogSwitcher")

  SEPARATOR
  SET(32, "%a\AkelFiles\Plugs\Sounds.dll")
    "Звуковой набор текста" Icon("%a\AkelFiles\Plugs\Sounds.dll", 0)
    {
      "Включить" +Call("Sounds::Main")
      SEPARATOR
      "Настроить..." Call("Sounds::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
    }
  UNSET(32)
  SET(32, "%a\AkelFiles\Plugs\Speech.dll")
    "Машинное чтение текста" +Call("Speech::Main") Icon("%a\AkelFiles\Plugs\Speech.dll", 0)
  UNSET(32)

  SEPARATOR
  -"Ассоциировать файлы" Call("Scripts::Main", 1, "reassoc.js")
  SEPARATOR
  -"Изменить меню..." Call("ContextMenu::Main", 1, 0, '"PLUGINS"')
}

"SAVE"
{
  -"Сохранить как...   Ctrl+Shift+S" Call("Scripts::Main", 1, "SaveAs.js") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 33)
  SEPARATOR
  -"Сохранить с исходным временем" Call("Scripts::Main", 1, "saveStoreTime.js") Icon("%a\AkelFiles\Plugs\SaveFile.dll", 0)
  -"Сохранить в UTF-8 без BOM" Command(4137) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 4)
  -"Сохранить исходную версию" Call("Scripts::Main", 1, "backupVersion.js")
  -"Упаковать в zip" Call("Scripts::Main", 1, "ZipCurrentFile.js") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 5)
  SEPARATOR
  -"" Command(4110) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 32)
}

"SAVEFILE"
{
  "Автосохранение" +Call("SaveFile::AutoSave")
  "Сохранение без BOM" +Call("SaveFile::SaveNoBOM")
  SEPARATOR
  "Настроить..." Call("SaveFile::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"SCRIPTS"
{
  -"Поиск/Замена с регулярными выражениями..." Call("Scripts::Main", 1, "SearchReplace.js") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 13)
  -"Фильтр строк с регулярными выражениями..." Call("Scripts::Main", 1, "LinesFilter.js")
  -"Расширенная сортировка строк..." Call("Scripts::Main", 1, "SortLines.js")
  SEPARATOR
  -"Текстовый калькулятор" Call("Scripts::Main", 1, "Calculator.js")
  "Сумма чисел" Menu("SUMNUMBER")
  -"Конвертер величин..." Call("Scripts::Main", 1, "measuresConverter.js")
  SEPARATOR
  -"Выполнить команду..." Call("Scripts::Main", 1, "ConsoleRun.js")
  -"Запустить программу..." Call("Scripts::Main", 1, "ConsoleExec.js", `-sep="="`)
  SEPARATOR
  -"Имя скрипта -> Строка меню" Call("Scripts::Main", 1, "ScriptNamesToContextMenuStrings.js")
  -"Редактировать текст меню (из ini)..." Call("Scripts::Main", 1, "PlugTextReadFromIni.js")
  SEPARATOR
  -"Версия WScript.exe" Call("Scripts::Main", 1, "EvalCmd.js", `"AkelPad.MessageBox(0, 'Версия сервера сценариев WScript: ' + ScriptEngineMajorVersion() + '.' + ScriptEngineMinorVersion(), "AkelPad", 64);"`)
}

"SCROLL"
{
  "Вертикальная синхронизация" Call("Scroll::SyncVert") Icon("%a\AkelFiles\Plugs\Scroll.dll", 1)
  "Горизонтальная синхронизация" Call("Scroll::SyncHorz") Icon("%a\AkelFiles\Plugs\Scroll.dll", 0)
  SEPARATOR
  "Автоматическая прокрутка текста" +Call("Scroll::AutoScroll")
  "Автоматическая передача фокуса" +Call("Scroll::AutoFocus")
  "Обработка непрокручиваемых операций" +Call("Scroll::NoScroll")
  SEPARATOR
  "Настроить..." Call("Scroll::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"SPACESTOTABS"
{
  -"Скрипты (кол-во пробелов из настроек)" Call("Scripts::Main", 1, "SpacesToTabs.js")
  -"Скрипты (кол-во пробелов = 2)" Call("Scripts::Main", 1, "SpacesToTabs.js", `-bSpaces=2`)
  -"Скрипты (запрос...)" Call("Scripts::Main", 1, "SpacesToTabs.js", `-bSpaces=-1`)
  SEPARATOR
  -"Все вхождения (запрос...)" Call("Scripts::Main", 1, "SpacesToTabs.js", `-lead=0 -bSpaces=-1 -oActn=1`)
}

"SPECIALCHAR"
{
  "Включить" +Call("SpecialChar::Main")
  SEPARATOR
  -"Пробелы и Табуляции" Call("Scripts::Main", 1, "SpecialCharSwitcher.js", `"1,2,4,5,6"`)
  -"Новая строка и Перенос строки" Call("Scripts::Main", 1, "SpecialCharSwitcher.js", `"3,7"`)
  -"Линия отступа" Call("Scripts::Main", 1, "SpecialCharSwitcher.js", `"8"`)
  SEPARATOR
  "Настроить..." Call("SpecialChar::Settings")
}

"SPELLCHECK"
{
  -"Правописание: подсветить (txt)" Call("SpellCheck::Background", 0, "txt")
  -"Правописание: подсветить (html)" Call("SpellCheck::Background", 0, "html")
  SEPARATOR
  -"Орфография ASpell: в белый список (txt)" Call("Scripts::Main", 1, "SpellCheckAddToWhiteList.js", `-ext="txt"`)
  "Орфография ASpell: варианты..." Call("SpellCheck::Suggest") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 35)
  "Орфография ASpell: проверить выделение..." Call("SpellCheck::CheckSelection")
  "Орфография ASpell: проверить документ..." Call("SpellCheck::CheckDocument")
  "Орфография ASpell: настройки..." Call("SpellCheck::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
  SEPARATOR
  -"Орфография MSWord: проверить..." Call("Scripts::Main", 1, "SpellCheckMSWord.js")
  SEPARATOR
  -"Откорректировать пунктуацию" Call("Scripts::Main", 1, "PunctuationFixer.js", "-ignorecase")
  -"Откорректировать пунктуацию с Прописными" Call("Scripts::Main", 1, "PunctuationFixer.js", "")
}

"SPLITSWITCH"
{
  "2 вертикальные части *" Command(4213)
  "2 горизонтальные части" Command(4214)
  "4 части" Command(4212)
}

"SCROLL"
{
  "Вертикальная синхронизация" Call("Scroll::SyncVert") Icon("%a\AkelFiles\Plugs\Scroll.dll", 1)
  "Горизонтальная синхронизация" Call("Scroll::SyncHorz") Icon("%a\AkelFiles\Plugs\Scroll.dll", 0)
  SEPARATOR
  "Автоматическая прокрутка текста" +Call("Scroll::AutoScroll")
  "Автоматическая передача фокуса" +Call("Scroll::AutoFocus")
  "Обработка непрокручиваемых операций" +Call("Scroll::NoScroll")
  SEPARATOR
  "Настроить..." Call("Scroll::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}

"SOUND"
{
SET(32, "%a\AkelFiles\Plugs\Sounds.dll")
  "Звуковой набор текста" Icon("%a\AkelFiles\Plugs\Sounds.dll", 0)
  {
    "Включить" +Call("Sounds::Main")
    SEPARATOR
    "Настроить..." Call("Sounds::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
  }
UNSET(32)
SET(32, "%a\AkelFiles\Plugs\Speech.dll")
  "Машинное чтение текста" +Call("Speech::Main") Icon("%a\AkelFiles\Plugs\Speech.dll", 0)
UNSET(32)
}

"SUMNUMBER"
{
  -"По всему тексту" Call("Scripts::Main", 1, "SumNumbers.js")
  -"Только между xml-тэгами" Call("Scripts::Main", 1, "SumNumbers.js", `-qStart="<" -qEnd=">"`)
}

"THEMECOLOR"
{
  "SIMPLE" Call("Coder::Settings", 5, "SIMPLE")
  "Default" Call("Coder::Settings", 5, "Default")
  SEPARATOR
  "Bespin+Wombat" Call("Coder::Settings", 5, "Bespin+Wombat")
  "Masik" Call("Coder::Settings", 5, "Masik")
  "Bespin" Call("Coder::Settings", 5, "Bespin")
  "Cobalt Invert" Call("Coder::Settings", 5, "CobaltInvert")
  "Cobalt" Call("Coder::Settings", 5, "Cobalt")
  "Zenburn" Call("Coder::Settings", 5, "Zenburn")
;  "Monokai" Call("Coder::Settings", 5, "Monokai")
;  "Solarized Dark" Call("Coder::Settings", 5, "Solarized Dark")
;  "SpaceCadet" Call("Coder::Settings", 5, "SpaceCadet")
;  "Sunburst" Call("Coder::Settings", 5, "Sunburst")
;  "Twilight" Call("Coder::Settings", 5, "Twilight")
  SEPARATOR
  "Active4D" Call("Coder::Settings", 5, "Active4D")
  "Dawn" Call("Coder::Settings", 5, "Dawn")
  "Earth" Call("Coder::Settings", 5, "Earth")
  "iPlastic" Call("Coder::Settings", 5, "iPlastic")
  "Lazy" Call("Coder::Settings", 5, "Lazy")
  "Mac Classic" Call("Coder::Settings", 5, "Mac Classic")
  "Solarized Light" Call("Coder::Settings", 5, "Solarized Light")
}

"THEMESYNTAX"
{
  "BBCode" Call("Coder::Settings", 1, "bbc")
  "TXT" Call("Coder::Settings", 1, "txt")
   SEPARATOR
   "log" Call("Coder::Settings", 1, "log")
   "LSS" Call("Coder::Settings", 1, "lss")
   "l@" Call("Coder::Settings", 1, "l@")
   "Java" Call("Coder::Settings", 1, "java")
   "JS" Call("Coder::Settings", 1, "js")
   "HTML" Call("Coder::Settings", 1, "html")
   "CSS" Call("Coder::Settings", 1, "css")
   "XML / DXL" Call("Coder::Settings", 1, "xml")
   "fb2" Call("Coder::Settings", 1, "fb2")
   "php" Call("Coder::Settings", 1, "php")
   "vb / vbScript" Call("Coder::Settings", 1, "vbs")
   "ini" Call("Coder::Settings", 1, "ini")
   "bat" Call("Coder::Settings", 1, "bat")
   "C++" Call("Coder::Settings", 1, "cpp")
;   "pascal" Call("Coder::Settings", 1, "dpr")
   "SQL" Call("Coder::Settings", 1, "sql")
;  "py" Call("Coder::Settings", 1, "py")
   SEPARATOR
   "spck" Call("Coder::Settings", 1, "spck")
   "coder" Call("Coder::Settings", 1, "coder")
   "mnu" Call("Coder::Settings", 1, "mnu")
   SEPARATOR
   "без подсветки" Call("Coder::Settings", 1, "?")
}

"TOOLBARS"
{
  -"Стандартная" Call("ToolBar::Main", 1, "1")
  -"Расширенная" Call("ToolBar::Main", 1, "2")
  SEPARATOR
  -"Отобразить все" Call("ToolBar::Main", 1, "")
}

"XBRACKETS"
{
  "Включить" +Call("XBrackets::Main")
  SEPARATOR
  "Перейти к парной скобке" Call("XBrackets::GoToMatchingBracket")
  "Выделить до парной скобки" Call("XBrackets::SelToMatchingBracket")
  SEPARATOR
  "Настроить..." Call("XBrackets::Settings") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 19)
}



Главное меню
Code:
"Избранное" Menu("FAVOURITESMANAGE") Index(-3)

"Плагины" Menu("PLUGINS") Index(2)



Меню окна редактирования
Code:
"Интернет" Menu("INTERNET") Icon("%a\AkelFiles\Plugs\ico\alink.ico")

SET(8)
  SEPARATOR
  "Копировать    Ctrl+C" Command(4154) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 8)
  "Вырезать   Ctrl+X" Command(4153) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 7)
  "Вставить   Ctrl+V" Command(4155) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 9)
UNSET(8)

SEPARATOR
"Выделить" Menu("MODIFY_SELECT")

"Копировать"
{
  "Текст (с форматированием)   Ctrl+Alt+C" Call("Coder::Settings", 4)
  "В RTF формате" Call("Coder::Settings", 4, 4144, "FILE") Icon("%a\AkelFiles\Plugs\ico\Word.ico")
  SEPARATOR
  -"Дату" Call("Scripts::Main", 1, "DateCopyToCB.js", `""`)
  -"Дату наоборот (слитно)" Call("Scripts::Main", 1, "DateCopyToCB.js", `"yyyyMMdd"`)
  -"Дату наоборот (.)" Call("Scripts::Main", 1, "DateCopyToCB.js", `"yyyy.MM.dd"`)
  -"Дату и Время наоборот" Call("Scripts::Main", 1, "DateCopyToCB.js", `"yyyyMMdd_HHmmss"`) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 26)
}

"Вставить"
{
  -"Файл..." Call("Scripts::Main", 1, "InsertFileEx.js", `"%f"`)
  -"> ..." Call("Scripts::Main", 1, "InsertBefore.js")
  -"Дату" Call("Scripts::Main", 1, "DateInsert.js", `"dd.MM.yyyy"`, 0)
  -"Дату наоборот" Call("Scripts::Main", 1, "DateInsert.js", `"yyyy.MM.dd"`, 0)
  -"Дату и Время наоборот" Call("Scripts::Main", 1, "DateInsert.js", `"yyyy.MM.dd HH:mm:ss"`, 0) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 26)
  SEPARATOR
  "Короткое тире (en dash)" Insert("–") Icon("%a\AkelFiles\Plugs\ico\en-dash.ico")
  "Символ..." Command(4163) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 14)
}

"HTML" Menu("MODIFY_HTML")
"BBCode" Menu("MODIFY_BBCode")
"Другое" Menu("MODIFY_OTHER")
"Преобразовать" Menu("MODIFY_EDIT") Icon("%a\AkelFiles\Plugs\ContextMenu.dll", 8)

SEPARATOR
-"Отменить всё" Call("Scripts::Main", 1, "UndoAllNoScroll.js") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 10)
SEPARATOR
-"Переименовать файл..." Call("Scripts::Main", 1, "RenameFileDialog.js", `"-ext=0"`)

SEPARATOR
-"В белый список (txt)" Call("Scripts::Main", 1, "SpellCheckAddToWhiteList.js", `-ext="txt"`)
"Правописание: варианты" Call("SpellCheck::Suggest") Icon("%a\AkelFiles\Plugs\Toolbar.dll", 35)

SEPARATOR
"Отметить" Menu("MODIFY_MARK") Icon("%a\AkelFiles\Plugs\Coder.dll", 0)

SEPARATOR
-"Изменить меню..." Call("ContextMenu::Main", 1, 2)



Меню вкладок
Code:
"" Command(4319)
-"Закрыть безымянные" Call("Scripts::Main", 1, "CloseUnnamedAll.js", `-CloseUnnamed=true`)
"Закрыть все, кроме активной" Command(4320)
"Вернуть закрытую вкладку   Ctrl+Shift+T" Command(5002)

SEPARATOR
"Копировать" Icon("%a\AkelFiles\Plugs\ToolBar.dll", 8)
{
  -"Только имя файла" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<file>"`)
  -"Имя файла и расширение" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<file>.<ext>"`)
  -"Только путь" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<path>"`)
  -"Полное имя файла" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<path>/<file>.<ext>"`)

  SEPARATOR
  -"Имя файла для BBCode" Call("Scripts::Main", 1, "ScriptNameCopyAsBBCode.js", `"%f"`)
  -"Файл в [more]..."  Call("Scripts::Main", 1, "ScriptCopyToBlock.js", `-file="%f" -block="more"`)
  -"Файл в [b][more][/b]..."  Call("Scripts::Main", 1, "ScriptCopyToBlock.js", `-file="%f" -block="more" -bold=1`)
}
"Добавить в избранное" Favourites(2) Icon(0)
-"Отменить всё" Call("Scripts::Main", 1, "UndoAllNoScroll.js") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 10)

SEPARATOR
-"Новый на основе текущего" Call("Scripts::Main", 1, "NewFilebyRecent.js") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 1)
-"Переименовать файл..." Call("Scripts::Main", 1, "RenameFileDialog.js")
-"Удалить файл" Call("Scripts::Main", 1, "DeleteFile.js") Icon("%a\AkelFiles\Plugs\ToolBar.dll", 25)

SEPARATOR
-"Открыть из папки файла..." Call("Scripts::Main", 1, "OpenEx.js", `-source="%d\"`) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 2)
-"Открыть все файлы папки" Call("Scripts::Main", 1, "OpenAllFilesFromFileFolder.js", `-file="%f" -binary="ignoreAll"`)
 "Показать в Проводнике Windows..." Exec("explorer /e,/select, %f") Icon("%a\AkelFiles\Plugs\Explorer.dll", 0)
-"Показать в TotalCommander'е..." Call("Scripts::Main", 1, "openFileIn.js", '"Total Commander" "%f\:"') Icon("%a\AkelFiles\Plugs\ico\TC.ico")
-"Показать в панели Проводника" Call("Explorer::Main", 1, "%f") Icon("%a\AkelFiles\Plugs\ico\explorer.ico")
"Контекстное меню Проводника"
{
  EXPLORER
}

SEPARATOR
SET(4)  #Только для MDI
"Окна &вертикально" Command(4308) Icon("%a\AkelFiles\Plugs\Toolbar.dll", 23)
UNSET(4)
SET(1)
"Выбор окна...   F10" Command(4327)
UNSET(1)

;SEPARATOR
-"Информация о файле..." Call("FileInfo::Main") Icon("%a\AkelFiles\Plugs\FileInfo.dll", 0)

SEPARATOR
-"Изменить меню..." Call("ContextMenu::Main", 1, 3)



Меню ссылок
Code:
-"Открыть URL в IE" Call("Scripts::Main", 1, "URLOpen.js", `"%u" "0" "explorer.exe"`)

SEPARATOR
-"Перейти к сайту (по умолчанию)" Call("Scripts::Main", 1, "URLOpen.js", `"%u" "1"`)
-"Перейти к сайту в IE" Call("Scripts::Main", 1, "URLOpen.js", `"%u" "1" "explorer.exe"`)

SEPARATOR
-"Открыть (автовыбор)" Call("Scripts::Main", 1, "OpenByLSC.js", `"%u"`)
-"Закачать при помощи DM" Call("Scripts::Main", 1, "DownloadMaster.js", `-url="%u" -dmpath="%ProgramFiles%\Download Master\dmaster.exe" -cmdline="hidden=1"`)
-"Добавление закачки в DM..." Call("Scripts::Main", 1, "DownloadMaster.js", `-url="%u" -dmpath="%ProgramFiles%\Download Master\dmaster.exe"`) Icon("%a\AkelFiles\Plugs\ico\DM.ico")

SEPARATOR
"Копировать" Link(2) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 8)
"Заменить" Link(5)
"Удалить" Link(6) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 25)
"Вырезать" Link(4) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 7)
"Выделить" Link(3)

SEPARATOR
-"Изменить меню..." Call("ContextMenu::Main", 1, 4)



Меню последних файлов
Code:
"Копировать" Icon("%a\AkelFiles\Plugs\ToolBar.dll", 8)
{
  -"Только имя файла" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<file>"`)
  -"Имя файла и расширение" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<file>.<ext>"`)
  -"Только путь" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<path>"`)
  -"Полное имя файла" Call("Scripts::Main", 1, "copyPath.js", `"%f" "<path>/<file>.<ext>"`)
  SEPARATOR
  -"Имя файла для BBCode" Call("Scripts::Main", 1, "ScriptNameCopyAsBBCode.js", `"%f"`)
}
"Добавить в избранное" Favourites(2) Icon(0)
-"Убрать запись" Call("Scripts::Main", 1, "DeleteRecentFile.js", `'%f'`) Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 6)
-"Удалить файл" Call("Scripts::Main", 1, "DeleteFile.js", `-file="%f" -warn=true -updRecent=true`) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 25)

SEPARATOR
-"Новый на основе выбранного" Call("Scripts::Main", 1, "NewFilebyRecent.js", `"%f"`)  Icon("%a\AkelFiles\Plugs\ToolBar.dll", 1)
#-"Письмо в LN на основе содержимого" Call("Scripts::Main", 1, "CreateLNMemo.js", `"%f"`)
SEPARATOR
-"Вставить файл..." Call("Scripts::Main", 1, "InsertFileEx.js", `"%f"`)

SEPARATOR
-"Выполнить..." Exec('rundll32.exe shell32,ShellExec_RunDLL "%f"', "%d")
-"Открыть из папки файла..." Call("Scripts::Main", 1, "OpenEx.js", `-source="%d\"`) Icon("%a\AkelFiles\Plugs\ToolBar.dll", 2)
-"Открыть все файлы папки" Call("Scripts::Main", 1, "OpenAllFilesFromFileFolder.js", `-file="%f" -binary="ignoreAll"`)
; "Показать в Проводнике..." Call("FileInfo::Main", "browse", "%f")
 "Показать в Проводнике Windows..." Exec("explorer /e,/select, %f") Icon("%a\AkelFiles\Plugs\Explorer.dll", 0)
-"Показать в TotalCommander'е..." Call("Scripts::Main", 1, "openFileIn.js", '"Total Commander" "%f\:"') Icon("%a\AkelFiles\Plugs\ico\TC.ico")
-"Показать в панели Проводника" Call("Explorer::Main", 1, "%f") Icon("%a\AkelFiles\Plugs\ico\explorer.ico")
"Контекстное меню Проводника"
{
  EXPLORER
}

SEPARATOR
"Управление списком свежих..." Call("RecentFiles::Manage") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 0)
-"Очистить весь список" Call("Scripts::Main", 1, "ClearRecentFiles.js") Icon("%a\AkelFiles\Plugs\RecentFiles.dll", 5)

SEPARATOR
-"Изменить меню..." Call("ContextMenu::Main", 1, 5)



P.S.
Скриншоты похожих (скрины немного устарели) менюх здесь.


Last edited by VladSh on Fri Nov 28, 2014 8:37 pm; edited 55 times in total
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5520

PostPosted: Sat Jul 14, 2007 12:00 pm    Post subject: Reply with quote

Quote:
Updated: Замечено, что EXPLORER -> Open в любом меню работает корректно, т.е. если жму в окне редактирования/на текущей вкладке, то открывается именно открытый в текущей вкладке файл; если вызываю из меню последних файлов - открывается именно выделенный файл из меню последних файлов.
Именно поэтому в релизе к 3.3.4 значится "Добавлено: сообщение AKD_GETRECENTFILES."

Code:
"OpenFileDirectory" Call("Scripts::Main", 1, "OpenFileDirectory.js", "%f", 0)

"CopyFileNameToClipboard" Call("Scripts::Main", 1, "CopyEditFile.js", "%f", 0)

В параметре %f есть необходимость, только, если в скрипте идет обработка аргументов вызова (например как в OpenFileDirectoryArg.js).
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5520

PostPosted: Sun Jul 15, 2007 12:43 pm    Post subject: Reply with quote

Added: ContextMenu::Main index menu parameter to external plugin call.


ContextMenu plugin v1.3
Back to top
View user's profile Send private message Send e-mail
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5520

PostPosted: Sun Jul 15, 2007 12:47 pm    Post subject: Reply with quote

VladSh
Quote:
Хотелось бы чтобы либо вручную командовать параметром Main/Show(?!) для определённого меню...

Для открытия "Меню вкладок":
Code:
"Settings" Call("ContextMenu::Main", 1, 2)
; Parameters: 1 -execute, 2 -menu index
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Mon Jul 16, 2007 8:33 am    Post subject: ОТЛИЧНО Reply with quote

Instructor wrote:
Added: ContextMenu::Main index menu parameter to external plugin call.

Сила!
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Mon Jul 16, 2007 10:19 am    Post subject: Глюк Reply with quote

Ситуация: я сдуру назначил для ContextDLL (старого плагина) комбинацию клавиш Alt+P, теперь когда удалил плагин и нажимаю, то вылетает такое сообщение: "Heвoзмoжнo oткpыть фaйл "C:\Program Files\AkelPad\AkelFiles\Plugs\ContextDLL.dll"!"
Где бы можно было переопределить эту комбинацию клавиш (настройки, ini) - не нашёл.
Хотелось бы вернуть обратно, т.е. чтобы по Alt+P вылетало окошко с плагинами.

Вопрос: как с этим бороться? Confused
Вопрос 2: можно ли сделать так, чтобы запрещать изменять комбинации клавиш, которые уже используются в самом AkelPad (указанные справа от команды в главном меню)?
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5520

PostPosted: Mon Jul 16, 2007 11:13 am    Post subject: Reply with quote

Quote:
... теперь когда удалил плагин и нажимаю, то вылетает такое сообщение: "Heвoзмoжнo oткpыть фaйл...
Поможет кнопка "Почистить" в диалоге плагинов.
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Mon Jul 16, 2007 12:24 pm    Post subject: + Reply with quote

Instructor wrote:
Поможет кнопка "Почистить" в диалоге плагинов.
Действительно помогла Smile с перезагрузкой Akel'а.
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Tue Jul 17, 2007 11:12 am    Post subject: Вопросы уже уехали Reply with quote

Instructor

Назад в будущее Smile
VladSh wrote:
Я просто не хотел каждый раз беспокоить Вас по пустякам.
Хочется для контекста по списку свежих ещё пару действий:
1. Удалить из списка ненужный лейбл файла (наверняка функция удаления у Вас уже есть, похоже удаляются несуществующие файлы).
2. Создать новый файл на основе выделенного (текст из этого файла скопировать в новый).
Возможно, и даже скорее всего, хотелки будут рости Mr. Green именно поэтому (да и Вам, возможно, было бы проще) я хотел несколько готовых функций в общей dll, чтобы дёргать их оттуда из разных мест, т.е. дать их в публичный доступ.

По 1-му вопросу. Может можно что-то сделать?
Idea Вообще по последним файлам есть идея сделать подшивки, т.е. чтобы пользователь мог по какому-то признаку формировать подшивки "излюбленных" Smile файлов. Выбираем подшивку, и далее работаем со списком последних файлов из неё. По моему было бы удобно. Но идея ещё сырая, путь пока "поварится".
Мне хотябы скриптец по удалению лейбла наименования файла из списка последних... Embarassed

По 2-му можно сделать вставку файла (выбором, как Файл\Открыть...) с заменой выделения.
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 856
Location: Kyiv, Ukraine

PostPosted: Wed Jul 18, 2007 11:52 am    Post subject: Reply with quote

Плагин - бомба (в хорошем смысле слова) Smile
А где описание всех его функций и параметров?
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5520

PostPosted: Wed Jul 18, 2007 1:57 pm    Post subject: Reply with quote

DV
Quote:
А где описание всех его функций и параметров?
Используюмые методы можно посмотреть в дефолтных меню. Что касаемо метода Call() с дополнительными параметрами, то это уже зависит от вызываемого плагина.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3, ... 41, 42, 43  Next
Page 2 of 43

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group