Page 23 of 50

Posted: Fri Aug 03, 2012 8:00 pm
by se7h
мужики, есть готовый прототип, чем мы тут занимаемся? кроме кнопки регулярных выражений берем всё и воплощаем у QSearch

единственное, я могу нарисовать простые пиктограммы для кнопок, чтобы не фигачить на них непонятные буквы

Image

Serge Yolkin
делай как на картинке, а значки потом прицепим :wink:

Posted: Sat Aug 04, 2012 11:02 am
by DV
Насчёт символьных шрифтов: то, что у одного отображается в виде спец. символов, у другого вполне может отображаться квадратами. (Я даже свидетель тому, как спецсимволы - в моём случае буквы с ударением - одного и того же шрифта отображаются по разному в Windows XP и 7.)
Насчёт картинки se7h: тут же были протесты против картинок. Хотя, думается мне, если нарисовать чёрный символ с белой окаймовкой, то его одинаково хорошо будет видно на фоне как на белой, так и на чёрной кнопки.

Posted: Sat Aug 04, 2012 6:11 pm
by se7h
DV
именно
простые и ясные символы, по концепции как у sublime text, по обводке что-нибудь придумаю

Posted: Sat Aug 04, 2012 6:49 pm
by Instructor
DV wrote:Насчёт картинки se7h: тут же были протесты против картинок. Хотя, думается мне, если нарисовать чёрный символ с белой окаймовкой, то его одинаково хорошо будет видно на фоне как на белой, так и на чёрной кнопки.
Можно просто использовать ToolBar контрол со значками (могут иметь прозрачные пикселы). RecentFiles плагин:
Image

Posted: Mon Aug 06, 2012 7:39 am
by Serge Yolkin
se7h
Я не понял, что такое "Обратный поиск" и "Find All" (предполагаю, что это "подсветить всё", но не уверен; может, сделать эту такую кнопку с фиксацией, и расположить её слева, где остальные опции?). Кроме того, где расположить прогрессбар? Или предлагается отказаться от него совсем?

DV
Если используются спецсимволы из обычного (несимвольного) шрифта, такое (квадраты вместо символов) часто бывает, а вот символы из Webdings или Wingdings, как правило, отображаются корректно. В конце концов, можно потестить это на бете до релиза. Другое дело, если шрифт может быть задан только для всех элементов интерфейса сразу...

Вариант, который предложил Instructor, мне показался интересным. В конце концов, эстеты всегда смогут нарисовать иконки по своему вкусу. Хоть символьные. ResHacker рулит.

Промежуточный итог: Если уважаемый DV подтверждает/урезает/дополняет перечень элементов интерфейса (т.е. готов наполнить эти элементы функционалом), если вариант кнопок с иконками всех устраивает (я смогу изобразить только что-нибудь совсем уж простенькое, кому-то прийдется заняться живописью), давайте отмашку - сверстаю максимум за сутки - это если со временем будут проблемы, а то и за пару часов управлюсь.

Posted: Mon Aug 06, 2012 11:07 am
by se7h
"Обратный поиск"
искать в обратном направлении, то есть вверх
"Find All"
выделить все вхождения и установить возле каждого каретку для их одновременного редактирования (multiselecting), АР таким функционалом не обладает, а значит и Find all у QSearch не будет

какой смысл пытаться выкрутиться с помощью глифов, когда можно нарисовать аккуратные двухцветные значки?
пользователь должен однозначно понимать, что будет, когда он нажмет на определенную кнопку

Posted: Mon Aug 06, 2012 11:15 am
by DV
В рамках QSearch, пользуясь тем, что уже есть, представляются разумными следующие элементы:
- учитывать регистр (фиксатор)
- слово целиком (фиксатор)
- использовать спец. символы (фиксатор) *
- подсветить все (фиксатор)
- поиск вперёд (кнопка)
- поиск назад (кнопка)
- найти все (кнопка) **

* использовать спец. символы (фиксатор) - дублирует аналогичный пункт всплывающего меню: поиск с использованием \n, \t, * и ?
** найти все (кнопка) - поиск всех вхождений в файле с выводом в Log::Output. Крутая идея, но, учитывая поддержку спец. символов (см. выше), требующая рефакторинга существующего кода. Не буду ничего обещать в этом плане, но предусмотреть такую кнопку можно.

С точки зрения интерфейса, нужно придумать, как всё это разместить эргономично и по фен-шую, не забывая про обычно скрытый прогресс-бар, появляющийся, например, во время длительного поиска со спец.символами (скажем, при поиске редко встречающегося слова в большом файле). Ну и внешний вид кнопок/фиксаторов.
Например: http://urupin.livejournal.com/158556.html

Posted: Mon Aug 06, 2012 3:34 pm
by Serge Yolkin
se7h wrote:искать в обратном направлении
А Find Prev тогда зачем?
se7h wrote:... аккуратные двухцветные значки ... пользователь должен однозначно понимать ...
Что ж, дело за Вами, коллега. Вроде, должны влезть значки 16х16, но, возможно, высоты не хватит. Надо бы попросить уважаемого DV попробовать скомпилировать и выдать рекомендации по размеру иконок.

Code: Select all

#define IDI_MATCHCASE 1001
#define IDI_WHOLEWORD 1002
#define IDI_SPECSYMBOLS 1003
#define IDI_SEARCHUP 1004
#define IDI_SEARCHDOWN 1005
#define IDI_HIGHLIGHTALL 1006
#define IDC_BT_MATCHCASE 1001
#define IDC_BT_WHOLEWORD 1002
#define IDC_BT_SPECSYMBOLS 1003
#define IDC_BT_SEARCHUP 1004
#define IDC_BT_SEARCHDOWN 1005
#define IDC_BT_HIGHLIGHTALL 1006
#define IDR_RCDATA1 1

#include "resource.h"
#include <windows.h>

LANGUAGE 0,0

IDI_QSEARCH ICON DISCARDABLE "QSearch.ico"
IDI_MATCHCASE ICON DISCARDABLE "1001.ico"
IDI_WHOLEWORD ICON DISCARDABLE "1002.ico"
IDI_SPECSYMBOLS ICON DISCARDABLE "1003.ico"
IDI_SEARCHUP ICON DISCARDABLE "1004.ico"
IDI_SEARCHDOWN ICON DISCARDABLE "1005.ico"
IDI_HIGHLIGHTALL ICON DISCARDABLE "1006.ico"

IDD_QSEARCH DIALOGEX 6,12,390,16
FONT 8,"MS Shell Dlg",0,0,0
STYLE WS_CHILDWINDOW|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN
EXSTYLE WS_EX_CONTROLPARENT
BEGIN
  CONTROL "",IDC_ED_FINDTEXT,"Edit",NOT WS_VISIBLE|WS_CHILDWINDOW|WS_TABSTOP|ES_WANTRETURN|ES_AUTOHSCROLL,90,2,200,13,WS_EX_CLIENTEDGE
  CONTROL "",IDC_CB_FINDTEXT,"ComboBox",NOT WS_VISIBLE|WS_CHILDWINDOW|WS_VSCROLL|WS_TABSTOP|CBS_HASSTRINGS|CBS_AUTOHSCROLL|CBS_DROPDOWN,90,2,200,100,WS_EX_CLIENTEDGE
  CONTROL "",IDC_BT_CANCEL,"Button",WS_CHILDWINDOW|WS_VISIBLE|BS_FLAT|BS_VCENTER|BS_CENTER|BS_OWNERDRAW,4,3,10,10
  CONTROL "",IDC_BT_MATCHCASE,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER|0x00000040,19,1,16,14
  CONTROL "",IDC_BT_WHOLEWORD,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER|0x00000040,35,1,16,14
  CONTROL "",IDC_BT_SPECSYMBOLS,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER|0x00000040,51,1,16,14
  CONTROL "",IDC_BT_SEARCHUP,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER|0x00000040,310,1,16,14
  CONTROL "",IDC_BT_SEARCHDOWN,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER,294,1,16,14
  CONTROL "",IDC_BT_HIGHLIGHTALL,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_FLAT|BS_VCENTER|BS_CENTER|0x00000040,70,1,16,14
  CONTROL "",IDC_PB_PROGRESS,"msctls_progress32",NOT WS_VISIBLE|WS_CHILDWINDOW,294,2,92,13
END

IDR_MENU_OPTIONS MENU
BEGIN
  POPUP "Options"
  BEGIN
    MENUITEM "Search: On-the-fly mode",IDM_SRCHONTHEFLYMODE
    MENUITEM "Search: Always from beginning",IDM_SRCHFROMBEGINNING
    MENUITEM "Search: Use special characters ( \\n, \\t, * and ? )",IDM_SRCHUSESPECIALCHARS
    MENUITEM "Search: Pick up selected text",IDM_SRCHPICKUPSELECTION
    MENUITEM "Search: SelFind picks up selected text",IDM_SRCHSELFINDPICKUP
    MENUITEM "Search: Stop at EOF (end of file)",IDM_SRCHSTOPEOF
    MENUITEM "Window: Docked top",IDM_SRCHWNDDOCKEDTOP
    MENUITEM "Window: Select all when focused",IDM_EDITFOCUSSELECTALL
    MENUITEM "Window: Catch main F3",IDM_CATCHMAINF3
    MENUITEM "Window: Catch main Esc",IDM_CATCHMAINESC
    MENUITEM "Window: Hotkey hides the panel",IDM_HOTKEYCLOSESWND
    MENUITEM "Window: Editor auto-focus",IDM_EDITORAUTOFOCUS
  END
END

VS_VERSION_INFO VERSIONINFO
FILEVERSION 4,9,0,0
PRODUCTVERSION 4,9,0,0
FILEOS 0x00000004
FILETYPE 0x00000002
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "FFFF04B0"
    BEGIN
      VALUE "Comments", "Pig is really neat! :-)\0"
      VALUE "CompanyName", "Full of Madness Co.\0"
      VALUE "FileDescription", "QSearch plugin for AkelPad text editor\0"
      VALUE "FileVersion", "4, 9, 0, 0\0"
      VALUE "InternalName", "QSearch\0"
      VALUE "LegalCopyright", "(C) Sep 2007 - Jul 2012, Vitaliy Dovgan aka DV\0"
      VALUE "OriginalFilename", "QSearch.dll\0"
      VALUE "ProductName", "QSearch plugin for AkelPad text editor\0"
      VALUE "ProductVersion", "4, 9, 0, 0\0"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0xFFFF, 0x04B0
  END
END

IDR_RCDATA1 RCDATA
BEGIN
END

Posted: Mon Aug 06, 2012 3:58 pm
by Infocatcher
se7h wrote:... когда можно нарисовать аккуратные двухцветные значки?
Я все же за единую стилистику редактора в целом. А на тулбаре значки вполне себе цветные.
А по поводу наглядности можно предусмотреть режим «значки и текст».

Posted: Mon Aug 06, 2012 5:00 pm
by Andrey_A_A
Давно не заходил, думал вопрос кнопок на панели плагина будет задвинут, а тут уже 3-й лист. Отлично, если реализуется функционал

Posted: Mon Aug 06, 2012 5:55 pm
by se7h
Serge Yolkin wrote:А Find Prev тогда зачем?
по сути, активизация опции "Обратный поиск" меняет местами Find и Find Prev, возможно, кому-то одно из поведений более привычно, плюс ко всему, при узком окне редактора, кнопка "Find Prev" скрывается

Infocatcher
в любом современном профсофте иконки выглядят лаконично и минималистично при полной ясности изображения и, признаюсь, мне нравится этот подход 8)

Posted: Mon Aug 06, 2012 9:20 pm
by VladSh
А я всё-таки за то, чтобы плаг использовал темы кодера. Ну будут картинки, и что, при смене темы на светлую "да здравствуют попугаи"?

Posted: Mon Aug 06, 2012 9:29 pm
by FeyFre
VladSh, ну это уже перебрали. Только скинирования нам и не хватало. Итак есть куча проблем, которые пока просто не всплывают.

Posted: Tue Aug 07, 2012 3:43 am
by Infocatcher
se7h wrote:в любом современном профсофте иконки выглядят лаконично и минималистично при полной ясности изображения и, признаюсь, мне нравится этот подход 8)
А мне все равно удобнее ориентироваться в цветных иконках – это быстрее. То есть для одноцветных надо форму сравнивать, а так некоторые сразу про цвету видно. Хотя мера в цветах, конечно, нужна. :)

Posted: Tue Aug 07, 2012 4:46 am
by Serge Yolkin
Infocatcher wrote:Я все же за единую стилистику редактора в целом.
Полностью с Вами согласен. Тогда, возможно, вместо баттонов надо использовать тулбары со значками? Как предлагал Instructor? Готов попробовать, только разберусь с их позиционированием (ну и если DV не будет возражать).

VladSh, у меня панель плагина ниже горизонтального скроллбара, не очень понимаю, зачем там тема кодера...

Infocatcher, думаю, "о вкусах не спорят - есть тысяча мнений". Предложите комплект иконок по списку функций, представленному DV, и, если Ваш вариант не вызовет слишком уж резкой критики, можно будет его реализовать.