void MeteorShowersMgr::init() { loadTextures(); m_meteorShowers = new MeteorShowers(this); m_configDialog = new MSConfigDialog(this); m_searchDialog = new MSSearchDialog(this); createActions(); loadConfig(); // timer to hide the alert messages m_messageTimer = new QTimer(this); m_messageTimer->setSingleShot(true); m_messageTimer->setInterval(9000); m_messageTimer->stop(); connect(m_messageTimer, SIGNAL(timeout()), this, SLOT(messageTimeout())); // MeteorShowers directory QString userDir = StelFileMgr::getUserDir() + "/modules/MeteorShowers"; StelFileMgr::makeSureDirExistsAndIsWritable(userDir); // Loads the JSON catalog m_catalogPath = userDir + "/showers.json"; if (!loadCatalog(m_catalogPath)) { displayMessage(q_("The current catalog of Meteor Showers is invalid!"), "#bb0000"); restoreDefaultCatalog(m_catalogPath); } // Sets up the download manager m_downloadMgr = new QNetworkAccessManager(this); connect(m_downloadMgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(updateFinished(QNetworkReply*))); // every 5 min, check if it's time to update QTimer* updateTimer = new QTimer(this); updateTimer->setInterval(300000); connect(updateTimer, SIGNAL(timeout()), this, SLOT(checkForUpdates())); updateTimer->start(); checkForUpdates(); // always check if we are on Earth StelCore* core = StelApp::getInstance().getCore(); m_onEarth = core->getCurrentPlanet().data()->getEnglishName() == "Earth"; connect(core, SIGNAL(locationChanged(StelLocation)), this, SLOT(locationChanged(StelLocation))); // enable at startup? setEnablePlugin(getEnableAtStartup()); }
void NavStars::init() { if (!conf->childGroups().contains("NavigationalStars")) { qDebug() << "[NavStars] no coordinates section exists in main config file - creating with defaults"; restoreDefaultConfiguration(); } // populate settings from main config file. loadConfiguration(); // populate list of navigational stars populateNavigationalStarsSet(); setNavStarsMarks(getEnableAtStartup()); // Marker texture - using the same texture as the planet hints. QString path = StelFileMgr::findFile("textures/planet-indicator.png"); markerTexture = StelApp::getInstance().getTextureManager().createTexture(path); // key bindings and other actions addAction("actionShow_NavStars", N_("Navigational Stars"), N_("Mark the navigational stars"), "navStarsVisible", ""); // Toolbar button StelGui* gui = dynamic_cast<StelGui*>(StelApp::getInstance().getGui()); if (gui!=Q_NULLPTR) { if (toolbarButton == Q_NULLPTR) { // Create the nav. stars button toolbarButton = new StelButton(Q_NULLPTR, QPixmap(":/NavStars/btNavStars-on.png"), QPixmap(":/NavStars/btNavStars-off.png"), QPixmap(":/graphicGui/glow32x32.png"), "actionShow_NavStars"); } gui->getButtonBar()->addButton(toolbarButton, "065-pluginsGroup"); } // Sync global settings for stars labels connect(GETSTELMODULE(StarMgr), SIGNAL(starLabelsDisplayedChanged(bool)), this, SLOT(starNamesChanged(bool))); }
/* Init our module */ void Quasars::init() { upgradeConfigIni(); try { StelFileMgr::makeSureDirExistsAndIsWritable(StelFileMgr::getUserDir()+"/modules/Quasars"); // If no settings in the main config file, create with defaults if (!conf->childGroups().contains("Quasars")) { qDebug() << "Quasars: no Quasars section exists in main config file - creating with defaults"; restoreDefaultConfigIni(); } // populate settings from main config file. readSettingsFromConfig(); catalogJsonPath = StelFileMgr::findFile("modules/Quasars", (StelFileMgr::Flags)(StelFileMgr::Directory|StelFileMgr::Writable)) + "/quasars.json"; if (catalogJsonPath.isEmpty()) return; texPointer = StelApp::getInstance().getTextureManager().createTexture(StelFileMgr::getInstallationDir()+"/textures/pointeur2.png"); Quasar::markerTexture = StelApp::getInstance().getTextureManager().createTexture(":/Quasars/quasar.png"); // key bindings and other actions addAction("actionShow_Quasars", N_("Quasars"), N_("Show quasars"), "quasarsVisible", "Ctrl+Alt+Q"); addAction("actionShow_Quasars_ConfigDialog", N_("Quasars"), N_("Quasars configuration window"), configDialog, "visible"); GlowIcon = new QPixmap(":/graphicGui/glow32x32.png"); OnIcon = new QPixmap(":/Quasars/btQuasars-on.png"); OffIcon = new QPixmap(":/Quasars/btQuasars-off.png"); setFlagShowQuasars(getEnableAtStartup()); setFlagShowQuasarsButton(flagShowQuasarsButton); } catch (std::runtime_error &e) { qWarning() << "Quasars: init error:" << e.what(); return; } // A timer for hiding alert messages messageTimer = new QTimer(this); messageTimer->setSingleShot(true); // recurring check for update messageTimer->setInterval(9000); // 6 seconds should be enough time messageTimer->stop(); connect(messageTimer, SIGNAL(timeout()), this, SLOT(messageTimeout())); // If the json file does not already exist, create it from the resource in the Qt resource if(QFileInfo(catalogJsonPath).exists()) { if (!checkJsonFileFormat() || getJsonFileFormatVersion()<CATALOG_FORMAT_VERSION) { restoreDefaultJsonFile(); } } else { qDebug() << "Quasars: quasars.json does not exist - copying default file to" << QDir::toNativeSeparators(catalogJsonPath); restoreDefaultJsonFile(); } qDebug() << "Quasars: loading catalog file:" << QDir::toNativeSeparators(catalogJsonPath); readJsonFile(); // Set up download manager and the update schedule downloadMgr = new QNetworkAccessManager(this); connect(downloadMgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(updateDownloadComplete(QNetworkReply*))); updateState = CompleteNoUpdates; updateTimer = new QTimer(this); updateTimer->setSingleShot(false); // recurring check for update updateTimer->setInterval(13000); // check once every 13 seconds to see if it is time for an update connect(updateTimer, SIGNAL(timeout()), this, SLOT(checkForUpdate())); updateTimer->start(); GETSTELMODULE(StelObjectMgr)->registerStelObjectMgr(this); }