На официальной странице менеджера накопления информации MyTetra опубликован план развития для очередной версии этой программы.
В связи со сменой работы я уже не смогу плотно заниматься написанием кода MyTetra. Поэтому предполагается сделать разработку более общественной, разместив код на GitHub. Каждому, кто горит желанием приложить руку к написанию кода, я могу предложить как маленькую, так и крупную задачку. Со своей стороны мне придется контролировать выполнение работы и качество кода, чтобы проект не развалился и не превратился в макаронную мешанину.
Ближашие задачи следующие:
- Перевести разработку на GitHub.com;
- Добавить возможность хранения файлов и ссылок на файлы внутри записи;
Сделать поиск по названиям веток дерева;
- При поиске по базе, в случае если поисковая фраза найдена внутри текста записи, сделать прокрутку до данного места и выделение найденного текста;
- Заменить пункты контекстного меню в дереве "Вырезать" на "Вырезать ветку", "Копировать" на "Копировать ветку","Вставить" на "Вставить ветку", иначе пользователи не догадываются, что над ветками возможно проведение подобных действий.
- Исправить глюк: если удалить рисунок в записи, а потом сразу попробовать удалить/скопировать/перенести эту запись, то в свойствах записи остается информация о наличие рисунка и при выполнении действия MyTetra пытается учесть этот удаленный рисунок и получается сегфолт;
- В main.cpp добавить подключение sys/types.h и QTranslator, чтобы шла сборка на Free BSD;
- В mytetra.pro добавить опцию LIBS += -lcompat чтобы шла линковка на Free BSD;
- Попробовать реализовать следующий функционал: "Неплохо бы сделать, чтобы поведение форматирования (полужирный, курсив и т.п.) было схоже с поведением в текстовых процессорах в том плане, чтобы можно было, к примеру, нажать ctrl + B и начать писать текст уже полужирным шрифтом, а не сперва писать текст, а лишь потом назначать форматирование";
- Опционально: cделать просмотр истории измененных записей в каталоге Trash, сделать функционал по восстановлению данных записей;
Исправить баг. MyTetra ставится по умолчанию в /usr/local/bin, игнорируя опцию qmake PREFIX=/usr;
- Исправить кодировку в консоли вывода результата команды синхронизации. Там, где Git русифицирован, наблюдаются кракозябры;
- В редакторе сделать наконец возможность ввода и редактирования URL-ов;
- Разобраться, как сделать строку синхронизации Git, в которой будет опция, автоматически разрешающая конфликты слияний в пользу более последних изменений. Конфликт может возникнуть при нерегулярных синхронизациях, в случае если и зменен в двух местах один и тот же параметр записи, например название;
- Сделать кнопку/команду "Закрыть зашифрованные ветки" чтобы ветки закрылись и далее снова потребовался ввод пароля для доступа к данным;
- Сделать настройку "Закрыть зашифрованные ветки спустя N минут бездействия";
- Сделать запоминание текста текущей записи при сворачивании в трей;
- Сделать возможность помечать записи "Только на чтение" чтобы случайно ничего с ними сделать было нельзя;
- Опционально: сделать облако меток;
- Исправить баг https://webhamster.ru/punbb/viewtopic.php?pid=313#p313
Некоторые пользователи сообщают, что при инсталляции MyTetra в директории пользователя создается директория с именем ?????. Разобраться почему, исправить. Подробне тут https://webhamster.ru/punbb/viewtopic.php?pid=389#p389;
- Опционально: попробовать обрабатывать буфер обмена на наличие текста и нескольких картинок, и сделать возможность одновременной вставки и текста и картинок;
- Сделать более агрессивную очистку форматирования при нажатии кнопки [C]. На текущий момент не очищается формат межстрочных отступов. Получить нестандартные отступы можно путем копирования какого-нибудь текста из веб-браузера.
Работа над каждой задачей будет происходить следующим образом. После того, как участник высказывает желание решить задачу, на форуме выделяется страничка, на которой будет написана полностью постановка задачи, способ решения. (Трекерами задач пока пользоваться не будем, тут хотя бы Git одолеть). Итоговые изменения будут приняты в основную ветку только в том случае, если задача корректно решена именно тем способом, который был описан в постановке задачи.
Желающие присоединиться к разработке могут оставлять заявки на решение любой вышеперечисленной задачи (или какой-то своей) в форуме, или писать мне на емайл xintrea@gmail.com.
Всем спасибо.