Russian Qt Forum
Ноябрь 22, 2024, 11:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MyTetra v.1.25: Qt-only менеджер накопления информации  (Прочитано 10249 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Ноябрь 13, 2010, 22:19 »

Здравствуйте!


Хочу поделиться своей радостью. Наконец-то я зарелизил свою первую крупную программу на Qt.

Сегодня увидела свет первая публичная версия менеджера накопления осмысленной информации MyTetra v.1.25.

MyTetra — это несложный кроссплатформенный менеджер накопления осмысленной информации. Программа предназначена для хранения статей и заметок. Все записи организуются в древовидную структуру (обычно по «основному» признаку), а также снабжаются ключевыми словами-тегами. Основная задача MyTetra — предоставить естественный, интуитивно понятный интерфейс для написания заметок, обеспечить возможность быстрой навигации по дереву и удобный поиск.

Исходный код распространяется под лицензией GPL v.3. Программа написана с использованием только фреймверка Qt и стандартных C/C++ библиотек.

Главные особенности программы

  • Всегда запоминается геометрия окна.
  • При запуске открывается последняя запись, с которой ранее шла работа.
  • Окно прячется в системный лоток, а закрыть программу можно только явным выбором пункта меню или горячей клавишей.
  • Ветки дерева навигации можно свободно сортировать в пределах ведущей ветки.
  • Для веток доступны операции удаления, копирования, вставки.
  • Записи, прикрепленные к ветке, можно свободно сортировать в пределах списка.
  • Для выбранных записей доступны операции удаления, копирования, вставки.
  • Записям можно задавать текстовые метки (теги) для быстрого поиска.
  • Выбранная запись всегда доступна для редактирования без дополнительных действий (для важных записей планируется добавить режим защиты от изменений).
  • Программа сама сохраняет текст заметки при переключении на другую запись или ветку, при выходе из программы.
  • Программа имеет настраиваемую директорию-корзину, куда автоматически складывает предыдущие версии всех записей.
  • Для добавления записей используется встраиваемый WYSIWYG редактор WyEdit.
  • В редакторе предусмотрен режим отображения символов разметки текста.

В данный момент программа распространяется в виде переносимого приложения, способного работать в той директории, куда она была установлена. Работа под ОС Linux проверена в Debian 5.0.4 и Ubuntu 10.10. Версия под ОС Windows находится в разработке, уже есть подтверждение, что собирается и работает (не проверял пока). Так же подтвердили компиляцию и работу на FreeBSD.

Если есть желание, можно помочь автору по следующим пунктам:

  • Требуется подтверждение работоспособности MyTetra в ОС Fedora/RedHat, OpenSUSE, Arch, Gentoo, etc.
  • Автор не знает английского языка, поэтому требуется корректировка всех английских надписей и системных сообщений, чтобы затем провести интернационализацию интерфейса.
  • Требуется помощь в создании стандартной системы сборки из исходников.
  • Рассматривается возможность размещения исходников на sourceforge.net или github.com, требуется консультация.


Ссылки

Новость на сайте автора: http://webhamster.ru/site/page/index/main/news/106

Руководство пользователя (pdf): http://webhamster.ru/db/data/articles/105/user_guide_ru.pdf


Торжественное обещание разработчиков

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

Собираю информацию по крупицам
http://webhamster.ru
Sancho_s_rancho
Гость
« Ответ #1 : Ноябрь 14, 2010, 11:30 »

ос Линукс

1.
Цитировать
In config not found parameter tetradir

 Programm was closed.

2. в каталоге пользователя программа создает каталог(тот, который содержит conf.ini) с кривым названием, т.е. кракозябы там.
3. Положение на экране не запоминается.

Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #2 : Ноябрь 14, 2010, 14:47 »

1. In config not found parameter tetradir

 Programm was closed.

Очень интересно. Похоже, что по каким-то причинам в файле conf.ini либо стала отсутсвовать, либо не может прочитаться переменная "tetradir". Выложите сюда содержимое файла, который у вас.


2. в каталоге пользователя программа создает каталог(тот, который содержит conf.ini) с кривым названием, т.е. кракозябы там.

? ? ?

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


3. Положение на экране не запоминается.

Потому что у вас какая-то проблема с conf.ini. Что вы с ним делали?


У меня два предположения.

1. Либо вы попытались установить программу из исходников, и не дочитали readme.txt до конца.

2. Либо в вашей системе локаль не UTF-8. Я, к сожалению, не проверял работу в системе с локалью KOI8-R.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Sancho_s_rancho
Гость
« Ответ #3 : Ноябрь 14, 2010, 16:36 »


Да, ридми пробежал по диагонали. При копировании что-то недокопировал. Переделал, стало лучше.
Только окошко вы все-равно неправильно позиционируете.
Сохраняете положение и размер без обрамления, а восстанавливаете положение с обрамлением, а размер - без.  Окно спускается на размер обрамления
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #4 : Ноябрь 14, 2010, 17:47 »

Сохраняете положение и размер без обрамления, а восстанавливаете положение с обрамлением, а размер - без.  Окно спускается на размер обрамления

Кстати, я все никак не мог понять, почему восстанавливаемое окошко на пару пикселей меньше. Потом глаз привык и не замечаю.

Самое инетерсно, что я сделал всё по документации.

Сохраняю размеры без учета рамки, с помощью geometry().x(), geometry().y(), geometry().width(), geometry().height().

Восстанавливаю размеры через метод resize(), который тоже принимает значение без учета рамки:

Код:
size : QSize
This property holds the size of the widget excluding any window frame.

Почему неточно восстанавливаются размеры, понять не могу.
Записан

Собираю информацию по крупицам
http://webhamster.ru
Sancho_s_rancho
Гость
« Ответ #5 : Ноябрь 14, 2010, 18:06 »

Методов там до дури, вспоминать не хочется. Когда я разбирался с вопросом, то написал такой код:
 
Код:
inline void setFrameGeometry2(const QRect& fg) {resize(fg.size()); move(fg.topLeft());}
    inline QRect frameGeometry2() const {QRect fg(pos(), size()); return fg;}
Название методов корявые, зато работает без проблем Веселый
Записан
Kolobok
Гость
« Ответ #6 : Ноябрь 14, 2010, 18:59 »

Сохраняю размеры без учета рамки, с помощью geometry().x(), geometry().y(), geometry().width(), geometry().height().
Восстанавливаю размеры через метод resize()...

Для этого же есть QWidget::saveGeometry ()/QWidget::restoreGeometry ( const QByteArray & geometry )
Записан
ufna
Гость
« Ответ #7 : Ноябрь 14, 2010, 19:39 »

Блин, всю жизнь сохранял pos() и size() и не парился О_о
Записан
Sancho_s_rancho
Гость
« Ответ #8 : Ноябрь 14, 2010, 20:11 »

Сохраняю размеры без учета рамки, с помощью geometry().x(), geometry().y(), geometry().width(), geometry().height().
Восстанавливаю размеры через метод resize()...

Для этого же есть QWidget::saveGeometry ()/QWidget::restoreGeometry ( const QByteArray & geometry )
Позанудствую немного:
В Qt 4.2 были некоторые трудности с сохранением/восстановлением размеров окна на X11. Приведенный мною метод работал и там и тут (теперешние версии Qt). С тех пор многое изменилось, были добавлены новые методы  и подправлены старые. Скорее всего теперь действительно можно делать всякие saveGeometry() и saveState() безбоязненно.
Записан
andrew.k
Гость
« Ответ #9 : Ноябрь 14, 2010, 21:21 »

Готов помочь с английской версией.
Записан
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #10 : Ноябрь 17, 2010, 15:23 »

Готов помочь с английской версией.

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

У меня есть таблица со всеми английскими фразами, используемыми в MyTetra и объяснением на русском, что они значат.

Если возьмётесь провести эту работу над ошибками, напишите в личку ваш email, я отправлю вам файл.
Записан

Собираю информацию по крупицам
http://webhamster.ru
crossly
Гость
« Ответ #11 : Ноябрь 18, 2010, 17:20 »

добавь в сборку qtdbus.... а то ошибки в консоль валятся при тискании на ссылку....
Записан
spectre71
Гость
« Ответ #12 : Ноябрь 27, 2010, 10:19 »

Для дальнейшего развития проекта советую изучить данную древнюю прогу.

http://unicat.chat.ru/

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.12 секунд. Запросов: 24.