void showLogViewer(void) { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); QString logDir = getTempDirectory() + "logs"; QString progressLog; QString fullLog; // wait for a log file to be available int tries = 10; while (tries--) { if (QFile::exists(logDir + "/progress.log")) progressLog = logDir + "/progress.log"; if (QFile::exists(logDir + "/mythburn.log")) fullLog = logDir + "/mythburn.log"; // we wait for both the progress.log and mythburn.log if ((!progressLog.isEmpty()) && (!fullLog.isEmpty())) break; // or we wait for a log from mytharchivehelper if (progressLog.isEmpty() && fullLog.isEmpty()) { QStringList logFiles; QStringList filters; filters << "*.log"; QDir d(logDir); logFiles = d.entryList(filters, QDir::Files | QDir::Readable, QDir::Time); if (logFiles.count()) { // the first log file should be the newest one available progressLog = logDir + '/' + logFiles[0]; break; } } sleep(1); } // do any logs exist? if ((!progressLog.isEmpty()) || (!fullLog.isEmpty())) { LogViewer *viewer = new LogViewer(mainStack); viewer->setFilenames(progressLog, fullLog); if (viewer->Create()) mainStack->AddScreen(viewer); } else showWarningDialog(QCoreApplication::translate("LogViewer", "Cannot find any logs to show!")); }
void showLogViewer(void) { MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack(); QString logDir = getTempDirectory() + "logs"; // do any logs exist? if (QFile::exists(logDir + "/progress.log") || QFile::exists(logDir + "/mythburn.log")) { LogViewer *viewer = new LogViewer(mainStack); viewer->setFilenames(logDir + "/progress.log", logDir + "/mythburn.log"); if (viewer->Create()) mainStack->AddScreen(viewer); } else showWarningDialog(QObject::tr("Cannot find any logs to show!")); }
bool UserPropertiesHandler::handleURI(URI& uri) { bool addUser = uri.action == "add_user"; bool editUser = uri.action == "edit_user"; if (!addUser && !editUser) return false; wxWindow* w = getParentWindow(uri); ServerPtr server; UserPtr user; wxString title(_("Modify User")); if (addUser) { server = extractMetadataItemPtrFromURI<Server>(uri); if (!server) return true; title = _("Create New User"); user.reset(new User(server)); } else { user = extractMetadataItemPtrFromURI<User>(uri); if (!user) return true; #ifdef __WXGTK__ if (user->getUsername() == "SYSDBA") { showWarningDialog(w, _("The password for the SYSDBA user should not be changed here."), _("The appropriate way to change the password of the SYSDBA user is to run the changeDBAPassword.sh script in Firebird's bin directory.\n\nOtherwise the scripts will not be updated."), AdvancedMessageDialogButtonsOk(), config(), "DIALOG_warn_sysdba_change", _("Do not show this information again")); } #endif server = user->getServer(); if (!server) return true; } UserDialog d(w, title, addUser); d.setUser(user); if (d.ShowModal() == wxID_OK) { ProgressDialog pd(w, _("Connecting to Server..."), 1); pd.doShow(); IBPP::Service svc; if (!getService(server.get(), svc, &pd, true)) // true = need SYSDBA password return true; try { IBPP::User u; user->assignTo(u); if (addUser) svc->AddUser(u); else svc->ModifyUser(u); server->notifyObservers(); } catch(IBPP::Exception& e) { wxMessageBox(e.what(), _("Error"), wxOK | wxICON_WARNING); } } return true; }