Conversation
При попытке форматирования текста входящего в несколько блоков редактор перестаёт показывать текст. Это происходило т.к. в начале метода onCodeClicked вызывается beginEditBlock(), но при выходе по условию не вызывался endEditBlock() Что и приводило к некорректной работе EditorTextArea
|
Пересадил на сетку basesManagement - см. ветку qt6_basesManagement в моём форке. Могу пересоздать pull request, если надо. Конфликтов почти не было, изменения, к-ые потребовалось доделать после пересадки, тоже минимальны - сделал их отдельным коммитом. Так что с текущим состоянием ветки проблем особых нету, ну а что будет после доделок - Вам виднее. Про Qt5 - выпилил полностью, оставил только Qt6. Мотивация такая: на линуксах народ использует более-менее свежие версии (тем более это десктопное приложение, а не серверное), так что там Qt6 будет. А на windows, насколько я понимаю, Qt встраивается в дистрибутив, так что там тоже будет Qt6. В результате какой смысл ifdef-аться над кодом? |
Извините, но на мой взгляд, это слабая аргументация. Например, в Ubuntu из пяти дистрибьтивов Qt6 есть только в jammy. Понятно, что Qt5 уходит в прошлое, но есть ли острая необходимость убирать поддержку Qt5? |
Проблема всех этих изменений в том, что они были сделаны не согласовывая действия с основным разработчиком, то есть мной. Вот я честно говоря пока не знаю что со всеми этими изменениями делать. И я не пойму, в дистрибутивах, в которых есть Qt6, библиотеки Qt5 полностью выпилены? В Debian до сих пор акуратно тянут библиотеки от Qt4 к примеру. |
|
Здравствуйте! Название ветки experimental располагает к таким изменениям. В master-е последний коммит в 2018г - может когда experimental вольётся в master Qt6 уже будет везде по умолчанию. Тут понятно проблема скорее в том, что experimental стал в какой-то момент master-ом де-факто. Про "... они были сделаны не согласовывая действия с основным разработчиком ...": изначально я не знал объём правок и планировал их оценить и как раз сказать, что-то типа "миграция на Qt6 невозможна" или "кажется, весь код собирается с Qt6, кроме модуля X". Про версии ubuntu: я не знаю, как люди пользуются ubuntu на десктопе. Мне кажется, что на серверах будут разные версии, но на личных компах ставят новые версии и обновляют их довольно быстро, тем более jammy - LTS. Но м.б. это искажение от того, что я сам так делал. |
|
Ветка experimental - это именно ветка для разработки. Просто разработка у меня идет очень долго, годами. Сейчас в experimental надо доделать изменения до вменяемого релиза, а потом уже думать про переход на Qt6. И то, у меня большие сомнения в том, что надо именно сейчас переходить на Qt6. MyTetra уже пережила переезд с Qt4 на Qt5 (а закрытые первые версии переезжали с Qt3 на Qt4, но там я мог себе позволить перелопачивать потому что я был единственным пользователем), и я всегда старался чтобы компиляция под обе версии сохранялась до тех пор, пока устаревшая версия не теряла свою актуальность. Вы с одной стороны сделали большую работу, и не хотелось бы чтобы она была потеряна, но то что вы выпилили Qt5 и оставили один только Qt6 - я даже не знаю как к этому относиться и как использовать ваши изменения. |
…f qt5 version from orig repo
…f Qt's foreach according to Qt recomendations
1. cmake run lupdate/lrelease 2. do not store generated files in git; add flag and some code for French language. 3. update Russian translation
|
Здравствуйте ещё раз.
|
|
Ух, как много работы сделано, но я ничего не понимаю. В какой момент было решено, что проект на Qt должен собираться на CMake? Зачем поддерживать две системы сборки, ради чего? Я вижу в пулл-реквестах какие-то куски Ansible. Для чего они понадобились? |
|
Про cmake отписывался в первом сообщении "Перевод сборки на cmake (как минимум потому, что Qt рекомендуют использовать её для новых проектов)." Про куски Ansible - это какой коммит? М.б. это github actions (единственное, что хоть как-то похоже)? Если так, то для того, чтобы как минимум видеть, что текущее состояние хотя бы компилируется под все интересующие ОC/версии Qt. Показывает на Readme-страничке красивые статусы о сборке под Win/Lin x Qt5/Qt6. В общем уже сейчас защитит от некоторых ошибок, а если ещё и автотесты туда добавить и публикацию артефактов сборки, то выгода от github actions возрастёт. |
Но у нас же не новый проект, а допиливание старого. Вот когда qmake будет deprecated, тогда и нужно будет переводить. |
Но я зашел на вашу страничку, увидел картинки ubuntu_release:passing, нажимаю на них - и ничего не происходит. Начинаю искать этот Ubuntu release, и не нахожу. В разделе Packages пусто. Если сборка есть, то почему нету сборок? |
|
Action-ы запускаются после каждого пуша, их логи и артефакты сборки хранятся ограниченное время, оно настраивается в интерфейсе github-а. У меня настроено на 30 дней (максимум 90), а последний пуш был давно, поэтому логи и результаты сборок удалились. Про qmake vs cmake - ваше право конечно, не берите соответствующие коммиты, если не хотите. Как вариант - можно иметь 2 системы сборки, объявив одну "официальной", а другую - "альтернативной".
Если по остальным коммитам всё ок, я могу создать PR, без cmake-а и с возвратом qmake-а. |
Здравствуйте, я задумал перевести mytetra на Qt6, вроде сделал. Попутно наменял ещё много чего.
Предлагаю принять эти изменения или их часть в основную ветку. Старался, чтобы коммиты были атомарными, насколько это возможно.
Я не могу проверить работу на Windows и MacOs, но проверил, что под windows хотя бы компилируется.
Краткое резюме изменений:
Сборка mimetex сделана опциональной. В популярных Linux-дистрибутивах есть готовый пакет с mimetex - имеет смысл использовать его.
Если следовать этому пути, то смысла в этих фиксах нету и их можно пропустить - пусть maintainer-ы mimetex-а разбираются.