-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qt6 и др #159
base: basesManagement
Are you sure you want to change the base?
Qt6 и др #159
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-а разбираются.