diff options
| author | Michael Hanson <hansonorders@verison.net> | 2010-03-16 01:10:27 (GMT) | 
|---|---|---|
| committer | Michael Hanson <hansonorders@verison.net> | 2010-03-16 01:10:27 (GMT) | 
| commit | 9b21117f278cd08cbef46de2ac78b063e63677ed (patch) | |
| tree | d8a2183d6a2a182abe0e25af4e2d0356a6eb3154 /abs/core/mythinstall/installdialog.cpp | |
| parent | 440af0ccbbbf8fc4daba830dcf47d0a6da1ae697 (diff) | |
| parent | 5fa0aec4485b8adea46ef434d8c5384482b44c65 (diff) | |
| download | linhes_pkgbuild-9b21117f278cd08cbef46de2ac78b063e63677ed.zip linhes_pkgbuild-9b21117f278cd08cbef46de2ac78b063e63677ed.tar.gz linhes_pkgbuild-9b21117f278cd08cbef46de2ac78b063e63677ed.tar.bz2 | |
Merge branch 'master' of mihanson@knoppmyth.net:LinHES-PKGBUILD
Diffstat (limited to 'abs/core/mythinstall/installdialog.cpp')
| -rwxr-xr-x | abs/core/mythinstall/installdialog.cpp | 1034 | 
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(); -} | 
