summaryrefslogtreecommitdiffstats
path: root/abs/core/mythinstall/installdialog.cpp
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-03-14 23:36:14 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-03-14 23:36:14 (GMT)
commit2e9a78e69206e284e2e8411bc455d52b8dd9ca74 (patch)
tree2ee5f006d3e2eae1b969d7126708742532a33c40 /abs/core/mythinstall/installdialog.cpp
parent3d7c59c43f41cf1a9a13831c287373211e089a02 (diff)
downloadlinhes_pkgbuild-2e9a78e69206e284e2e8411bc455d52b8dd9ca74.zip
linhes_pkgbuild-2e9a78e69206e284e2e8411bc455d52b8dd9ca74.tar.gz
linhes_pkgbuild-2e9a78e69206e284e2e8411bc455d52b8dd9ca74.tar.bz2
mythinstall: sync testing to core
bugfix
Diffstat (limited to 'abs/core/mythinstall/installdialog.cpp')
-rwxr-xr-xabs/core/mythinstall/installdialog.cpp1034
1 files changed, 0 insertions, 1034 deletions
diff --git a/abs/core/mythinstall/installdialog.cpp b/abs/core/mythinstall/installdialog.cpp
deleted file mode 100755
index e5bdfc9..0000000
--- a/abs/core/mythinstall/installdialog.cpp
+++ /dev/null
@@ -1,1034 +0,0 @@
-#include <qapplication.h>
-#include <unistd.h>
-#include <fstream>
-#include <sys/wait.h> // For WIFEXITED on Mac OS X
-
-#include "mythcontext.h"
-#include "mythdbcon.h"
-#include "lcddevice.h"
-#include "tv.h"
-#include "programinfo.h"
-#include "uitypes.h"
-#include "remoteutil.h"
-#include <qdir.h>
-#include "installdialog.h"
-#include "installsettings.h"
-#include "installationtype.h"
-#include "mv_common.h"
-#include "libmyth/dialogbox.h"
-#include <stdlib.h>
-#define UPDATE_STATUS_INTERVAL 5000
-#define UPDATE_SCREEN_INTERVAL 5000
-
-
-
-WelcomeDialog::WelcomeDialog(MythMainWindow *parent,
- QString window_name,
- QString theme_filename,
- const char* name)
-:MythThemedDialog(parent, window_name, theme_filename, name)
-{
- system("rm -f /tmp/.install_state");
- system("rm -f /tmp/.install_percent");
- system("rm -f /tmp/.install_error");
- install_drive = "" ;
- recording_text = "";
- scheduled_text = "";
- install_text = "";
- version_text = "";
- I_AM_BUSY = false;
- WORKING_ON_INSTALL = false;
- current_hostname = "";
-
- gContext->addListener(this);
- m_timeFormat = gContext->GetSetting("TimeFormat", "h:mm AP");
- wireUpTheme();
- assignFirstFocus();
-
- m_updateStatusTimer = new QTimer(this);
- connect(m_updateStatusTimer, SIGNAL(timeout()), this,
- SLOT(updateStatus()));
- m_updateStatusTimer->start(UPDATE_STATUS_INTERVAL);
-
- m_updateScreenTimer = new QTimer(this);
- connect(m_updateScreenTimer, SIGNAL(timeout()), this,
- SLOT(updateScreen()));
-
- m_timeTimer = new QTimer(this);
- connect(m_timeTimer, SIGNAL(timeout()), this,
- SLOT(updateTime()));
- m_timeTimer->start(1000);
-
- reboot_box = NULL;
- popup = NULL;
- showPopup();
-}
-void WelcomeDialog::shutdownNow(int rc)
-{
- QString NETBOOT = getenv("NETBOOT");
- NETBOOT=NETBOOT.stripWhiteSpace();
- system("rm -f /tmp/.install_state");
- system("rm -f /tmp/.install_percent");
- system("rm -f /tmp/.install_error");
- if (rc == 1)
- system("/sbin/halt");
- else
- system("/sbin/reboot");
- // system("/usr/bin/killall -9 X");
-}
-
-void WelcomeDialog::runLIVECD(void)
-{
- cancelPopup();
- ask_validate_network();
- if ( runsettings(true) == 1 )
- {
- QString PAINTER = gContext->GetSetting("ThemePainter");
- QString startFECmd = ("MYTHCONFDIR=/tmp mythfrontend -O ThemePainter=" + PAINTER );
- myth_system(startFECmd.ascii());
- }
- else
- {
- cancelPopup();
- showPopup();
- }
-
-
-}
-
-
-
-int WelcomeDialog::exec()
-{
- updateAll();
- return MythDialog::exec();
-}
-
-
-
-void WelcomeDialog::keyPressEvent(QKeyEvent *e)
-{
- bool handled = false;
- QStringList actions;
- gContext->GetMainWindow()->TranslateKeyPress("Welcome", e, actions);
- for (unsigned int i = 0; i < actions.size() && !handled; i++)
- {
- QString action = actions[i];
- handled = true;
- if (action == "ESCAPE")
- {
- return; // eat escape key
- }
- else if (action == "MENU")
- {
- showPopup();
- }
- else if (action == "NEXTVIEW")
- {
- accept();
- }
- else if (action == "SELECT")
- {
- activateCurrent();
- }
- else
- handled = false;
- }
-
- if (!handled)
- MythThemedDialog::keyPressEvent(e);
-}
-
-UITextType* WelcomeDialog::getTextType(QString name)
-{
- UITextType* type = getUITextType(name);
- if (!type)
- {
- cout << "ERROR: Failed to find '" << name << "' UI element in theme file\n"
- << "Bailing out!" << endl;
- exit(0);
- }
- return type;
-}
-
-void WelcomeDialog::wireUpTheme()
-{
- m_status_text = getTextType("status_text");
- m_recording_text = getTextType("recording_text");
- m_scheduled_text = getTextType("scheduled_text");
- m_mv_text=getTextType("mythvantage_text");
- m_time_text = getTextType("time_text");
- m_date_text = getTextType("date_text");
- m_warning_text = getTextType("conflicts_text");
- m_warning_text->hide();
- buildFocusList();
-}
-
-void WelcomeDialog::closeDialog()
-{
- done(1);
-}
-
-WelcomeDialog::~WelcomeDialog()
-{
- gContext->removeListener(this);
- if (m_updateStatusTimer)
- delete m_updateStatusTimer;
-
- if (m_updateScreenTimer)
- delete m_updateScreenTimer;
-
- if (m_timeTimer)
- delete m_timeTimer;
-}
-
-void WelcomeDialog::updateTime(void)
-{
- QString releasefile="/etc/";
- releasefile.append(RELEASEFILE);
-
- extern const char *myth_source_version;
- extern const char *myth_source_path;
- QString distro_line;
- QFile file(releasefile);
- if ( file.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &file ); // use a text stream
- distro_line = t.readLine();
- file.close();
- }
-
-
- QString s="";
- //QString s="MythVantage 1.4 Mythtv svn: ";
- s.append(distro_line);
- s.append( " , Mythtv svn:" );
- s.append(myth_source_version);
- s.append(" ");
- s.append(myth_source_path);
- m_date_text->SetText(s);
-}
-
-void WelcomeDialog::updateStatus(void)
-{
-// checkConnectionToServer();
- updateStatusMessage();
-}
-
-void WelcomeDialog::updateScreen(void)
-{
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh " );
- system(cmdtxt);
- recording_text=" ";
- mythvantage_text=" ";
- error_text=" ";
- scheduled_text=" ";
- QFile mystatus("/tmp/.install_state");
- QFile mypercent("/tmp/.install_percent");
- QFile myerror("/tmp/.install_error");
- QFile mylog("/tmp/mythvantage_install.log");
- if ( mystatus.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &mystatus ); // use a text stream
- scheduled_text = t.readLine();
- mystatus.close();
- }
-
- if ( mypercent.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &mypercent ); // use a text stream
- recording_text = t.readLine();
- mypercent.close();
- }
-
- if ( myerror.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &myerror ); // use a text stream
- error_text = t.readLine();
- myerror.close();
- scheduled_text = error_text;
- recording_text = "FAILED";
- WORKING_ON_INSTALL = false;
- }
-
- if ( WORKING_ON_INSTALL )
- {
- if ( mylog.open( IO_ReadOnly| IO_Translate ) )
- {
- QTextStream t( &mylog );
- while ( !t.atEnd() )
- {
- mythvantage_text=t.readLine();
- }
- mylog.close();
- }
- }
- else
- mythvantage_text="";
- m_recording_text->SetText(recording_text);
- m_scheduled_text->SetText(scheduled_text);
- m_mv_text->SetText(mythvantage_text);
-
- if ( install_drive != "" )
- install_text = "";
-
- m_status_text->SetText(install_text );
- m_updateScreenTimer->start(UPDATE_SCREEN_INTERVAL, true);
- if ( scheduled_text == "Done" )
- {
- Reboot_popup () ;
- }
- // shows the busy box when configuring the system
- if ( scheduled_text == "Configuring system")
- {
- if ( ! I_AM_BUSY )
- busy_box();
- assignFirstFocus();
- }
-};
-
-void WelcomeDialog::busy_box(void)
-{
- QString msgtext = "Please wait, " ;
- msgtext.append(current_hostname);
- msgtext.append(" is preparing for life");
- MythBusyDialog *busy = new MythBusyDialog(msgtext);
- busy->start();
-
- while ( scheduled_text == "Configuring system" )
- {
- qApp->processEvents ();
- usleep(900);
- I_AM_BUSY = true;
- }
- busy->Close();
- I_AM_BUSY = false;
- busy->deleteLater();
-}
-
-void WelcomeDialog::busy_find_oldsettings(void)
-{
- MythBusyDialog *busy = new MythBusyDialog(
- QObject::tr("Importing old settings"));
- busy->start();
- int return_code = 0;
- while ( return_code == 0 )
- {
- qApp->processEvents ();
- usleep(900);
- I_AM_BUSY = true;
- return_code = myth_system("ps -ef|grep install_proxy.sh|grep -v grep > /dev/null");
-
- }
- busy->Close();
- I_AM_BUSY = false;
- busy->deleteLater();
-
-}
-
-
-
-void WelcomeDialog::updateAll(void)
-{
- updateRecordingList();
- updateScheduledList();
-}
-
-bool WelcomeDialog::updateRecordingList()
-{
- return true;
-}
-
-bool WelcomeDialog::updateScheduledList()
-{
- updateStatus();
- updateScreen();
- return true;
-}
-
-void WelcomeDialog::updateStatusMessage(void)
-{
-
-}
-
-void WelcomeDialog::showPopup(void)
-{
- if (popup)
- return;
- popup = new MythPopupBox(gContext->GetMainWindow(), "Menu");
- QButton *topButton;
- QLabel *label = popup->addLabel(tr("Menu"), MythPopupBox::Large, false);
- label->setAlignment(Qt::AlignCenter | Qt::WordBreak);
- // This is a bad way to lock the buttons but it works for now.
- if ( scheduled_text.length() <= 2 )
- {
- topButton = popup->addButton(tr("Install or Upgrade "), this,
- SLOT(Display_2ndpopup()));
- popup->addButton(tr("Run MythFrontend"), this,
- SLOT(runLIVECD()));
- popup->addButton(tr("Exit"), this,
- SLOT(closeDialog()));
- popup->addButton(tr("Close menu"), this, SLOT(cancelPopup()));
-
- popup->ShowPopup(this, SLOT(cancelPopup()));
-
- }
- else
- {
- topButton= popup->addButton(tr("Exit"), this,
- SLOT(closeDialog()));
- popup->addButton(tr("Close menu"), this, SLOT(cancelPopup()));
-
- popup->ShowPopup(this, SLOT(cancelPopup()));
- }
-
- topButton->setFocus();
-}
-
-
-QString WelcomeDialog::diskmodel(QString drive , QString tsize)
-{
- string line;
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh disk_model_it " + drive + " " + tsize );
- myth_system(cmdtxt);
-
- ifstream model("/tmp/model");
- if (model.is_open())
- getline (model,line);
- model.close();
- return line;
-}
-
-QString WelcomeDialog::findinstallsouce(void)
-{
- string line;
- QString currentitem;
- ifstream mountfile("/proc/mounts");
- //ifstream mountfile("procmounts");
- while (! mountfile.eof() )
- {
- getline (mountfile,line);
- if ( line.empty() )
- line = "oops didn't find andthing";
- currentitem = line;
-
- if ( ! currentitem.contains("/dev"))
- currentitem="not the right line";
-
- //if ( currentitem.contains("/mnt/live/mnt") )
- if ( currentitem.contains("/.livesys/medium") )
- {
- int ndx = line.find(" ");
- currentitem = line.substr(0,ndx);
- ndx = currentitem.findRev("/");
- currentitem = currentitem.mid(ndx+1,3);
- return currentitem;
- };
-
- }
-
-};
-
-void WelcomeDialog::showPopup_2(void)
-{
-
- if (popup)
- return;
- popup = new MythPopupBox(gContext->GetMainWindow(), "Select the drive to install");
- findinstallsouce();
- QButton *CancelButton;
- QLabel *label = popup->addLabel(tr("Select the install target."), MythPopupBox::Large, false);
- label->setAlignment(Qt::AlignCenter | Qt::WordBreak);
- string currentitem;
- string sizeitem;
- string disksize;
- string line;
- bool installsource = false;
-
- QString NETBOOT = getenv("NETBOOT");
- NETBOOT=NETBOOT.stripWhiteSpace();
- if ( NETBOOT == "YES" )
- popup->addButton(("Diskless Frontend " ), this, SLOT(install_net() ) );
-
- QString INSTALLSOURCE = findinstallsouce();
- std::cout << "install source:" << std::endl;
- std::cout << INSTALLSOURCE << std::endl;
- ifstream partitions("/proc/partitions");
- if (partitions.is_open())
- while (! partitions.eof() )
- {
- getline (partitions,line);
- if ( line.empty() )
- {
- line = "oops didn't find anything";
- }
- int ndx = line.rfind(" ");
- ndx = ndx +1;
- int linelength = line.length();
- currentitem = line.substr(ndx,linelength);
- sizeitem = line.substr(0,ndx-1);
- linelength = sizeitem.length();
- ndx = sizeitem.rfind(" ");
- disksize = sizeitem.substr(ndx+1,linelength);
-
-// std::cout << currentitem<< std::endl;
- if( currentitem == INSTALLSOURCE )
- {
- std::cout << currentitem<< std::endl;
- installsource = true;
- }
-
-
- if (! installsource )
- {
- if ( currentitem == "hda" )
- popup->addButton(("hda " + diskmodel(currentitem,disksize)), this, SLOT(install_hda() ) );
- if ( currentitem == "hdb" )
- popup->addButton(("hdb " + diskmodel(currentitem,disksize)), this, SLOT(install_hdb() ) );
- if ( currentitem == "hdc" )
- popup->addButton(("hdc " + diskmodel(currentitem,disksize)), this, SLOT(install_hdc() ) );
- if ( currentitem == "hdd" )
- popup->addButton(("hdd " + diskmodel(currentitem,disksize)), this, SLOT(install_hdd() ) );
- if (currentitem == "sda" )
- popup->addButton(("sda " + diskmodel(currentitem,disksize)), this, SLOT(install_sda() ) );
- if (currentitem == "sdb" )
- popup->addButton(("sdb " + diskmodel(currentitem,disksize)), this, SLOT(install_sdb() ) );
- if (currentitem == "sdc" )
- popup->addButton(("sdc "+ diskmodel(currentitem,disksize)), this, SLOT(install_sdc() ) );
- if (currentitem == "sdd" )
- popup->addButton(("sdd "+ diskmodel(currentitem,disksize)), this, SLOT(install_sdd() ) );
- }
- installsource = false;
- }
- partitions.close();
- CancelButton = popup->addButton(tr("Cancel"), this, SLOT(MAINPopup()));
- popup->ShowPopup(this, SLOT(cancelPopup()));
- CancelButton->setFocus();
-}
-
-void WelcomeDialog::GO_popup(QString go_text)
-{
- if (popup)
- return;
- DialogCode retval = MythPopupBox::Show2ButtonPopup(gContext->GetMainWindow(),
- QString("Start the process"),
- QObject::tr(go_text),
- QObject::tr("Start the process"), QObject::tr("Cancel"), kDialogCodeButton0);
-
- if ( retval == kDialogCodeButton0 )
- {
- install_it();
- }
- else
- {
- cancelPopup();
- showPopup();
- }
-}
-
-
-void WelcomeDialog::Reboot_popup(void)
-{ if (reboot_box)
- return;
- QString prompt1;
- QFile updbstatus("/tmp/.upgrade_db_failed");
- if ( updbstatus.open(IO_ReadOnly | IO_Translate) )
- {
- prompt1 = QObject::tr(" ");
- prompt1.append("\n");
- prompt1.append("An error occured while attempting to restore the database!");
- prompt1.append("\n");
- prompt1.append("The old database could not be restored, so a new database was created");
- prompt1.append("\n");
-
- }
- else
- {
- prompt1 = QObject::tr("Ready to go!");
- }
-
-
-
- reboot_box = new DialogBox(gContext->GetMainWindow(), prompt1);
- reboot_box->AddButton(QObject::tr("Reboot"));
- reboot_box->AddButton(QObject::tr("Power off"));
-
- int returncode = 0;
- DialogCode dcode = reboot_box->exec();
- reboot_box->deleteLater();
- if (kDialogCodeButton0 == dcode )
- returncode = 0;
- if (kDialogCodeButton1 == dcode )
- returncode = 1;
- if (kDialogCodeButton2 == dcode )
- returncode = 2;
-
-
- reboot_box = NULL;
- shutdownNow(returncode);
-}
-
-
-
-void WelcomeDialog::cancelPopup(void)
-{
- if (!popup)
- return;
- popup->hide();
- popup->deleteLater();
- popup = NULL;
- setActiveWindow();
-}
-
-void WelcomeDialog::MAINPopup(void)
-{
- if (!popup)
- return;
- popup->hide();
- popup->deleteLater();
- popup = NULL;
- showPopup();
- setActiveWindow();
-}
-
-void WelcomeDialog::Display_2ndpopup(void)
-{
- cancelPopup();
- showPopup_2();
- updateStatusMessage();
- updateScreen();
-}
-
-void WelcomeDialog::install_hda(void)
-{
- install_drive = "hda" ;
- install_generic();
-}
-
-void WelcomeDialog::install_hdb(void)
-{
- install_drive = "hdb" ;
- install_generic();
-}
-
-void WelcomeDialog::install_hdc(void)
-{
- install_drive = "hdc" ;
- install_generic();
-}
-
-void WelcomeDialog::install_hdd(void)
-{
- install_drive = "hdd" ;
- install_generic();
-}
-
-void WelcomeDialog::install_sda(void)
-{ install_drive = "sda" ;
- install_generic();
-}
-void WelcomeDialog::install_sdb(void)
-{ install_drive = "sdb" ;
- install_generic();
-}
-
-void WelcomeDialog::install_sdc(void)
-{ install_drive = "sdc" ;
- install_generic();
-}
-
-void WelcomeDialog::install_sdd(void)
-{
- install_drive = "sdd" ;
- install_generic();
-}
-
-void WelcomeDialog::install_net(void)
-{
- install_drive = "NET" ;
- gContext->ActivateSettingsCache(false);
- gContext ->SaveSetting("HOSTinstallationtype","NET");
- install_generic();
-}
-
-void WelcomeDialog::install_generic(void)
-{
- gContext->ActivateSettingsCache(false);
- cancelPopup();
- updateStatusMessage();
- updateScreen();
- QString installwarningtext;
- int runNextSetting;
- runNextSetting = 1;
- int tflag;
- tflag = 0;
- int retcode;
- retcode=0;
- QString installtype;
- if ( install_drive != "NET")
- retcode = mythinstalltype(install_drive);
- if ( retcode == 0 )
- {
- installtype = gContext -> GetSetting("HOSTinstallationtype");
- if ( installtype == "Full/Auto" )
- {
- runNextSetting = ask_validate_network();
- installwarningtext="Warning!";
- installwarningtext.append ("\n");
- installwarningtext.append ("\n");
- installwarningtext.append ("About to erase the entire");
- installwarningtext.append ("\n");
- installwarningtext.append ("installation drive of ");
- installwarningtext.append (install_drive);
-
- }
- else if ( installtype == "NET")
- {
- runNextSetting=0;
- gContext ->SaveSetting("HostSystemType", "Frontend_only");
- gContext->SaveSetting("HostaccesshostypeSystemtype","0");
- installwarningtext.append ("About to install ");
- installwarningtext.append ("\n");
- installwarningtext.append (install_drive);
- // ask for hostname
- runsettings(false,true,false,false,false,false,false);
- }
- else if ( installtype == "Upgrade" )
- {
- installwarningtext="Warning!";
- installwarningtext.append ("\n");
- installwarningtext.append ("\n");
- installwarningtext.append ("About to erase the");
- installwarningtext.append ("\n");
- installwarningtext.append ("partition ");
- installwarningtext.append (install_drive);
- installwarningtext.append ("1");
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh find_update " + install_drive +" &");
- system(cmdtxt);
- busy_find_oldsettings();
- bool flag = false;
- QString line;
- QString currentitem;
- QFile file("/etc/systemconfig");
- if ( file.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &file ); // use a text stream
- while ( !t.eof() )
- {
- line = t.readLine();
- if ( line.startsWith("hostname"))
- {
- flag=true;
- currentitem = line.section( "=", 1, 1 );
- current_hostname = currentitem ;
- }
- }
- file.close();
- cout << current_hostname << endl;
- }
- if ( flag )
- {
- // GO_popup(installwarningtext);
- tflag = 1;
- }
- else
- {
- cout << "searching for knoppmyth-versin" << endl;
- //couldn't open /etc/systemconfig, so now look for /tmp/etc/Knoppmyth-version
- QFile file("/tmp/etc/KnoppMyth-version");
- if ( file.exists() )
- { //appears to be a knoppmyth version, proceed
- cout << "found knoppmyth-version" << endl;
- QFile kmfile("/tmp/etc/hostname");
- if ( kmfile.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &kmfile ); // use a text stream
- line = t.readLine();
- flag=true;
- currentitem = line.stripWhiteSpace();
- current_hostname = currentitem ;
- //gContext->ActivateSettingsCache(true);
- gContext->ClearSettingsCache();
- gContext->SetSetting("HostMyhostname",current_hostname);
- gContext->SaveSetting("HostMyhostname",current_hostname);
- }
- kmfile.close();
- cout << current_hostname << endl;
- runNextSetting = ask_validate_network();
- }
- else
- {
- //popup things went wrong
- DialogCode returncode = MythPopupBox::Show2ButtonPopup(gContext->GetMainWindow(),
- QString(""),
- QObject::tr("Couldn't find the old config file, proceed with update?"),
- QObject::tr("No"), QObject::tr("Yes"), kDialogCodeButton1);
- if ( returncode == kDialogCodeButton1 )
- {
- runNextSetting = ask_validate_network();
- }
- else if ( returncode == kDialogCodeButton0 )
- {
- runNextSetting = 1;
- }
- }
-
- }
- }
-
- }
-
-
-//run through the system settings
-if ( runNextSetting == 0 )
-{
- tflag = runsettings(false,false,true,true,false,false,false,false,false,false,true,false);
-
-}
-else
-{
- cancelPopup();
- showPopup();
-}
-
-if ( tflag == 1 )
- {
- cancelPopup();
- GO_popup(installwarningtext);
- }
- else
- {
- cancelPopup();
- showPopup();
- }
-
-}
-
-void busy_network(void)
-{
- MythBusyDialog *busy = new MythBusyDialog(
- QObject::tr("Starting network"));
- busy->start();
- int return_code = 0;
- while ( return_code == 0 )
- {
- qApp->processEvents ();
- usleep(900);
- return_code = myth_system("ps -ef|grep install_proxy.sh| grep setup_network |grep -v grep > /dev/null");
- }
- busy->Close();
- busy->deleteLater();
-}
-
-
-int WelcomeDialog::ask_validate_network(void)
-{
-
- QString pop_text="abc";
- int retval = 1;
- while ( retval != 0 )
- {
- int settingsrec = runsettings(false,true,false,false,false,false,false);
- if ( settingsrec != 1 )
- return 1;
- else
- {
- MythProgressDialog *network_check = NULL;
- network_check = new MythProgressDialog(QObject::tr("Please wait while the network is checked."), 6);
- updateScreen();
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it setup_network &");
- retval = system(cmdtxt);
- busy_network();
- if (network_check)
- {
- network_check->setProgress(1);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it check_self");
- retval = system(cmdtxt);
- if ( retval != 0 )
- {
- network_check->Close();
- pop_text="Could not find myself on the network";
- }
- }
-
- if ( retval == 0)
- {
- network_check->setProgress(2);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it check_gw");
- retval = system(cmdtxt);
- if ( retval != 0 )
- {
- network_check->Close();
- pop_text="Could not locate gateway";
- }
- }
-
- if (retval == 0)
- {
- network_check->setProgress(3);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it check_ns");
- retval = system(cmdtxt);
- if ( retval != 0 )
- {
- network_check->Close();
- pop_text="Could not locate nameserver";
- }
- }
- if (retval == 0)
- {
- network_check->setProgress(4);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it check_names");
- retval = system(cmdtxt);
- if ( retval != 0 )
- {
- network_check->Close();
- pop_text="Could not lookup names";
- }
- }
- if (retval == 0)
- {
- network_check->setProgress(5);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh network_check_it host_names");
- retval = system(cmdtxt);
- if ( retval != 0 )
- {
- network_check->Close();
- pop_text="Hostname already on the network";
- }
- }
-
-
- network_check->setProgress(6);
- if (network_check)
- {
- network_check->Close();
- network_check->deleteLater();
- }
-
- if (retval != 0 )
- {
- DialogCode val = MythPopupBox::Show2ButtonPopup(gContext->GetMainWindow(), QString(""), QObject::tr(pop_text), QObject::tr("Continue"), QObject::tr("Try again"), kDialogCodeButton0);
-
- if (kDialogCodeButton0 == val )
- retval = 0;
- }
- }
- }
-return 0;
-}
-
-
-void WelcomeDialog::install_it(void)
-{
- QString installtype = gContext -> GetSetting("HOSTinstallationtype");
- QString rootfs = gContext -> GetSetting("HOSTrootfstype");
- QString datafs = gContext -> GetSetting("HOSTdatafstype");
- QString rootsize = gContext -> GetSetting("HOSTOSsize");
- rootsize=rootsize + "000";
- QString usealldata = gContext -> GetSetting("HostUseALLdata");
- QString datasize = gContext -> GetSetting("HOSTDATAsize");
- QString uprootfs = gContext -> GetSetting("HOSTuprootfstype");
- QString useswap = gContext -> GetSetting("HostUseSWAP");
- QString swapsize = gContext -> GetSetting("HOSTSWAPsize");
- if ( installtype != "Upgrade" )
- current_hostname = gContext->GetSetting("HostMyhostname");
- QString clean_upgrade = getenv("CLEAN_UPGRADE");
- if ( clean_upgrade == "YES" )
- current_hostname = gContext->GetSetting("HostMyhostname");
-
-//get the hostname here if upgrade then use previous declarion of hostname
- if ( usealldata == "1" )
- {
- datasize="ALL";
- }
- else
- {
- datasize=datasize + "000";
- }
- if ( useswap == "0" )
- {
- swapsize="NO";
- };
-
-
- if ( installtype == "Full/Auto" )
- {
- QString currentitem;
- QString line;
- QFile file("/proc/meminfo");
- if ( file.open(IO_ReadOnly | IO_Translate) )
- {
- QTextStream t( &file ); // use a text stream
- line = t.readLine();
- if ( line.startsWith("MemTotal:"))
- {
- currentitem = line.simplifyWhiteSpace();
- currentitem = currentitem.section( " ", 1, 1 );
- }
- }
- file.close();
- bool ok;
- int mem = currentitem.toInt( &ok, 10 ); // dec == 0, ok == FALSE
- cout << mem << endl;
- if ( mem >= 500000 )
- {
- cout << gContext -> GetSetting("HostXres") << endl;
- if ((gContext -> GetSetting("HostXres")) == "1280x720" )
- {
- gContext->SaveSetting("Theme", "syth-lacquer-wide");
- cout <<"Setting theme to syth-wide" << endl;
- }
- }
-
-
- QString cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh full_install_it " + install_drive + " " + rootfs + " " + rootsize + " " + datafs + " " + datasize + " " + swapsize + "&");
- system(cmdtxt);
- }
- else if ( installtype == "Upgrade" )
- {
- QString cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh upgrade_it " + install_drive + " " + uprootfs + "&");
- system(cmdtxt);
- }
- else if (installtype=="NET")
- {
- QString olddb = gContext->GetSetting("HostMysqlserver");
- QString cmdtxt;
- cmdtxt=MV_ROOT ;
- char localhostname[1024];
- if (gethostname(localhostname, 1024))
- {
- VERBOSE(VB_IMPORTANT,
- "MCP: Error, could not determine host name." + ENO);
- localhostname[0] = '\0';
- }
- QString h;
- h=localhostname;
- cout << "calling restore_default_settings with hostname " << h << endl;
- cmdtxt.append("bin/restore_default_settings.sh -c save -t syssettings -d 127.0.0.1 -h " + h);
- system(cmdtxt);
- cmdtxt=MV_ROOT ;
- cmdtxt.append("bin/install_proxy.sh NETBOOT " + install_drive + " &");
- system(cmdtxt);
- }
- WORKING_ON_INSTALL = true;
- usleep (500);
- updateScreen();
- usleep (500);
- updateScreen();
- cancelPopup();
-}