main.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /***************************************************************************
  2. * Copyright (C) 2008 by BogDan Vatra <bogdan@licentia.eu> *
  3. * Copyright (C) 2009-2024 by Robin Stuart <rstuart114@gmail.com> *
  4. * *
  5. * This program is free software: you can redistribute it and/or modify *
  6. * it under the terms of the GNU General Public License as published by *
  7. * the Free Software Foundation, either version 3 of the License, or *
  8. * (at your option) any later version. *
  9. * This program is distributed in the hope that it will be useful, *
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  12. * GNU General Public License for more details. *
  13. * You should have received a copy of the GNU General Public License *
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>. *
  15. ***************************************************************************/
  16. #include <QApplication>
  17. #include "mainwindow.h"
  18. int main(int argc, char *argv[])
  19. {
  20. Q_INIT_RESOURCE(resources);
  21. #if defined(__linux__) && QT_VERSION >= 0x50100 /* `qEnvironmentVariableIsEmpty()` introduced Qt 5.1 */
  22. /* Not compatible with Wayland for some reason(s) so use X11 unless overridden */
  23. if (QGuiApplication::platformName() != "xcb" && qEnvironmentVariableIsEmpty("QT_QPA_PLATFORM")) {
  24. qputenv("QT_QPA_PLATFORM", QByteArrayLiteral("xcb"));
  25. }
  26. #endif
  27. #if QT_VERSION >= 0x50600 && QT_VERSION < 0x60100
  28. QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
  29. #endif
  30. #if QT_VERSION >= 0x50400
  31. /* Suppresses "Qt WebEngine seems to be initialized from a plugin" warning */
  32. QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
  33. #endif
  34. #if defined(_WIN32) && QT_VERSION >= 0x50A01 && QT_VERSION < 0x60000
  35. /* Suppresses help question mark in dialogs */
  36. QApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton);
  37. #endif
  38. QApplication app(argc, argv);
  39. MainWindow w;
  40. // Seem to need to do this before showing the window
  41. w.setWindowTitle(w.windowTitle() + ' ' + MainWindow::get_zint_version());
  42. w.show();
  43. return app.exec();
  44. }
  45. /* vim: set ts=4 sw=4 et : */