47 LOG(VB_GENERAL, LOG_ERR,
"Theme is missing critical theme elements.");
52 "This helps the developers to determine where "
53 "to focus their efforts.") );
55 "that you have the MythBrowser plugin installed)") );
59 "next configuration step.") );
73#ifndef CONFIG_BINDINGS_PYTHON
125 QString message = tr(
"Would you like to share your "
126 "hardware profile with the MythTV developers? "
127 "Profiles are anonymous and are a great way to "
128 "help with future development.");
131 if (confirmdialog->Create())
150 ShowOkPopup(tr(
"Hardware profile submitted. Thank you for supporting "
164 ShowOkPopup(tr(
"Encountered a problem while submitting your profile."));
173 ShowOkPopup(tr(
"You haven't submitted your hardware profile yet! "
174 "Please submit your profile to visit it online."));
180 LOG(VB_GENERAL, LOG_DEBUG, QString(
"Profile URL = %1").arg(url));
188 if (browser.isEmpty())
190 ShowOkPopup(tr(
"No browser command set! MythTV needs a browser "
191 "installed and configure to display your hardware "
196 if (browser.toLower() ==
"internal")
202 QString cmd = browser;
203 cmd.replace(
"%ZOOM%", zoom);
204 cmd.replace(
"%URL%", url);
205 cmd.replace(
'\'',
"%27");
206 cmd.replace(
"&",
"\\&");
207 cmd.replace(
";",
"\\;");
218 ShowOkPopup(tr(
"You haven't submitted your hardware profile yet!"));
222 QString message = tr(
"Are you sure you want to delete "
223 "your online profile? Your information "
224 "is anonymous and helps the developers "
225 "to know what hardware the majority of users "
229 if (confirmdialog->Create())
261 ShowOkPopup(tr(
"Encountered a problem while deleting your profile."));
275 bool handled =
false;
289 "setupwizardbusydialog");
void CreateBusyDialog(const QString &message)
MythUIBusyDialog * m_busyPopup
MythUIButton * m_deleteButton
MythUIButton * m_submitButton
MythUIText * m_profileLocation
GeneralSetupWizard(MythScreenStack *parent, const char *name=nullptr)
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
MythUIButton * m_nextButton
HardwareProfile * m_hardwareProfile
bool Create(void) override
MythUIButton * m_viewButton
void OnDeletePromptReturn(bool submit)
MythUIText * m_adminPassword
MythUIButton * m_cancelButton
MythScreenStack * m_popupStack
void OnSubmitPromptReturn(bool submit)
QString GetProfileURL(void) const
static QString GetAdminPasswordFromFile(void)
bool SubmitProfile(bool updateTime=true)
Dialog asking for user confirmation.
QString GetSetting(const QString &key, const QString &defaultval="")
MythScreenStack * GetMainStack()
MythScreenStack * GetStack(const QString &Stackname)
bool HandleMedia(const QString &Handler, const QString &Mrl, const QString &Plot="", const QString &Title="", const QString &Subtitle="", const QString &Director="", int Season=0, int Episode=0, const QString &Inetref="", std::chrono::minutes LenMins=2h, const QString &Year="1895", const QString &Id="", bool UseBookmarks=false)
void AllowInput(bool Allow)
virtual void AddScreen(MythScreenType *screen, bool allowFade=true)
Screen in which all other widgets are contained and rendered.
void BuildFocusList(void)
MythUIType * GetFocusWidget(void) const
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
bool Create(void) override
All purpose text widget, displays a text string.
virtual void SetText(const QString &text)
void SetHelpText(const QString &text)
MythUIType * GetChild(const QString &name) const
Get a named child of this UIType.
static bool LoadWindowFromXML(const QString &xmlfile, const QString &windowname, MythUIType *parent)
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
MythConfirmationDialog * ShowOkPopup(const QString &message, bool showCancel)
Non-blocking version of MythPopupBox::showOkPopup()
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
MythMainWindow * GetMythMainWindow(void)
@ kMSDontDisableDrawing
avoid disabling UI drawing
uint myth_system(const QString &command, uint flags, std::chrono::seconds timeout)