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 

Что хотелось бы добавить в AkelPad (3)
Goto page Previous  1, 2, 3 ... 8, 9, 10 ... 17, 18, 19  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
VladSh



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

PostPosted: Tue May 15, 2012 12:57 pm    Post subject: Reply with quote

Идея, которая витала в воздухе давно, - добавить возможность всем панелям плагов/тулбарам возможность автоматически скрываться при уходе курсора с области панели/тулбара и появляться при подведении курсора мыши к краю проги. Такая возможность есть в LN, AuotCAD и др. прогах, - очень удобно.
Back to top
View user's profile Send private message Visit poster's website
Andrey_A_A



Joined: 03 Jun 2010
Posts: 556
Location: Сочи, Хоста

PostPosted: Wed May 16, 2012 8:19 pm    Post subject: Reply with quote

Когда-то я просил такой скрипт
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
View user's profile Send private message Send e-mail Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5371

PostPosted: Wed May 16, 2012 8:44 pm    Post subject: Reply with quote

Andrey_A_A
SetRedraw - нужно пользоваться осторожно. Везде, где команда была уместна, она была использована.
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1619

PostPosted: Fri May 25, 2012 11:06 am    Post subject: Reply with quote

Надо бы центрировать окно
Quote:
Документ был изменён. Сохранить?
---------------------------
Да Нет Отмена
, а также «Невозможно открыть файл "..."» и т.п. относительно окна AkelPad'а, а не всего экрана.
А то на разрешении 1920x1080 растягивать окно на всю ширину нет практически никакого смысла. Smile
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5371

PostPosted: Fri May 25, 2012 3:18 pm    Post subject: Reply with quote

Infocatcher
Это стандартное поведение WINAPI функции MessageBox.
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1619

PostPosted: Fri May 25, 2012 5:55 pm    Post subject: Reply with quote

Какой изврат... Sad
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1619

PostPosted: Sat May 26, 2012 3:24 pm    Post subject: Reply with quote

При таскании вертикального маркера с зажатым Shift (Параметры – Редактор 1 – Перенос – Маркер) надо добавить отображение текущего положения во всплывающей подсказке.
Аналогично при таскании разделителей окна.
Еще можно утащить удобную фишку из Total Commander'а: если перемещать разделитель с зажатым Shift, то переместить можно будет только в несколько фиксированных положений.
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1619

PostPosted: Sat May 26, 2012 7:52 pm    Post subject: Reply with quote

При печати не хватает возможности вывести в колонтитуле общее количество страниц.
Для перенесенных строк надо бы сделать какую-нибудь визуальную индикацию (вроде, так сделано в Visual Studio, мне сейчас не проверить). Или ограничиться выводом номеров строк. Smile
Back to top
View user's profile Send private message Visit poster's website
San_dr



Joined: 06 Dec 2010
Posts: 155
Location: г.Харьков, Русь

PostPosted: Sat May 26, 2012 11:13 pm    Post subject: Reply with quote

Благодаря 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
View user's profile Send private message
Visitor7



Joined: 03 Jun 2012
Posts: 88

PostPosted: Thu Jun 07, 2012 1:12 pm    Post subject: Reply with quote

Хотелось бы, чтобы PMDI режим можно было приводить к виду SDI. SDI режима хватает почти для всего, кроме редких случаев когда надо провести поиск и замену сразу в большом количестве документов, хотелось бы чтобы эти возможности сосуществвали вместе.
Конкретнее, для PMDI:
- Опция, позволяющая выбирать:открывать документ при двойном клике по нему, в новой вкладке(если окно есть) или в новом окне.
- Опция, позволяющая выбирать поведение при drug&drop: открывать документ в новой вкладке или в текущей (замещать документ находящийся во вкладке, в которую его закинул).
Quote:
Или хотя бы волшебную чудо-кнопку(shift например), при удержании которой во время drag`n`drop файла, он открывался бы не в новой вкладке, а в той, в которую его пихнешь. Очень удобно когда вкладки не нужны. Ну када-нить в далеком будущем))))

- Опция, позволяющая скрывать панель вкладок если вкладка только одна.
- Внутренняя команда открыть/закрыть панель вкладок. А сверху они находятся или снизу - в виде опции.
Back to top
View user's profile Send private message
[Yustas.NeO]



Joined: 12 Mar 2007
Posts: 258

PostPosted: Fri Jun 15, 2012 5:52 am    Post subject: Reply with quote

Предлагаю
1. Добавить возможность иметь не один, а несколько вертикальных маркеров.

2. Добавить опцию, при которой функция "Не открывать программу дважды" работает только для экземпляров, запущенных по одному и тому же пути (включая имя файла).
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Mon Jun 18, 2012 7:10 am    Post subject: Reply with quote

Quote:
Добавить опцию, при которой функция "Не открывать программу дважды" работает только для экземпляров, запущенных по одному и тому же пути (включая имя файла)

Вообще расширить до способности различать копии Акеля по директории запуска. А то и с MDI и двумя копиями Акеля не то поведение, которое ожидаешь
Back to top
View user's profile Send private message
VladSh



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

PostPosted: Tue Jun 19, 2012 7:11 pm    Post subject: Reply with quote

Просьба в StatusUserFormat добавить начертание шрифта, а то с этими скриптами, постоянно его передёргивающими, уже путаешься... Сейчас хотел добавить, но во всём монструозном списке %-"переменных" не нашёл его Smile
Хотелось бы видеть не
Шрифт=10
а, к примеру,
Courier New, 10.
Back to top
View user's profile Send private message Visit poster's website
KDJ



Joined: 06 Mar 2010
Posts: 1361
Location: Poland

PostPosted: Tue Jun 19, 2012 7:50 pm    Post subject: Reply with quote

VladSh
Font style also:
FontName, FontStyle, FontSize.
Font: Courier New, 2, 10.
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Fri Jun 22, 2012 11:35 am    Post subject: Reply with quote

Выбор сглаживания в диалоге шрифтов бы непомешал, где системное было бы лишь одним из вариантов.

В винде вообще с этим сглаживанием как-то не очень: шрифты с ClearType далеко не все сочетаются, для самого интерфейса оно не прет совершенно, и многие проги с ним работают довольно хреново, но в некоторых вполне ок. В общем, юзал бы GDI++, да он баженный, блин, так что пока лучшим вариантом вижу просто в отдельных прогах по возможности ClearType выставлять, как оно выставляется в том же мелкоофисе =\


Кстати, никому не встречался какой-нибудь моноширный шрифт с хорошим мелким курсивом без сглаживания?


Last edited by F. Phoenix on Wed Aug 15, 2012 2:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2, 3 ... 8, 9, 10 ... 17, 18, 19  Next
Page 9 of 19

 
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