xintrea / mytetra_dev

MyTetra - smart crossplatform manager for information collecting / MyTetra - кроссплатформенный менеджер накопления информации / Официальная страница:
http://webhamster.ru/site/page/index/articles/projectcode/105
254 stars 55 forks source link

Добавлена возможность зажимать кнопки выравнивания #16

Closed dsbabkov closed 6 years ago

dsbabkov commented 8 years ago

Это то же, что и #15, просто есть разделение на коммиты

xintrea commented 8 years ago

Ага, хорошо.

Кстати, можно решить такую задачку. В Qt 4.x до какой-то версии небыло отображения символов форматирования в QTextEdit. И поэтому символы форматирования рисуются вручную.

void EditorTextArea::paintEvent(QPaintEvent *event)
...
 // Если символы форматирования ненужно рисовать
 if(flagShowFormatting==false)
   return;

Все что после этого кода - ручное рисование. Его и надо заменить.

Мне вроде говорили, что начиная с 4.8.x или 5-й версии появился какой-то метод, который отображает непечатные символы.

Только не трогай линии отрисовки отступа (выше по коду). Они появляются тогда, когда перемещается движок отступов на линейке отступов.

dsbabkov commented 8 years ago

Если будет время, то посмотрим.

xintrea commented 8 years ago

dsbabkov

В общем, поразбирался я с отрисовкой символов форматирования средствами Qt и пока решил оставить свой код:

http://webhamster.ru/site/page/index/main/news/352

dsbabkov commented 8 years ago

Ок. Понял. На всякий случай напомню, что в этом реквесте реализовано только поведение кнопок выравнивания текста.

xintrea commented 8 years ago

С этим реквестом такая проблема нарисовалась.

В MyTetra же настраиваемые панели кнопок, и размещение кнопок настраивается в editorconf.ini в опциях tools_line_1 и tools_line_2.

Принято, что настраивается каждая кнопка. Понятия группы кнопок просто нет. Для выделения группы используется разделитель (separator), который прописывается в ini-файле в тех местах, где он нужен.

А ты сделал прямо в коде группу кнопок. Это нарушило весь концепт. Поэтому отсюда я возьму только зажатие кнопок стандартным методом Qt и все.