void App::init() { QSettings settings; setWindowIcon(QIcon(":/qlcplus.png")); m_tab = new QTabWidget(this); m_tab->setTabPosition(QTabWidget::South); setCentralWidget(m_tab); QLCFile::checkRaspberry(); QVariant var = settings.value(SETTINGS_GEOMETRY); if (var.isValid() == true) { this->restoreGeometry(var.toByteArray()); } else { /* Application geometry and window state */ QSize size = settings.value("/workspace/size").toSize(); if (size.isValid() == true) resize(size); else { if (QLCFile::isRaspberry()) { QRect geometry = qApp->desktop()->availableGeometry(); if (m_noGui == true) { setGeometry(geometry.width(), geometry.height(), 1, 1); } else { int w = geometry.width(); int h = geometry.height(); if (m_overscan == true) { // if we're on a Raspberry Pi, introduce a 5% margin w = (float)geometry.width() * 0.95; h = (float)geometry.height() * 0.95; } setGeometry((geometry.width() - w) / 2, (geometry.height() - h) / 2, w, h); } } else resize(800, 600); } QVariant state = settings.value("/workspace/state", Qt::WindowNoState); if (state.isValid() == true) setWindowState(Qt::WindowState(state.toInt())); } QVariant dir = settings.value(SETTINGS_WORKINGPATH); if (dir.isValid() == true) m_workingDirectory = QDir(dir.toString()); // The engine object initDoc(); // Main view actions initActions(); // Main tool bar initToolBar(); m_dumpProperties = new DmxDumpFactoryProperties(KUniverseCount); // Create primary views. m_tab->setIconSize(QSize(24, 24)); QWidget* w = new FixtureManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/fixture.png"), tr("Fixtures")); w = new FunctionManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/function.png"), tr("Functions")); w = new ShowManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/show.png"), tr("Shows")); w = new VirtualConsole(m_tab, m_doc); m_tab->addTab(w, QIcon(":/virtualconsole.png"), tr("Virtual Console")); w = new SimpleDesk(m_tab, m_doc); m_tab->addTab(w, QIcon(":/slidermatrix.png"), tr("Simple Desk")); w = new InputOutputManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/input_output.png"), tr("Inputs/Outputs")); // Listen to blackout changes and toggle m_controlBlackoutAction connect(m_doc->inputOutputMap(), SIGNAL(blackoutChanged(bool)), this, SLOT(slotBlackoutChanged(bool))); // Listen to DMX value changes and update each Fixture values array connect(m_doc->inputOutputMap(), SIGNAL(universesWritten(int, const QByteArray&)), this, SLOT(slotUniversesWritten(int, const QByteArray&))); // Enable/Disable panic button connect(m_doc->masterTimer(), SIGNAL(functionListChanged()), this, SLOT(slotRunningFunctionsChanged())); slotRunningFunctionsChanged(); // Start up in non-modified state m_doc->resetModified(); QString ssDir; #if defined(WIN32) || defined(Q_OS_WIN) /* User's input profile directory on Windows */ LPTSTR home = (LPTSTR) malloc(256 * sizeof(TCHAR)); GetEnvironmentVariable(TEXT("UserProfile"), home, 256); ssDir = QString("%1/%2").arg(QString::fromUtf16(reinterpret_cast<ushort*> (home))) .arg(USERQLCPLUSDIR); free(home); HotPlugMonitor::setWinId(winId()); #else /* User's input profile directory on *NIX systems */ ssDir = QString("%1/%2").arg(getenv("HOME")).arg(USERQLCPLUSDIR); #endif QFile ssFile(ssDir + QDir::separator() + "qlcplusStyle.qss"); if (ssFile.exists() == true) { ssFile.open(QFile::ReadOnly); QString styleSheet = QLatin1String(ssFile.readAll()); this->setStyleSheet(styleSheet); } #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) m_videoProvider = new VideoProvider(m_doc, this); #endif }
void App::init() { QSettings settings; setWindowIcon(QIcon(":/qlcplus.png")); m_tab = new QTabWidget(this); m_tab->setTabPosition(QTabWidget::South); setCentralWidget(m_tab); QVariant var = settings.value(SETTINGS_GEOMETRY); if (var.isValid() == true) { this->restoreGeometry(var.toByteArray()); } else { /* Application geometry and window state */ QSize size = settings.value("/workspace/size").toSize(); if (size.isValid() == true) resize(size); else resize(800, 600); QVariant state = settings.value("/workspace/state", Qt::WindowNoState); if (state.isValid() == true) setWindowState(Qt::WindowState(state.toInt())); } // The engine object initDoc(); // Main view actions initActions(); // Main tool bar initToolBar(); // Create primary views. m_tab->setIconSize(QSize(24, 24)); QWidget* w = new FixtureManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/fixture.png"), tr("Fixtures")); w = new FunctionManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/function.png"), tr("Functions")); w = new ShowManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/show.png"), tr("Shows")); w = new VirtualConsole(m_tab, m_doc); m_tab->addTab(w, QIcon(":/virtualconsole.png"), tr("Virtual Console")); w = new SimpleDesk(m_tab, m_doc); m_tab->addTab(w, QIcon(":/slidermatrix.png"), tr("Simple Desk")); w = new InputOutputManager(m_tab, m_doc); m_tab->addTab(w, QIcon(":/input_output.png"), tr("Inputs/Outputs")); // Listen to blackout changes and toggle m_controlBlackoutAction connect(m_doc->outputMap(), SIGNAL(blackoutChanged(bool)), this, SLOT(slotBlackoutChanged(bool))); // Enable/Disable panic button connect(m_doc->masterTimer(), SIGNAL(functionListChanged()), this, SLOT(slotRunningFunctionsChanged())); slotRunningFunctionsChanged(); // Start up in non-modified state m_doc->resetModified(); }