summaryrefslogtreecommitdiffstats
path: root/abs/core/mythinstall
diff options
context:
space:
mode:
authorBritney Fransen <brfransen@gmail.com>2017-12-14 22:29:56 (GMT)
committerBritney Fransen <brfransen@gmail.com>2017-12-14 22:29:56 (GMT)
commit617a3af08e1baa921cda93e0077121f22a9447d9 (patch)
treea0b1eb2a96c8249239f7f6380a3da12ba2b7c8f6 /abs/core/mythinstall
parent9b5ae377f655f80525fb73e26fb3bbcd601c9f32 (diff)
downloadlinhes_pkgbuild-617a3af08e1baa921cda93e0077121f22a9447d9.zip
linhes_pkgbuild-617a3af08e1baa921cda93e0077121f22a9447d9.tar.gz
linhes_pkgbuild-617a3af08e1baa921cda93e0077121f22a9447d9.tar.bz2
mythinstall: port question, readme and help screens to MythUI
eliminate some compiler warnings by checking for system call outputs.
Diffstat (limited to 'abs/core/mythinstall')
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp53
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/main.cpp222
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro4
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.cpp136
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.h43
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h1
-rw-r--r--abs/core/mythinstall/PKGBUILD8
-rwxr-xr-xabs/core/mythinstall/install-ui.xml40
8 files changed, 349 insertions, 158 deletions
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
index 6f4252f..a067f98 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/installdialog.cpp
@@ -23,10 +23,9 @@
WelcomeDialog::WelcomeDialog(MythScreenStack *parent, const char *name)
- :MythScreenType(parent, name),
- m_status_text(NULL), m_recording_text(NULL), m_scheduled_text(NULL),
- m_time_text(NULL), m_date_text(NULL),
- m_menuPopup(NULL), m_mv_text(NULL)
+ :MythScreenType(parent, name), m_menuPopup(NULL),
+ m_status_text(NULL),m_recording_text(NULL), m_scheduled_text(NULL),
+ m_mv_text(NULL), m_time_text(NULL), m_date_text(NULL)
{
// system("rm -f /tmp/.install_state");
@@ -104,9 +103,11 @@ void WelcomeDialog::shutdownNow(int rc)
// system("rm -f /tmp/.install_percent");
// system("rm -f /tmp/.install_error");
if (rc == 1)
- system("/sbin/halt");
+ if(!system("/sbin/halt"))
+ LOG(VB_GENERAL, LOG_ERR, "Error running halt");
else
- system("/sbin/reboot");
+ if(!system("/sbin/reboot"))
+ LOG(VB_GENERAL, LOG_ERR, "Error running reboot");
}
void WelcomeDialog::runLIVECD(void)
@@ -159,7 +160,8 @@ bool WelcomeDialog::keyPressEvent(QKeyEvent *event)
// QByteArray tmp = cmd.toAscii();
// QByteArray tmp = cmd;
// system(tmp);
- system(qPrintable(cmd));
+ if(!system(qPrintable(cmd)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running MythShutdownXTermCMD");
}
}
else
@@ -174,7 +176,6 @@ bool WelcomeDialog::keyPressEvent(QKeyEvent *event)
void WelcomeDialog::closeDialog()
{
Close();
- exit(0);
}
@@ -229,7 +230,8 @@ void WelcomeDialog::updateScreen(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh " );
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running install_proxy.sh");
recording_text="Press MENU for Options";
mythvantage_text=" ";
error_text=" ";
@@ -522,7 +524,7 @@ QString WelcomeDialog::findinstallsouce(void)
{
getline (mountfile,line);
if ( line.empty() )
- line = "oops didn't find andthing";
+ line = "oops didn't find anything";
currentitem= ( QString::fromStdString( line ) );
@@ -867,7 +869,8 @@ void WelcomeDialog::install_generic(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh find_update " + install_drive +" &");
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Could not run install_proxy.sh find update");
busy_find_oldsettings();
bool flag = false;
QString line;
@@ -1000,14 +1003,14 @@ int WelcomeDialog::ask_validate_network(void)
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it setup_network &");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
busy_network();
if (network_check)
{
network_check->setProgress(2);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_self");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1020,7 +1023,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(3);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_gw");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1033,7 +1036,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(4);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_ns");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1046,7 +1049,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(5);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it check_names");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1059,7 +1062,7 @@ int WelcomeDialog::ask_validate_network(void)
network_check->setProgress(6);
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/install_proxy.sh network_check_it host_names");
- retval = system(qPrintable(cmdtxt));
+ retval = system(qPrintable(cmdtxt));
if ( retval != 0 )
{
network_check->Close();
@@ -1154,14 +1157,18 @@ void WelcomeDialog::install_it(void)
QString cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh full_install_it " + install_drive + " " + rootfs + " " + rootsize + " " + datafs + " " + datasize + " " + swapsize + "&");
cmdtxt.append("bin/install_proxy.sh full_install_it &");
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running install_proxy.sh full_install_it");
+
}
else if ( installtype == "Upgrade" )
{
QString cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh upgrade_it " + install_drive + " " + uprootfs + "&");
cmdtxt.append("bin/install_proxy.sh upgrade_it &");
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running install_proxy.sh upgrade_it");
+
}
else if (installtype=="NET")
{
@@ -1178,11 +1185,15 @@ void WelcomeDialog::install_it(void)
QString h;
h=localhostname;
cmdtxt.append("bin/restore_default_settings.sh -c save -t syssettings -d 127.0.0.1 -h " + h);
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running restore_default_settings.sh");
+
cmdtxt=MV_ROOT ;
//cmdtxt.append("bin/install_proxy.sh NETBOOT " + install_drive + " &");
cmdtxt.append("bin/install_proxy.sh NETBOOT &");
- system(qPrintable(cmdtxt));
+ if(!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Error running install_proxy.sh NETBOOT");
+
}
WORKING_ON_INSTALL = true;
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
index b6e66cd..51cce48 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/main.cpp
@@ -5,9 +5,7 @@
#include "password_manage.h"
#include "autocard.h"
#include "settemplate.h"
-
-
-
+#include "questionnotice.h"
// Qt
#include <QApplication>
@@ -15,15 +13,12 @@
#include <QDir>
#include <QTextStream>
-
#include <cstdlib>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <unistd.h>
-
-
-
+#include <chrono> // for milliseconds
+#include <thread> // for sleep_for
#include <stdio.h>
@@ -39,13 +34,12 @@
#include "commandlineparser.h"
#include "mythlogging.h"
#include "dialogbox.h"
-
+#include "signalhandling.h"
// libmythui
#include "mythmainwindow.h"
#include "mythuihelper.h"
-
//??
#include "myththemebase.h"
@@ -254,9 +248,8 @@ int main(int argc, char **argv)
bShowHelp = true;
if (cmdline.toBool("readme"))
- {
bShowReadme = true;
- }
+
if (cmdline.toBool("question"))
{
bShowquestion = true;
@@ -267,11 +260,11 @@ int main(int argc, char **argv)
bRunSetup = true;
if (cmdline.toBool("show_lang"))
- showLang = true;
+ showLang = true;
LCD::SetupLCD();
if (class LCD *lcd = LCD::Get())
- lcd->switchToTime();
+ lcd->switchToTime();
MythTranslation::load("mythfrontend");
@@ -300,14 +293,16 @@ int main(int argc, char **argv)
gCoreContext->ActivateSettingsCache(false);
gCoreContext->ClearSettingsCache();
bool runconfig = false;
- system("cp -f /etc/systemconfig /tmp/systemconfig.bak");
+ if (!system("cp -f /etc/systemconfig /tmp/systemconfig.bak"))
+ LOG(VB_GENERAL, LOG_ERR, "Could not backup /etc/systemconfig.");
QString olddb = gCoreContext->GetSetting("HostMysqlserver");
QString oldhostype = gCoreContext->GetSetting("HostSystemType");
//sync db with pacman
if (bShowplugins || bShowsoftware)
{
- system("pacman -Q > /tmp/pacman_installed");
+ if (!system("pacman -Q > /tmp/pacman_installed"))
+ LOG(VB_GENERAL, LOG_ERR, "Could not create /tmp/pacman_installed.");
QString progPacmanNamesArray[] = { "mythappletrailers",
"mytharchive",
"mythbrowser",
@@ -370,7 +365,7 @@ int main(int argc, char **argv)
QByteArray PacName = progPacmanNamesArray[i].toLocal8Bit();
const char *PacNameChar = PacName.data();
sprintf(cmd, "grep -q '%s ' /tmp/pacman_installed", PacNameChar);
-
+
//LOG(VB_GENERAL, LOG_INFO, QString(progPacmanNamesArray[i]));
//LOG(VB_GENERAL, LOG_INFO, QString(progDBNamesArray[i]));
QString currDBValue = gCoreContext->GetSetting(progDBNamesArray[i]);
@@ -389,7 +384,8 @@ int main(int argc, char **argv)
runconfig = true;
}
}
- system("rm -f /tmp/pacman_installed");
+ if (!system("rm -f /tmp/pacman_installed"))
+ LOG(VB_GENERAL, LOG_ERR, "Could not remove /tmp/pacman_installed.");
}
//DONE sync db with pacman
@@ -401,7 +397,8 @@ int main(int argc, char **argv)
//save my settings in case db switches
QString cmdtxt=MV_ROOT;
cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb);
- system(qPrintable(cmdtxt));
+ if (!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Could not save settings");
if ( status != 0 )
{
@@ -416,7 +413,8 @@ int main(int argc, char **argv)
QString cmdtxt;
cmdtxt=MV_ROOT;
cmdtxt.append("bin/myth_settings_wrapper.sh -c save -t syssettings -d " + olddb ) ;
- system(qPrintable(cmdtxt));
+ if (!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Could not save settings");
}
if ( runconfig )
@@ -437,7 +435,9 @@ int main(int argc, char **argv)
}
- system("rm -f /tmp/systemconfig.bak");
+ if (!system("rm -f /tmp/systemconfig.bak"))
+ LOG(VB_GENERAL, LOG_ERR, "Could not remove /tmp/systemconfig.bak.");
+
gCoreContext->ActivateSettingsCache(false);
gCoreContext->ClearSettingsCache();
if ( restart )
@@ -450,14 +450,16 @@ int main(int argc, char **argv)
problems->append("\n");
dia = new DialogBox(mainWindow, problems->append("\n" ));
dia->AddButton(QObject::tr("OK"));
- int returncode = 0;
- returncode = dia->exec();
+ //int returncode = 0;
+ //returncode = dia->exec();
+ dia->exec();
dia->deleteLater();
//cout << "restarting" << endl;
QString cmdtxt;
cmdtxt=MV_ROOT ;
cmdtxt.append("bin/systemconfig.sh reloadfe" );
- system(qPrintable(cmdtxt));
+ if (!system(qPrintable(cmdtxt)))
+ LOG(VB_GENERAL, LOG_ERR, "Could not reload frontend.");
}
gCoreContext->ActivateSettingsCache(false);
gCoreContext->ClearSettingsCache();
@@ -530,66 +532,42 @@ int main(int argc, char **argv)
else if (bShowHelp)
{
- DialogBox *dia = NULL;
- QString prompt;
- QString *problems = new QString("LinHES Help");
- problems->append("\n");
- problems->append("Visit http://linhes.org for additional help.");
- problems->append("\n");
- problems->append("\n");
- problems->append("------Keyboard Shortcuts---------------------------------");
- problems->append("\n");
- problems->append("Alt + h: This Screen");
- problems->append("\n");
-#ifdef __MVAPP__
- problems->append("F2: Open/Close Terminal");
- problems->append("\n");
- problems->append("Shift + Return: Open New Terminal (xterm)");
- problems->append("\n");
- problems->append("Alt + F2: Show 2nd desktop Alt + F1 To Go Back");
- problems->append("\n");
- problems->append("Alt + c: Capture Myth Screenshot");
- problems->append("\n");
-#else
- problems->append("Alt + x: Open New Terminal (xterm)");
- problems->append("\n");
- problems->append("Alt + m: Open mythfrontend");
- problems->append("\n");
- problems->append("m in mythfrontend: Display Power/About Menu");
- problems->append("\n");
-#endif
- problems->append("Alt + 1: Start Master mythbackend");
- problems->append("\n");
- problems->append("Alt + 2: Stop Master mythbackend");
- problems->append("\n");
- problems->append("Alt + 3: Restart Master mythbackend");
- problems->append("\n");
- problems->append("Alt + s: Open mythtv-setup");
- problems->append("\n");
- problems->append("Alt + u: Unhide/Hide Mouse Pointer");
- problems->append("\n");
- problems->append("Alt + w: Open Web Browser (Chrome if installed)");
- problems->append("\n");
- problems->append("Alt + f: Restart Window Manager");
- problems->append("\n");
+ QString line;
+ QString LH_HelpText;
+ QFile file("/usr/MythVantage/LH_HELP");
+ if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
+ {
+ QTextStream t( &file ); // use a text stream
+ while ( !t.atEnd() )
+ {
+ line = t.readLine();
+ LH_HelpText.append(line);
+ LH_HelpText.append("\n");
+ }
+ file.close();
+ }
+ else
+ LH_HelpText.append("Couldn't open /usr/MythVantage/LH_HELP");
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ QuestionNoticeDialog *questionNotice = new QuestionNoticeDialog(mainStack,
+ "Notice");
+ if (questionNotice->Create("notice", "LinHES Help", LH_HelpText))
+ mainStack->AddScreen(questionNotice, true);
+ else
+ return -1;
+
+ do
+ {
+ qApp->processEvents();
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
+ } while (mainStack->TotalScreens() > 0);
- dia = new DialogBox(mainWindow, problems->append("\n" ));
- dia->AddButton(QObject::tr("OK"));
- int returncode = 0;
- returncode = dia->exec();
- dia->deleteLater();
- DestroyMythMainWindow();
- delete gContext;
- return returncode;
}
else if (bShowReadme)
{
- DialogBox *dia = NULL;
- QString prompt;
QString line;
- QString *problems = new QString("");
- problems->append("\n");
+ QString readmeText;
QFile file("/usr/MythVantage/README");
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
@@ -597,88 +575,72 @@ int main(int argc, char **argv)
while ( !t.atEnd() )
{
line = t.readLine();
- problems->append(line);
- problems->append("\n");
+ readmeText.append(line);
+ readmeText.append("\n");
}
file.close();
}
else
- problems->append("Couldn't open file");
- dia = new DialogBox(mainWindow, problems->append("\n" ));
- dia->AddButton(QObject::tr("OK"));
- int returncode = 0;
- returncode = dia->exec();
- dia->deleteLater();
- DestroyMythMainWindow();
- delete gContext;
- return returncode;
- }
+ readmeText.append("Couldn't open /usr/MythVantage/README");
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ QuestionNoticeDialog *questionNotice = new QuestionNoticeDialog(mainStack,
+ "Notice");
+ if (questionNotice->Create("notice", "Welcome to LinHES!", readmeText))
+ mainStack->AddScreen(questionNotice, true);
+ else
+ return -1;
+
+ do
+ {
+ qApp->processEvents();
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
+ } while (mainStack->TotalScreens() > 0);
+ }
else if (bShowquestion)
{
//LOG(VB_GENERAL, LOG_INFO, QString(question));
- DialogBox *dia = NULL;
- QString prompt;
- QString *problems = new QString("");
- problems->append("\n");
- problems->append("\n");
- problems->append(question);
- dia = new DialogBox(mainWindow, problems->append("\n" ));
- dia->AddButton(QObject::tr("Yes"));
- dia->AddButton(QObject::tr("No"));
- int returncode = 0;
+ extern int questionReturnCode; //as extern to be set in questionnotice.cpp
- returncode = dia->exec();
- dia->deleteLater();
- DestroyMythMainWindow();
- delete gContext;
+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+ QuestionNoticeDialog *questionNotice = new QuestionNoticeDialog(mainStack,
+ "Question");
+ if (questionNotice->Create("question", "Question", question))
+ mainStack->AddScreen(questionNotice, true);
+ else
+ return -1;
- return returncode;
+ do
+ {
+ qApp->processEvents();
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
+ } while (mainStack->TotalScreens() > 0);
+ retval = questionReturnCode;
}
else
{
- if (LanguageSelection::prompt(showLang)){
+ if (LanguageSelection::prompt(showLang))
+ {
//taken from reloadTheme mythtv-setup
MythTranslation::reload();
GetMythMainWindow()->ReinitDone();
-
}
MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
WelcomeDialog *welcome = new WelcomeDialog(mainStack, "Welcome");
if (welcome->Create())
- {
mainStack->AddScreen(welcome, true);
- }
else
return -1;
do
{
-
qApp->processEvents();
- usleep(5000);
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
} while (mainStack->TotalScreens() > 0);
-
-
- // DestroyMythMainWindow();
- // delete gContext;
- // gContext = NULL;
- // delete qApp;
-
}
DestroyMythMainWindow();
-
- //gCoreContext->GetSetting("MasterServerIP");
- //gCoreContext->GetSetting("BackendServerIP");
-
-
-
delete gContext;
- gContext = NULL ;
- //delete qApp;
-
- return 0;
+ SignalHandler::Done();
+ return retval;
}
-
-
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
index f517c43..8dd6855 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/mythinstall.pro
@@ -41,7 +41,7 @@ QMAKE_CLEAN += $(TARGET)
//HEADERS += commandlineparser.h
//SOURCES += main.cpp commandlineparser.cpp
-HEADERS += installdialog.h commandlineparser.h installsettings.h settemplate.h installationtype.h autocard.h xorgsettings.h password_manage.h misc_settings.h mv_common.h infrared.h compat-mv.h supplemental.h vnc.h fileshare.h
-SOURCES += main.cpp commandlineparser.cpp installdialog.cpp installsettings.cpp settemplate.cpp installationtype.cpp autocard.cpp xorgsettings.cpp password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp supplemental.cpp vnc.cpp fileshare.cpp
+HEADERS += installdialog.h commandlineparser.h installsettings.h settemplate.h installationtype.h autocard.h xorgsettings.h password_manage.h misc_settings.h mv_common.h infrared.h compat-mv.h supplemental.h vnc.h fileshare.h questionnotice.h
+SOURCES += main.cpp commandlineparser.cpp installdialog.cpp installsettings.cpp settemplate.cpp installationtype.cpp autocard.cpp xorgsettings.cpp password_manage.cpp misc_settings.cpp infrared.cpp compat-mv.cpp supplemental.cpp vnc.cpp fileshare.cpp questionnotice.cpp
QT += sql xml network widgets
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.cpp b/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.cpp
new file mode 100755
index 0000000..529be89
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.cpp
@@ -0,0 +1,136 @@
+// ANSI C
+#include <cstdlib>
+
+// POSIX
+#include <unistd.h>
+
+// qt
+#include <QCoreApplication>
+#include <QKeyEvent>
+#include <QEvent>
+#include <QTimer>
+
+// myth
+#include "exitcodes.h"
+#include "mythcontext.h"
+#include "signalhandling.h"
+#include "questionnotice.h"
+
+int questionReturnCode;
+
+QuestionNoticeDialog::QuestionNoticeDialog(MythScreenStack *parent,
+ const char *name)
+ :MythScreenType(parent, name),
+ m_title_text(NULL), m_notice_text(NULL), m_question_text(NULL)
+{
+ gCoreContext->addListener(this);
+}
+
+bool QuestionNoticeDialog::Create(QString questionORnotice, QString title,
+ QString displayText)
+{
+ bool foundtheme = false;
+
+ // Load the theme for this screen
+ foundtheme = LoadWindowFromXML("install-ui.xml",
+ "questionnotice_screen", this);
+
+ if (!foundtheme)
+ return false;
+
+ bool err = false;
+
+ UIUtilE::Assign(this, m_title_text, "title", &err);
+ UIUtilE::Assign(this, m_notice_text, "notice_text", &err);
+ UIUtilE::Assign(this, m_ok_button, "ok_button", &err);
+ UIUtilE::Assign(this, m_question_text, "question_text", &err);
+ UIUtilE::Assign(this, m_yes_button, "yes_button", &err);
+ UIUtilE::Assign(this, m_no_button, "no_button", &err);
+
+ if (err)
+ {
+ LOG(VB_GENERAL, LOG_ERR, "Cannot load screen 'questionnotice_screen'");
+ return false;
+ }
+
+ m_title_text->SetVisible(true);
+ m_title_text->SetText(title);
+
+ //LOG(VB_GENERAL, LOG_INFO, QString(questionORnotice));
+ //LOG(VB_GENERAL, LOG_INFO, QString(displayText));
+
+ //show the correct text and buttons depending on questionORnotice
+ if (questionORnotice.contains("notice"))
+ {
+ m_notice_text->SetVisible(true);
+ m_notice_text->SetText(displayText);
+ m_ok_button->SetVisible(true);
+ m_question_text->SetVisible(false);
+ m_yes_button->SetVisible(false);
+ m_no_button->SetVisible(false);
+ }
+ else
+ {
+ m_notice_text->SetVisible(false);
+ m_ok_button->SetVisible(false);
+ m_question_text->SetVisible(true);
+ m_question_text->SetText(displayText);
+ m_yes_button->SetVisible(true);
+ m_no_button->SetVisible(true);
+ }
+
+ m_ok_button->SetText(tr("OK"));
+ connect(m_ok_button, SIGNAL(Clicked()),
+ this, SLOT(okButtonClick()));
+ m_yes_button->SetText(tr("Yes"));
+ connect(m_yes_button, SIGNAL(Clicked()),
+ this, SLOT(yesButtonClick()));
+ m_no_button->SetText(tr("No"));
+ connect(m_no_button, SIGNAL(Clicked()),
+ this, SLOT(noButtonClick()));
+
+ BuildFocusList();
+
+ return true;
+}
+
+void QuestionNoticeDialog::okButtonClick(void)
+{
+ // this makes sure the button appears to click properly
+ QTimer::singleShot(500, this, SLOT(okButton()));
+}
+
+void QuestionNoticeDialog::okButton(void)
+{
+ questionReturnCode = 0;
+ Close();
+}
+
+void QuestionNoticeDialog::yesButtonClick(void)
+{
+ // this makes sure the button appears to click properly
+ QTimer::singleShot(500, this, SLOT(yesButton()));
+}
+
+void QuestionNoticeDialog::yesButton(void)
+{
+ questionReturnCode = 16;
+ Close();
+}
+
+void QuestionNoticeDialog::noButtonClick(void)
+{
+ // this makes sure the button appears to click properly
+ QTimer::singleShot(500, this, SLOT(noButton()));
+}
+
+void QuestionNoticeDialog::noButton(void)
+{
+ questionReturnCode = 17;
+ Close();
+}
+
+QuestionNoticeDialog::~QuestionNoticeDialog()
+{
+ gCoreContext->removeListener(this);
+}
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.h b/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.h
new file mode 100755
index 0000000..a2c2c79
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/questionnotice.h
@@ -0,0 +1,43 @@
+#ifndef QUESIONNOTICEDIALOG_H_
+#define QUESIONNOTICEDIALOG_H_
+
+// qt
+#include <QDateTime>
+
+// libmythui
+#include "mythscreentype.h"
+#include "mythuibutton.h"
+#include "mythuitext.h"
+#include "mythdialogbox.h"
+
+class QuestionNoticeDialog : public MythScreenType
+{
+
+ Q_OBJECT
+
+public:
+ QuestionNoticeDialog(MythScreenStack *parent, const char *name);
+ ~QuestionNoticeDialog();
+
+ bool Create(QString questionORnotice, QString title, QString displayText);
+
+protected slots:
+ void yesButton(void);
+ void yesButtonClick(void);
+ void noButton(void);
+ void noButtonClick(void);
+ void okButton(void);
+ void okButtonClick(void);
+
+private:
+ // GUI stuff
+ MythUIText *m_title_text;
+ MythUIText *m_notice_text;
+ MythUIButton *m_ok_button;
+
+ MythUIText *m_question_text;
+ MythUIButton *m_yes_button;
+ MythUIButton *m_no_button;
+};
+
+#endif
diff --git a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
index 88f202c..ad62564 100755
--- a/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
+++ b/abs/core/mythinstall/MythVantage-app/mythinstall/xorgsettings.h
@@ -109,7 +109,6 @@ static HostComboBox *HostXres()
gc->addSelection("Auto") ;
gc->setHelpText(QObject::tr(""));
system ("print_xorg_res.py");
-
QFile file("/tmp/modelines");
QString line;
if ( file.open(QIODevice::ReadOnly | QIODevice::Text) )
diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD
index 73c44fe..c51cbe5 100644
--- a/abs/core/mythinstall/PKGBUILD
+++ b/abs/core/mythinstall/PKGBUILD
@@ -1,10 +1,10 @@
# Maintainer: Jams
pkgname=mythinstall
-pkgver=8.5
-pkgrel=2
+pkgver=8.5.1
+pkgrel=1
pkgdesc="LinHES installer/systemconfig GUI."
arch=('i686' 'x86_64')
-depends=('mythtv>=29')
+depends=('mythtv>=29' 'LinHES-config')
makedepends=('mythtv>=29')
logofiles=`ls logo*.png`
source=('install-ui.xml' $logofiles)
@@ -33,7 +33,7 @@ package() {
done
}
-md5sums=('39d6b7bd1ee305c5523a3cf66d4c2338'
+md5sums=('4e587d53e64cb9cda12b0133a1fe1831'
'c4c26977b723a4b5d6435ede73051d1b'
'27ce7f89a83864dfc5abe23c61964c0c'
'3291ad55fe6d7884fc732313f1cc2924'
diff --git a/abs/core/mythinstall/install-ui.xml b/abs/core/mythinstall/install-ui.xml
index 45b5404..4c51ce9 100755
--- a/abs/core/mythinstall/install-ui.xml
+++ b/abs/core/mythinstall/install-ui.xml
@@ -147,4 +147,44 @@
</window>
+
+ <window name="questionnotice_screen">
+
+ <textarea name="title" from="basetextarea">
+ <area>50,10,700,40</area>
+ <align>allcenter</align>
+ <value></value>
+ </textarea>
+
+ <textarea name="notice_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <area>20,60,760,460</area>
+ <value></value>
+ <align>allcenter</align>
+ </textarea>
+
+ <textarea name="question_text" from="basetextarea">
+ <multiline>yes</multiline>
+ <area>20,60,760,460</area>
+ <value></value>
+ <align>allcenter</align>
+ </textarea>
+
+ <button name="yes_button" from="basebutton">
+ <position>20,540</position>
+ <value>Yes</value>
+ </button>
+
+ <button name="ok_button" from="basebutton">
+ <position>320,540</position>
+ <value>OK</value>
+ </button>
+
+ <button name="no_button" from="basebutton">
+ <position>630,540</position>
+ <value>No</value>
+ </button>
+
+ </window>
+
</mythuitheme>