| View previous topic :: View next topic |
| Author |
Message |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Tue May 15, 2012 12:57 pm Post subject: |
|
|
| Идея, которая витала в воздухе давно, - добавить возможность всем панелям плагов/тулбарам возможность автоматически скрываться при уходе курсора с области панели/тулбара и появляться при подведении курсора мыши к краю проги. Такая возможность есть в LN, AuotCAD и др. прогах, - очень удобно. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Wed May 16, 2012 8:19 pm Post subject: |
|
|
Когда-то я просил такой скрипт
http://akelpad.sourceforge.net/forum/viewtopic.php?p=3370#3370
Но очень не нравилось когда скрипт "бегает" по вкладкам и AkelPad дёргается, а если их много, то это очень не красиво )
Недавно познакомился с функцией SetRedraw, немножко модифицировал скрипт:
Сейчас, на мой взгляд очень хорошо - в заголовке окна пробегают адреса файлов, но акел не "Дёргается"
Можно ли такую же вещь добавить при работе с командами
1. Вкладок Command(4319) , Command(4320)
2. При "Поиске и Замене" - галочка "все файлы" - зачем нам видеть как программа пробегает по всем вкладкам
CloseUnnamedAll.js
| Code: | /// CloseUnnamedAll.js
// http://tc-image.3dn.ru/forum/9-254-839-16-1332920186
// http://akelpad.sourceforge.net/forum/viewtopic.php?p=3370#3370
//
//// Закрыть все указанные MDI документы.
//// Close all unnamed or unexisted MDI documents.
//
// Arguments:
// -CloseUnnamed=false -Закрыть документы без имени (по умочанию = true).
// -CloseUnexisted=true -Закрыть документы, если файлы были удалены (по умочанию = false).
//
// Example:
// -"Close only unexisted" Call("Scripts::Main", 1, "CloseUnnamedAll.js", `-CloseUnnamed=false -CloseUnexisted=true`)
// Version v1.4 16.11.2011 + 26.04.2012
// Author: Instructor
//Arguments
var bCloseUnnamed=AkelPad.GetArgValue("CloseUnnamed", true);
var bCloseUnexisted=AkelPad.GetArgValue("CloseUnexisted", false);
//Variables
var hMainWnd=AkelPad.GetMainWnd();
var oSys=AkelPad.SystemFunction();
var lpFrameInit=0;
var lpFrameCur=0;
var bFrameClose=false;
var pFile;
var dwState=0;
if (AkelPad.IsMDI())
{
var hMainWnd = AkelPad.GetMainWnd();
SetRedraw(hMainWnd, false); // Добавил для себя Аверин Андрей (26.04.2012)
//Turn off watch file
if (hMenuMain=AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 21 /*MI_MENUMAIN*/, 0))
{
dwState=oSys.Call("user32::GetMenuState", hMenuMain, 4253 /*IDM_OPTIONS_WATCHFILE*/, 0 /*MF_BYCOMMAND*/);
if (dwState & 0x8 /*MF_CHECKED*/)
AkelPad.Command(4253 /*IDM_OPTIONS_WATCHFILE*/);
}
for (;;)
{
if (!lpFrameCur) lpFrameCur=AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0);
if (!lpFrameInit) lpFrameInit=lpFrameCur;
//Is frame must be closed
pFile=AkelPad.GetEditFile(0);
if ((bCloseUnnamed && !pFile) ||
(bCloseUnexisted && oSys.Call("kernel32::GetFileAttributes" + _TCHAR, pFile) == -1))
{
bFrameClose=true;
}
if (bFrameClose)
{
//Close MDI frame
if (AkelPad.GetEditModified(0))
AkelPad.SendMessage(hMainWnd, 1229 /*AKD_SETMODIFY*/, 0, false);
if (!AkelPad.Command(4318 /*IDM_WINDOW_FRAMECLOSE*/))
break;
if (lpFrameInit == lpFrameCur)
lpFrameInit=0;
lpFrameCur=0;
bFrameClose=false;
}
else
{
//Next MDI frame
lpFrameCur=AkelPad.Command(4316 /*IDM_WINDOW_FRAMENEXT*/);
if (!lpFrameCur || lpFrameCur == lpFrameInit)
break;
}
}
//Turn on watch file
if (dwState & 0x8 /*MF_CHECKED*/)
AkelPad.Command(4253 /*IDM_OPTIONS_WATCHFILE*/);
SetRedraw(hMainWnd, true);
}
function SetRedraw(hWnd, bRedraw)
{
var oSys = AkelPad.SystemFunction();
AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);
bRedraw && oSys.Call("user32::InvalidateRect", hWnd, 0, true);
} |
|
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
Posted: Wed May 16, 2012 8:44 pm Post subject: |
|
|
Andrey_A_A
SetRedraw - нужно пользоваться осторожно. Везде, где команда была уместна, она была использована. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Fri May 25, 2012 11:06 am Post subject: |
|
|
Надо бы центрировать окно | Quote: | Документ был изменён. Сохранить?
---------------------------
Да Нет Отмена | , а также «Невозможно открыть файл "..."» и т.п. относительно окна AkelPad'а, а не всего экрана.
А то на разрешении 1920x1080 растягивать окно на всю ширину нет практически никакого смысла.  |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
Posted: Fri May 25, 2012 3:18 pm Post subject: |
|
|
Infocatcher
Это стандартное поведение WINAPI функции MessageBox. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Fri May 25, 2012 5:55 pm Post subject: |
|
|
Какой изврат...  |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Sat May 26, 2012 3:24 pm Post subject: |
|
|
При таскании вертикального маркера с зажатым Shift (Параметры – Редактор 1 – Перенос – Маркер) надо добавить отображение текущего положения во всплывающей подсказке.
Аналогично при таскании разделителей окна.
Еще можно утащить удобную фишку из Total Commander'а: если перемещать разделитель с зажатым Shift, то переместить можно будет только в несколько фиксированных положений. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Sat May 26, 2012 7:52 pm Post subject: |
|
|
При печати не хватает возможности вывести в колонтитуле общее количество страниц.
Для перенесенных строк надо бы сделать какую-нибудь визуальную индикацию (вроде, так сделано в Visual Studio, мне сейчас не проверить). Или ограничиться выводом номеров строк.  |
|
| Back to top |
|
 |
San_dr
Joined: 06 Dec 2010 Posts: 110 Location: г.Харьков, Русь
|
Posted: Sat May 26, 2012 11:13 pm Post subject: |
|
|
Благодаря FullScreenEx.js от VladSh теперь очень удобно работать на широкоформатных мониторах, - кнопки в один ряд равномерно.
| Code: | "Режимы панелей окна" Icon("%a\AkelFiles\Plugs\ico
{
-"AltFullScreen - полноэкранный режим с расширенным тулбаром - Вкл/Выкл" Call("Scripts::Main", 1, "FullScreenEx.js", `-ToolBar="ToolBar-Alt"`)
-"Полноэкранный режим с расширенным тулбаром и Псевдо-SDI- Вкл/Выкл" Call("Scripts::Main", 1, "FullScreenEx.js", `-ToolBar="ToolBar-Alt" -Menu=1 -StatusBar=1`)
.....и т.д } |
А для полной реализации "Полноэкранный режим с расширенным тулбаром и Псевдо-SDI" не хватает флагов FullScreen режима - чтобы при полном раскрытии главное меню тоже не было куцым и обрубленным
| Code: | #Только для FullScreen
SET(N)
.....
}
UNSET(N) |
|
|
| Back to top |
|
 |
Visitor7
Joined: 03 Jun 2012 Posts: 88
|
Posted: Thu Jun 07, 2012 1:12 pm Post subject: |
|
|
Хотелось бы, чтобы PMDI режим можно было приводить к виду SDI. SDI режима хватает почти для всего, кроме редких случаев когда надо провести поиск и замену сразу в большом количестве документов, хотелось бы чтобы эти возможности сосуществвали вместе.
Конкретнее, для PMDI:
- Опция, позволяющая выбирать:открывать документ при двойном клике по нему, в новой вкладке(если окно есть) или в новом окне.
- Опция, позволяющая выбирать поведение при drug&drop: открывать документ в новой вкладке или в текущей (замещать документ находящийся во вкладке, в которую его закинул).
| Quote: | | Или хотя бы волшебную чудо-кнопку(shift например), при удержании которой во время drag`n`drop файла, он открывался бы не в новой вкладке, а в той, в которую его пихнешь. Очень удобно когда вкладки не нужны. Ну када-нить в далеком будущем)))) |
- Опция, позволяющая скрывать панель вкладок если вкладка только одна.
- Внутренняя команда открыть/закрыть панель вкладок. А сверху они находятся или снизу - в виде опции. |
|
| Back to top |
|
 |
[Yustas.NeO]
Joined: 12 Mar 2007 Posts: 235
|
Posted: Fri Jun 15, 2012 5:52 am Post subject: |
|
|
Предлагаю
1. Добавить возможность иметь не один, а несколько вертикальных маркеров.
2. Добавить опцию, при которой функция "Не открывать программу дважды" работает только для экземпляров, запущенных по одному и тому же пути (включая имя файла). |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 855
|
Posted: Mon Jun 18, 2012 7:10 am Post subject: |
|
|
| Quote: | | Добавить опцию, при которой функция "Не открывать программу дважды" работает только для экземпляров, запущенных по одному и тому же пути (включая имя файла) |
Вообще расширить до способности различать копии Акеля по директории запуска. А то и с MDI и двумя копиями Акеля не то поведение, которое ожидаешь |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Tue Jun 19, 2012 7:11 pm Post subject: |
|
|
Просьба в StatusUserFormat добавить начертание шрифта, а то с этими скриптами, постоянно его передёргивающими, уже путаешься... Сейчас хотел добавить, но во всём монструозном списке %-"переменных" не нашёл его
Хотелось бы видеть не
Шрифт=10
а, к примеру,
Courier New, 10. |
|
| Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1081 Location: Poland
|
Posted: Tue Jun 19, 2012 7:50 pm Post subject: |
|
|
VladSh
Font style also:
FontName, FontStyle, FontSize.
Font: Courier New, 2, 10. |
|
| Back to top |
|
 |
F. Phoenix
Joined: 24 Dec 2011 Posts: 113
|
Posted: Fri Jun 22, 2012 11:35 am Post subject: |
|
|
Выбор сглаживания в диалоге шрифтов бы непомешал, где системное было бы лишь одним из вариантов.
В винде вообще с этим сглаживанием как-то не очень: шрифты с ClearType далеко не все сочетаются, для самого интерфейса оно не прет совершенно, и многие проги с ним работают довольно хреново, но в некоторых вполне ок. В общем, юзал бы GDI++, да он баженный, блин, так что пока лучшим вариантом вижу просто в отдельных прогах по возможности ClearType выставлять, как оно выставляется в том же мелкоофисе =\
Кстати, никому не встречался какой-нибудь моноширный шрифт с хорошим мелким курсивом без сглаживания?
Last edited by F. Phoenix on Wed Aug 15, 2012 2:05 pm; edited 1 time in total |
|
| Back to top |
|
 |
|
|
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
|
Powered by phpBB © 2001, 2005 phpBB Group
|