| 55 | #endif |
| 56 | |
| 57 | MainWindow::MainWindow(CEmuOpts &cliOpts, QWidget *p) : QMainWindow(p), ui(new Ui::MainWindow), opts(cliOpts) { |
| 58 | keypadBridge = new QtKeypadBridge(this); // This must be before setupUi for some reason >.> |
| 59 | |
| 60 | // setup translations |
| 61 | if (m_appTranslator.load(QLocale::system().name(), QStringLiteral(":/i18n/i18n/"))) { |
| 62 | qApp->installTranslator(&m_appTranslator); |
| 63 | } |
| 64 | |
| 65 | // setting metatypes |
| 66 | #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) |
| 67 | qRegisterMetaTypeStreamOperators<QList<int>>("QList<int>"); |
| 68 | qRegisterMetaTypeStreamOperators<QList<bool>>("QList<bool>"); |
| 69 | #else |
| 70 | qRegisterMetaType<QList<int>>("QList<int>"); |
| 71 | qRegisterMetaType<QList<bool>>("QList<bool>"); |
| 72 | #endif |
| 73 | |
| 74 | ui->setupUi(this); |
| 75 | |
| 76 | #if (QT_VERSION < QT_VERSION_CHECK(6, 1, 0)) |
| 77 | m_styleForMode[0] = m_styleForMode[1] = QApplication::style()->objectName(); |
| 78 | #else |
| 79 | m_styleForMode[0] = m_styleForMode[1] = QApplication::style()->name(); |
| 80 | #endif |
| 81 | darkModeSwitch(isSystemInDarkMode()); |
| 82 | |
| 83 | setStyleSheet(QStringLiteral("QMainWindow::separator{ width: 0px; height: 0px; }")); |
| 84 | |
| 85 | if (!ipcSetup()) { |
| 86 | m_initPassed = false; |
| 87 | return; |
| 88 | } |
| 89 | |
| 90 | #ifdef Q_OS_MACX |
| 91 | KDMacTouchBar *touchBar = new KDMacTouchBar(this); |
| 92 | #endif |
| 93 | |
| 94 | // init tivars_lib stuff |
| 95 | tivars::TIModels::initTIModelsArray(); |
| 96 | tivars::TIVarTypes::initTIVarTypesArray(); |
| 97 | tivars::TypeHandlers::TH_Tokenized::initTokens(); |
| 98 | |
| 99 | ui->centralWidget->hide(); |
| 100 | ui->statusBar->addWidget(&m_speedLabel); |
| 101 | ui->statusBar->addPermanentWidget(&m_msgLabel); |
| 102 | ui->statusBar->addPermanentWidget(&m_fpsLabel); |
| 103 | |
| 104 | m_watchpoints = ui->watchpoints; |
| 105 | m_breakpoints = ui->breakpoints; |
| 106 | m_ports = ui->ports; |
| 107 | m_disasm = ui->disasm; |
| 108 | |
| 109 | ui->console->setMaximumBlockCount(1000); |
| 110 | |
| 111 | setWindowTitle(QStringLiteral("CEmu | ") + opts.idString); |
| 112 | |
| 113 | connect(keypadBridge, &QtKeypadBridge::keyStateChanged, ui->keypadWidget, &KeypadWidget::changeKeyState); |
| 114 | connect(keypadBridge, &QtKeypadBridge::sendKeys, &emu, &EmuThread::enqueueKeys); |
nothing calls this directly
no test coverage detected