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 4.5.4
Goto page Previous  1, 2
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Xephon



Joined: 03 Jun 2008
Posts: 118

PostPosted: Sun Feb 20, 2011 5:07 pm    Post subject: Reply with quote

Quote:
Тестовая

Все пришло в норму.
Quote:
...обновление SearchReplace.js и LinesFilter.js для поддержки масштаба отличного от 96 dpi

Аааа! Наконец-то, спасибо большое!
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1562

PostPosted: Sun Feb 20, 2011 5:18 pm    Post subject: Reply with quote

Instructor wrote:
А также внимание бонус - обновление SearchReplace.js и LinesFilter.js для поддержки масштаба отличного от 96 dpi Smile
Не проще было заменить все вызовы oSys.Call("user32::CreateWindowEx" + _TCHAR, ...) на вызовы вспомогательной функции со ScaleX() и ScaleY() внутри?
Как-то так
Code:
var scale = new Scale(0, hMainWnd);

hWndDialog = createWindowEx(
   0,             //dwExStyle
   pClassName,    //lpClassName
   0,             //lpWindowName
   0x90CE0000,    //WS_VISIBLE|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME
   0,             //x
   0,             //y
   392,           //nWidth
   230,           //nHeight
   hMainWnd,      //hWndParent
   0,             //ID
   hInstanceDLL,  //hInstance
   DialogCallback //Script function callback. To use it class must be registered by WindowRegisterClass.
);

function createWindowEx(dwExStyle, lpClassName, lpWindowName, styles, x, y, w, h, hWndParent, id, hInstance, callback) {
   return oSys.Call(
      "user32::CreateWindowEx" + _TCHAR,
      dwExStyle,
      lpClassName,
      lpWindowName,
      styles,
      scale.x(x),
      scale.y(y),
      scale.x(w),
      scale.y(h),
      hWndParent,
      id,
      hInstance,
      callback
   );
}
function Scale(hDC, hWnd) {
   var hNewDC = hDC || oSys.Call("user32::GetDC", hWnd);
   if(hNewDC) {
      this._x = oSys.Call("gdi32::GetDeviceCaps", hNewDC, 88 /*LOGPIXELSX*/);
      this._y = oSys.Call("gdi32::GetDeviceCaps", hNewDC, 90 /*LOGPIXELSY*/);

      //Align to 16 pixel
      this._x += this._x % 16;
      this._y += this._y % 16;

      if(!hDC) oSys.Call("user32::ReleaseDC", hWnd, hNewDC);

      this.x = function(x) {
         return oSys.Call("kernel32::MulDiv", x, this._x, 96);
      };
      this.y = function(y) {
         return oSys.Call("kernel32::MulDiv", y, this._y, 96);
      };
   }
   else {
      this.x = this.y = function(n) {
         return n;
      };
   }
}


[Upd]
И еще бы как-нибудь ширину границы окна учитывать. =/

[Upd – 2]
Или оно не нужно. Хм.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5167

PostPosted: Mon Feb 21, 2011 3:24 pm    Post subject: Reply with quote

Lenchik
Тестовая.

Infocatcher
С какой стороны не смотри на горшок - все равно горшок Smile
Back to top
View user's profile Send private message Send e-mail
Lenchik



Joined: 10 Jan 2011
Posts: 211

PostPosted: Mon Feb 21, 2011 4:37 pm    Post subject: Reply with quote

Instructor wrote:

Тестовая.

Успешно убралось исчезание содержимого страницы при откате назад.
Однако выделение всего файла (и соответственно съезжание всего курсора и положения окна на конец файла) - осталось по-прежнему.

Добавлю ещё один баг к меню замены:
Выделяем кусок текста. Вызываем меню замены. В этом меню выбираем "В выделении". Записываем что и на что заменить и тыкаем "заменить". После этого сбрасывается выделение ранее выделенного куска текста и стоит выделение первого найденного текста (Кстати, после этого "find next" тоже уже не работает). Тыкаем "заменить" ещё раз и получаем треньканье о завершении поиска и собственно замену первого текущего слова.
Хотя по-идее мы должны были бы при помощи "найти далее" и "заменить" ходить и перебирать и при необходимости заменять слова внутри изначально выделенного (на момент вызова диалога поиска) куска текста. Что-то в этих связанных багах связано с запоминанием состояний и области выделения и предпочтения текущей области. Возможна еще ситуация, когда при старте поиска в выделении, возвращаться назад при помощи установки соответствующего переключателя. (То есть область выделения желательно помнить в течение всего времени существования этой копии диалога)
Надеюсь, я понятно изложил свои мысли и домыслы.
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1562

PostPosted: Mon Feb 21, 2011 5:09 pm    Post subject: Reply with quote

Instructor wrote:
С какой стороны не смотри на горшок - все равно горшок Smile
Может быть, но горшками поменьше проще орудовать. Smile
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5167

PostPosted: Mon Feb 21, 2011 5:12 pm    Post subject: Reply with quote

Немного поломалось обновление вертикальной прокрутки обновил тестовую.

Lenchik wrote:
Однако выделение всего файла (и соответственно съезжание всего курсора и положения окна на конец файла) - осталось по-прежнему.
Это ожидаемое поведение редактора, чтобы этого избежать включаем "Scroll::NoScroll".

Quote:
Добавлю ещё один баг к меню замены:
Это ожидаемое поведение редактора - запоминание области поиска не реализовано.
Back to top
View user's profile Send private message Send e-mail
VladSh



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

PostPosted: Mon Feb 21, 2011 5:52 pm    Post subject: Reply with quote

Instructor wrote:
Это ожидаемое поведение редактора - запоминание области поиска не реализовано.
Да, и тема такая даже была.
Back to top
View user's profile Send private message Visit poster's website
Lenchik



Joined: 10 Jan 2011
Posts: 211

PostPosted: Mon Feb 21, 2011 6:19 pm    Post subject: Reply with quote

Instructor wrote:
Lenchik wrote:
Однако выделение всего файла (и соответственно съезжание всего курсора и положения окна на конец файла) - осталось по-прежнему.
Это ожидаемое поведение редактора, чтобы этого избежать включаем "Scroll::NoScroll".

Выделение всего содержимого тоже ожидаемое поведение?!
NoScroll помог, спасибо.

Мне кажется, что кнопку Cancel/Отмена в диалоге замены стоит переименовать в Close/Закрыть поскольку она не отменяет действий в этом диалоге, а закрывает его. Во всяком случае заметной мне как пользователю отмены чего-либо или незапоминания сделанных настроек не происходит. Что при закрытии крестиком в правом вверхнем углу, что при "отмене" запоминается положение radio элементов, но не запоминается выбор того, что искать и чем заменить (сам поиск/замена не производился - были выбраны другие значения из списка в целях теста поведения).
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1562

PostPosted: Fri Mar 04, 2011 12:54 am    Post subject: Re: Релиз AkelPad 4.5.4 Reply with quote

Instructor wrote:
Добавлено: при закрытии программы, в сообщение о сохранении документа добавлен вариант "Нет для всех".
Мне кажется, нехорошо при последовательном закрытии вкладок менять размер диалога – под курсором может оказаться уже другая кнопка.
Допустим, есть несколько несохраненных вкладок. Закрываем окно. Видим Да/Нет/Нет для всех/Отмена (оно еще и по Ctrl+C как стандартные диалоги не копируется, что не есть хорошо). Смотрим на текст, мышкой жмем на Нет. И так для нескольких файлов. А в последний раз нам под курсор подло подсовывают Да. Smile
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5167

PostPosted: Fri Mar 04, 2011 4:12 pm    Post subject: Reply with quote

Infocatcher
Про Ctrl+C не знал Smile В 4.5.6 не будет "подло подсовываться ".
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1562

PostPosted: Fri Mar 04, 2011 4:57 pm    Post subject: Reply with quote

Instructor
Неужели переписывали, если требовалось? Very Happy
Впрочем, HyperSnap, например, может текст захватывать.
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
Page 2 of 2

 
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