xintrea пишет:

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

О как!  Теперь ясно стало, а то я мучался вопросом "какого черта?"

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

Если пользователю не понравится результат. он всегда может откатить изменения по Ctrl-Z и выделить текст иначе.

xintrea пишет:
Stanislaw пишет:

Такой вопрос - а нет планов встроить интерпретатор скриптового языка, типа rexx python perl?

А какой в этом смысл? Можно и так иметь инсталляцию python/php и писать свои скрипты.

Жизнь вообще лишена смысла, мы все умрем.

Но например, считать суммы ЖКХ, записывать счетчики в записях по месяцам, дергать данные со счетчиков (у меня счетчик воды по http расход отдает, скоро электрический добавлю, газовый с вебкамеры нужно распознавать). Вести домашнюю бухгалтерию. банковские выписки из почты разбирать.

Была бы возможность, куда применить придумается.

xintrea пишет:

Я подумываю о подсистеме вызова командных обработчиков, настраиваемую пользователем.

Типа, пользователь может создать команду-действие, задав ей название и команду, типа

Получить все теги в базе

python getAllTags.py %treeFile

где вместо %treeFile будет подставляться полное имя файла mytatra.xml. Ну и там другие подстановки, например %currentNoteId - идентификатор текущей записи. %currentNoteDir - каталог текущей записи и тому подобное.

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

И совершенно неважно на чем будет написан скрипт, хоть на баше, хоть на питоне, хоть на CMD, пользователь сам настраивает под себя.

Вариант, вариант. Только я думаю команду желательно поближе разместить, чтоб не лазать по дереву вложенных меню. Панель пользовательских кнопочек добавить в редактор (для работы с текущей записью) И на общую панель кнопочек, рядом с кнопкой "синхронизация" (для работы со всеми записями/ записями в текущей подветке). Пользовательский интерфейс желательно не усложнять но и излишне не упрощать.

xintrea пишет:
Stanislaw пишет:

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

Это все регулируется опциями diff. В 1С просто сделали человеческую настройку по-умолчанию, ну и часть опций вынесли в визуальные настройки.

Если diff пользоваться "в лоб" то конечно, красоты и удобства не увидишь.

Ладно, что мы все о diff..

Такой вопрос - а нет планов встроить интерпретатор скриптового языка, типа rexx python perl?

xintrea пишет:

Я проверял одновременное редактирование одной и той же записи в Evernote. Уж более известного продукта в области PIM-менеджеров просто не существует.

"Известный" не равно "лучший".

MyTetra сейчас ведет себя так же, более свежая правка с другого компа затирает чуть более раннюю сделанную на этом.
Это проблема только для записи открытой в момент синхронизации (при стечении нескольких обстоятельств: в случае редких синхронизаций и частой правке записей).

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


xintrea пишет:
Stanislaw пишет:

Говорят в 1С хорошая сравнивалка текстовых файлов.

Это просто diff с пользовательским интерфейсом. В Linux таких программ куча: kdiff3, meld, diffmerge и т.д.

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

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

xintrea пишет:
Stanislaw пишет:

Mytetra спокойно относится к такой фоновой синхронизации, но не видит внесенных изменений.

Вообще-то видит. Настройки - Синхронизация - Периодическая проверка дерева записей на изменение сторонними программами (галка).

Единственное чего не видит - изменений той записи, которая в данный момент просматривается/редактируется.

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

В статье написано "синхронизация через git", а я не программист, у меня его нет, пользоваться гитхабом  - доверять свои потенциально чувствительные данные неопределенному кругу лиц неизвестных моральных качеств..  По этому я в настройки синхронизации и не заглядывал внимательно.

xintrea пишет:

И это нормально, потому что MyTeta - персональный менеджер заметок, а один человек не может находиться одновременно в двух местах.

Человек не может, а [s]я могу.[/s] две копии MyTetra могут быть открыты в одном месте.

Я с ноутом на котором открыта заметка периодически подхожу к настольному компу и открываю ту же заметку которая уже открыта на ноуте, иногда бывает что на большом экране удобнее, почитать, дописать. У меня это довольно частый сценарий. (и несколько реже, в этот же момент времени, эта заметка может быть открыта еще и на другом-третьем настольном компе).

xintrea пишет:

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

По моему [s]еще[/s] уже в Lexicon была рудиментарная возможность совместного одновременного редактирования документа. Один автор мог продолжать дописывать в конце. другой мог корректировать и исправлять опечатки в предыдущих абзацах.

Но не суть, это второстепенно.
В общем понятно что задача черезвычайно интересная, емкая, не на одну диссертацию. по этому предложение №1 "чтобы MyTetra видела внесенные изменения и или обновляла отображаемую запись, или как то показывала что текущая отображаемая запись была изменена в фоне какой то внешней программой."

[strike]Конечно мечтой и совсем круто было бы показывать изменения. Говорят в 1С хорошая сравнивалка текстовых файлов.[/strike]

SergSA пишет:

Предлагаю добавить экспорт:
- базы в архив, для передачи её на другой компьютер;

Я для этого использую СинкТрезор https://github.com/canton7/SyncTrayzor
настраиваешь папку d:\mytetra\data\
исключаешь папку icons
Командуешь Трезор, синкай!


Плюсы
синкаешь с любым количеством компов,
синкашеь только с доверенными устройствами,
есть какое то управление версиями,
настраиваемая периодичность синхронизации,
настраиваемое направление синхронизации, (туда-сюда или в одну сторону. например одно устройство может быть в read-only, остальные равноправно редактируют)

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

Mytetra спокойно относится к такой фоновой синхронизации, но не видит внесенных изменений.

Из минусов.
Нельзя одновременно редактировать одну и туже запись в двух или более местах.

Если с другого компа изменена запись открытая здесь на чтение (просмотр без внесения изменений) MyTetra не покажет изменений. Для отражения изменений нужно перейти в другую запись и вернуться обратно.

xintrea

Просьба\Предложение 1: чтобы MyTetra видела внесенные изменения и или обновляла отображаемую запись, или как то показывала что отображаемая запись была изменена в фоне какой то внешней программой.

Просьба\Предложение 2: сделать специальную ветку с специальным типом записей "Персона".

Например вести список людей с указаниями у каждого их дней рождения, И других важных дат. Типа их профессиональных праздников (типа не забыть позвонить поздравить с днем шахтера, с днем ВДВ, с днем взятия бастилии, с днем медика, с годовщиной свадьбы, с днем рождения любимого мурзика, день траура).

И в этой ветке сделать пару служебных страниц (автогенерируемых "записей") специального вида.
события в течении 11 дней: 3 дня назад (уже прошли) события сегодня  и события на 7 дней вперед
события в течении 30 дней: 3 дня назад (уже прошли) события сегодня  и события на 30 дней вперед
и всплывающие уведомления.

И возможность задавать связи между "записями-персонами". Открываешь  персону "Вася"  а там записано что он сын "Модест Карловича" и владеет собакой "Шарик" соответственно ссылки на карточку отца и карточку питомца.

Типа если в mytetra.xml у записи type=persone,  то
рядом с text.html лежит properties.xml с датами относящимися к этой записи и ссылками на связанные записи (link="1497554561e0onb9rnsj" text="бастард)".
наверное как то так.

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

Просьба\Предложение 3: добавить к свойствам записей поле "напомнить", в котором указывать день и время (время с шагом 15 минут достаточно) и может быть длительность (с шагом 15 минут). При наступлении показывать всплывающее напоминание.

И наверное специальную служебную ветку "события" в которой эти записи отображать пока событие длится (за 15 минут до, во время и еще 15 минут после). 


Соответственно, если в mytetra.xml у записи нет поля remember. или оно пустое - запись обычная, если есть и время совпало  - всплывает напоминание (издается звук динь-динь), запись отображается ЕЩЕ и в  этой специальной ветке (в остальное время запись отображается только на своем обычном месте в дереве).


Извините, если не сумел толком сформулировать.