valerius пишет:

Часть кнопок тултипы имеет, та, что над деревом и таблицей.
А те кнопки, которые отвечают за область редактирования - без тултипов. Довольно нелогично.

Это все следствие того, что редактор задумывался как отдельный проект. В нем (почти) нет завязок на основной код MyTetra.

Добавить появление tool tip несложно, там больше ковыряться придется с включением в интерфейс управления объектом редактора команд включения/отключение tooltip, ибо эта опция должна быть настраиваемой, чтобы опытные пользователи тултипы могли отключить.

Я записал себе в хотелки.

victor_dobrov пишет:

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

Сделать выбор первой записи не сложно. Выбор первой записи уже был в MyTetra, но я почему-то от него отказался. Сейчас уже не помню почему. Возможно потому, что если выбирать первую запись, если ветка еще не посещалась, тогда становится непонятным - посещалась ветка или нет. То есть сейчас, если при клике на ветку не выбирается запись, это значит что вы в этом сеансе в эту ветку еще не входили. А если выбирать первую, то непонятно: то ли был ты уже тут и смотрел первую запись, толи небыл ты тут а тебе автоматом показывается первая запись.


victor_dobrov пишет:

Почему так категорично? И зачем ограничивать всех только белым цветом фона? Ведь есть более приятные светлые оттенки, к разным темам можно привязать определённый цвет фона страницы и вовсе это не жутко.

Я к верстке текста трепетно отношусь, и мне не нравится встроенный редактор MyTetra, но это максимум что я смог выжать из QTextEdit. Вообще я даже не собирался давать пользователю возможность выбирать шрифт, размер, начертание и жирность. Но это пришлось сделать, потому что QTextEdit на момент создания MyTetra отвратно работал со стилями. Как сейчас дела обстоят - не знаю. По хорошему, нужно сделать с десяток стилей по назначению, и уже каждый стиль давать редактировать на шрифт/размер/начертание/жирность. Тогда записи будут выглядеть достойно и форматировать их будет проще. И никаких выделений цветом, цветных страниц и тому подобное. Поэтому клавиша изменения цвета шрифта скрыта, и ее можно добавить только правкой конфига. Другие цветные клавиши я даже не делал. И пока не вижу смысла такое делать.

victor_dobrov пишет:

1) Серьёзное неудобство в 1.42: хотя бы Автоматически выбирать (показывать) первую запись ветки при переходе в неё (надоело мышью тыкать на запись при переходе по веткам). Сейчас если выйти из программы и снова зайти, запоминается только последняя выбранная запись, и при запуске автоматически открывается. В идеале надо запоминать, какая запись была активной в каждой ветке и при переходе в разные ветки сразу открывать запись, с которой работали в этой ветке последний раз (или первую)

Сечас выбор записи запоминается для каждой ветке. Только запоминается пока работаешь с программой, до ее выключения. А на постоянку запоминается только выбор последней просматриваемой/редактируемой записи. Мне, впринципе, норм, потому что я почти не выключаю компьтер.

Если хотите, чтобы запоминался выбор записей в каждой ветке, тогда скажите, как определять, в какой ветке запоминать выбор, а в какой нет. Представьте, что у вас база на 100000 записей, у вас 10000 веток, и вы всем этим активно пользуетесь. Значит вам придется при каждом выборе одной записи записывать в какое-нибудь свойство конфигурационного файла 20000 идентификаторов (IDВетки+IDВыбраннойЗаписи). Естественно, это долго и представляет собой большой объем. Поэтому нужен какой-то критерий, который позволит запоминать не все посещенные ветки, а только некоторые, для снижения нагрузки. Но каков этот критерий?

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


victor_dobrov пишет:

2) не хватает выделения текста цветом фона (как цвет выделения текста в MsWord) (я часто помечаю часть предложения, но каждый раз лезть в HTML-код долго)

Это сделать несложно, и, я думаю, сделаю. Правда я противник такого безбашенного WYSIWIG, и поэтому даже скрыл кнопку выделения текста цветом, хотя через ручную настройку editorconf.ini ее можно показать.


victor_dobrov пишет:

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

Все это возможно при появлении подсистемы настройки горячих клавиш. Я много раз предлагал горячим кодерам, у которых чешутся руки, запилить такую подсистему для MyTetra. Благо что она достаточно хорошо должна быть отделена от основного кода и достаточно проста. Но никто пока не смог сделать, а у меня приоритеты немного другие.


victor_dobrov пишет:

4) запускать по кнопке внешний Редактор HTML-кода, указанный пользователем редактор. (может эта опция есть в ini-файле?)

Сделать опцию и запустить несложно. А дальше что? Ну откроется редактор HTML, ну отредактиуете HTML-код. А как этот редактор HTML будет уведомлять MyTetra, что он закончил редактирование, и нужно принять изменения?


victor_dobrov пишет:

5) разные цвета страниц, как в OneNote (он почти идеал записной книжки, но моя основная система - Manjaro Linux). (одинаковый цвет фона малоинформативен, иногда желательно менять, но каждый раз лезть в HTML-код долго)

Ого, даже цвет страницы? Ну это не сложно, но выглядеть будет жутко. Вам наверно нужен какой-то другой менеджер.


victor_dobrov пишет:

6) вместо предупреждения: "Another MyTetra exemplar is running" просто показать окно записей MeTetra (неплохо бы на показ окна назначить Сочетание клавиш, например Win+T).

Сочетания клавиш открытия окна можно настроить в любом современном DE.

vpn2117 пишет:

Спасибо за идею. Нет, не нашёл.

Не нашел последнюю версию, или не нашел вообще?
Внутренняя корзина MyTetra не отключается, если только ты не задал ей нулевой размер.
Не может быть, чтоб там небыло версии файла mytetra.xml, причем несколько штук, с последними изменениями.


vpn2117 пишет:

Ладно. Как подхватить записи? Файлы записей остались.

Можешь написать скрипт на php, чтоб он просканировал каталоги с записями и создал XML дерево.

Формат описан здесь: Формат хранения данных MyTetra

Но я бы на твоем месте не пользовался таким облаком, которое удаляет данные при синхронизации. Причем, как ты говоришь, бесследно.

Кстати, проверь время на своих компах, из-за этого может облако глючить.

vpn2117 пишет:

Наслаждался программой, наполнял заметки. Внезапно "Невозможно прочитать файл ./data/mytetra.xml. No such file or directory.
И его реально нет. В корзине нет. Recuva не нашла. Каталог был под синхронизацией облако mail.ru - нет и в корзине облака.

Явно, это вопрос к авторам облака. Такие чудеса что даже в корзине облака нет - однозначно сбой в облаке.

Последнюю копию mytetra.xml можете найти в каталоге trash (это корзина MyTetra, смотри настройки где она находится), возможно это вам поможет. Напишите сюда, нашли ли вы там последнюю версию mytetra.xml.

Возможно, что вы синхронизировались с пустым каталогом на другом, новом подключенном компьютере. И облако решило, что пустой каталог - это более новое состояние, чем старое с файлами. И поудаляло вам файлы. Но вот почему удаленные файлы облако не поместило в свою корзину - это загадка. Разбирайтесь.

Да, этот скрипт запили один товарищ под винду.

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

chadwick пишет:
In editor config not found parameter tools_line_2

В общем, посмотрел внимательней. Сейчас стоит два запрета:

1. Опция не может быть пустой
2. В tools_line_X не могут повторяться кнопки. То есть, если на одной линии есть кнопка, она не может быть на той же линии, и не может быть на другой линии. Повторяться могут только сепараторы.

Поэтому избавиться от второй линии не получится, только сделать ее "почти" пустой, прописав в нее separator.

Но я не понимаю, зачем вы это дело затеяли в свете того, что имеется кнопка распахивания/сворачивания линиий. То есть вы можете свернуть обе линии, оставив одну. И это состояние запоминается между сеансами, ничего лишний раз тыкать не нужно.

g.shiroki пишет:

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

Я не понимаю, что вы вообще делаете. Программа не может выдать ошибку "неверный пароль" при зашифровывании ветки. При расшифровке - да, но не при зашифровывании.


Кроме того, вы писали:

g.shiroki пишет:

то программа выдает ошибку" новый и старный пароли совпадают"

Такой ошибки в коде программы нет. Возможно, вы пропустили частицу НЕ? Не может быть ошибки, когда пароли совпадают.


Если реально хотите, чтобы я помог, делайте скринкаст, потому что таких объяснений я не понимаю.

babaduk пишет:

А можно ее самому скомпилировать и протестировать?

Не могу вам этого запретить smile

Это же опенсорч.

chadwick пишет:

Если изменить tools_line на tools_line_1, то ругается на отсутствие tools_line_2. Если добавить tools_line_2 без каких-либо значений или со значением false, то всё равно не запускается.

Попробуйте

tools_line_2=""

Должно сработать.

g.shiroki пишет:

Зашфровал ветку (MyTetra 1.42.2 Ubuntu) и програма не принимает пароль, а также не позволяет его изменить - выдает ошибку "неверный пароль". Пароль точно правильный (отвечаю под пацана) + когда во все три поля изменения пароля ввожу его, то программа выдает ошибку" новый и старный пароли совпадают".

Это происходит на одной записи, или на нескольких записях? В v.1.42.4 был исправлен баг вот такой: https://github.com/xintrea/mytetra_dev/issues/29

... этот баг появляется только в момент начала шифрования (то есть, если ветка до этого не была зашифрована) и только с первой записью, с которая была открыта в момент шифрования, и только если продолжить редактирование без переключения на другую запись. Файл базы XML не портится, сбивается содержимое только одной записи.

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

Вы же наткнулись на граничный эффект - редактируется запись, ветка шифруется, запись продолжает редактироваться. Вот последовательность действий:

    Создать незашифрованную ветку
    В ветке создать одну запись с каким-то содержимым
    Кликнуть по этой ветке и зашифровать ее (файл на диске зашифруется)
    Кликнуть на область редактирования записи, которая все еще открыта и добавить пару строк
    Кликнуть на другую ветку (в этот момент файл последней редактируемой записи сбрасывается на диск. Но на диск она будет записана расшифрованной, потому что редактирование записи начиналось когда она еще не была зашифрована)

Этот баг был исправлен: https://github.com/xintrea/mytetra_dev/ … 9f5ff9736f

Вы не на него случайно наткнулись, или у вас что-то другое произошло?

Исправленная версия - v.1.42.4, у нее релиза не было, она пока только в исходниках есть.

babaduk пишет:

Я мог бы попробовать реализовать эту идею.

Это будет сложно даже для меня как для автора программы. Работа большая. Лучше придумайте какие-нибудь консольные программы-помогаторы на PHP, с помощью которых можно выполнять действия с базой MyTetra. Попробуйте все что вы написали реализовать в виде PHP-скрипта: запускаете, он лезет в корзину, находит файлы, составляет список, показывает его пользователю, спрашивает что восстановить, и восстанавливает, создавая через DOM в mytetra.xml нужные ветки, создавая каталоги восстанавливаемых записей, помещая туда файлы восстанавливаетмых записей, правильно их переименовывая.

Вот это будет действительно нужная вещь, и вам будет более реалистично ее сделать.

knn пишет:

- наличия возможности копирования текста из открытого "открепляемого окна текста" (пр.: "мои тэги  mytetra" (для добавления тэгов из списка)) и вставки в "редактирование свойств записи" -
p.s. можно : создать файл, прикрепить к записи "Тэги MyTetra" ;

Не понял. Копировать текст из открепленного окошка можно. Вставить текст в режиме редактирования свойств записи тоже можно. Или вы хотите это автоматизировать?

Наверно, лучше дождаться появления облака тегов в MyTetra, тогда вся эта пляска станет ненужной.


knn пишет:

- возможности увеличения шрифтов в заголовках, названиях заметок;

Для этого есть настройщики внешнего вида Qt программ:

https://www.linux.org.ru/news/opensource/13171326

Но я ими не пользуюсь, поэтому что там как сказать не могу.


knn пишет:

- возможности выбора "скрытых файлов" в "menu settings" -> "select dir" (пока можно копировать путь из файл-менеджера и "вставлять"(для смены баз)).

Там появляется стандарное системное окно выбора файла, если в системе есть таковое (справедливо для Windows и Linux DE типа KDE, Gnome, Mate...) какие есть возможности в этом окне, такие и будут, нет смысла там что-то менять.

knn пишет:

"Собрал" модуль(~ли) Mytetra-1.42.2 для PuppyRus-A03 - работает, пользуюсь. В компьютерах и линуксе я "новичок" - как вышло - так вышло (можно ещё подправить модули, названия, "зависимости"; доработать, выложить 32-bit модули.).  " :-\ По-моему вполне подходит - multyOS-port-приложение для port-Дистра/OS-PRA (возможно и др. PuppyRus-ов) - всё от российских "производителей"  "

http://forum.puppyrus.org/index.php?topic=19813.0

Если доработаете и соберете правильный пакет, я его размещу на официальной странице.

babaduk пишет:

Такой вопрос: создал новую запись, либо к примеру открыл старую и начал ее редактирование. Редактировал 2 часа, написал много текста и в этот момент пропадает питание в сети и естественно бесперебойник отсутствует. Будет ли данная запись потеряна? Или есть периодическое автосохранение?

Сброс изменений в тексте записи на диск происходит в следующие моменты времени:

- Когда вы в MyTetra переключаетесь на другую запись
- Когда окно MyTetra теряет фокус (вы переключаетесь куда-нибудь в браузер или на другую программу)
- Перед срабатыванием команды синхронизации с периодичностью синхронизации, задаваемой в Настройках - Синхронизация - Периодичность синхронизации.
- Когда вы нажимаете Ctrl+S (есть такая скрытая кнопка save, которая настраивается только в конфиге редактора, но сочетание ctrl+s работает всегда)

Есть еще другие моменты сохранения на диск, но это основные.

То есть, если вы два часа работаете только с одной записью MyTetra, никуда не переключаетесь, редактируете только этот текст, не нажимаете Ctrl+S, и у вас не включена синхронизация, то да, изменения могут не записаться на диск.

Можете воспользоваться хаком: даже если вы не пользуетесь синхронизацией,  настройте периодическую синхронизацию-пустышку. То есть, в команде синхронизации оставьте только одну команду "cd" (если команда будет полностью пуста, процесс синхронизации не будет запускаться). Установите галку "Включить периодическую фоновую синхронизацию", задайте периодичность синхронизации (там по умолчанию 5 минут вроде). И все. Как таковой синхронизации у вас происходить не будет, зато сброс на диск изменений, вносимых вами в запись, будет происходить с указанной вами частотой.

Примерно так.

babaduk пишет:

Какая ситуация в настоящий момент? Поломается ли база при неполной синхронизации через  Dropbox?

Это как повезет. Все данные уж точно не потеряете.

Стратегия следующая: если вы переносите куда-то базу, или сделали большие изменения, затрагивающие всю базу (обработали все записи скриптом, или влили автоматом какую-нибудь крупную ветку, или еще что), то лучше убедиться что DropBox все засинхронизировал.

Если у вас обычная повседневная работа, то даже если пройдет неполная синхронизация с DropBox, то потерять можно максимум те записи/изменения, которые вы затронули при своей работе и неполностью синхронизировали.

Там же все просто, эффекты будут такие же как если бы вы писали программу с кодом, разложенным по куче небольших файлов, а потом неполностью засинхронизировались. Поломается ли у вас программа? Конечно да. Сможете ли вы вернуть код программы в удобовариваемый вид? При наличие определенной сноровки да. Так и тут.

Если боитесь за данные, а Dropbox работает плохо, например из-за плохого интернета, сделайте себе скрипт бекапа (лучше инкрементального, типа rdiff-backup), и поместите его вызов первым в команду синхронизации "Настройки - Синхронизация - Команда синхронизации". Если пользуетесь DropBox, так вообще, больше никаких команд в этой строке не нужно. Не забываете ставить галку "периодическая фоновая синхронизация". По сути, такими настройками вы просто запускете определенную команду в фоне с определенной периодичностью. И пусть у вас там периодически делается бекап. Тогда даже если что-то пойдет не так из-за неполной синхронизации Dropbox, у вас всегда локально будут в наличие сохраненные данные.