ContextMenu plugin

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

ContextMenu plugin

Post by Instructor »

Configure main menu and context menu for edit control, MDI tabs, hyperlinks and recent files.

Standard "Main menu" with icons: Eng, Rus


<<Download>>
Last edited by Instructor on Fri Jul 02, 2010 2:24 pm, edited 3 times in total.

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

Post by Instructor »

Changed: merged ContextMenu::Settings into ContextMenu::Main.


ContextMenu plugin v1.1

Offline
Posts: 63
Joined: Sun Jun 24, 2007 4:03 pm
Contact:

Post by wisgest »

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

Offline
Posts: 3
Joined: Fri Jul 13, 2007 8:39 am

Post by telega »

SpecialChar plugin v1.2 от 12.07.07 11:36.
Добавил в настройках ContextMenu для Меню окна редактирования строку:

"Special Char" Call("SpecialChar::Main")

При включении SpecialChar все нормально. При выключении:

AkelPad.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.

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

Post by Instructor »

telega
ContextMenu-Rus.txt:
*** Требования ***

AkelPad 3.3.4 или выше

Offline
Posts: 3
Joined: Fri Jul 13, 2007 8:39 am

Post by telega »

Instructor wrote:telega
ContextMenu-Rus.txt:
*** Требования ***

AkelPad 3.3.4 или выше
Требование выполнено - AkelPad 3.3.4.
При выгрузке SpecialChar из окна Plugins ошибок не возникает.

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

Post by Instructor »

Воспроиводится. После работы посмотрю.

Offline
Posts: 3
Joined: Fri Jul 13, 2007 8:39 am

Post by telega »

С AkelBrackets та-же история - вылитает при выгрузке используя ContextMenu.
Так что, я зря начал постить не в ветку ContextMenu plugin.

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

Post by Instructor »

Fixed: crash after plugin unload in Call() method.


ContextMenu plugin v1.2

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

МЕЧТА СБЫВАЕТСЯ!!! :)

Post by VladSh »

Да!!! Это именно то, что хотелось!
Начало положено! 8) Огромное Вам Спасибо!!!

Немножко баго-фич по списку последних файлов:
1. Похожая проблема (что-то такое было раньше) - из главного меню контекстное работает, а со стрелки открытия файла нет.
2. Нужно получать имя файла, на котором клацаешь RightClick, а как его получить - не знаю :-\
Это нужно к примеру чтобы:
- открыть папку этого файла; если запускать OpenFileDirectory.js, то он открывает папку файла, открытого в текущей закладке.
- ещё хочется чистить историю от уже ненужных лейблов файлов, т.е. в контекстной менюшке чтобы был пункт "RemoveItem". И проч...

Ещё вопрос. Все подменюшки, которые я пишу с вызовами скриптов почему-то идут с галочкой перед именем, почему она появляется, и можно ли её как-то убрать?

На меню вкладок поставил первой строкой:

Code: Select all

"CopyFileNameToClipboard" Call("Scripts::Main", 1, "CopyEditFile.js", "%f", 0)
работать становится гораздо комфортнее! :)

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

Post by Instructor »

1. Похожая проблема (что-то такое было раньше) - из главного меню контекстное работает, а со стрелки открытия файла нет.
У ToolBar плагина своя обработка.
2. Нужно получать имя файла, на котором клацаешь RightClick, а как его получить - не знаю :-\
Вызов:

Code: Select all

"OpenFileDirectoryArg" Call("Scripts::Main", 1, "OpenFileDirectoryArg.js", `"%f"`, 0)
Скрипт:
OpenFileDirectoryArg.js

Code: Select all

/// Open directories of argument files

var WshShell=new ActiveXObject("WScript.Shell"); 

var objArgs=WScript.Arguments;

for (i=0; i < objArgs.length; ++i)
{
  var szFile=objArgs(i);
  var szDir=GetParent(szFile);

  WshShell.Run('\"' + szDir + '\"');
}

//Functions
function GetParent(file)
{
  var i;

  for (i=file.length - 1; i >= 0; --i)
  {
    if (file.charAt(i) == '\\')
      return file.substr(0, i);
  }
}
Ещё вопрос. Все подменюшки, которые я пишу с вызовами скриптов почуму-то идут с галочкой перед именем, почему она появляется, и можно ли её как-то убрать?
Галочка означает, что плагин загружен. Можно пользоваться методом Exec() вместо Call(). Например так:

Code: Select all

"OpenFileDirectoryArg" Exec(`WScript "%a\AkelFiles\Plugs\Scripts\OpenFileDirectoryArg.js" "%f"`)
Last edited by Instructor on Fri Jul 13, 2007 1:53 pm, edited 1 time in total.

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

ОШИБКА

Post by VladSh »

Instructor wrote:
1. Похожая проблема (что-то такое было раньше) - из главного меню контекстное работает, а со стрелки открытия файла нет.
У ToolBar плагина своя обработка.
А может запихнуть движок по последним файлам в RecentFiles.dll?
Тогда его можно будет вызывать и из Гл.меню и из ToolBar-плагина и не придётся синхронизировать изменения.
И туда же функцию получения имени файла по RightClick!?

Вызов:

Code: Select all

"OpenFileDirectoryArg" Call("Scripts::Main", 1, "OpenFileDirectoryArg.js", "%f", 0)
Скрипт:...
Пишет ту же ошибку, что и на OpenFileDirectory.js - файл не найден. Пытался сам найти и исправить ошибку, но не вижу где она может быть...
Методом 'научного тыка' установлено, что ошибка вылетает, если в пути файла встречается пробел.

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

Post by Instructor »

Добавил кавычки:

Code: Select all

"OpenFileDirectoryArg" Call("Scripts::Main", 1, "OpenFileDirectoryArg.js", `"%f"`, 0)

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

УРА! РАБОТАЕТ!!!

Post by VladSh »

:idea:
Ещё хотелось бы номера команд (если это возможно) из меню "Правка\Выделение" для добавления в контекст.меню окна редактирования.

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

Post by Instructor »

1. Похожая проблема (что-то такое было раньше) - из главного меню контекстное работает, а со стрелки открытия файла нет.
viewtopic.php?p=1297
Ещё хотелось бы номера команд (если это возможно) из меню "Правка\Выделение" для добавления в контекст.меню окна редактирования.
В файле "ContextMenu.zip\Source\AkelDLL.h" под заголовком "//AkelPad menu messages:"
Post Reply