Main.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // Copyright 2014 Dolphin Emulator Project
  2. // Licensed under GPLv2+
  3. // Refer to the license.txt file included.
  4. #include <QApplication>
  5. #include <QDesktopServices>
  6. #include <QFile>
  7. #include <QMessageBox>
  8. #include <QSysInfo>
  9. #include <QUrl>
  10. #include "MainWindow.h"
  11. #include "DolphinQt/Utils/Utils.h"
  12. #include "UICommon/UICommon.h"
  13. static bool IsOsSupported()
  14. {
  15. #ifdef Q_OS_OSX
  16. return QSysInfo::MacintoshVersion >= QSysInfo::MV_10_9;
  17. #elif defined(Q_OS_WIN)
  18. return (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) >= QSysInfo::WV_VISTA;
  19. #else
  20. return true;
  21. #endif
  22. }
  23. static QString LowestSupportedOsVersion()
  24. {
  25. #ifdef Q_OS_OSX
  26. return SL("Mac OS X 10.9");
  27. #elif defined(Q_OS_WIN)
  28. return SL("Windows Vista SP2");
  29. #else
  30. return SL("Unknown");
  31. #endif
  32. }
  33. int main(int argc, char* argv[])
  34. {
  35. QApplication app(argc, argv);
  36. app.setAttribute(Qt::AA_UseHighDpiPixmaps);
  37. // TODO: Add command line options
  38. UICommon::SetUserDirectory(""); // Auto-detect user folder
  39. UICommon::CreateDirectories();
  40. UICommon::Init();
  41. if (!IsOsSupported())
  42. {
  43. QMessageBox::critical(nullptr, QObject::tr("Unsupported OS"),
  44. QObject::tr("Dolphin requires %1 or greater.\n"
  45. "Please upgrade to %1 or greater to use Dolphin.")
  46. .arg(LowestSupportedOsVersion()));
  47. return 1;
  48. }
  49. g_main_window = new DMainWindow();
  50. g_main_window->show();
  51. int retcode = app.exec();
  52. delete g_main_window;
  53. UICommon::Shutdown();
  54. return retcode;
  55. }