bool MythContextPrivate::Init(const bool gui, UPnp *UPnPclient, const bool promptForBackend, const bool noPrompt, const bool ignoreDB) { gCoreContext->GetDB()->IgnoreDatabase(ignoreDB); m_gui = gui; if (UPnPclient) { m_UPnP = UPnPclient; m_ExternalUPnP = true; #ifndef _WIN32 m_XML = (XmlConfiguration *)UPnp::g_pConfig; #endif } // Creates screen saver control if we will have a GUI if (gui) m_ui = GetMythUI(); // ---- database connection stuff ---- if (!ignoreDB && !FindDatabase(promptForBackend, noPrompt)) return false; // ---- keep all DB-using stuff below this line ---- // Prompt for language if this is a first time install and // we didn't already do so. if (m_gui && !gCoreContext->GetDB()->HaveSchema()) { TempMainWindow(false); LanguageSelection::prompt(); MythTranslation::load("mythfrontend"); EndTempWindow(); } gCoreContext->InitLocale(); gCoreContext->SaveLocaleDefaults(); if (gui) { MythUIMenuCallbacks cbs; cbs.exec_program = exec_program_cb; cbs.exec_program_tv = exec_program_tv_cb; cbs.configplugin = configplugin_cb; cbs.plugin = plugin_cb; cbs.eject = eject_cb; m_ui->Init(cbs); } return true; }
bool MythContextPrivate::Init(const bool gui, const bool promptForBackend, const bool noPrompt, const bool ignoreDB) { gCoreContext->GetDB()->IgnoreDatabase(ignoreDB); m_gui = gui; // We don't have a database yet, so lets use the config.xml file. m_pConfig = new XmlConfiguration("config.xml"); // Creates screen saver control if we will have a GUI if (gui) m_ui = GetMythUI(); // ---- database connection stuff ---- if (!ignoreDB && !FindDatabase(promptForBackend, noPrompt)) return false; // ---- keep all DB-using stuff below this line ---- // Prompt for language if this is a first time install and // we didn't already do so. if (m_gui && !gCoreContext->GetDB()->HaveSchema()) { TempMainWindow(false); LanguageSelection::prompt(); MythTranslation::load("mythfrontend"); EndTempWindow(); } gCoreContext->InitLocale(); gCoreContext->SaveLocaleDefaults(); if (gui) { MythUIMenuCallbacks cbs; cbs.exec_program = exec_program_cb; cbs.exec_program_tv = exec_program_tv_cb; cbs.configplugin = configplugin_cb; cbs.plugin = plugin_cb; cbs.eject = eject_cb; m_ui->Init(cbs); } return true; }
void MythContextPrivate::ShowConnectionFailurePopup(bool persistent) { if (MBEconnectPopup) return; QString message = (persistent) ? QObject::tr( "The connection to the master backend " "server has gone away for some reason. " "Is it running?") : QObject::tr( "Could not connect to the master backend server. Is " "it running? Is the IP address set for it in " "mythtv-setup correct?"); if (HasMythMainWindow() && m_ui && m_ui->IsScreenSetup()) { MBEconnectPopup = ShowOkPopup( message, m_sh, SLOT(ConnectFailurePopupClosed())); } }
void MythContextPrivate::ShowVersionMismatchPopup(uint remote_version) { if (MBEversionPopup) return; QString message = QObject::tr( "The server uses network protocol version %1, " "but this client only understands version %2. " "Make sure you are running compatible versions of " "the backend and frontend.") .arg(remote_version).arg(MYTH_PROTO_VERSION); if (HasMythMainWindow() && m_ui && m_ui->IsScreenSetup()) { MBEversionPopup = ShowOkPopup( message, m_sh, SLOT(VersionMismatchPopupClosed())); } else { VERBOSE(VB_IMPORTANT, LOC_ERR + message); qApp->exit(GENERIC_EXIT_SOCKET_ERROR); } }