void LuminaThemeEngine::reloadFiles(){ //Check the Theme file/settings if(lastcheck < QFileInfo(QDir::homePath()+"/.lumina/themesettings.cfg").lastModified() ){ QStringList current = LTHEME::currentSettings(); application->setStyleSheet( LTHEME::assembleStyleSheet(current[0], current[1], current[3], current[4]) ); if(icons!=current[2]){ QIcon::setThemeName(current[2]); //make sure this sets set within this environment emit updateIcons(); } //save the settings for comparison later theme = current[0]; colors=current[1]; icons=current[2]; if(font!=current[3] || fontsize!=current[4]){ font=current[3]; fontsize=current[4]; QFont tmp = application->font(); tmp.setStyleStrategy(QFont::PreferOutline); tmp.setFamily(font); if(fontsize.endsWith("pt")){ tmp.setPointSize(fontsize.section("pt",0,0).toInt()); } else if(fontsize.endsWith("px")){ tmp.setPixelSize(fontsize.section("px",0,0).toInt()); } application->setFont(tmp); } } //Check the Cursor file/settings if(lastcheck < QFileInfo(QDir::homePath()+"/.icons/default/index.theme").lastModified()){ QString ccurs = LTHEME::currentCursor(); if(cursors != ccurs){ emit updateCursors(); //Might be something we can do automatically here as well - since we have the QApplication handy // - Note: setting/unsetting an override cursor does not update the current cursor bitmap // Qt created a background database/hash/mapping of the theme pixmaps on startup // So Qt itself needs to be prodded to update that mapping /*QXcbCursor::cursorThemePropertyChanged( \ new QXcbVirtualDesktop(QX11Info::connection(), application->screen()->handle(), QX11Info::appScreen()), ccurs.toData(), QVariant("Inherits"), NULL);*/ //QCursorData::cleanup(); //QCursorData::initialize(); //setenv("XCURSOR_THEME", ccurs.toLocal8Bit(),1); } cursors = ccurs; } //Environment Changes if( lastcheck < QFileInfo(QDir::homePath()+"/.lumina/envsettings.conf").lastModified()){ LTHEME::LoadCustomEnvSettings(); emit EnvChanged(); } lastcheck = QDateTime::currentDateTime(); //Now update the watched files to ensure nothing is missed watcher->removePaths( QStringList() << theme << colors << QDir::homePath()+"/.icons/default/index.theme" << QDir::homePath()+"/.lumina/envsettings.conf"); watcher->addPaths( QStringList() << theme << colors << QDir::homePath()+"/.icons/default/index.theme" << QDir::homePath()+"/.lumina/envsettings.conf"); }
void SIM_PLOT_FRAME::onPlotClose( wxAuiNotebookEvent& event ) { int idx = event.GetSelection(); if( idx == wxNOT_FOUND ) return; SIM_PLOT_PANEL* plotPanel = dynamic_cast<SIM_PLOT_PANEL*>( m_plotNotebook->GetPage( idx ) ); if( !plotPanel ) return; m_plots.erase( plotPanel ); updateSignalList(); updateCursors(); }
void SIM_PLOT_FRAME::removePlot( const wxString& aPlotName, bool aErase ) { SIM_PLOT_PANEL* plotPanel = CurrentPlot(); if( !plotPanel ) return; if( aErase ) { auto& traceMap = m_plots[plotPanel].m_traces; auto traceIt = traceMap.find( aPlotName ); wxASSERT( traceIt != traceMap.end() ); traceMap.erase( traceIt ); } wxASSERT( plotPanel->IsShown( aPlotName ) ); plotPanel->DeleteTrace( aPlotName ); plotPanel->Fit(); updateSignalList(); updateCursors(); }
void SIM_PLOT_FRAME::onPlotChanged( wxAuiNotebookEvent& event ) { updateSignalList(); updateCursors(); }
void MainWindow::startSensorThread() { sensorThread = new SensorThread(); //QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), this, SLOT(printData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), this, SLOT(updateCursors(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::settingsWidget), SLOT(displayData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::homeWidget), SLOT(switchMenu(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::desktopWidget), SLOT(switchMenu(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), getWidget(WidgetType::galleryWidget), SLOT(displayData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(sensorThread, SIGNAL(connectionChanged(QString)), getWidget(WidgetType::loadingWidget), SLOT(updateSubtitle(QString))); QObject::connect(sensorThread, SIGNAL(initializationChanged(WidgetType)), this, SLOT(setActiveWidget(WidgetType))); QObject::connect(getWidget(WidgetType::homeWidget), SIGNAL(menuSelected(WidgetType)), this, SLOT(setActiveWidget(WidgetType))); QObject::connect(sensorThread, SIGNAL(finished()), sensorThread, SLOT(deleteLater())); for (int i = 0; i < widgetsList.size(); i++){ QObject::connect(sensorThread, SIGNAL(receivedData(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>)), widgetsList[i], SLOT(collapse(QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>,QPair<SensorData*,SensorData*>))); QObject::connect(widgetsList[i], SIGNAL(returnHome(WidgetType)), this, SLOT(setActiveWidget(WidgetType)));} sensorThread->start(); }