diff options
42 files changed, 263 insertions, 12602 deletions
diff --git a/abs/core-testing/LinHES-config/LinHES-release b/abs/core-testing/LinHES-config/LinHES-release index 308a351..79e2144 100644 --- a/abs/core-testing/LinHES-config/LinHES-release +++ b/abs/core-testing/LinHES-config/LinHES-release @@ -1 +1 @@ -LinHES R6.02.00 (That weekend in Canada!) +LinHES R6.02.01 (hot nanners) diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD index 9a1b609..60c6b07 100644 --- a/abs/core-testing/LinHES-config/PKGBUILD +++ b/abs/core-testing/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@  pkgname=LinHES-config  pkgver=2.1 -pkgrel=25 +pkgrel=27  conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config )  pkgdesc="Install and configure your system"  depends=('bc' 'libstatgrab'  'mysql-python' 'expect' 'curl' 'dnsutils' 'parted'  diff --git a/abs/core-testing/lighttpd/PKGBUILD b/abs/core-testing/lighttpd/PKGBUILD index 3695f0f..c31e924 100644 --- a/abs/core-testing/lighttpd/PKGBUILD +++ b/abs/core-testing/lighttpd/PKGBUILD @@ -3,7 +3,7 @@  pkgname=lighttpd  pkgver=1.4.26 -pkgrel=3 +pkgrel=8  pkgdesc='a secure, fast, compliant and very flexible web-server'  license=('custom')  arch=('i686' 'x86_64') @@ -21,7 +21,7 @@ options=('!libtool' 'emptydirs')  source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2" \          'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf' 'auth-inc.conf' \          'openssl-0.9.8m.patch') - +install='lighttpd.install'  build() {  	cd $srcdir/$pkgname-$pkgver diff --git a/abs/core-testing/lighttpd/_changelog b/abs/core-testing/lighttpd/__changelog index a96d942..a96d942 100644 --- a/abs/core-testing/lighttpd/_changelog +++ b/abs/core-testing/lighttpd/__changelog diff --git a/abs/core-testing/lighttpd/lighttpd.install b/abs/core-testing/lighttpd/lighttpd.install index bf4c132..a921b0f 100644..100755 --- a/abs/core-testing/lighttpd/lighttpd.install +++ b/abs/core-testing/lighttpd/lighttpd.install @@ -2,5 +2,6 @@ pre_upgrade() {      mv /etc/lighttpd/lighttpd.conf  /etc/lighttpd/lighttpd.conf.old  }  post_upgrade() { +    sed -i 's|"^/mythweb|"^/{1,2}mythweb|g' /etc/lighttpd/lighttpd.conf      touch /etc/lighttpd/lighttpd.user  } diff --git a/abs/core-testing/mythinstall/PKGBUILD b/abs/core-testing/mythinstall/PKGBUILD index ccb07b3..c84c9de 100644 --- a/abs/core-testing/mythinstall/PKGBUILD +++ b/abs/core-testing/mythinstall/PKGBUILD @@ -1,11 +1,12 @@  # Maintainer: Jams  pkgname=mythinstall  pkgver=2 -pkgrel=20 +pkgrel=26  pkgdesc="LinHES installer/systemconfig GUI."  arch=i686  depends=()  makedepends=('mythtv>=0.22') +source=('install-ui.xml')  build() { @@ -14,7 +15,8 @@ build() {      cd $startdir      ./checkout_MythVantage.sh || exit 1      cd - -    install -D MythVantage-app/mythinstall/install-ui.xml $pkgdir/usr/share/mythtv/themes/default/install-ui.xml +    #install -D MythVantage-app/mythinstall/install-ui.xml $pkgdir/usr/share/mythtv/themes/default/install-ui.xml +    install -D $srcdir/install-ui.xml $pkgdir/usr/share/mythtv/themes/default/install-ui.xml      MVBINDIR=$startdir/pkg/usr/MythVantage/bin      mkdir -p $MVBINDIR      install -m 0755 $startdir/mythinstall.bin $MVBINDIR/MythVantage @@ -24,3 +26,4 @@ build() {      cd -  } +md5sums=('dde64a79c09ff169a5c363f77ffb68c2') diff --git a/abs/core-testing/mythinstall/checkout_MythVantage.sh b/abs/core-testing/mythinstall/checkout_MythVantage.sh index c2c2f16..58849bf 100755 --- a/abs/core-testing/mythinstall/checkout_MythVantage.sh +++ b/abs/core-testing/mythinstall/checkout_MythVantage.sh @@ -33,8 +33,6 @@ cd MythVantage-app  git checkout master  #git checkout origin/LinHES -    patch -p 3 < ../../xconfig_folding_timezone.patch -  }  dl_repo diff --git a/abs/core-testing/mythinstall/install-ui.xml b/abs/core-testing/mythinstall/install-ui.xml new file mode 100755 index 0000000..ef445bb --- /dev/null +++ b/abs/core-testing/mythinstall/install-ui.xml @@ -0,0 +1,135 @@ +<mythuitheme> + +    <window name="welcome_screen"> +       <font name="title" face="Arial"> +           <color>#ffff00</color> +           <dropcolor>#000000</dropcolor> +           <size>24</size> +           <shadow>3,3</shadow> +           <bold>yes</bold> +       </font> + +       <font name="time" face="Arial"> +            <color>#9999cc</color> +            <size>18</size> +            <bold>yes</bold> +       </font> + +       <font name="label" face="Arial"> +            <color>#ffff00</color> +            <dropcolor>#000000</dropcolor> +            <size>18</size> +            <shadow>3,3</shadow> +            <bold>yes</bold> +       </font> + +       <font name="info" face="Arial"> +            <color>#ffffff</color> +            <size>18</size> +            <bold>yes</bold> +       </font> + +       <font name="biginfo" face="Arial"> +	       <color>#ffffff</color> +	       <size>50</size> +	       <bold>yes</bold> +       </font> +       <font name="warning" face="Arial"> +            <color>#ff0000</color> +            <dropcolor>#000000</dropcolor> +            <size>16</size> +            <shadow>2,2</shadow> +            <bold>yes</bold> +       </font> + +       <font name="buttons" face="Arial"> +            <color>#ffff00</color> +            <size>14</size> +            <bold>yes</bold> +       </font> +       <font name="tinyinfo" face="Arial"> +           <color>#9999cc</color> +           <size>12</size> +           <bold>no</bold> +       </font> + +        <textarea name="title" from="basetextarea"> +            <area>50,10,700,40</area> +            <font>title</font> +            <align>allcenter</align> +            <value>Welcome to LinHES!</value> +        </textarea> + + +            <textarea name="time_text" draworder="0" align="right"> +                <multiline>no</multiline> +                <font>time</font> +                <area>660,520,110,30</area> +                <value></value> +            </textarea> + +            <textarea name="date_text" > +                <multiline>yes</multiline> +                <font>warning</font> +                <area>20,55,740,100</area> +                <value></value> +                <align>allcenter</align> +            </textarea> + +            <!-- +                current myth status +            --> + +            <textarea name="status_text"> +                <multiline>yes</multiline> +                <font>info</font> +                <area>20,300,760,60</area> +                <value></value> +                <align>center</align> +            </textarea> + +            <!-- +                current recordings status +            --> + +            <textarea name="recording_label" draworder="1" align="center"> +                <font>label</font> +                <area>20,140,760,30</area> +                <!--<value>Percent Complete </value>--> +                 <value></value> +            </textarea> + +            <textarea name="recording_text"> +                <multiline>yes</multiline> +                <font>biginfo</font> +                <area>20,140,760,150</area> +                <value></value> +                <align>allcenter</align> +            </textarea> + +            <textarea name="scheduled_label" draworder="1" align="center"> +                <font>label</font> +                <area>20,320,760,30</area> +                <value></value> +            </textarea> + +            <textarea name="scheduled_text"> +                <multiline>yes</multiline> +                <font>biginfo</font> +                <area>20,400,760,120</area> +                <value></value> +                <align>allcenter</align> +            </textarea> + +            <textarea name="mythvantage_text"> +                <multiline>no</multiline> +                <font>tinyinfo</font> +                <area>20,540,760,30</area> +                <value></value> +                <align>right</align> +            </textarea> + + +    </window> + +</mythuitheme> diff --git a/abs/core-testing/mythinstall/xconfig_folding_timezone.patch b/abs/core-testing/mythinstall/xconfig_folding_timezone.patch deleted file mode 100644 index d6215cd..0000000 --- a/abs/core-testing/mythinstall/xconfig_folding_timezone.patch +++ /dev/null @@ -1,454 +0,0 @@ -diff -Naru mythinstall/src/MythVantage-app/mythinstall/installsettings.cpp mythinstall-tz/src/MythVantage-app/mythinstall/installsettings.cpp ---- mythinstall/src/MythVantage-app/mythinstall/installsettings.cpp	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/installsettings.cpp	2010-02-28 16:56:31.000000000 +1030 -@@ -45,6 +45,7 @@ - #include "mythdbparams.h" -  -  -+int timezone_unknown = FALSE; - extern  HostParms hostparm; - extern DDCinfo ddcinfo; -  -@@ -1288,6 +1289,62 @@ -     return gc; - }; -  -+static HostCheckBox *Hostfoldingathome() -+{ -+    HostCheckBox *gc = new HostCheckBox("Hostfoldingathome"); -+    gc->setLabel(QObject::tr("Folding@home")); -+    gc->setValue(false); -+    gc->setHelpText(QObject::tr("A distributed computing project which studies protein folding, misfolding, aggregation, and related diseases.")); -+    return gc; -+}; -+ -+static HostComboBox *Hostfoldingusername() -+{ -+    // If there is an old R5.5 style folding directory /myth/folding@home, attempt -+    // to retrieve the old username. -+ -+    FILE *username_pipe; -+    username_pipe = -+      popen ( -+        "grep username= /myth/folding@home/client.cfg 2> /dev/null | " -+        "sed 's/username=//g'", "r"); -+ -+    if (username_pipe) -+    { -+      char username[200]; -+      if (fgets (username, sizeof (username), username_pipe)) -+      { -+          char *new_line; -+          username[sizeof(username)-1]=0; -+          if ((new_line = strchr (username, '\n'))) -+            new_line[0] = 0; -+ -+          cout << "found old username " << username << endl; -+ -+          gContext->SetSetting("Hostfoldingusername", username); -+          gContext->SaveSetting("Hostfoldingusername", username); -+      } -+      pclose (username_pipe); -+    } -+ -+    HostComboBox *gc = new HostComboBox("Hostfoldingusername",true); -+    gc->setLabel(QObject::tr("Folding Username")); -+    gc->setValue(""); -+ -+    gc->setHelpText(QObject::tr("The username associated to the work-units you return.")); -+    return gc; -+}; -+ -+static HostComboBox *Hostfoldingworksize() -+{ -+    HostComboBox *gc = new HostComboBox("Hostfoldingworksize"); -+    gc->setLabel(QObject::tr("Work Packet Size")); -+    gc->addSelection("Big", "big"); -+    gc->addSelection("Normal", "normal"); -+    gc->addSelection("Small", "small"); -+    gc->setHelpText(QObject::tr("Acceptable size of work assignment and work result packets (bigger units may have large memory demands).")); -+    return gc; -+}; -  - static HostCheckBox *HostXscreensaver() - { -@@ -3534,8 +3591,15 @@ -                 hostparm.ThisHostName = "You_Fool"; -     } -     // piece togther the timezone -+    QString tz; -     QString tregion; -     QString tsubregion; -+ -+    tz=gContext->GetSetting("HostTimeZone"); -+ -+    if ( tz.isEmpty() || (tz == "Unknown")) -+      timezone_unknown = TRUE; -+ -     tregion=gContext->GetSetting("HostTimeZoneRegion"); -     tsubregion=gContext->GetSetting("HostTimeZoneRegion_"+tregion); -     if ( tsubregion.isEmpty() ) -@@ -4009,6 +4073,9 @@ -         hostparm.ThisHostXine = gContext->GetSetting("HostXine"); -         hostparm.ThisHostwebmin = gContext->GetSetting("Hostwebmin"); -         hostparm.ThisHostfuppes = gContext->GetSetting("Hostfuppes"); -+        hostparm.ThisHostfoldingathome = gContext->GetSetting("Hostfoldingathome"); -+        hostparm.ThisHostfoldingusername = gContext->GetSetting("Hostfoldingusername"); -+        hostparm.ThisHostfoldingworksize = gContext->GetSetting("Hostfoldingworksize"); -         hostparm.ThisHostDDnslogin = gContext->GetSetting("HostDDnslogin"); -         hostparm.ThisHostDDnspassword = gContext->GetSetting("HostDDnspassword"); -         hostparm.ThisHostDDnshostname = gContext->GetSetting("HostDDnshostname"); -@@ -4252,6 +4319,9 @@ -         myfile << "xine=\"" + hostparm.ThisHostXine  + "\"\n"; -         myfile << "webmin=\"" + hostparm.ThisHostwebmin  + "\"\n"; -         myfile << "fuppes=\"" + hostparm.ThisHostfuppes  + "\"\n"; -+        myfile << "foldingathome=\"" + hostparm.ThisHostfoldingathome  + "\"\n"; -+        myfile << "foldingusername=\"" + hostparm.ThisHostfoldingusername  + "\"\n"; -+        myfile << "foldingworksize=\"" + hostparm.ThisHostfoldingworksize  + "\"\n"; -  -  -  -@@ -4562,8 +4632,14 @@ -                     ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2); -                     GridShowPlugin5->addChild(Hostfuppes()); -  -+                    ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(true,true); -+                    GridShowPlugin6->addChild(Hostfoldingathome()); -+                    GridShowPlugin6->addChild(Hostfoldingusername()); -+                    GridShowPlugin6->addChild(Hostfoldingworksize()); -+ -                     addChild(GridShowPlugin4); -                     addChild(GridShowPlugin5); -+                    addChild(GridShowPlugin6); -                 } -             } -             if ( displayuser ) -diff -Naru mythinstall/src/MythVantage-app/mythinstall/installsettings.h mythinstall-tz/src/MythVantage-app/mythinstall/installsettings.h ---- mythinstall/src/MythVantage-app/mythinstall/installsettings.h	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/installsettings.h	2010-02-28 16:56:31.000000000 +1030 -@@ -468,6 +468,9 @@ -         QString ThisHostXine; -         QString ThisHostwebmin; -         QString ThisHostfuppes; -+        QString ThisHostfoldingathome; -+        QString ThisHostfoldingusername; -+        QString ThisHostfoldingworksize; -  -         QString ThisHostDDnslogin; -         QString ThisHostDDnspassword; -diff -Naru mythinstall/src/MythVantage-app/mythinstall/misc_settings.cpp mythinstall-tz/src/MythVantage-app/mythinstall/misc_settings.cpp ---- mythinstall/src/MythVantage-app/mythinstall/misc_settings.cpp	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/misc_settings.cpp	2010-02-28 18:28:56.000000000 +1030 -@@ -80,8 +80,6 @@ -     else -        miscsettings_2->addChild(HostZipcode()); -  -- -- -     TimezoneRegion *timezoneregion = new TimezoneRegion(); -     TimezoneButton *timezonebutton = new TimezoneButton(); -  -@@ -96,13 +94,11 @@ -             } -         else -             miscsettings->addChild(timezoneregion); -- -         } -     else -         miscsettings->addChild(timezoneregion); -  --//  button removed because it's borken --//     miscsettings->addChild(timezonebutton); -+    miscsettings->addChild(timezonebutton); -     miscsettings->addChild(miscsettings_2); -     addChild(miscsettings); -     connect(timezonebutton, SIGNAL(mf_launch_tzgui()),timezoneregion ,SLOT(timezone_gathersettings())); -@@ -110,23 +106,35 @@ -     connect(timezoneregion,SIGNAL(mf_show_tz(QString)),this,SLOT(mf_show_tz(QString))); -     connect(this,SIGNAL(update_timezone(QString)),timezoneregion,SLOT(update_timezone_values(QString))); -  -- -- } -+    autoLaunchTimer = new QTimer(this); -+    connect(autoLaunchTimer, SIGNAL(timeout()), timezonebutton, SLOT(launch_tzgui())); -+    autoLaunchTimer->start(0); -+} -  - QString MiscMainFrame::mf_show_tz(QString tz) - { -     QString GTimezone; -     int rc; -  --   //launch tzgui and load output into Gtimezone -+    if (autoLaunchTimer->isActive()) -+    { -+      autoLaunchTimer->stop(); -+ -+      // This was triggered by the timer. Only launch the timezone gui if the timezone is unknown. -+      if (!timezone_unknown) -+        return NULL; -+    } -+ -+    if ((tz == "") || timezone_unknown) -+      tz = "guess"; -+ -+    //launch tzgui and load output into Gtimezone -     int m_screenheight = 0, m_screenwidth = 0; -     float m_wmult = 0, m_hmult = 0; -     QString m_height , m_width , cmd; -     GetMythUI()->GetScreenSettings(m_screenwidth, m_wmult, m_screenheight, m_hmult); -     m_height.setNum(m_screenheight); -     m_width.setNum(m_screenwidth); -- -- -     QString tzpath; -     tzpath=MV_ROOT; -     tzpath.append("bin/timezone.bin"); -@@ -152,17 +160,17 @@ -             } -             file.close(); -         } -+        timezone_unknown = FALSE; -         emit update_timezone(GTimezone); -     } -  -+    return GTimezone; - } -  -- - //_______________Misc main frame - MiscMainFrame2::MiscMainFrame2(): -  VerticalConfigurationGroup(false,false,false,false) -  { -- -     VerticalConfigurationGroup* miscsettings = -         new VerticalConfigurationGroup(false, true,false,false); -  -@@ -177,21 +185,20 @@ -         miscsettings->addChild(miscsettings_2); -  -         addChild(miscsettings); -- -- } -+} -  -  - //_______________Misc time timezone -  - TimezoneButton::TimezoneButton(): -     VerticalConfigurationGroup(false,false,false,false) --    { -+{ -       TZButton = new TransButtonSetting; -       TZButton->setLabel("Hitchhikers guide to timezones"); -       addChild(TZButton); -       connect(TZButton, SIGNAL(pressed()),this,SLOT(launch_tzgui())); -  --    }; -+}; -  - void TimezoneButton::launch_tzgui() - { -@@ -203,8 +210,6 @@ -     TZButton->setEnabled(false); - } -  -- -- - //This is used for the timezone - QStringList findFilesRecursively ( QStringList paths, QString fileTypes ) { -     if ( fileTypes.isEmpty() ) fileTypes = "*"; -@@ -228,10 +233,8 @@ -     return result; // yields absolute paths - } -  -- - void TimezoneRegion::timezoneregion_fillselection_zone() - { -- -     HostTimeZoneRegion->setLabel(QObject::tr("TimeZone")); -     HostTimeZoneRegion->addSelection("US"); -     HostTimeZoneRegion->addSelection("Pacific"); -@@ -297,7 +300,6 @@ -     HostTimeZoneRegion->addSelection("CST6CDT"); -     HostTimeZoneRegion->addSelection("CET"); -     HostTimeZoneRegion->setHelpText(QObject::tr("Timezone Region")); -- - } -  - void TimezoneRegion::timezoneregion_fillselection(QString tzonefile ) -@@ -514,8 +516,8 @@ -     addTarget("Cuba", new VerticalConfigurationGroup(false, false)); -     addTarget("CST6CDT", new VerticalConfigurationGroup(false, false)); -     addTarget("CET", new VerticalConfigurationGroup(false, false)); -- - }; -+ - void TimezoneRegion::update_timezone_values(QString Gtimezone) - { -     QString region; -@@ -523,6 +525,7 @@ -     region=Gtimezone.section('/',0,0); -     subregion=Gtimezone.section('/',1,1); -     HostTimeZoneRegion->setValue(region); -+ -     if ( region == "US") -         HostTimezoneRegion_US->setValue(subregion); -     else if ( region == "Pacific") -diff -Naru mythinstall/src/MythVantage-app/mythinstall/misc_settings.h mythinstall-tz/src/MythVantage-app/mythinstall/misc_settings.h ---- mythinstall/src/MythVantage-app/mythinstall/misc_settings.h	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/misc_settings.h	2010-02-28 16:56:31.000000000 +1030 -@@ -20,6 +20,7 @@ - Q_OBJECT - public: -         MiscMainFrame(); -+	QTimer *autoLaunchTimer; -  - public slots: -     QString mf_show_tz(QString); -diff -Naru mythinstall/src/MythVantage-app/mythinstall/mv_common.h mythinstall-tz/src/MythVantage-app/mythinstall/mv_common.h ---- mythinstall/src/MythVantage-app/mythinstall/mv_common.h	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/mv_common.h	2010-02-28 16:56:31.000000000 +1030 -@@ -1,4 +1,5 @@ - //#define __MVAPP__ MythVantage - #define RELEASEFILE "LinHES-release" -  -+extern int timezone_unknown; -  -diff -Naru mythinstall/src/MythVantage-app/mythinstall/xorgsettings.cpp mythinstall-tz/src/MythVantage-app/mythinstall/xorgsettings.cpp ---- mythinstall/src/MythVantage-app/mythinstall/xorgsettings.cpp	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/xorgsettings.cpp	2010-02-28 16:56:31.000000000 +1030 -@@ -261,7 +261,7 @@ -     HostXModelineCatagory->addSelection("DVD"); -     HostXModelineCatagory->addSelection("NTSC"); -     HostXModelineCatagory->addSelection("Custom"); --    //HostXModelineCatagory->addSelection("Nvidia_modeline"); -+    //HostXModelineCatagory->addSelection("nVidia Modeline"); -     HostXModelineCatagory->setHelpText(QObject::tr("")); -  -     HostXadvancedresVESA = new HostComboBox("HostXadvancedresVESA"); -@@ -429,7 +429,7 @@ -     HostXNvidiaModelineCatagory->addSelection("DVD"); -     HostXNvidiaModelineCatagory->addSelection("NTSC"); -     HostXNvidiaModelineCatagory->addSelection("Custom"); --    HostXNvidiaModelineCatagory->addSelection("Nvidia_modeline"); -+    HostXNvidiaModelineCatagory->addSelection("nVidia Modeline"); -     HostXNvidiaModelineCatagory->setHelpText(QObject::tr("")); -  -     HostXNvidiaadvancedresVESA = new HostComboBox("HostXNvidiaadvancedresVESA"); -@@ -479,10 +479,9 @@ -     addTarget("ATSC", HostXNvidiaadvancedresATSC); -     addTarget("DVD", HostXNvidiaadvancedresDVD); -     addTarget("NTSC", HostXNvidiaadvancedresNTSC); --    addTarget("Custom",HostXNvidiaadvancedresCustom); --    addTarget("Nvidia_modeline",nVidiastandard); -+    addTarget("Custom", HostXNvidiaadvancedresCustom); -+    addTarget("nVidia modeline", nVidiastandard); -     addTarget("Auto", new VerticalConfigurationGroup(false, false)); -- - }; -  -  -@@ -513,7 +512,7 @@ -                 modeline= HostXNvidiaadvancedresNTSC->getValue(); -             else if ( modelinecatagory == "Custom") -                     modeline= HostXNvidiaadvancedresCustom->getValue(); --            else if ( modelinecatagory == "Nvidia_modeline" ) -+            else if ( modelinecatagory == "nVidia modeline" ) -                     modeline = "Builtin" ; -             // need to add stuff to find the built in nvidia modelines -         hostparm.ThisXresadvanced = modelinecatagory +"_"+modeline; -diff -Naru mythinstall/src/MythVantage-app/mythinstall/xorgsettings.h mythinstall-tz/src/MythVantage-app/mythinstall/xorgsettings.h ---- mythinstall/src/MythVantage-app/mythinstall/xorgsettings.h	2010-02-28 17:03:23.000000000 +1030 -+++ mythinstall-tz/src/MythVantage-app/mythinstall/xorgsettings.h	2010-02-28 16:56:31.000000000 +1030 -@@ -4,8 +4,6 @@ - #include "libmyth/mythwidgets.h" - #include "installsettings.h" -  -- -- - class AdvancedXNvidiaConnections: public TriggeredConfigurationGroup { - Q_OBJECT - public: -@@ -104,9 +102,77 @@ - { -     HostComboBox *gc = new HostComboBox("HostXres"); -     gc->setLabel(QObject::tr("Initial resolution")); --    gc->addSelection("800x600"); --    gc->addSelection("1280x720") ; --    gc->addSelection("Auto") ; --    gc->setHelpText(QObject::tr("")); -+ -+    const int num_defaults = 2; -+    char *defaults[num_defaults]={"800x600","1280x720"}; -+    int defaults_added[num_defaults]={0,0}; -+    int found_modes_in_xorg_log = FALSE; -+ -+    gc->addSelection("Auto"); -+ -+    { -+      FILE *modelines; -+      const char*mode_extract_command = -+        "sed -n 's/[[:space:]]\\+/ /g;"             // compress whitespace -+                "s/[\\) ]: /#/g;"              // Insert # as a field delimiter -+		"/Modes in ModePool/,/ModePool/p'" // get the Modelool lines -+		" /var/log/Xorg.0.log |"             // from the Xorg log -+	"cut -d# -f2-3 | "            // select the mode and description fields -+	"sed '/^\\\"/!d;"             // Only selest modeline lines. -+	     "/DoubleScan/d;"         // Remove doublescan modelines. -+	     "/nvidia-auto-select/d;" // Remove auto modeline. -+             "s/ x /x/g;" -+	     "s/ @ /@/g;" -+             "s/From: //g;" -+             "s/ Format [0-9]*) (/, /g;" -+             "s/ Format [0-9]*//g;" -+	     "s/ Server//g'"; //reformat.  -+      modelines = popen (mode_extract_command, "r"); -+ -+      char previous_mode[200]={0}; -+ -+      if (modelines) -+      { -+	char line_in[200]; -+	while (fgets (line_in, sizeof (line_in), modelines)) -+	{ -+          char *separator; -+ -+	  if (strchr (line_in, '\n')) -+	    strchr (line_in, '\n')[0]=0; -+ -+	  separator = strchr (line_in, '#'); -+ -+	  if (separator) -+	  { -+	    separator[0]=0; -+	    separator++; -+ -+  	    // Skip this mode if the description is identical to the previous. -+	    if (strcmp (previous_mode, separator) == 0) -+	      continue; -+ -+	    strncpy (previous_mode, separator, sizeof (previous_mode)); -+  	    gc->addSelection(separator, line_in); -+            found_modes_in_xorg_log = TRUE; -+ -+ 	    for (int def = 0; def < num_defaults; def++) -+	      if (strncmp (&line_in[1], defaults[def], strlen (defaults[def]))==0) -+	        defaults_added[def]=1; -+	  } -+	} -+	pclose (modelines); -+      } -+    } -+ -+    for (int def = 0; def < num_defaults; def++) -+      if (!defaults_added[def]) -+	gc->addSelection(defaults[def], defaults[def]); -+ -+    if (found_modes_in_xorg_log) -+      gc->setHelpText(QObject::tr("Choose a resolution to match your display and a refresh rate to match the content you will be recording - 60 Hz for NTSC (e.g. US) 50 Hz for PAL (e.g. UK, Aust, NZ).")); -+    else -+      gc->setHelpText(QObject::tr("Choose the resolution to use when the system reboots.")); -+ -     return gc; - } diff --git a/abs/core/lighttpd/PKGBUILD b/abs/core/lighttpd/PKGBUILD index d0811ae..cec41d4 100644 --- a/abs/core/lighttpd/PKGBUILD +++ b/abs/core/lighttpd/PKGBUILD @@ -2,8 +2,8 @@  # Maintainer: Pierre Schmitz <pierre@archlinux.de>  pkgname=lighttpd -pkgver=1.4.20 -pkgrel=35 +pkgver=1.4.26 +pkgrel=7  pkgdesc='a secure, fast, compliant and very flexible web-server'  license=('custom')  arch=('i686' 'x86_64') @@ -18,16 +18,16 @@ optdepends=('libxml2: mod_webdav' \              )  backup=('etc/lighttpd/lighttpd.conf' 'etc/logrotate.d/lighttpd' 'etc/lighttpd/auth-inc.conf')  options=('!libtool' 'emptydirs') -source=("http://www.lighttpd.net/download/lighttpd-${pkgver}.tar.bz2" \ -        'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf' auth-inc.conf) - -md5sums=('ed6ee0bb714f393219a32768d86984d8' -         'bd690eee0d9e51857448770a151023b0' -         '857e174643fd7761a2f0d8431a679f6c' -	 'db6b8b8f144125cf249e97c4b13f3f18') - +source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2" \ +        'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf' 'auth-inc.conf' \ +        'openssl-0.9.8m.patch') +install='lighttpd.install'  build() {  	cd $srcdir/$pkgname-$pkgver + +        # fixed in 1.4.27 +        patch -p2 -i ${srcdir}/openssl-0.9.8m.patch || return 1 +  	./configure --prefix=/usr \  		--libexecdir=/usr/lib/lighttpd/modules \  		--sysconfdir=/etc/lighttpd \ @@ -64,7 +64,14 @@ build() {  	    -e 's|#server.groupname           = "wwwrun"|server.groupname           = "http"|' \  	    -e 's|#server.pid-file            = "/var/run/lighttpd.pid"|server.pid-file            = "/var/run/lighttpd/lighttpd.pid"|' \  	    -e 's|/usr/local/bin/php-cgi|/usr/bin/php-cgi|' \ +            -e 's|"^/mythweb|"^/{1,2}mythweb|' \  	    -i ${pkgdir}/etc/lighttpd/lighttpd.conf || return 1  	install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING  } +md5sums=('a682c8efce47a2f4263a247ba0813c9b' +         'bd690eee0d9e51857448770a151023b0' +         '857e174643fd7761a2f0d8431a679f6c' +         'fe078f9b8ee701ed21278789cad90acf' +         'c6e361131000ceec085f40b310ef4a2c' +         '84c884b8dadd724afe2bc6529e9d4485') diff --git a/abs/core/lighttpd/__changelog b/abs/core/lighttpd/__changelog new file mode 100644 index 0000000..a96d942 --- /dev/null +++ b/abs/core/lighttpd/__changelog @@ -0,0 +1,6 @@ +changed docroot to /data/srv/ +modified auth to require valid user (include auth-inc.conf) + +# by mihanson: +upgraded to 1.4.26 to address http://linhes.org/flyspray/index.php?do=details&task_id=624 +Added -e 's|"^/mythweb|"^/{1,2}mythweb|' \ to the sed command to work around lighttpd no longer honoring // in a url and/or to work around mythweb producing url's with a // for streaming and downloading. diff --git a/abs/core/lighttpd/_changelog b/abs/core/lighttpd/_changelog deleted file mode 100644 index 439f42d..0000000 --- a/abs/core/lighttpd/_changelog +++ /dev/null @@ -1,2 +0,0 @@ -changed docroot to /data/srv/ -modified auth to require valid user (include auth-inc.conf) diff --git a/abs/core/lighttpd/lighttpd.conf b/abs/core/lighttpd/lighttpd.conf index 7305133..0c55f52 100644 --- a/abs/core/lighttpd/lighttpd.conf +++ b/abs/core/lighttpd/lighttpd.conf @@ -238,7 +238,7 @@ cgi.assign                 = ( ".pl"  => "/usr/bin/perl",                                 ".cgi" => "/bin/bash" )     url.rewrite-once = ( -        "^/mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0", +       "^/mythweb/(css|data|images|js|themes|skins|[a-z_]+\.(php|pl)).*" => "$0",         "^/mythweb/(pl(/.*)?)$" => "/mythweb/mythweb.pl/$1",         "^/mythweb/(.+)$"       => "/mythweb/mythweb.php/$1",         "^/mythweb/(.*)$"       => "/mythweb/mythweb.php" diff --git a/abs/core/lighttpd/lighttpd.install b/abs/core/lighttpd/lighttpd.install index bf4c132..0e32a66 100644..100755 --- a/abs/core/lighttpd/lighttpd.install +++ b/abs/core/lighttpd/lighttpd.install @@ -2,5 +2,6 @@ pre_upgrade() {      mv /etc/lighttpd/lighttpd.conf  /etc/lighttpd/lighttpd.conf.old  }  post_upgrade() { +    sed -i 's|"^/mythweb|"/{1,2}mythweb|g' /etc/lighttpd/lighttpd.conf      touch /etc/lighttpd/lighttpd.user  } diff --git a/abs/core/lighttpd/openssl-0.9.8m.patch b/abs/core/lighttpd/openssl-0.9.8m.patch new file mode 100644 index 0000000..321e10b --- /dev/null +++ b/abs/core/lighttpd/openssl-0.9.8m.patch @@ -0,0 +1,11 @@ +--- src/lighttpd-1.4.26/src/network.c.orig	2010-03-12 01:19:34.000000000 +0000 ++++ src/lighttpd-1.4.26/src/network.c	2010-03-12 01:20:45.000000000 +0000 +@@ -525,7 +525,7 @@ +  + 		if (!s->ssl_use_sslv2) { + 			/* disable SSLv2 */ +-			if (SSL_OP_NO_SSLv2 != SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_SSLv2)) { ++                        if (!(SSL_OP_NO_SSLv2 & SSL_CTX_set_options(s->ssl_ctx, SSL_OP_NO_SSLv2))) { + 				log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:", + 						ERR_error_string(ERR_get_error(), NULL)); + 				return -1; diff --git a/abs/core/mythinstall/PKGBUILD b/abs/core/mythinstall/PKGBUILD index bd58a19..c84c9de 100644 --- a/abs/core/mythinstall/PKGBUILD +++ b/abs/core/mythinstall/PKGBUILD @@ -1,49 +1,29 @@  # Maintainer: Jams  pkgname=mythinstall -pkgver=1 -pkgrel=13 +pkgver=2 +pkgrel=26  pkgdesc="LinHES installer/systemconfig GUI."  arch=i686  depends=() -makedepends=(mythtv) - -source=(autocard.cpp -	autocard.h -	infrared.cpp -	infrared.h -	installationtype.cpp -	installationtype.h -	installdialog.cpp -	installdialog.h -	installsettings.cpp -	installsettings.h -	main.cpp -	misc_settings.cpp -	misc_settings.h -	mv_common.h -	mythinstall.pro -	password_manage.cpp -	password_manage.h -	settemplate.cpp -	settemplate.h -	statusbox.cpp -	statusbox.h -	xorgsettings.cpp -	xorgsettings.h) +makedepends=('mythtv>=0.22') +source=('install-ui.xml')  build() {  #   It is assumed that you have built the mythtv package in the same   #   LinHES-PKGBUILD area. - -    cd ${srcdir} -    qmake mythinstall.pro || return 1 -    make || return 1 +    cd $startdir +    ./checkout_MythVantage.sh || exit 1 +    cd - +    #install -D MythVantage-app/mythinstall/install-ui.xml $pkgdir/usr/share/mythtv/themes/default/install-ui.xml +    install -D $srcdir/install-ui.xml $pkgdir/usr/share/mythtv/themes/default/install-ui.xml      MVBINDIR=$startdir/pkg/usr/MythVantage/bin      mkdir -p $MVBINDIR -    install -m 0755 mythinstall $MVBINDIR/MythVantage +    install -m 0755 $startdir/mythinstall.bin $MVBINDIR/MythVantage      cd $MVBINDIR      ln -s MythVantage mythvantage      ln -s MythVantage mythinstall      cd - +  } +md5sums=('dde64a79c09ff169a5c363f77ffb68c2') diff --git a/abs/core/mythinstall/autocard.cpp b/abs/core/mythinstall/autocard.cpp deleted file mode 100755 index 585fba7..0000000 --- a/abs/core/mythinstall/autocard.cpp +++ /dev/null @@ -1,186 +0,0 @@ -#include "libmyth/mythcontext.h" -#include "libmyth/mythdbcon.h" -#include <qsqldatabase.h> -#include <qheader.h> -#include <qcursor.h> -#include <qlayout.h> -#include <iostream> -#include "autocard.h" -#include <stdlib.h> -#include <cstdlib> - -AutoCard::AutoCard(void) : -    listbox(new ListBoxSetting(this)) -{ -    listbox->setLabel(tr("Cards")); -    addChild(listbox); -} -void AutoCard::popup_menu(void) -{ -    QString name = listbox->getValue(); -//     cout << "in popup" <<  name << endl; -    QString uniqid =  name.section(' ', -1); -    QString description = name.section('*',-3,-3); -    description = description.section('.',1); -    description = description.stripWhiteSpace(); -//     cout << uniqid << endl; -//     cout << "descriptn" << endl; -//     cout << description << endl; -    if (name.isEmpty() || name == "Default") -        return; - -    QString message = tr("Cardme:") + -        QString("\n'%1'?").arg(name); - -    DialogCode  value = MythPopupBox::Show2ButtonPopup(gContext->GetMainWindow(), -                                               "", message, -                                               tr("Add Card"), -                                               tr("Do not Add"), kDialogCodeButton0); - -    if ( value == kDialogCodeButton1) -    { -        MSqlQuery query(MSqlQuery::InitCon()); -        query.prepare("update autocard set devicestatus ='unused' where uniqid=:UNIQID and description=:DESCRIPTION;"); -         query.bindValue(":UNIQID",uniqid ); -        query.bindValue(":DESCRIPTION",description ); -        if (!query.exec()) -            MythContext::DBError("Autocard::popup", query); - -        int lastIndex = listbox->getValueIndex(name); -        lastValue = ""; -        load(); -        listbox->setValue(lastIndex); -    } -    else if (value == kDialogCodeButton0) -    { -        MSqlQuery query(MSqlQuery::InitCon()); -        query.prepare("update autocard set devicestatus ='will-add' where uniqid=:UNIQID and description=:DESCRIPTION;"); -        query.bindValue(":UNIQID",uniqid ); -        query.bindValue(":DESCRIPTION",description ); - - -        if (!query.exec()) -            MythContext::DBError("Autocard::popup", query); - -        int lastIndex = listbox->getValueIndex(name); -        lastValue = ""; -        load(); -        listbox->setValue(lastIndex); - - - - -    } - - -    listbox->setFocus(); -} - - - -QStringList AutoCard::GetNames(void) -{ -    QStringList names; -    QString device; -    QString description; -    QString displayname ; -    QString status ; -    QString uniqid; -    MSqlQuery query(MSqlQuery::InitCon()); -    query.prepare("SELECT dev,description,uniqid,devicestatus FROM autocard  order by uniqid"); -    if (query.exec() && query.isActive() && query.size() > 0) -    { -       while (query.next()) -       { -            device=query.value(0).toString(); -            description=query.value(1).toString(); -            uniqid=query.value(2).toString(); -            status=query.value(3).toString(); -            //displayname=device; -            displayname=".     "; -            displayname.append(description); -            displayname.append(" * "); -            displayname.append(status); -            displayname.append(" * "); - -            displayname.append(uniqid); -            names << displayname  ; -       } - -    return names; -    } -} - -void AutoCard::open(QString name) -{ -    lastValue = name; -    bool created = false; -    cout << name << endl; -    if (name == "Mark all cards for addition") -    { -       cout <<"updating all cards" << endl; -       MSqlQuery query(MSqlQuery::InitCon()); -       query.prepare("update autocard set devicestatus='will-add' where devicestatus='unused' order by uniqid"); -       query.exec(); -    } -    else if ( name == "Perform actions" ) -    { -        // write udev rules and reload udev - -       system ("sudo autocard.py -w -i"); -       system ("sudo autocard.py -r"); - -    } -    else if ( name == "Exit" ) -    { -        // write udev rules and reload udev -        exit(0); -    } -    else -    { -    popup_menu(); -// bool ok = MythPopupBox::showGetTextPopup(gContext->GetMainWindow(), -//             tr("Create New Playback Group"), -//             tr("Enter group name or press SELECT to enter text via the " -//                "On Screen Keyboard"), name); - - -    } - -}; - -void AutoCard::load(void) -{ -    listbox->clearSelections(); - - -    QStringList names = AutoCard::GetNames(); -    while (!names.isEmpty()) -    { -        listbox->addSelection(names.front()); -        names.pop_front(); -    } -    listbox->addSelection("Mark all cards for addition"); -    listbox->addSelection("Perform actions"); -    listbox->addSelection("Exit"); -    listbox->setValue(lastValue); - -} - - -int AutoCard::exec(void) -{ -    while (ConfigurationDialog::exec() == QDialog::Accepted) -        open(listbox->getValue()); - -    return QDialog::Rejected; -} - - -MythDialog* AutoCard::dialogWidget(MythMainWindow* parent, -                                          const char* widgetName) -{ -    dialog = ConfigurationDialog::dialogWidget(parent, widgetName); -    connect(dialog, SIGNAL(menuButtonPressed()), this, SLOT(popup_menu())); -    return dialog; -} diff --git a/abs/core/mythinstall/autocard.h b/abs/core/mythinstall/autocard.h deleted file mode 100755 index 623fcc0..0000000 --- a/abs/core/mythinstall/autocard.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef AUTOCARD_H -#define AUTOCARD_H - -#include "qstringlist.h" -#include "libmyth/settings.h" -#include "libmyth/mythwidgets.h" - -class MPUBLIC AutoCard : public QObject, public ConfigurationDialog -{ -    Q_OBJECT - -  public: -    AutoCard(); -    virtual int exec(void); -    virtual void load(void); -    virtual void save(void) { }; -    virtual void save(QString) { }; -    virtual MythDialog* dialogWidget(MythMainWindow* parent, -                                     const char* widgetName=0); - static QStringList GetNames(void); -  protected slots: -    void open(QString name); -    void popup_menu(void); - -  protected: -    ListBoxSetting *listbox; -    QString         lastValue; -}; - -#endif diff --git a/abs/core/mythinstall/checkout_MythVantage.sh b/abs/core/mythinstall/checkout_MythVantage.sh new file mode 100755 index 0000000..58849bf --- /dev/null +++ b/abs/core/mythinstall/checkout_MythVantage.sh @@ -0,0 +1,49 @@ +#!/bin/bash +MYDIR=`pwd` +MYTHPATH="\/data\/LinHES-PKGBUILD\/abs\/core-testing\/mythtv\/stable-0.22\/mythtv\/src\/mythtv" + +function setup_links { +rm mythinstall.bin +rm mythbeselect.bin +ln -s  $MYDIR/src/MythVantage-app/mythinstall/mythinstall ./mythinstall.bin +ln -s  $MYDIR/src/MythVantage-app/mythbeselect/mythbeselect ./mythbeselect.bin +} + +function dl_repo { +mkdir src +cd src +if [ ! -d MythVantage-app ] +then +    git clone http://mythvantage.com/MythVantage-app.git/ +    cd MythVantage-app +    git checkout --track -b  LinHES origin/LinHES +    cd $MYDIR +    setup_links +    cd - +else +    echo "updating exisiting tree" +    cd MythVantage-app +    git pull +    git checkout master +    git merge +    cd - +fi + +cd MythVantage-app +git checkout master +#git checkout origin/LinHES + +} + +dl_repo +sed -i "s/^MYTHPATH.*$/MYTHPATH\=\"$MYTHPATH\"/g"  $MYDIR/src/MythVantage-app/mythinstall/mythinstall.pro +sed -i "s/#define __MVAPP__/\/\/#define __MVAPP__/g" $MYDIR/src/MythVantage-app/mythinstall/mv_common.h +sed -i "s/mythvantage/LinHES/g" $MYDIR/src/MythVantage-app/mythinstall/mv_common.h + +echo "INCLUDEPATH += /usr/include/mythtv" >> $MYDIR/src/MythVantage-app/mythbeselect/mythberestart.pro +echo "INCLUDEPATH += /usr/include/mythtv" >> $MYDIR/src/MythVantage-app/mythinstall/mythinstall.pro +cd $MYDIR/src/MythVantage-app/mythinstall && qmake +make || exit 1 +#cd $MYDIR/src/MythVantage-app/mythbeselect && qmake +#make ||exit 1 + diff --git a/abs/core/mythinstall/infrared.cpp b/abs/core/mythinstall/infrared.cpp deleted file mode 100755 index 2f56ae5..0000000 --- a/abs/core/mythinstall/infrared.cpp +++ /dev/null @@ -1,368 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include <stdlib.h> -#include <cstdlib> -#include "misc_settings.h" -#include "infrared.h" -#include "mv_common.h" -#include "uitypes.h" - -extern  HostParms hostparm; - - -HostRemoteTypeIR::HostRemoteTypeIR(): -    HostImageSelect("HostRemoteType") { -    setLabel(QObject::tr("Remote")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/remotes"); -    QDir remotes(dirtxt); -    remotes.setFilter(QDir::Dirs); -    remotes.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *fil = remotes.entryInfoList(QDir::Dirs); -    if (!fil) -        return; -    QFileInfoListIterator it( *fil ); -    QFileInfo *remote; -    for( ; it.current() != 0 ; ++it ) -    { -        remote = it.current(); -        QFileInfo preview(remote->absFilePath() + "/preview.jpg"); -            if (remote->fileName()[0] == '.' || !preview.exists() ) -            { -             VERBOSE(VB_IMPORTANT, remote->absFilePath() + "Can't find preivew image, doesn't look like a remote\n"); -            continue; -            } -        QImage* previewImage = new QImage(preview.absFilePath()); -        addImageSelection(remote->fileName(), previewImage); -    } -}; - -static HostComboBox *HostReceiverType() -{ -    HostComboBox *gc = new HostComboBox("HostReceiverType"); -    gc->setLabel(QObject::tr("Receiver")); -    gc->addSelection("Default"); -    gc->addSelection("tinker"); -    gc->addSelection("Serial"); -    gc->addSelection("imon"); -    gc->addSelection("Hauppauge"); -    gc->addSelection("tinker"); -    gc->addSelection("CommandIR"); -    gc->addSelection("iguanaIR-usb"); -    gc->addSelection("mceusb"); -    gc->addSelection("mod_mce"); -    gc->addSelection("pvr150"); -    gc->addSelection("streamzap"); -    gc->addSelection("tatir"); -    gc->setHelpText(QObject::tr("The type of infrared receiver used.")); -    gc->setValue("Default"); -    return gc; -}; - - - -static HostComboBox *HostSerialPortlirc() -{ -    HostComboBox *gc = new HostComboBox("HostSerialPortlirc",false); -    gc->setLabel(QObject::tr("Serial Port")); -    gc->addSelection("ttyS0"); -    gc->addSelection("ttyS1"); -    gc->addSelection("ttyS2"); -    gc->addSelection("ttyS3"); -    gc->setHelpText(QObject::tr("Serial port with the lirc receiver or transmitter")); -    return gc; -} - -class LIRC_ReceiverSettings: public TriggeredConfigurationGroup { -public: -    LIRC_ReceiverSettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        Setting* trigger =  HostReceiverType() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* blanksettings = new GridConfigurationGroup(2,true); - -        ConfigurationGroup* settings = new GridConfigurationGroup(2,true); -        settings->addChild(HostSerialPortlirc()); - -        addTarget("Default", blanksettings); -        addTarget("Serial", settings); -        addTarget("imon", blanksettings ); -        addTarget("Hauppauge",blanksettings); -        addTarget("tinker", blanksettings ); -        addTarget("imon", blanksettings); -        addTarget("Hauppauge", blanksettings); -        addTarget("CommandIR", blanksettings); -        addTarget("iguanaIR-usb", blanksettings); -        addTarget("mceusb", blanksettings); -        addTarget("mod_mce", blanksettings); -        addTarget("pvr150", blanksettings); -        addTarget("streamzap", blanksettings); -        addTarget("tatir", blanksettings); -    }; -}; - - - -IRFrame::IRFrame(): - VerticalConfigurationGroup(false,false,false,false) - { -       LIRC_ReceiverSettings *receiversettings = new LIRC_ReceiverSettings(); -       addChild(new HostRemoteTypeIR()); -       addChild(receiversettings); - } - - -//----------------transmit settings-------------- -static HostComboBox *HostTransmitproto_1() -{ -    HostComboBox *gc = new HostComboBox("HostTransmitproto_1",false); -    gc->setLabel(QObject::tr("Transmitter")); -    gc->addSelection("none"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("Remote codes to control a cable box")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/transmit"); -    QDir transmit(dirtxt); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    return gc; -}; - -static HostComboBox *HostTransmitproto_2() -{ -    HostComboBox *gc = new HostComboBox("HostTransmitproto_2",false); -    gc->setLabel(QObject::tr("Transmitter")); -    gc->addSelection("none"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("Remote codes to control a cable box")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/transmit"); -    QDir transmit(dirtxt); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    return gc; -}; - -static HostComboBox *HostTransmitproto_3() -{ -    HostComboBox *gc = new HostComboBox("HostTransmitproto_3",false); -    gc->setLabel(QObject::tr("Transmitter")); -    gc->addSelection("none"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("Remote codes to control a cable box")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/transmit"); -    QDir transmit(dirtxt); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    return gc; -}; - -static HostComboBox *HostTransmitproto_4() -{ -    HostComboBox *gc = new HostComboBox("HostTransmitproto_4",false); -    gc->setLabel(QObject::tr("Transmitter")); -    gc->addSelection("none"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("Remote codes to control a cable box")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/transmit"); -    QDir transmit(dirtxt); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    return gc; -}; - - -static HostComboBox *HostBlasterType() -{ -    HostComboBox *gc = new HostComboBox("HostBlasterType"); -    gc->setLabel(QObject::tr("Blaster")); -    gc->addSelection("None"); -    gc->addSelection("Receiver"); -    gc->addSelection("Serial"); -    gc->addSelection("CommandIR"); -    //gc->addSelection("Hauppauge"); -    gc->addSelection("MCE"); -    gc->addSelection("pvr150"); -    gc->addSelection("iguanaIR-usb"); -    gc->setHelpText(QObject::tr("The type of infrared transmitter being used.  Selecting CommandIR will use that device for both transmiting and receiving.  Any other receiver will be disabled.")); -    gc->setValue("None"); -    return gc; -}; - -static HostComboBox *HostSerialPort_blasterlirc() -{ -    HostComboBox *gc = new HostComboBox("HostSerialPort_blasterlirc",false); -    gc->setLabel(QObject::tr("Serial Port")); -    gc->addSelection("ttyS0"); -    gc->addSelection("ttyS1"); -    gc->addSelection("ttyS2"); -    gc->addSelection("ttyS3"); -    gc->setHelpText(QObject::tr("Serial port with the lirc transmitter")); -    return gc; -} - - - -class LIRC_BlasterSettings: public TriggeredConfigurationGroup { -public: -    LIRC_BlasterSettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        Setting* trigger =  HostBlasterType() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* blanksettings = new GridConfigurationGroup(2,true); - -        ConfigurationGroup* settings = new GridConfigurationGroup(1,true); -            settings->addChild(HostTransmitproto_1()); - -        ConfigurationGroup* CommandIRsettings = new GridConfigurationGroup(1,true); -            CommandIRsettings->addChild(HostTransmitproto_1()); -            CommandIRsettings->addChild(HostTransmitproto_2()); -            CommandIRsettings->addChild(HostTransmitproto_3()); -            CommandIRsettings->addChild(HostTransmitproto_4()); - -        ConfigurationGroup* mcesettings = new GridConfigurationGroup(1,true); -            mcesettings->addChild(HostTransmitproto_1()); -            mcesettings->addChild(HostTransmitproto_2()); - - - -        ConfigurationGroup* serial_settings = new GridConfigurationGroup(1,true); -        serial_settings->addChild(HostSerialPort_blasterlirc()); -        serial_settings->addChild(HostTransmitproto_1()); -        addTarget("None", blanksettings); -        addTarget("Receiver", settings); -        addTarget("Serial", serial_settings); -        addTarget("CommandIR", CommandIRsettings); -        addTarget("pvr150",blanksettings); -        addTarget("MCE",mcesettings); -        addTarget("iguanaIR-usb",mcesettings); -//        addTarget("tinker", blanksettings ); -    }; -}; - -IR_TransmitFrame::IR_TransmitFrame(): - VerticalConfigurationGroup(false,false,false,false) - { -       LIRC_BlasterSettings *blastersettings = new LIRC_BlasterSettings(); -       addChild(blastersettings); - } - -//------------------LCD settings------------- - - - -static HostComboBox *HostLCDType() -{ -    HostComboBox *gc = new HostComboBox("HostLCDType",false); -    gc->setLabel(QObject::tr("LCD/VFD model")); -    gc->addSelection("no_lcd"); -    gc->addSelection("tinker"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("VFD or LCD")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/LCD"); -    QDir transmit(dirtxt); - -    //QDir transmit("/usr/share/templates/LCD"); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -        { -            currentitem = info->baseName( TRUE ); -            if ( currentitem != ".." && currentitem != "." && currentitem != "") -            { -            gc->addSelection(currentitem); -            } -        ++infoIt; -        } -    return gc; -}; - -LCDFrame::LCDFrame(): - VerticalConfigurationGroup(false,false,false,false) - { -       addChild(HostLCDType()); - } - - diff --git a/abs/core/mythinstall/infrared.h b/abs/core/mythinstall/infrared.h deleted file mode 100755 index c647952..0000000 --- a/abs/core/mythinstall/infrared.h +++ /dev/null @@ -1,45 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" -#include "installsettings.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> - -#include <stdlib.h> -#include <cstdlib> -#include <mythtv/mythdbcon.h> -#include <qdir.h> -#include <qapplication.h> -#include "util.h" - -class IRFrame: public VerticalConfigurationGroup { - public: -         IRFrame(); - }; - - -class HostRemoteTypeIR: public HostImageSelect { -public: -    HostRemoteTypeIR(); -}; - -class IR_TransmitFrame: public VerticalConfigurationGroup { - public: -         IR_TransmitFrame(); - - }; - -class LCDFrame: public VerticalConfigurationGroup { - public: -         LCDFrame(); - - }; - - - - - - diff --git a/abs/core/mythinstall/install-ui.xml b/abs/core/mythinstall/install-ui.xml index 8cebd11..ef445bb 100755 --- a/abs/core/mythinstall/install-ui.xml +++ b/abs/core/mythinstall/install-ui.xml @@ -1,19 +1,6 @@ -<!-- - -    This is a myth style theme file for mythwelcome - -    (c) 2005 by a whole bunch of people associated with MythTV - --->  <mythuitheme>      <window name="welcome_screen"> - -        <!-- - -            First, define all the fonts we need on this screen - -        -->         <font name="title" face="Arial">             <color>#ffff00</color>             <dropcolor>#000000</dropcolor> @@ -66,19 +53,14 @@             <bold>no</bold>         </font> -       <container name="main_display"> -            <area>0,0,800,600</area> +        <textarea name="title" from="basetextarea"> +            <area>50,10,700,40</area> +            <font>title</font> +            <align>allcenter</align> +            <value>Welcome to LinHES!</value> +        </textarea> -            <textarea name="title" draworder="0" align="center"> -                <multiline>no</multiline> -                <font>title</font> -                <area>50,40,700,40</area> -                <value>Welcome to  MythVantage! </value> -            </textarea> -            <!-- -                time -            -->              <textarea name="time_text" draworder="0" align="right">                  <multiline>no</multiline>                  <font>time</font> @@ -86,22 +68,24 @@                  <value></value>              </textarea> -            <textarea name="date_text" draworder="0" align="hcenter"> +            <textarea name="date_text" >                  <multiline>yes</multiline> -                <font>time</font> -                <area>20,75,740,100</area> +                <font>warning</font> +                <area>20,55,740,100</area>                  <value></value> +                <align>allcenter</align>              </textarea>              <!--                  current myth status              --> -            <textarea name="status_text" draworder="1" align="center"> +            <textarea name="status_text">                  <multiline>yes</multiline>                  <font>info</font> -                <area>20,100,760,60</area> -                <value>MythTV is idle and will shutdown shortly.</value> +                <area>20,300,760,60</area> +                <value></value> +                <align>center</align>              </textarea>              <!-- @@ -115,60 +99,36 @@                   <value></value>              </textarea> -            <textarea name="recording_text" draworder="1" align="hcenter"> +            <textarea name="recording_text">                  <multiline>yes</multiline>                  <font>biginfo</font>                  <area>20,140,760,150</area>                  <value></value> +                <align>allcenter</align>              </textarea> -            <!-- -                next scheduled recording status -            --> -              <textarea name="scheduled_label" draworder="1" align="center">                  <font>label</font>                  <area>20,320,760,30</area>                  <value></value>              </textarea> -            <textarea name="scheduled_text" draworder="1" align="hcenter"> +            <textarea name="scheduled_text">                  <multiline>yes</multiline>                  <font>biginfo</font>                  <area>20,400,760,120</area>                  <value></value> +                <align>allcenter</align>              </textarea> -            <textarea name="mythvantage_text" draworder="1" align="right"> +            <textarea name="mythvantage_text">                  <multiline>no</multiline>                  <font>tinyinfo</font> -                <area>20,560,760,30</area> +                <area>20,540,760,30</area>                  <value></value> +                <align>right</align>              </textarea> -            <!-- -                scheduled recordings conflict warning -            --> - -            <textarea name="conflicts_text" draworder="1" align="center"> -                <font>warning</font> -                <area>20,490,760,30</area> -                <value>WARNING: There are conflicting scheduled recordings!</value> -            </textarea> - -            <!-- -                start frontend button - -            <textbutton name="startfrontend_button" draworder="1"> -                <position>81,535</position> -                <font>buttons</font> -                <image function="on" filename="mw_text_button_on.png"></image> -                <image function="off" filename="mw_text_button_off.png"></image> -                <image function="pushed" filename="mw_text_button_pushed.png"></image> -            </textbutton> - -            --> -	   </container>      </window> diff --git a/abs/core/mythinstall/install_proxy.sh b/abs/core/mythinstall/install_proxy.sh deleted file mode 100755 index a1a722e..0000000 --- a/abs/core/mythinstall/install_proxy.sh +++ /dev/null @@ -1,353 +0,0 @@ -#!/bin/bash -disk=$2 -rootfs=$3 -rootsize=$4 -datafs=$5 -datasize=$6 -swapsize=$7 -mountpoint="/new_boot" -run=/root/install_functions.sh -. /etc/systemconfig 2>/dev/null -  - -progress () { -mypercent=`echo "$1" | cut -d. -f1` -if [  x$mypercent = x ] -then -echo "" > /tmp/.install_percent -else -echo "${mypercent}% complete" > /tmp/.install_percent -fi - - -} - -full_install () { -    if [ -f /tmp/.this_is_upgrade ] -    then -        rm /tmp/.this_is_upgrade -    fi -    echo "Partitioning $disk" > /tmp/.install_state -    progress 1 -    sleep 1 -    $run partition_it $disk $rootsize $datasize $swapsize - -    echo "Formating $disk" > /tmp/.install_state -        progress 2 -    sleep 1 -    $run format_it $disk $rootfs $datafs - -    echo "Preparing $disk" > /tmp/.install_state -    progress 3 -    sleep 1 -    $run mount_it $disk - -    startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` - -    echo "STARTSIZE=$startsize">/tmp/.startsize.io -    echo "Installing data" > /tmp/.install_state - -    sleep 1 -        $run copy_it $disk ALL -        $run fstab_fix_it $disk $rootfs $datafs - -    progress 99 -    sleep 1 -    $run grub_it $disk - -    echo "Configuring system" > /tmp/.install_state -        progress 100 -        sleep 1 -        cp -f /etc/systemconfig "$mountpoint"/etc -    #run save syssettings to save settings, then copy to new mountpoint -        /root/restore_default_settings.sh  -c save -t syssettings -h myhost -d 127.0.0.1 -        SE=/usr/share/templates/settings/syssettings -        mkdir -p ${mountpoint}$SE -        cp -rp $SE/*  ${mountpoint}$SE/ -        chown root:mythtv "$mountpoint"/etc/systemconfig -        chown -R mythtv:mythtv ${mountpoint}$SE - -        chmod -R 775   ${mountpoint}$SE -        chmod 775 "$mountpoint"/etc/systemconfig -        #copy over any updates that might have occured -        cp -f /root/*.sh "$mountpoint"/root/ -        chmod -R 755 ${mountpoint}/root -        cp /etc/mtab "$mountpoint"/etc/mtab -        chroot "$mountpoint" /root/systemconfig.sh misc,hostype,network - -    if  [ $SystemType = "Master_backend" -o $SystemType = "Standalone"  ] -    then -            #installing DB to local machine - -            chroot "$mountpoint"   /root/install_db_chroot.sh -    else -            #update remotedb with this host settings -            chroot "$mountpoint" /root/restore_default_settings.sh -c restore -t Default -            chroot "$mountpoint" /root/restore_default_settings.sh -c restore -t syssettings -            #Run second time -            chroot "$mountpoint" /root/systemconfig.sh misc,hostype,network -    fi -    echo "Done" > /tmp/.install_state -    $run unmount_it $disk -} - - - - -function upgrade () { -    touch /tmp/.this_is_upgrade - -    if [ ! x$rootfs = "xDo_not_format" ] -    then -        echo "Formating $disk" > /tmp/.install_state -            progress 2 -            sleep 1 -            $run format_it $disk $rootfs NO -    fi - - -    echo "Preparing $disk" > /tmp/.install_state -        progress 3 -        sleep 1 -        $run mount_it $disk -        startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` -        echo "STARTSIZE=$startsize">/tmp/.startsize.io -        echo "Installing data" > /tmp/.install_state -        sleep 1 -        cp -rf /tmp/etc /new_boot/etc.old -        cp -rf  /tmp/oss /new_boot/var/lib/oss.old -        $run copy_it $disk bin.lzm,boot.lzm,etc.lzm,home.lzm,lib.lzm,opt.lzm,root.lzm,sbin.lzm,usr.lzm,var.lzm - -        if [  x$rootfs = "xDo_not_format" ] -        then -            rootfs=`grep ${disk}1 /tmp/etc/fstab |awk ' { print $3 } '` -        fi -            datafs=`grep ${disk}3 /tmp/etc/fstab |awk ' { print $3 } '` -        $run fstab_fix_it $disk $rootfs $datafs - -    echo "Writing boot sector" > /tmp/.install_state -        progress 99 -        sleep 1 -        $run grub_it $disk - - -    echo "Configuring system" > /tmp/.install_state -        progress -        sleep 1 -        cp /etc/mtab "$mountpoint"/etc/mtab -        cp -f /etc/systemconfig "$mountpoint"/etc -        cp -f /root/*.sh "$mountpoint"/root/ -        chmod -R 755 ${mountpoint}/root -        chown root:mythtv "$mountpoint"/etc/systemconfig -        chmod 775 "$mountpoint"/etc/systemconfig -        chroot "$mountpoint" /root/systemconfig.sh misc,hostype,network -    #  chroot "$mountpoint" /root/restore_default_settings.sh restore Default -        chroot "$mountpoint" /root/restore_default_settings.sh -c restore -t syssettings -    #Run second time -        chroot "$mountpoint" /root/systemconfig.sh misc,hostype,network -    #  fi - -    echo "Done" > /tmp/.install_state - -    $run unmount_it $disk -} - - - -function killdhcp () { -if [ -f /etc/dhcpc/dhcpcd-eth0.pid ] -        then -            pid=`cat /etc/dhcpc/dhcpcd-eth0.pid` -            kill -9 $pid -            rm -f /etc/dhcpc/dhcpcd-eth0.pid -            rm -f /var/run/dhcpcd* -        fi -if [ -f /var/run/dhcpcd-eth0.pid ] -        then -            pid=`cat /var/rundhcpcd-eth0.pid` -            kill -9 $pid -            rm -f /var/run/dhcpcd-eth0.pid* -        fi -ip address flush dev eth0 -} - -function network_setup () { -DEVICE=eth0 -    if [ ! -f /etc/systemconfig ] -    then -        exit 1 -    fi -killdhcp - -if [ $UseDHCP = 0 ] -then -        /sbin/dhcpcd $DEVICE -        if [ ! $? = 0 ] -        then -            exit 2 -        fi -fi - -if [ $UseDHCP = 1 ] -then - -        /sbin/ifconfig $DEVICE $ip -        /sbin/route add default gw $route -        echo "nameserver $nameserver" > /etc/resolv.conf -fi - - -} - -function SANE_SYSETTINGS () { -sed -e '/HOSTrootfstype/d' \ -        -e '/HOSTrootfstype/d' \ -        -e '/HOSTdatafstype/d' \ -        -e '/HOSTOSsize/d'  \ -        -e '/HostUseALLdata/d'  \ -        -e '/HOSTDATAsize/d'    \ -        -e '/HOSTuprootfstype/d'    \ -        -e '/HostUseSWAP/d' \ -        -e '/HOSTSWAPsize/d  ' /tmp/usr/share/templates/settings/syssettings/settings.txt  >  /tmp/settings.new -    mv  /tmp/settings.new /tmp/usr/share/templates/settings/syssettings/settings.txt -} - -case $1 in -        full_install_it ) - -            full_install -        ;; -        find_update) -            #TRY TO mount first partition of drive -            #copy /etc/systemconfig to live,  import settings into db -            #umount drive -            $run mount_it $disk -                if [ -f /new_boot/etc/systemconfig ] -                then -                ###########ADD templates -                mkdir -p /tmp/usr/share/templates -                cp -pr /new_boot/usr/share/templates  /tmp/usr/share -                SANE_SYSETTINGS -                cp -rp /tmp/usr/share/templates/settings /usr/share/templates - - -                cp /new_boot/etc/systemconfig /etc/systemconfig -                cp -rf  /new_boot/etc /tmp/etc -                cp -rf /new_boot/var/lib/oss  /tmp/oss - -                /root/restore_default_settings.sh -c restore -t syssettings -h myhost  -d 127.0.0.1 -                fi -            $run umount_it $disk -            ;; - -        upgrade_it) -                #"/root/install_proxy.sh upgrade_it " + install_drive + " " + rootfs +  "&" -                upgrade - -            ;; -        disk_model_it) -                        model="unknown" -                            size="xxx" -                        case $2 in - -                            h* ) -                                    model=`cat /proc/ide/$2/model` -                                    ;; -                            s*)     model=`sginfo /dev/$2|grep Product|awk ' { print $2 } '` -                                    ;; -                        esac -                                size=`parted /dev/$2  print |grep Disk|awk  ' { print $3 } '  ` - - -                                echo ""$model" $size " >/tmp/model - -            ;; -        network_check_it) -                        #Should never return from check_network -                        case $2 in -                                setup_network)  network_setup -                                ;; - -                                check_self) -                                            myipeth0=`ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'|head -n1` -                                            ping -c 1 $myipeth0 -                                                    if [ ! $? = 0 ] -                                                    then -                                                        exit 3 -                                                        #can't ping yourself -                                                    fi -                                ;; -                                check_gw) -                                            #check gateway -                                            mygweth0=`/sbin/route |grep eth0|grep UG|awk '{ print $2}'` -                                            ping -c 1 $mygweth0 -                                            if [ ! $? = 0 ] -                                            then -                                                exit 4 -                                                #can't ping the gw -                                            fi -                                ;; -                                check_ns) -                                            #check nameserver -                                                    mydns=`cat /etc/resolv.conf|grep nameserver|head -1|awk '{ print $2}'` -                                                    ping -c 1 $mydns -                                                    if [ ! $? = 0 ] -                                                    then -                                                        exit 5 -                                                        #can't ping the gw -                                                    fi -                                ;; -                                check_names) -                                            host google.com -                                            if [ ! $? = 0 ] -                                            then -                                                exit 6 -                                                #can't ping the gw -                                            fi -                                ;; -                            esac -                        exit 0 -            ;; - - -        * ) -            state=`cat /tmp/.install_state` -            if  [  x"${state}" =  "xConfiguring system" ] -            then -                progress "" -            else -        #finding the drive -                ddrive=`df |  grep $mountpoint | head -n1 | awk -F/ ' { print $3 } ' | cut -d" " -f 1|cut -b1,2,3 ` -                used=`statgrab -M disk.|grep ${ddrive}.write_bytes|cut -d= -f 2|tr -d " "` -        . /tmp/.startsize.io -        used=`echo $used-$STARTSIZE|bc` -        echo $used - -        if [ ! x$used = x ] -            then -                . /root/.install_size -                #somehow find if it's an install or update -                if [ -f /tmp/.this_is_upgrade ] -                then -                    total=$UPGRADESIZE -                else -                    total=$TOTALSIZE -                fi -            percent=`echo "scale=2 ;  ($used/$total) * 100 " |bc ` -            cond2=$(echo "$percent > 100" |bc  ) -            if [ $cond2 -eq 1  ] -            then -            percent=100 -            fi -            cond3=$(echo "$percent < 3" |bc ) -            if [ $cond3 -eq 0   ] -                then -                    progress $percent -                fi -            fi -        fi -        ;; -esac - - - diff --git a/abs/core/mythinstall/installationtype.cpp b/abs/core/mythinstall/installationtype.cpp deleted file mode 100755 index d32b9fc..0000000 --- a/abs/core/mythinstall/installationtype.cpp +++ /dev/null @@ -1,272 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" -#include "installsettings.h" -#include "installdialog.h" -#include "installationtype.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> -#include <qdir.h> -#include <mythtv/mythdbcon.h> -#include "mv_common.h" - -int mythinstalltype (QString  tmp_install_drive) -{ - -    Mythinstalltype setting; -       setting.load(); -       setting.save(); -    //setting.exec(); -        int retc = 1 ; -        if ( setting.exec() == QDialog::Accepted ) -        { -        retc = 0; -        } -    return retc; - -}; - - static HostComboBox *HOSTinstallationtype() -{ -    HostComboBox *gc = new HostComboBox("HOSTinstallationtype"); -    gc->setLabel(QObject::tr("Upgrade or Full install")); -    gc->addSelection("Full/Auto") ; -    gc->addSelection("Upgrade"); - - -    gc->setHelpText(QObject::tr("A full install will erase the entire drive and repartition.  An upgrade will only format or overlay the first parition of the drive.")); - -    return gc; -} - -static HostSpinBox *HOSTOSsize() -{ -    #ifdef __MVAPP__ -        HostSpinBox *gc = new HostSpinBox("HOSTOSsize", 2, 15, 1, true); -    #else -        HostSpinBox *gc = new HostSpinBox("HOSTOSsize", 3, 25, 1, true); -    #endif -    gc->setLabel(QObject::tr("OS size (GB)")); -    gc->setValue(2); -    gc->setHelpText(QObject::tr(""  )); - -    return gc; -} -static HostSpinBox *HOSTDATAsize() -{ -    HostSpinBox *gc = new HostSpinBox("HOSTDATAsize", 2, 1500, 1, true); -    gc->setLabel(QObject::tr("Data size (GB)")); -    gc->setValue(2); -    gc->setHelpText(QObject::tr(""  )); - -    return gc; -} - -static HostSpinBox *HOSTSWAPsize() -{ -    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 -    mem = mem/1024 ; -    if ( !  ok ) -         mem = 120 ; -    HostSpinBox *gc = new HostSpinBox("HOSTSWAPsize", 128, 128000, 128, true); -    gc->setLabel(QObject::tr("Swapspace size (MB)")); -    gc->setValue(mem); -    gc->setHelpText(QObject::tr(""  )); - -    return gc; -} - -static HostCheckBox *HostUseSWAP() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseSWAP"); -    gc->setLabel(QObject::tr("Use swap partition")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Enable or disable the swap partition.")); -    return gc; -}; - -static HostCheckBox *HostUseALLdata() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseALLdata"); -    gc->setLabel(QObject::tr("Use all remaining space for data")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("If checked myth will use the rest of the drive for the data.  Otherwise you will be able to set the size of the partition.")); -    return gc; -}; - - -static HostComboBox *HOSTdatafstype() -{ -    HostComboBox *gc = new HostComboBox("HOSTdatafstype"); -    gc->setLabel(QObject::tr("Data filesystem")); -    gc->addSelection("ext3") ; -    gc->addSelection("ext4") ; -    gc->addSelection("reiserfs"); -    gc->addSelection("jfs"); -    gc->addSelection("xfs"); - -    gc->setHelpText(QObject::tr("Filesystem for data. ")); - -    return gc; -} - - static HostComboBox *HOSTuprootfstype() -{ -    HostComboBox *gc = new HostComboBox("HOSTuprootfstype"); -    gc->setLabel(QObject::tr("OS file system")); -    gc->addSelection("ext3") ; -    gc->addSelection("ext4") ; -    gc->addSelection("reiserfs"); -    gc->addSelection("jfs"); -    //gc->addSelection("xfs"); -    gc->addSelection("Do_not_format"); - -    gc->setHelpText(QObject::tr("Filesystem for OS. ")); - -    return gc; -} - -static HostComboBox *HOSTrootfstype() -{ -    HostComboBox *gc = new HostComboBox("HOSTrootfstype"); -    gc->setLabel(QObject::tr("Root filesystem format")); -    gc->addSelection("ext3") ; -    gc->addSelection("ext4") ; -    gc->addSelection("reiserfs"); -    gc->addSelection("jfs"); -    //gc->addSelection("xfs"); - -    gc->setHelpText(QObject::tr("Filesystem for OS.  ")); - -    return gc; -} - -class USESwap: -                       public TriggeredConfigurationGroup { -public: -    USESwap(): -         //ConfigurationGroup(false, true, false, false), -         //VerticalConfigurationGroup(false, true, false, false), -         TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { -         //setLabel(QObject::tr("" )); -//         setUseLabel(false); - - -        Setting* useswap = HostUseSWAP(); -         addChild(useswap); -         setTrigger(useswap); - - -         ConfigurationGroup* swapyes = new VerticalConfigurationGroup(false); -             swapyes->addChild(HOSTSWAPsize()); - - - -             addTarget("1", swapyes ); -         addTarget("0",  new VerticalConfigurationGroup(true)); - - - - -     }; -}; - -class DATAsize: -                       public TriggeredConfigurationGroup { -public: -    DATAsize(): -         //ConfigurationGroup(false, true, false, false), -         //VerticalConfigurationGroup(false, true, false, false), -         TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { -         //setLabel(QObject::tr("" )); -//         setUseLabel(false); - - -        Setting* datasize = HostUseALLdata(); -         addChild(datasize); -         setTrigger(datasize); - - -         ConfigurationGroup* alldatano = new VerticalConfigurationGroup(false); -         alldatano->addChild(HOSTDATAsize()); -	     alldatano->addChild(HOSTdatafstype()); - -         ConfigurationGroup* alldatayes = new VerticalConfigurationGroup(false); -             alldatayes->addChild(HOSTdatafstype()); - - - - -         addTarget("1", alldatayes); -         addTarget("0", alldatano); - - - -     }; -}; - - -class Installationtype: -                       public TriggeredConfigurationGroup { -public: -    Installationtype(): -         //ConfigurationGroup(false, true, false, false), -         //VerticalConfigurationGroup(false, true, false, false), -         TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { -//         setLabel(QObject::tr("Upgrade or Full install" )); -//         setUseLabel(false); - - -        Setting* Mtemplate = HOSTinstallationtype(); -         addChild(Mtemplate); -         setTrigger(Mtemplate); - - -         ConfigurationGroup* tupgrade = new VerticalConfigurationGroup(false); -             tupgrade->addChild(HOSTuprootfstype()); - -  	 ConfigurationGroup* tfull = new VerticalConfigurationGroup(false); -             tfull->addChild(HOSTOSsize()); -             tfull->addChild(HOSTrootfstype()); -             tfull->addChild(new USESwap); -             tfull->addChild(new DATAsize); - - - -         addTarget("Upgrade",tupgrade ); -	     addTarget("Full/Auto", tfull); - - -     }; -}; - -Mythinstalltype::Mythinstalltype() -{ -    //Reseting the install type to remove "NET" -    if ( gContext->GetSetting("Hostinstallationtype")  == "NET") -            gContext ->SaveSetting("HOSTinstallationtype","Full/Auto"); -        Installationtype *installationtype = new Installationtype(); -        addChild(installationtype); - -} - - - diff --git a/abs/core/mythinstall/installationtype.h b/abs/core/mythinstall/installationtype.h deleted file mode 100755 index ad29224..0000000 --- a/abs/core/mythinstall/installationtype.h +++ /dev/null @@ -1,11 +0,0 @@ -#include <settings.h> -#include "mythdialogs.h" -//###################################################################################################3 -class Mythinstalltype: public ConfigurationWizard { -public: -    Mythinstalltype(); - -}; - -int mythinstalltype(QString); - 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(); -} diff --git a/abs/core/mythinstall/installdialog.h b/abs/core/mythinstall/installdialog.h deleted file mode 100755 index f1c98ab..0000000 --- a/abs/core/mythinstall/installdialog.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef WELCOMEDIALOG_H_ -#define WELCOMEDIALOG_H_ - -#include <iostream> -using namespace std; - -#include <qdatetime.h> -#include "mythdialogs.h" -#include "libmyth/dialogbox.h" -class WelcomeDialog : public MythThemedDialog -{ - -  Q_OBJECT - -  public: - -    WelcomeDialog(MythMainWindow *parent, -                       QString window_name, -                       QString theme_filename, -                       const char* name = 0); -    ~WelcomeDialog(); - -    void keyPressEvent(QKeyEvent *e); -    void wireUpTheme(); -     int exec(void); - -  protected slots: -    void updateAll(void); -    void updateStatus(void); -    void updateScreen(void); -    void closeDialog(); -    void updateTime(); -    void showPopup(); -    void showPopup_2(); -    void GO_popup(QString); -    void Reboot_popup(); -    void cancelPopup(); -    void MAINPopup(); -    QString diskmodel(QString,QString); -    QString findinstallsouce(void); -    void Display_2ndpopup(); -    bool updateRecordingList(void); -    bool updateScheduledList(void); -    void shutdownNow(int); - -    void install_hda(void); -    void install_hdb(void); -    void install_hdc(void); -    void install_hdd(void); -    void install_sda(void); -    void install_sdb(void); -    void install_sdc(void); -    void install_sdd(void); -    void install_net(void); -    void install_generic(void); -    void install_it(void); -    void runLIVECD(void); -    void busy_box(void); -    void busy_find_oldsettings(void); -    int ask_validate_network(void); -  private: -    void updateStatusMessage(void); -    UITextType* getTextType(QString name); -    MythPopupBox *popup; -    DialogBox *reboot_box; -    DialogBox *upgrade_box; -    // -    //  GUI stuff -    // -    UITextType          *m_status_text; -    UITextType          *m_recording_text; -    UITextType          *m_scheduled_text; -    UITextType          *m_error_text; -    UITextType          *m_mv_text; -    UITextType          *m_warning_text; -    UITextType          *m_time_text; -    UITextType          *m_date_text; -    QTimer         *m_updateStatusTimer; -    QTimer         *m_updateScreenTimer; -    QTimer         *m_timeTimer; - -    QString        m_installDir; -    QString        m_timeFormat; -    QStringList    m_statusList; -    QString        install_drive ; -    QString         install_text; -    QString     version_text; -    QString recording_text; -    QString  scheduled_text; -    QString  error_text; -    QString mythvantage_text; -    string bin_prefix; -    QString current_hostname; - -     bool I_AM_BUSY; -     bool WORKING_ON_INSTALL; - - -}; - -#endif diff --git a/abs/core/mythinstall/installsettings.cpp b/abs/core/mythinstall/installsettings.cpp deleted file mode 100755 index 8118132..0000000 --- a/abs/core/mythinstall/installsettings.cpp +++ /dev/null @@ -1,4556 +0,0 @@ -//_include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" - -#include <string> -#include <fstream> -#include <sstream> -#include <stdexcept> -#include <vector> -#include <cassert> -#include <algorithm> -#include <tr1/unordered_map> - - -#include <sys/wait.h>   // For WIFEXITED on Mac OS X -#include <qapplication.h> -#include "mythcontext.h" -#include "libmyth/mythdialogs.h" -#include "mythdbcon.h" -#include "lcddevice.h" -#include "tv.h" -#include "programinfo.h" -#include "uitypes.h" -#include "remoteutil.h" -#include <qdir.h> -#include <qimage.h> -#include <stdlib.h> -#include <cstdlib> - -#include "installsettings.h" -#include "installdialog.h" -#include "xorgsettings.h" -#include "password_manage.h" -#include "misc_settings.h" -#include "infrared.h" - -#include <qsqldatabase.h> -#include <qsqlquery.h> -#include "mv_common.h" - -int timezone_unknown = FALSE; -extern  HostParms hostparm; -extern DDCinfo ddcinfo; - - - -bool displaymysqlonly = false ; -bool displayshownetwork =false ; -bool displayshowhostype = false ; -bool displayshowmisc =false ; -bool displayshowshutdown =false ; -bool displayshowadvanced = false; -bool displayshowsound = false ; -bool displayshowadvancedX = false; -bool displayaccesscontrol= false; -bool displayplugins = false; -bool displayuser = false; -bool displaywebuser = false; -bool displayddns = false; -bool displayinfrared = false; -bool displayscreensaver = false; -bool  install_hobbit = false; - - -static HostComboBox *ThemePainter() -{ -    HostComboBox *gc = new HostComboBox("ThemePainter"); -    gc->setLabel(QObject::tr("Paint Engine")); -    gc->addSelection(QObject::tr("Qt"), "qt"); -    gc->addSelection(QObject::tr("OpenGL"), "opengl"); -    gc->setHelpText(QObject::tr("This selects what Myth uses to draw.  If you have decent hardware, select OpenGL. Changing this requires a restart.")); -    return gc; - -} -static HostComboBox *HostMyhostname() -{ -    HostComboBox *gc = new HostComboBox("HostMyhostname",true); -    gc->setLabel(QObject::tr("Hostname")); -    gc->addSelection("Envy"); -    gc->addSelection("Greed"); -    gc->addSelection("Lust"); -    gc->addSelection("Sloth"); -    gc->addSelection("Wrath"); -    gc->addSelection("Gluttony"); -    gc->addSelection("Pride"); -    gc->addSelection("Humility"); -    gc->addSelection("Generosity"); -    gc->addSelection("Love"); -    gc->addSelection("Kindness"); -    gc->addSelection("SelfControl"); -    gc->addSelection("Faith"); -    gc->addSelection("Zeal"); -    gc->addSelection("type_hostname_here"); -    gc->setHelpText(QObject::tr("Hostname of this machine")); -    return gc; -}; - -static HostCheckBox *HostDHCPHostname() -{ -    HostCheckBox *gc = new HostCheckBox("HostDHCPhostname"); -    gc->setLabel(QObject::tr("Use Hostname provided by DHCP")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Checking this will use the hostname as provided by dhcp for the default interface.  If none is provided by DHCP it will use the hostname provided in the hostname box")); -    return gc; -}; - - -static HostLineEdit *HostDDnslogin() -{ -    HostLineEdit *gc = new HostLineEdit("HostDDnslogin"); -        gc->setLabel(QObject::tr("Login")); -    gc->setValue(""); -    gc->setHelpText(QObject::tr("Login for ddns account")); -    return gc; -}; - -static HostLineEdit *HostDDnspassword() -{ -    HostLineEdit *gc = new HostLineEdit("HostDDnspassword"); -    gc->setLabel(QObject::tr("Password")); -    gc->setValue(""); -    gc->SetPasswordEcho(true); -    gc->setHelpText(QObject::tr("Password for ddns account.")); -    return gc; -}; - -static HostLineEdit *HostDDnshostname() -{ -    HostLineEdit *gc = new HostLineEdit("HostDDnshostname"); -    gc->setLabel(QObject::tr("DDNS hostname")); -    gc->setValue(""); -    gc->setHelpText(QObject::tr("Hostname used for DDNS.")); -    return gc; -}; - -static HostCheckBox *HostDDnsEnable() -{ -    HostCheckBox *gc = new HostCheckBox("HostDDnsEnable"); -    gc->setLabel(QObject::tr("Enable DDNS support")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Update DDNS records at dyndns.com. Visit http://dyndns.com to setup your account.")); -    return gc; -}; - -class DDnssettings: public TriggeredConfigurationGroup { -public: -    DDnssettings(): -        TriggeredConfigurationGroup(false,false,false,false) { -         setLabel(QObject::tr("DDNS settings")); -        SetVertical(true); -        Setting* trigger = HostDDnsEnable() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false); -                settings->addChild(HostDDnshostname()); -                settings->addChild(HostDDnslogin()); -                settings->addChild(HostDDnspassword()); - -        addTarget("0", new VerticalConfigurationGroup(false, false)); -        addTarget("1", settings); -    }; -}; - - - - -// static HostLineEdit *HostIP() -// { -//     HostLineEdit *gc = new HostLineEdit("HostIP"); -//     gc->setLabel(QObject::tr("Ip address")); -//     gc->setValue("192.168.1.12"); -//     gc->setHelpText(QObject::tr("IP address of the new installation")); -//     return gc; -// }; -// -// static HostComboBox *HostNETMASK() -// { -//     HostComboBox *gc = new HostComboBox("HostNETMASK"); -//         gc->setLabel(QObject::tr("Netmask")); -//         gc->addSelection("/0     0.0.0.0"); -//         gc->addSelection("/1     128.0.0.0"); -//         gc->addSelection("/2     192.0.0.0"); -//         gc->addSelection("/3     224.0.0.0"); -//         gc->addSelection("/4     240.0.0.0"); -//         gc->addSelection("/5     248.0.0.0"); -//         gc->addSelection("/6     252.0.0.0"); -//         gc->addSelection("/7     254.0.0.0"); -//         gc->addSelection("/8     255.0.0.0"); -//         gc->addSelection("/9     255.128.0.0"); -//         gc->addSelection("/10    255.192.0.0 "); -//         gc->addSelection("/11    255.224.0.0"); -//         gc->addSelection("/12    255.240.0.0"); -//         gc->addSelection("/13    255.248.0.0"); -//         gc->addSelection("/14    255.252.0.0"); -//         gc->addSelection("/15    255.254.0.0"); -//         gc->addSelection("/16    255.255.0.0"); -//         gc->addSelection("/17    255.255.128.0"); -//         gc->addSelection("/18    255.255.192.0"); -//         gc->addSelection("/19    255.255.224.0"); -//         gc->addSelection("/20    255.255.240.0"); -//         gc->addSelection("/21    255.255.248.0"); -//         gc->addSelection("/22    255.255.252.0"); -//         gc->addSelection("/23    255.255.254.0"); -//         gc->addSelection("/24    255.255.255.0"); -//         gc->addSelection("/25    255.255.255.128"); -//         gc->addSelection("/26    255.255.255.192"); -//         gc->addSelection("/27    255.255.255.224"); -//         gc->addSelection("/28    255.255.255.240"); -//         gc->addSelection("/29    255.255.255.248"); -//         gc->addSelection("/30    255.255.255.252"); -//         gc->addSelection("/31    255.255.255.254"); -//         gc->addSelection("/32    255.255.255.255"); -//         gc->setHelpText(QObject::tr("Netmask")); -//         gc->setValue(24); -//     return gc; -// }; - - -QString findnet() -{ - -QString netdev=""; -//QString netdev="eth0 eth1 wlan0 wlan1 ath0 "; -//QString netdev="eth0 eth1"; -system("/sbin/ifconfig -a > /tmp/.netinfo"); -QString line; -QFile file("/tmp/.netinfo"); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if ( line.contains("HWaddr")) -                { -                    QString s = line.simplifyWhiteSpace(); -                    s = s.section( " ", 0, 0 );   // s == "surname" -                    netdev+=s; -                    netdev+=" "; -                } -        } -        file.close(); -    } -return netdev; -} - -QString findnet_wireless() -{ - -QString netdev=""; -//QString netdev="eth0 eth1 wlan0 wlan1 ath0 "; -system("/usr/sbin/iwconfig  > /tmp/.netinfo_wireless"); -QString line; -QFile file("/tmp/.netinfo_wireless"); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if ( line.contains("Nickname") || line.contains("ESSID")) -                { -                    QString s = line.simplifyWhiteSpace(); -                    s = s.section( " ", 0, 0 );   // s == "surname" -                    netdev+=s; -                    netdev+=" "; -                } -        } -        file.close(); -    } -return netdev; -} - -static HostComboBox *HostNetDevice() -{ -    HostComboBox *gc = new HostComboBox("HostNetDevice"); -    gc->setLabel(QObject::tr("Device")); -    QString foundnet=findnet(); -    cout << foundnet << endl; - -    if (foundnet.contains(hostparm.ThisHostnetOLD)) -        { -//             cout << "old setting is still active" << endl; -//             cout << hostparm.ThisHostnetOLD << endl; -            QString s = "HostActiveonboot"; -            s+=hostparm.ThisHostnetOLD; -            gContext->SaveSetting(s, hostparm.ThisHostnetActiveOLD ); -        } - -    if (foundnet.contains("eth0")) -        gc->addSelection("eth0"); - -    if (foundnet.contains("eth1")) -        gc->addSelection("eth1"); - -    if (foundnet.contains("wlan0")) -        gc->addSelection("wlan0"); - -    if (foundnet.contains("wlan1")) -        gc->addSelection("wlan1"); - -    if (foundnet.contains("ath0")) -        gc->addSelection("ath0"); - -    int findoldnetdevice=gc->findSelection(hostparm.ThisHostnetOLD); -    gc->setValue(findoldnetdevice); - - - -    gc->setHelpText(QObject::tr("Network interface")); -    return gc; -}; - -// static HostLineEdit *HostGW() -// { -//     HostLineEdit *gc = new HostLineEdit("HostGW"); -//     gc->setLabel(QObject::tr("Gateway")); -//     gc->setValue("192.168.1.1"); -//     gc->setHelpText(QObject::tr("This is the default route")); -//     return gc; -// }; -// -// static HostLineEdit *HostDNS() -// { -//     HostLineEdit *gc = new HostLineEdit("HostDNS"); -//     gc->setLabel(QObject::tr("Name server")); -//     gc->setValue("192.168.1.1"); -//     gc->setHelpText(QObject::tr("Name server")); -//     return gc; -// }; - -static HostCheckBox *HostActiveonboot() -{ -    HostCheckBox *gc = new HostCheckBox("HostActiveonboot"); -    gc->setLabel(QObject::tr("Device is active on boot")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Network is started on boot")); -    return gc; -}; - - -static HostCheckBox *HostServiceSamba() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceSamba"); -    gc->setLabel(QObject::tr("Windows sharing")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Allow window machines to access recorded files")); -    return gc; -}; - -static HostCheckBox *HostServiceSamba_write() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceSamba_write"); -    gc->setLabel(QObject::tr("Readonly")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("If checked, all remote connections will be read only.  If not checked then remote clients will have write and delete abilites. ")); -    return gc; -}; - - -static HostCheckBox *HostServiceSamba_writehome() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceSamba_writehome"); -    gc->setLabel(QObject::tr("Readonly")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("If checked, all remote connections will be read only.  If not checked then remote clients will have write and delete abilites. ")); -    return gc; -}; - -static HostCheckBox *HostServiceSamba_media() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceSamba_media"); -    gc->setLabel(QObject::tr("share media")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr(" ")); -    return gc; -}; - -static HostCheckBox *HostServiceSamba_home() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceSamba_home"); -    gc->setLabel(QObject::tr("share home")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr(" ")); -    return gc; -}; - - - -static HostComboBox *HostServiceSamba_domain() -{ -    HostComboBox *gc = new HostComboBox("HostServiceSamba_domain",true); -    gc->setLabel(QObject::tr("Workgroup")); -    gc->setHelpText(QObject::tr("Workgroup for smb share")); -    gc->addSelection("WORKGROUP"); -    QString currentitem; -    QString line; -    QFile file("/tmp/smbdomainlist"); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if ( line.startsWith("domain")) -                { -                currentitem = line.section( " ", 1, 1 ); -                if ( currentitem != "-" ) -                    gc->addSelection(currentitem); -                } -        } -        file.close(); -    } -    gc->addSelection("type_workgroup_here"); -    return gc; -}; - -static HostCheckBox *HostLircWait() -{ -    HostCheckBox *gc = new HostCheckBox("HostLircWait"); -    gc->setLabel(QObject::tr("Wait for lirc")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("System will wait for lirc before starting the UI ")); -    return gc; -}; - - -static HostComboBox *HostEvrouterConfig() -{ -    HostComboBox *gc = new HostComboBox("HostEvrouterConfig",true); -    gc->setLabel(QObject::tr("Layout")); -    gc->setHelpText(QObject::tr("Choose the keypad layout")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/evrouter"); -    QDir evrouter(dirtxt); -    //evrouter.setFilter(QDir::Dirs); -    evrouter.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = evrouter.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    gc->addSelection("tinker"); -    return gc; -}; - - -static HostCheckBox *HostServiceNFS() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceNFS"); -    gc->setLabel(QObject::tr("Standard file sharing")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Allow all machines to access recorded files with nfs")); -    return gc; -}; - - -static HostCheckBox *HostServiceMythWEB() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceMythWEB"); -    gc->setLabel(QObject::tr("Enable Mythweb")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Allow scheduling using a web browser")); -    return gc; -}; - -static HostCheckBox *HostServiceHobbitclient() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceHobbitclient"); -    gc->setLabel(QObject::tr("Hobbit-client")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Report stats and other stuff to the master backend")); -    return gc; -}; - -static GlobalCheckBox *GlobalServiceHobbitserver() -{ -    GlobalCheckBox *gc = new GlobalCheckBox("GlobalServiceHobbitserver"); -    gc->setLabel(QObject::tr("Hobbit-server")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Run the hobbit server to collect stats and other stuff")); -    return gc; -}; - - -static HostCheckBox *HostServiceRRD() -{ -    HostCheckBox *gc = new HostCheckBox("HostServiceRRD"); -    gc->setLabel(QObject::tr("rrd_stats")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Collect stats and create graphs of various system resources.")); -    return gc; -}; - -static HostCheckBox *HostUseDHCP() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseDHCP"); -    gc->setLabel(QObject::tr("Static ip address")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); -    return gc; -}; - -static HostCheckBox *HostRunDHCP() -{ -    HostCheckBox *gc = new HostCheckBox("HostRunDHCP"); -    gc->setLabel(QObject::tr("DHCP server")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Check to run a dhcp server.")); -    return gc; -}; - -static HostCheckBox *HostRunEvrouter() -{ -    HostCheckBox *gc = new HostCheckBox("HostRunEvrouter"); -    gc->setLabel(QObject::tr("Enable special keys")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Check if using evrouter")); -    return gc; -}; - -static HostCheckBox *HostUsemythfrontend() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseMythWelcome"); -    gc->setLabel(QObject::tr("Run MythWelcome")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("If this option is checked mythwelcome will be started, instead of the usual frontend")); -    return gc; -}; - -static HostCheckBox *HostRunFrontend() -{ -    HostCheckBox *gc = new HostCheckBox("HostRunFrontend"); -    gc->setLabel(QObject::tr("Run the Frontend.")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("If this option is checked mythfrontend will also start")); -    return gc; -}; - - -/* -static HostComboBox *HostTransmitproto() -{ -    HostComboBox *gc = new HostComboBox("HostTransmitproto",false); -    gc->setLabel(QObject::tr("Transmitter")); -    gc->addSelection("none"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("Remote codes to control a cable box")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/transmit"); -    QDir transmit(dirtxt); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -    { -        currentitem = info->baseName( TRUE ); -        if ( currentitem != ".." && currentitem != "." && currentitem != "") -        { -            gc->addSelection(currentitem); -        } -        ++infoIt; -    } -    return gc; -}; - - - -static HostComboBox *HostReceiverType() -{ -    HostComboBox *gc = new HostComboBox("HostReceiverType"); -    gc->setLabel(QObject::tr("Receiver")); -    gc->addSelection("Default"); -    gc->addSelection("Serial"); -    gc->addSelection("Usb"); -    gc->addSelection("Usb-imon"); -    gc->addSelection("Hauppauge"); -    gc->addSelection("tinker"); -    gc->setHelpText(QObject::tr("The type of infrared receiver and transmitter being used.")); -    gc->setValue("Default"); -    return gc; -}; - -static HostComboBox *HostSerialPortlirc() -{ -    HostComboBox *gc = new HostComboBox("HostSerialPortlirc",false); -    gc->setLabel(QObject::tr("Serial Port")); -    gc->addSelection("ttyS0"); -    gc->addSelection("ttyS1"); -    gc->addSelection("ttyS2"); -    gc->addSelection("ttyS3"); -    gc->setHelpText(QObject::tr("Serial port with the lirc receiver or transmitter")); -    return gc; -} - -*/ - -static HostComboBox *HostMysqlserverip_listbox() -{ -    HostComboBox *gc = new HostComboBox("HostMysqlServer",true); -    gc->setLabel(QObject::tr("Mysql server")); - -    QString currentitem; -    QString prevline; -    QString line; -    QFile file("/tmp/mysqllist"); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -            { -            line = t.readLine(); -            if ( line.startsWith("   address")) -                { -                currentitem = line.section( " ", 5, 5 ); -                currentitem = currentitem.section( "[" , 1,1 ); -                currentitem = currentitem.section( "]" , 0, 0 ); - -                currentitem = currentitem + "\t" +  prevline.section( " ",5,5  ); -                //cout << currentitem  << endl; -                gc->addSelection(currentitem); -                } -                prevline = line; -                } -            file.close(); -            //system ("rm -f /tmp/mysqllist"); -        } -    gc->addSelection("Manual: type ip here"); -    gc->setHelpText(QObject::tr("")); - -    QString NETBOOT = getenv("NETBOOT"); -    NETBOOT=NETBOOT.stripWhiteSpace(); -    if ( NETBOOT   != "YES" ) -    { -        if ( ((gContext->GetSetting("HostaccesshostypeSystemtype")) == "0" )) -            gc->setEnabled(false); -    } - -    return gc; -} - - - -static HostCheckBox *HostRemoteBackup() -{ -    HostCheckBox *gc = new HostCheckBox("HostRemoteBackup"); -    gc->setLabel(QObject::tr("Remote Backup")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Copy the resulting backup file to another location")); -    return gc; -}; - - -static HostComboBox *HostRemoteBackupDir() -{ -    QString tempItem; -    HostComboBox *gc = new HostComboBox("HostRemoteBackupDir",true); -    gc->setLabel(QObject::tr("dir or host" )); -    gc->addSelection("dir:/localdir"); -    MSqlQuery query(MSqlQuery::InitCon()); - - -    query.prepare( "SELECT DISTINCT hostname from settings where hostname is not null and not (hostname=:HOSTNAME);"); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    if (query.exec() && query.isActive() && query.size() > 0) -    { -        while (query.next()) -        { -            tempItem = query.value(0).toString(); -            gc->addSelection(tempItem); -        } -    } - -    gc->setHelpText(QObject::tr("Host to copy backup file to.   dir:/$localdir   will copy to a local directory instead of a remote host ")); - -    return gc; -}; - -class Backupsettings: public TriggeredConfigurationGroup { -public: -    Backupsettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        SetVertical(false); -        setLabel(QObject::tr("Backup Settings")); -        Setting* trigger = HostRemoteBackup(); -        addChild(trigger); -        setTrigger(trigger); -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false); -            settings->addChild(HostRemoteBackupDir()); - -        addTarget("0", new VerticalConfigurationGroup(false, false)); -        addTarget("1", settings); - -    }; -}; - - - -static HostCheckBox *HostPKG_MIRROR() -{ -    HostCheckBox *gc = new HostCheckBox("HostPKG_MIRROR"); -    gc->setLabel(QObject::tr("Use Local mirror")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Master Backend will be used as the repo source.")); -    return gc; -}; - -static GlobalCheckBox *GlobalPKG_MIRROR() -{ -    GlobalCheckBox *gc = new GlobalCheckBox("GlobalPKG_MIRROR"); -    gc->setLabel(QObject::tr("Local mirror")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Keep a local copy of the packages.  Allow other frontends to install from the local copy.")); -    return gc; -}; - - - -static HostCheckBox *HostncidClient() -{ -    HostCheckBox *gc = new HostCheckBox("HostncidClient"); -    gc->setLabel(QObject::tr("Show Callerid")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Callerid popup,  backend must be running the callerid program")); -    return gc; -}; - -static HostCheckBox *HostncidDaemon() -{ -    HostCheckBox *gc = new HostCheckBox("HostncidDaemon"); -    gc->setLabel(QObject::tr("Run Callerid ")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Run Daemon to collect callerid info")); -    return gc; -}; - -static HostComboBox *HostSerialPortncid() -{ -    HostComboBox *gc = new HostComboBox("HostSerialPortncid",false); -    gc->setLabel(QObject::tr("Serial Port")); -    gc->addSelection("ttyS0"); -    gc->addSelection("ttyS1"); -    gc->addSelection("ttyS2"); -    gc->addSelection("ttyS3"); -    gc->setHelpText(QObject::tr("Serial port where callerid capable modem is connected")); -    return gc; -} - -static HostCheckBox *Hostbootsplash() -{ -    HostCheckBox *gc = new HostCheckBox("Hostbootsplash"); -    gc->setLabel(QObject::tr("Enable bootsplash")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Covers up boot messages. ")); -    return gc; -}; - -//-------------------------------------screensaver settings------------------- - -static HostComboBox *HostScreensaverType() -{ -    HostComboBox *gc = new HostComboBox("HostScreensaverType"); -    gc->setLabel(QObject::tr("Screensaver program")); -    gc->addSelection("xscreensaver"); -    gc->addSelection("gscreensaver"); -    gc->addSelection("none"); -    gc->addSelection("tinker"); -    gc->setHelpText(QObject::tr("Screen saver program to use.")); -    gc->setValue("none"); -    return gc; -}; - -static HostSpinBox *HostScreensaverIdle() -{ -    HostSpinBox *gc = new HostSpinBox("HostScreensaverIdle", 5, 60, 1, true); -    gc->setLabel(QObject::tr("Idle time")); -    gc->setValue(5); -    gc->setHelpText(QObject::tr("Number of minutes to wait before starting screensaver."  )); -    return gc; -} - -static HostCheckBox *HostScreensaverBlank() -{ -    HostCheckBox *gc = new HostCheckBox("HostScreensaverBlank"); -    gc->setLabel(QObject::tr("Blank")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Blank the screen instead of using a screensaver")); -    return gc; -}; - -static HostCheckBox *HostScreensaverRandom() -{ -    HostCheckBox *gc = new HostCheckBox("HostScreensaverRandom"); -    gc->setLabel(QObject::tr("Random")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Use a random screensaver")); -    return gc; -}; - - - -static HostComboBox *HostGScreensaverTheme() -{ -    HostComboBox *gc = new HostComboBox("HostGScreensaverTheme"); -    gc->setLabel(QObject::tr("Screensaver")); -    gc->setHelpText(QObject::tr("Screen saver program to use.")); -    QString line; -    QString dirtxt=MV_ROOT; -    dirtxt.append("templates/gscreensavers"); -    QFile file(dirtxt); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -             gc->addSelection(line); -        } -        file.close(); -    } -    return gc; -}; - -static HostComboBox *HostXScreensaverTheme() -{ -    HostComboBox *gc = new HostComboBox("HostXScreensaverTheme"); -    gc->setLabel(QObject::tr("Screensaver")); -    gc->setHelpText(QObject::tr("Screen saver to display.")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/xscreensavers"); -    //read in from a file. -    QString line; -    QFile file(dirtxt); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -             gc->addSelection(line); -        } -        file.close(); -    } -    return gc; -}; - -class Screensaverhostsettings: public TriggeredConfigurationGroup { -public: -    Screensaverhostsettings(): - -        TriggeredConfigurationGroup() { -        SetVertical(true); -        setLabel(QObject::tr("Screensaver settings (1/1)")); -        Setting* trigger = HostScreensaverType() ; -        addChild(trigger); -        setTrigger(trigger); -        ConfigurationGroup* screensaversettings = new GridConfigurationGroup(2); -            screensaversettings->addChild(HostScreensaverBlank()); -            screensaversettings->addChild(HostScreensaverRandom()); - -        ConfigurationGroup* xscreensaversettings = new VerticalConfigurationGroup(); -            xscreensaversettings->addChild(screensaversettings); -            xscreensaversettings->addChild(HostScreensaverIdle()); -            xscreensaversettings->addChild(HostXScreensaverTheme()); - - -        ConfigurationGroup* gscreensaversettings = new VerticalConfigurationGroup(); -            gscreensaversettings->addChild(screensaversettings); -            gscreensaversettings->addChild(HostScreensaverIdle()); -            gscreensaversettings->addChild(HostGScreensaverTheme()); - - - -        addTarget("tinker", new VerticalConfigurationGroup(false, false)); -        addTarget("none", new VerticalConfigurationGroup(false, false)); -        addTarget("gscreensaver", gscreensaversettings); -        addTarget("xscreensaver", xscreensaversettings); -    }; -}; - - - - -//-------------------------------------access setting---------------------- - -static HostCheckBox *Hostaccessnetwork() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccessnetwork"); -    gc->setLabel(QObject::tr("Network ")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Control access to network screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccesshostype() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccesshostype"); -    gc->setLabel(QObject::tr("hostype ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to hostype screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *HostaccesshostypeSystemtype() -{ -    HostCheckBox *gc = new HostCheckBox("HostaccesshostypeSystemtype"); -    gc->setLabel(QObject::tr("Change hostype")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Ability to change sql server and system type. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccessmisc() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccessmisc"); -    gc->setLabel(QObject::tr("misc ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to misc screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccesssleep() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccesssleep"); -    gc->setLabel(QObject::tr("sleep ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to sleep screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccessadvanced() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccessadvanced"); -    gc->setLabel(QObject::tr("advanced ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to advanced screen. Checked means the screen is enabled. ")); -    return gc; -}; - -static HostCheckBox *HostaccessadvancedX() -{ -    HostCheckBox *gc = new HostCheckBox("HostaccessadvancedX"); -    gc->setLabel(QObject::tr("advancedX ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to advancedX screen. Checked means the screen is enabled. ")); -    return gc; -}; -static HostCheckBox *Hostaccesssound() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccesssound"); -    gc->setLabel(QObject::tr("sound ")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to sound screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccessplugins() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccessplugins"); -    gc->setLabel(QObject::tr("plugins")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to plugin screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccessuser() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccessuser"); -    gc->setLabel(QObject::tr("User")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Control access to the user managment screen. Checked means the screen is enabled.")); -    return gc; -}; - -static HostCheckBox *Hostaccesswebuser() -{ -    HostCheckBox *gc = new HostCheckBox("Hostaccesswebuser"); -    gc->setLabel(QObject::tr("Web password")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Control access to the web password screen. Checked means the screen is enabled.")); -    return gc; -}; - - -class ACCESShostsettings: public TriggeredConfigurationGroup { -public: -    ACCESShostsettings(): -        TriggeredConfigurationGroup(false,false,false,false) { -        SetVertical(false); -        Setting* trigger = Hostaccesshostype () ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false,false,false); -                //settings->addChild(HostServiceSamba()); -                settings->addChild(HostaccesshostypeSystemtype()); - - -        addTarget("0", new VerticalConfigurationGroup(false, false)); -        addTarget("1", settings); -    }; -}; - - -//----------------------------------  PLUGINS ---------------------- - -static HostCheckBox *Hostpluginmytharchive() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmytharchive"); -    gc->setLabel(QObject::tr("mytharchive")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mytharchive")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythbrowser() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythbrowser"); -    gc->setLabel(QObject::tr("mythbrowser")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythbrowser")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythcontrols() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythcontrols"); -    gc->setLabel(QObject::tr("mythcontrols")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythcontrols")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythflix() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythflix"); -    gc->setLabel(QObject::tr("mythflix")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythflix")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythgallery() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythgallery"); -    gc->setLabel(QObject::tr("mythgallery")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythgallery")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythgame() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythgame"); -    gc->setLabel(QObject::tr("mythgame")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythgame")); -    return gc; -}; - -static HostCheckBox *HostpluginmythgameZsnes() -{ -    HostCheckBox *gc = new HostCheckBox("HostpluginmythgameZsnes"); -    gc->setLabel(QObject::tr("zsnes")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Zsnes, super nintendo emulator")); -    return gc; -}; - -static HostCheckBox *HostpluginmythgameFceu() -{ -    HostCheckBox *gc = new HostCheckBox("HostpluginmythgameFceu"); -    gc->setLabel(QObject::tr("fceu")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Fceu, nintendo emulator")); -    return gc; -}; - -static HostCheckBox *HostpluginmythgameMame() -{ -    HostCheckBox *gc = new HostCheckBox("HostpluginmythgameMame"); -    gc->setLabel(QObject::tr("mame")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Mame, Multiple Arcade Machine Emulator.")); -    return gc; -}; - -static HostCheckBox *HostpluginmythgameMednafen() -{ -    HostCheckBox *gc = new HostCheckBox("HostpluginmythgameMednafen"); -    gc->setLabel(QObject::tr("Mednafen")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Mednafen is a portable, utilizing OpenGL and SDL, command-line driven multi-system emulator with many advanced features.")); -    return gc; -}; - -static HostCheckBox *HostpluginmythgameROMDB() -{ -    HostCheckBox *gc = new HostCheckBox("HostpluginmythgameROMDB"); -    gc->setLabel(QObject::tr("Romdb")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Table used my MythGames to store information about games. If you are into games, this is recommended.")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythmovietime() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythmovietime"); -    gc->setLabel(QObject::tr("mythmovietime")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Check to enable mythmovietime")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythmusic() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythmusic"); -    gc->setLabel(QObject::tr("mythmusic")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythmusic")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythnews() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythnews"); -    gc->setLabel(QObject::tr("mythnews")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythnews")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythphone() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythphone"); -    gc->setLabel(QObject::tr("mythphone")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythphone")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythsmolt() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythsmolt"); -    gc->setLabel(QObject::tr("mythsmolt")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythsmolt")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythvideo() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythvideo"); -    gc->setLabel(QObject::tr("mythvideo")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("check to enable mythvideo")); -    return gc; -}; - -static HostCheckBox *Hostpluginmythvideo_dvdcss() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythvideo_dvdcss"); -    gc->setLabel(QObject::tr("dvdcss")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption.")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythvodka() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythvodka"); -    gc->setLabel(QObject::tr("mythvodka")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Myth Video On Demand Killer App.")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythstream() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythstream"); -    gc->setLabel(QObject::tr("mythstream")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("MythStream is an unofficial MythTv plugin that plays Internet audio and video streams.")); -    return gc; -}; - -static HostCheckBox *Hostpluginmythappletrailers() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythappletrailers"); -    gc->setLabel(QObject::tr("MythAppleTrailers")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Used to stream trailer's from Apple's website.")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythweather() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythweather"); -    gc->setLabel(QObject::tr("mythweather")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythweather")); -    return gc; -}; - - -static HostCheckBox *HostMiro() -{ -    HostCheckBox *gc = new HostCheckBox("HostMiro"); -    gc->setLabel(QObject::tr("Miro")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Miro is a popular, free, and open internet TV application. It brings video channels from thousands of sources and has more free HD than any otherplatform.")); -    return gc; -}; - - -static HostCheckBox *HostXine() -{ -    HostCheckBox *gc = new HostCheckBox("HostXine"); -    gc->setLabel(QObject::tr("Xine")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Xine is a free multimedia player")); -    return gc; -}; - - -static HostCheckBox *Hostwebmin() -{ -    HostCheckBox *gc = new HostCheckBox("Hostwebmin"); -    gc->setLabel(QObject::tr("Webmin")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Webmin is a web-based interface for system  administration for Unix. Once installed, you can access it at https://ip.of.back.end:10000 using your root password.")); -    return gc; -}; - -static HostCheckBox *Hostfuppes() -{ -    HostCheckBox *gc = new HostCheckBox("Hostfuppes"); -    gc->setLabel(QObject::tr("Fuppes")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Upnp server")); -    return gc; -}; - -static HostCheckBox *Hostfoldingathome() -{ -    HostCheckBox *gc = new HostCheckBox("Hostfoldingathome"); -    gc->setLabel(QObject::tr("Folding@home")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("A distributed computing project which studies protein folding, misfolding, aggregation, and related diseases.")); -    return gc; -}; - -static HostComboBox *Hostfoldingusername() -{ -    // If there is an old R5.5 style folding directory /myth/folding@home, attempt  -    // to retrieve the old username. -     -    FILE *username_pipe; -    username_pipe =  -      popen ( -        "grep username= /myth/folding@home/client.cfg 2> /dev/null | " -        "sed 's/username=//g'", "r"); - -    if (username_pipe) -    { -      char username[200]; -      if (fgets (username, sizeof (username), username_pipe)) -      { -    	  char *new_line; -	  username[sizeof(username)-1]=0; -	  if ((new_line = strchr (username, '\n'))) -	    new_line[0] = 0; - -	  cout << "found old username " << username << endl; - -    	  gContext->SetSetting("Hostfoldingusername", username); -    	  gContext->SaveSetting("Hostfoldingusername", username); -      } -      pclose (username_pipe); -    } - -    HostComboBox *gc = new HostComboBox("Hostfoldingusername",true); -    gc->setLabel(QObject::tr("Folding Username")); -    gc->setValue(""); - -    gc->setHelpText(QObject::tr("The username associated to the work-units you return.")); -    return gc; -}; - -static HostComboBox *Hostfoldingworksize() -{ -    HostComboBox *gc = new HostComboBox("Hostfoldingworksize"); -    gc->setLabel(QObject::tr("Work Packet Size")); -    gc->addSelection("Big", "big"); -    gc->addSelection("Normal", "normal"); -    gc->addSelection("Small", "small"); -    gc->setHelpText(QObject::tr("Acceptable size of work assignment and work result packets (bigger units may have large memory demands).")); -    return gc; -}; - -static HostCheckBox *HostXscreensaver() -{ -    HostCheckBox *gc = new HostCheckBox("HostXscreensaver"); -    gc->setLabel(QObject::tr("Screensaver")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Run screensaver after 10 minutes of inactivity.")); -    return gc; -}; - - -static HostCheckBox *Hostpluginmythzoneminder() -{ -    HostCheckBox *gc = new HostCheckBox("Hostpluginmythzoneminder"); -    gc->setLabel(QObject::tr("mythzoneminder")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("check to enable mythzoneminder")); -    return gc; -}; - - -// -------------End plugins-------------------------------- - - - -class NCIDsettings: public TriggeredConfigurationGroup { -public: -    NCIDsettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        SetVertical(false); -        Setting* trigger =  HostncidDaemon() ; -        addChild(trigger); -        setTrigger(trigger); -        ConfigurationGroup* settings = new HorizontalConfigurationGroup(false,false); -            settings->addChild(HostSerialPortncid()); -        addTarget("0", new HorizontalConfigurationGroup(false, false)); -        addTarget("1", settings); -    }; -}; - -class SAMBAsettings: public TriggeredConfigurationGroup { -public: -    SAMBAsettings(): -        TriggeredConfigurationGroup(false, true, true, true,false, false, true, true) { -        SetVertical(false); -        Setting* trigger =  HostServiceSamba() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new GridConfigurationGroup(2,false,false); -                //settings->addChild(HostServiceSamba()); -                settings->addChild(HostServiceSamba_media()); -                settings->addChild(HostServiceSamba_write()); -                settings->addChild(HostServiceSamba_home()); -                settings->addChild(HostServiceSamba_writehome()); -                settings->addChild(HostServiceSamba_domain()); - -        addTarget("0", new GridConfigurationGroup(2,false, false)); -        addTarget("1", settings); -    }; -}; - - - -/* -class LIRCsettings: public TriggeredConfigurationGroup { -public: -    LIRCsettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        //SetVertical(false); -        setLabel(QObject::tr("Misc Settings")); -        Setting* trigger =  HostReceiverType() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new GridConfigurationGroup(2,true); -        settings->addChild(HostLircWait()); -        settings->addChild(HostSerialPortlirc()); - -        ConfigurationGroup* settings2 = new VerticalConfigurationGroup(true,true); -        settings2->addChild(HostLircWait()); - -        addTarget("Default", settings2); -        addTarget("Serial", settings); -        addTarget("Usb", settings2); -        addTarget("Usb-imon", settings2 ); -        addTarget("Hauppauge",settings2); -        addTarget("tinker", new VerticalConfigurationGroup(false, false)); -    }; -};*/ - -class Evroutersettings: public TriggeredConfigurationGroup { -    public: -    Evroutersettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        //SetVertical(false); -        setLabel(QObject::tr("Evrouter config")); -        Setting* trigger =  HostRunEvrouter() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false,false); -        settings->addChild(HostEvrouterConfig()); - -        addTarget("0", new VerticalConfigurationGroup(false, false)); -        addTarget("1", settings); -        }; -}; - -class MythGamesettings: public TriggeredConfigurationGroup { -    public: -    MythGamesettings(): -        TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        //SetVertical(false); -        //setLabel(QObject::tr("Evrouter config")); -        Setting* trigger =  Hostpluginmythgame() ; -        addChild(trigger); -        setTrigger(trigger); - -        ConfigurationGroup* settings = new GridConfigurationGroup(3,true,true); -        settings->addChild(HostpluginmythgameZsnes()); -        settings->addChild(HostpluginmythgameFceu()); -        settings->addChild(HostpluginmythgameMame()); -        settings->addChild(HostpluginmythgameMednafen()); -        settings->addChild(HostpluginmythgameROMDB()); - - -        addTarget("0", new VerticalConfigurationGroup(false, false)); -        addTarget("1", settings); -        }; -}; - - -//____________________________________________________________________________ -class eth0_settings:          public TriggeredConfigurationGroup { -public: -    eth0_settings(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { - -    HostComboBox *HOSTESSIDeth0 = new HostComboBox("HOSTESSIDeth0",true); -        HOSTESSIDeth0->setLabel(QObject::tr("ESSID")); -        HOSTESSIDeth0->addSelection("MythVantage"); -        HOSTESSIDeth0->addSelection("home_lan"); -        HOSTESSIDeth0->addSelection("type_it_here"); -        HOSTESSIDeth0->setHelpText(QObject::tr("ESSID")); -    addChild(HOSTESSIDeth0); - -    HostComboBox *HostUseEncryptioneth0 = new HostComboBox("HostUseEncryptioneth0"); -        HostUseEncryptioneth0->setLabel(QObject::tr("Encryption")); -        HostUseEncryptioneth0->setHelpText(QObject::tr("WPA uses a shared key phrase this is the most secure.  For WEP use the generated key, this type of encryption is not recommended.")); -        HostUseEncryptioneth0->addSelection("none"); -        HostUseEncryptioneth0->addSelection("WPA"); -        HostUseEncryptioneth0->addSelection("WEP"); - -    Setting*  HostUseEncryption =  HostUseEncryptioneth0; -        addChild(HostUseEncryption); -        setTrigger(HostUseEncryption); - -    HostLineEdit *Hostkeyeth0 = new HostLineEdit("Hostkeyeth0"); -        Hostkeyeth0->setLabel(QObject::tr("key")); -        Hostkeyeth0->setHelpText(QObject::tr("Key to use for encryption")); - -    ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -        settings->addChild(Hostkeyeth0); -    addTarget("none", new GridConfigurationGroup(1,false)); -    addTarget("WPA", settings); -    addTarget("WEP", settings); -    }; -}; - - -NetworkSettingseth0::NetworkSettingseth0(): -        TriggeredConfigurationGroup(false,false,false,false) { -        setLabel(QObject::tr("Network Settings")); -    HostLineEdit  *HostIPeth0 = new HostLineEdit("HostIPeth0"); -    HostIPeth0->setLabel(QObject::tr("Ip address")); -    HostIPeth0->setValue("192.168.1.12"); -    HostIPeth0->setHelpText(QObject::tr("IP address of the new installation")); - -    HostComboBox *HostNETMASKeth0 = new HostComboBox("HostNETMASKeth0"); -        HostNETMASKeth0->setLabel(QObject::tr("Netmask")); -        HostNETMASKeth0->addSelection("/0     0.0.0.0"); -        HostNETMASKeth0->addSelection("/1     128.0.0.0"); -        HostNETMASKeth0->addSelection("/2     192.0.0.0"); -        HostNETMASKeth0->addSelection("/3     224.0.0.0"); -        HostNETMASKeth0->addSelection("/4     240.0.0.0"); -        HostNETMASKeth0->addSelection("/5     248.0.0.0"); -        HostNETMASKeth0->addSelection("/6     252.0.0.0"); -        HostNETMASKeth0->addSelection("/7     254.0.0.0"); -        HostNETMASKeth0->addSelection("/8     255.0.0.0"); -        HostNETMASKeth0->addSelection("/9     255.128.0.0"); -        HostNETMASKeth0->addSelection("/10    255.192.0.0 "); -        HostNETMASKeth0->addSelection("/11    255.224.0.0"); -        HostNETMASKeth0->addSelection("/12    255.240.0.0"); -        HostNETMASKeth0->addSelection("/13    255.248.0.0"); -        HostNETMASKeth0->addSelection("/14    255.252.0.0"); -        HostNETMASKeth0->addSelection("/15    255.254.0.0"); -        HostNETMASKeth0->addSelection("/16    255.255.0.0"); -        HostNETMASKeth0->addSelection("/17    255.255.128.0"); -        HostNETMASKeth0->addSelection("/18    255.255.192.0"); -        HostNETMASKeth0->addSelection("/19    255.255.224.0"); -        HostNETMASKeth0->addSelection("/20    255.255.240.0"); -        HostNETMASKeth0->addSelection("/21    255.255.248.0"); -        HostNETMASKeth0->addSelection("/22    255.255.252.0"); -        HostNETMASKeth0->addSelection("/23    255.255.254.0"); -        HostNETMASKeth0->addSelection("/24    255.255.255.0"); -        HostNETMASKeth0->addSelection("/25    255.255.255.128"); -        HostNETMASKeth0->addSelection("/26    255.255.255.192"); -        HostNETMASKeth0->addSelection("/27    255.255.255.224"); -        HostNETMASKeth0->addSelection("/28    255.255.255.240"); -        HostNETMASKeth0->addSelection("/29    255.255.255.248"); -        HostNETMASKeth0->addSelection("/30    255.255.255.252"); -        HostNETMASKeth0->addSelection("/31    255.255.255.254"); -        HostNETMASKeth0->addSelection("/32    255.255.255.255"); -        HostNETMASKeth0->setHelpText(QObject::tr("Netmask")); -        HostNETMASKeth0->setValue(24); - -        HostLineEdit *HostGWeth0 = new HostLineEdit("HostGWeth0"); -        HostGWeth0->setLabel(QObject::tr("Gateway")); -        HostGWeth0->setValue("192.168.1.1"); -        HostGWeth0->setHelpText(QObject::tr("This is the default route")); - - -        HostLineEdit *HostDNSeth0 = new HostLineEdit("HostDNSeth0"); -        HostDNSeth0->setLabel(QObject::tr("Name server")); -        HostDNSeth0->setValue("192.168.1.1"); -        HostDNSeth0->setHelpText(QObject::tr("Name server")); - - -        HostCheckBox *HostActiveonbooteth0 = new HostCheckBox("HostActiveonbooteth0"); -        HostActiveonbooteth0->setLabel(QObject::tr("Active")); -        HostActiveonbooteth0->setValue(true); -        HostActiveonbooteth0->setHelpText(QObject::tr("Network is started on boot")); - -        HostDefaulteth0 = new HostCheckBox("HostDefaulteth0"); -        HostDefaulteth0->setLabel(QObject::tr("Default")); -        HostDefaulteth0->setValue(true); -        HostDefaulteth0->setHelpText(QObject::tr("Will be used as the primary interface")); -        connect(HostDefaulteth0, SIGNAL(valueChanged(bool)), this, SLOT(eth0_disable_others())); - -        HostCheckBox *HostUseDHCPeth0 = new HostCheckBox("HostUseDHCPeth0"); -        HostUseDHCPeth0 ->setLabel(QObject::tr("Static ip address")); -        HostUseDHCPeth0 ->setValue(false); -        HostUseDHCPeth0 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); - -        wirelessbuttoneth0 = new TransButtonSetting(); -        wirelessbuttoneth0->setLabel(tr("Wireless Settings")); -        connect(wirelessbuttoneth0, SIGNAL(pressed()), this,   SLOT(eth0_wireless_settings())); - -      ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, true, true); -            settings1->addChild(HostActiveonbooteth0); -            settings1->addChild(HostDefaulteth0); -            settings1-> addChild(wirelessbuttoneth0); -        addChild(settings1); - - -        Setting* dhcpEnabled = HostUseDHCPeth0; -        addChild(dhcpEnabled); -        setTrigger(dhcpEnabled); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false, false, false); -            settings->addChild(HostIPeth0); -            settings->addChild(HostNETMASKeth0); -            settings->addChild(HostGWeth0); -            settings->addChild(HostDNSeth0); - -        addTarget("0", new VerticalConfigurationGroup(false,false,false,false)); -        addTarget("1", settings); -    }; - -eth0options::eth0options() -{ - -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Wireless configuration for eth0")); -    //rec->setUseLabel(true); -    rec->addChild(new eth0_settings); -    addChild(rec); -} - -void NetworkSettingseth0::eth0_disable_others() -{ -        QString my_current_value; -        my_current_value = HostDefaulteth0->getValue(); -        if ( my_current_value == "1" ) -        { -            cout <<"ETH0: set other defaults buttons to off"<<endl; -        hostparm.ThisHostDefaultInterface="eth0"; -            emit eth0_is_default(); -        } -} -void NetworkSettingseth0::eth0_disabled() -{ -    cout << "    eth0 is not default" << endl; -    HostDefaulteth0->setValue(0); -} -void NetworkSettingseth0::eth0_wireless_settings(void) -{ -    //cout <<"button pressed for eth0"<<endl; -    eth0options eth0screen; -    eth0screen.exec(); -} - -void NetworkSettingseth0::eth0_wireless_disable() -{ -    cout << "    eth0 disabling wireless button" << endl; -    wirelessbuttoneth0->setEnabled(false); -} - -class eth1_settings:          public TriggeredConfigurationGroup { -public: -    eth1_settings(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { - -    HostComboBox *HOSTESSIDeth1 = new HostComboBox("HOSTESSIDeth1",true); -        HOSTESSIDeth1->setLabel(QObject::tr("ESSID")); -        HOSTESSIDeth1->addSelection("MythVantage"); -        HOSTESSIDeth1->addSelection("home_lan"); -        HOSTESSIDeth1->addSelection("type_it_here"); -        HOSTESSIDeth1->setHelpText(QObject::tr("ESSID")); -    addChild(HOSTESSIDeth1); -    HostComboBox *HostUseEncryptioneth0 = new HostComboBox("HostUseEncryptioneth0"); -        HostUseEncryptioneth0->setLabel(QObject::tr("Encryption")); -        HostUseEncryptioneth0->setHelpText(QObject::tr("WPA, WEP, none")); -        HostUseEncryptioneth0->addSelection("none"); -        HostUseEncryptioneth0->addSelection("WPA"); -        HostUseEncryptioneth0->addSelection("WEP"); - -    Setting*  HostUseEncryption =  HostUseEncryptioneth0; -        addChild(HostUseEncryption); -        setTrigger(HostUseEncryption); - -    HostLineEdit *Hostkeyeth0 = new HostLineEdit("Hostkeyeth0"); -        Hostkeyeth0->setLabel(QObject::tr("key")); -        Hostkeyeth0->setHelpText(QObject::tr("Key to use for encryption")); - -    ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -        settings->addChild(Hostkeyeth0); -    addTarget("none", new GridConfigurationGroup(1,false)); -    addTarget("WPA", settings); -    addTarget("WEP", settings); -    //- - - -    }; -}; - - -NetworkSettingseth1::NetworkSettingseth1(): -        TriggeredConfigurationGroup(false,false,false,false) { -    setLabel(QObject::tr("Network Settings")); -    HostLineEdit  *HostIPeth1 = new HostLineEdit("HostIPeth1"); -    HostIPeth1->setLabel(QObject::tr("Ip address")); -    HostIPeth1->setValue("192.168.1.12"); -    HostIPeth1->setHelpText(QObject::tr("IP address of the new installation")); - -    HostComboBox *HostNETMASKeth1 = new HostComboBox("HostNETMASKeth1"); -        HostNETMASKeth1->setLabel(QObject::tr("Netmask")); -        HostNETMASKeth1->addSelection("/0     0.0.0.0"); -        HostNETMASKeth1->addSelection("/1     128.0.0.0"); -        HostNETMASKeth1->addSelection("/2     192.0.0.0"); -        HostNETMASKeth1->addSelection("/3     224.0.0.0"); -        HostNETMASKeth1->addSelection("/4     240.0.0.0"); -        HostNETMASKeth1->addSelection("/5     248.0.0.0"); -        HostNETMASKeth1->addSelection("/6     252.0.0.0"); -        HostNETMASKeth1->addSelection("/7     254.0.0.0"); -        HostNETMASKeth1->addSelection("/8     255.0.0.0"); -        HostNETMASKeth1->addSelection("/9     255.128.0.0"); -        HostNETMASKeth1->addSelection("/10    255.192.0.0 "); -        HostNETMASKeth1->addSelection("/11    255.224.0.0"); -        HostNETMASKeth1->addSelection("/12    255.240.0.0"); -        HostNETMASKeth1->addSelection("/13    255.248.0.0"); -        HostNETMASKeth1->addSelection("/14    255.252.0.0"); -        HostNETMASKeth1->addSelection("/15    255.254.0.0"); -        HostNETMASKeth1->addSelection("/16    255.255.0.0"); -        HostNETMASKeth1->addSelection("/17    255.255.128.0"); -        HostNETMASKeth1->addSelection("/18    255.255.192.0"); -        HostNETMASKeth1->addSelection("/19    255.255.224.0"); -        HostNETMASKeth1->addSelection("/20    255.255.240.0"); -        HostNETMASKeth1->addSelection("/21    255.255.248.0"); -        HostNETMASKeth1->addSelection("/22    255.255.252.0"); -        HostNETMASKeth1->addSelection("/23    255.255.254.0"); -        HostNETMASKeth1->addSelection("/24    255.255.255.0"); -        HostNETMASKeth1->addSelection("/25    255.255.255.128"); -        HostNETMASKeth1->addSelection("/26    255.255.255.192"); -        HostNETMASKeth1->addSelection("/27    255.255.255.224"); -        HostNETMASKeth1->addSelection("/28    255.255.255.240"); -        HostNETMASKeth1->addSelection("/29    255.255.255.248"); -        HostNETMASKeth1->addSelection("/30    255.255.255.252"); -        HostNETMASKeth1->addSelection("/31    255.255.255.254"); -        HostNETMASKeth1->addSelection("/32    255.255.255.255"); -        HostNETMASKeth1->setHelpText(QObject::tr("Netmask")); -        HostNETMASKeth1->setValue(24); - -        HostLineEdit *HostGWeth1 = new HostLineEdit("HostGWeth1"); -        HostGWeth1->setLabel(QObject::tr("Gateway")); -        HostGWeth1->setValue("192.168.1.1"); -        HostGWeth1->setHelpText(QObject::tr("This is the default route")); - - -        HostLineEdit *HostDNSeth1 = new HostLineEdit("HostDNSeth1"); -        HostDNSeth1->setLabel(QObject::tr("Name server")); -        HostDNSeth1->setValue("192.168.1.1"); -        HostDNSeth1->setHelpText(QObject::tr("Name server")); - - -        HostCheckBox *HostActiveonbooteth1 = new HostCheckBox("HostActiveonbooteth1"); -        HostActiveonbooteth1->setLabel(QObject::tr("Active")); -        HostActiveonbooteth1->setValue(false); -        HostActiveonbooteth1->setHelpText(QObject::tr("Network is started on boot")); - -        HostDefaulteth1 = new HostCheckBox("HostDefaulteth1"); -        HostDefaulteth1->setLabel(QObject::tr("Default")); -        HostDefaulteth1->setValue(false); -        HostDefaulteth1->setHelpText(QObject::tr("Will be used as the primary interface")); -        connect(HostDefaulteth1, SIGNAL(valueChanged(bool)), this, SLOT(eth1_disable_others())); - -        HostCheckBox *HostUseDHCPeth1 = new HostCheckBox("HostUseDHCPeth1"); -        HostUseDHCPeth1 ->setLabel(QObject::tr("Static ip address")); -        HostUseDHCPeth1 ->setValue(false); -        HostUseDHCPeth1 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); - -        wirelessbuttoneth1 = new TransButtonSetting(); -        wirelessbuttoneth1->setLabel(tr("Wireless Settings")); -        connect(wirelessbuttoneth1, SIGNAL(pressed()), this,   SLOT(eth1_wireless_settings())); - -        ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false); -            settings1->addChild(HostActiveonbooteth1); -            settings1->addChild(HostDefaulteth1); -            settings1-> addChild(wirelessbuttoneth1); - -        addChild(settings1); - -        Setting* dhcpEnabled = HostUseDHCPeth1; -        addChild(dhcpEnabled); -        setTrigger(dhcpEnabled); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false); -            settings->addChild(HostIPeth1); -            settings->addChild(HostNETMASKeth1); -            settings->addChild(HostGWeth1); -            settings->addChild(HostDNSeth1); - -        addTarget("0", new VerticalConfigurationGroup(false,false,false,false)); -        addTarget("1", settings); -}; -eth1options::eth1options() -{ - -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Wireless configuration for eth1")); -    //rec->setUseLabel(true); -    rec->addChild(new eth1_settings); -    addChild(rec); -} - -void NetworkSettingseth1::eth1_disable_others() -{ -        QString my_current_value; -        my_current_value = HostDefaulteth1->getValue(); -        if ( my_current_value == "1" ) -        { -            cout <<"ETH1: set other defaults buttons to off"<<endl; -            hostparm.ThisHostDefaultInterface="eth1"; -            emit eth1_is_default(); -        } -} -void NetworkSettingseth1::eth1_disabled() -{ -    cout << "   eth1 is not default" << endl; -        HostDefaulteth1->setValue(0); -} - -void NetworkSettingseth1::eth1_wireless_settings(void) -{ -    //cout <<"button pressed for eth1"<<endl; -    eth1options eth1screen; -    eth1screen.exec(); -} - -void NetworkSettingseth1::eth1_wireless_disable() -{ -    cout << "    eth1 disabling wireless button" << endl; -    wirelessbuttoneth1->setEnabled(false); -} - - -class wlan0_settings:          public TriggeredConfigurationGroup { -public: -    wlan0_settings(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { - -    HostComboBox *HOSTESSIDwlan0 = new HostComboBox("HOSTESSIDwlan0",true); -        HOSTESSIDwlan0->setLabel(QObject::tr("ESSID")); -        HOSTESSIDwlan0->addSelection("MythVantage"); -        HOSTESSIDwlan0->addSelection("home_lan"); -        HOSTESSIDwlan0->addSelection("type_it_here"); -        HOSTESSIDwlan0->setHelpText(QObject::tr("ESSID")); -    addChild(HOSTESSIDwlan0); -    HostComboBox *HostUseEncryptionwlan0 = new HostComboBox("HostUseEncryptionwlan0"); -        HostUseEncryptionwlan0->setLabel(QObject::tr("Encryption")); -        HostUseEncryptionwlan0->setHelpText(QObject::tr("WPA, WEP, none")); -        HostUseEncryptionwlan0->addSelection("none"); -        HostUseEncryptionwlan0->addSelection("WPA"); -        HostUseEncryptionwlan0->addSelection("WEP"); - -    Setting*  HostUseEncryption =  HostUseEncryptionwlan0; -        addChild(HostUseEncryption); -        setTrigger(HostUseEncryption); - -    HostLineEdit *Hostkeywlan0 = new HostLineEdit("Hostkeywlan0"); -        Hostkeywlan0->setLabel(QObject::tr("key")); -        Hostkeywlan0->setHelpText(QObject::tr("Key to use for encryption")); - -    ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -        settings->addChild(Hostkeywlan0); -    addTarget("none", new GridConfigurationGroup(1,false)); -    addTarget("WPA", settings); -    addTarget("WEP", settings); -    //- -    }; -}; - -NetworkSettingswlan0::NetworkSettingswlan0(): -        TriggeredConfigurationGroup(false,false,false,false) { -        setLabel(QObject::tr("Network Settings")); - -    HostIPwlan0 = new HostLineEdit("HostIPwlan0"); -    HostIPwlan0->setLabel(QObject::tr("Ip address")); -    HostIPwlan0->setValue("192.168.1.12"); -    HostIPwlan0->setHelpText(QObject::tr("IP address of the new installation")); - -    HostNETMASKwlan0 = new HostComboBox("HostNETMASKwlan0"); -        HostNETMASKwlan0->setLabel(QObject::tr("Netmask")); -        HostNETMASKwlan0->addSelection("/0     0.0.0.0"); -        HostNETMASKwlan0->addSelection("/1     128.0.0.0"); -        HostNETMASKwlan0->addSelection("/2     192.0.0.0"); -        HostNETMASKwlan0->addSelection("/3     224.0.0.0"); -        HostNETMASKwlan0->addSelection("/4     240.0.0.0"); -        HostNETMASKwlan0->addSelection("/5     248.0.0.0"); -        HostNETMASKwlan0->addSelection("/6     252.0.0.0"); -        HostNETMASKwlan0->addSelection("/7     254.0.0.0"); -        HostNETMASKwlan0->addSelection("/8     255.0.0.0"); -        HostNETMASKwlan0->addSelection("/9     255.128.0.0"); -        HostNETMASKwlan0->addSelection("/10    255.192.0.0 "); -        HostNETMASKwlan0->addSelection("/11    255.224.0.0"); -        HostNETMASKwlan0->addSelection("/12    255.240.0.0"); -        HostNETMASKwlan0->addSelection("/13    255.248.0.0"); -        HostNETMASKwlan0->addSelection("/14    255.252.0.0"); -        HostNETMASKwlan0->addSelection("/15    255.254.0.0"); -        HostNETMASKwlan0->addSelection("/16    255.255.0.0"); -        HostNETMASKwlan0->addSelection("/17    255.255.128.0"); -        HostNETMASKwlan0->addSelection("/18    255.255.192.0"); -        HostNETMASKwlan0->addSelection("/19    255.255.224.0"); -        HostNETMASKwlan0->addSelection("/20    255.255.240.0"); -        HostNETMASKwlan0->addSelection("/21    255.255.248.0"); -        HostNETMASKwlan0->addSelection("/22    255.255.252.0"); -        HostNETMASKwlan0->addSelection("/23    255.255.254.0"); -        HostNETMASKwlan0->addSelection("/24    255.255.255.0"); -        HostNETMASKwlan0->addSelection("/25    255.255.255.128"); -        HostNETMASKwlan0->addSelection("/26    255.255.255.192"); -        HostNETMASKwlan0->addSelection("/27    255.255.255.224"); -        HostNETMASKwlan0->addSelection("/28    255.255.255.240"); -        HostNETMASKwlan0->addSelection("/29    255.255.255.248"); -        HostNETMASKwlan0->addSelection("/30    255.255.255.252"); -        HostNETMASKwlan0->addSelection("/31    255.255.255.254"); -        HostNETMASKwlan0->addSelection("/32    255.255.255.255"); -        HostNETMASKwlan0->setHelpText(QObject::tr("Netmask")); -        HostNETMASKwlan0->setValue(24); - -        HostGWwlan0 = new HostLineEdit("HostGWwlan0"); -        HostGWwlan0->setLabel(QObject::tr("Gateway")); -        HostGWwlan0->setValue("192.168.1.1"); -        HostGWwlan0->setHelpText(QObject::tr("This is the default route")); - - -        HostDNSwlan0 = new HostLineEdit("HostDNSwlan0"); -        HostDNSwlan0->setLabel(QObject::tr("Name server")); -        HostDNSwlan0->setValue("192.168.1.1"); -        HostDNSwlan0->setHelpText(QObject::tr("Name server")); - - -        HostActiveonbootwlan0 = new HostCheckBox("HostActiveonbootwlan0"); -        HostActiveonbootwlan0->setLabel(QObject::tr("Active")); -        HostActiveonbootwlan0->setValue(false); -        HostActiveonbootwlan0->setHelpText(QObject::tr("Network is started on boot")); - -        HostDefaultwlan0 = new HostCheckBox("HostDefaultwlan0"); -        HostDefaultwlan0->setLabel(QObject::tr("Default")); -        HostDefaultwlan0->setValue(false); -        HostDefaultwlan0->setHelpText(QObject::tr("Will be used as the primary interface")); -        connect(HostDefaultwlan0, SIGNAL(valueChanged(bool)), this, SLOT(wlan0_disable_others())); - - - -        HostUseDHCPwlan0 = new HostCheckBox("HostUseDHCPwlan0"); -        HostUseDHCPwlan0 ->setLabel(QObject::tr("Static ip address")); -        HostUseDHCPwlan0 ->setValue(false); -        HostUseDHCPwlan0 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); - -        wirelessbuttonwlan0 = new TransButtonSetting(); -        wirelessbuttonwlan0->setLabel(tr("Wireless Settings")); -        connect(wirelessbuttonwlan0, SIGNAL(pressed()), this,   SLOT(wlan0_wireless_settings())); - - -        ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false); -            settings1->addChild(HostActiveonbootwlan0); -            settings1->addChild(HostDefaultwlan0); -            settings1-> addChild(wirelessbuttonwlan0); -        addChild(settings1); - -        Setting* dhcpEnabled = HostUseDHCPwlan0; -        addChild(dhcpEnabled); -        setTrigger(dhcpEnabled); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false); -            settings->addChild(HostIPwlan0); -            settings->addChild(HostNETMASKwlan0); -            settings->addChild(HostGWwlan0); -            settings->addChild(HostDNSwlan0); - -        addTarget("0", new VerticalConfigurationGroup(false,false,false,false)); -        addTarget("1", settings); - -}; - -Wlan0options::Wlan0options() -{ - -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Wireless configuration for wlan0")); -    //rec->setUseLabel(true); -    rec->addChild(new wlan0_settings); -    addChild(rec); -} - -void NetworkSettingswlan0::wlan0_disable_others() -{ -        QString my_current_value; -        my_current_value = HostDefaultwlan0->getValue(); -        if ( my_current_value == "1" ) -        { -            cout <<"WLAN0: set other defaults buttons to off"<<endl; -        hostparm.ThisHostDefaultInterface="wlan0"; -            emit wlan0_is_default(); -        } - - - -} -void NetworkSettingswlan0::wlan0_disabled() -{ -    cout << "   wlan0 is not default" << endl; -    HostDefaultwlan0->setValue(0); -} - - -void NetworkSettingswlan0::wlan0_wireless_settings(void) -{ -    //cout <<"button pressed for wlan0"<<endl; -    Wlan0options wlan0screen; -    wlan0screen.exec(); -} -void NetworkSettingswlan0::wlan0_wireless_disable() -{ -    cout << "    wlan0 disabling wireless button" << endl; -    wirelessbuttonwlan0->setEnabled(false); -} - - -class wlan1_settings:          public TriggeredConfigurationGroup { -public: -    wlan1_settings(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { - -    HostComboBox *HOSTESSIDwlan1 = new HostComboBox("HOSTESSIDwlan1",true); -        HOSTESSIDwlan1->setLabel(QObject::tr("ESSID")); -        HOSTESSIDwlan1->addSelection("MythVantage"); -        HOSTESSIDwlan1->addSelection("home_lan"); -        HOSTESSIDwlan1->addSelection("type_it_here"); -        HOSTESSIDwlan1->setHelpText(QObject::tr("ESSID")); -    addChild(HOSTESSIDwlan1); - - -    HostComboBox *HostUseEncryptionwlan1 = new HostComboBox("HostUseEncryptionwlan1"); -        HostUseEncryptionwlan1->setLabel(QObject::tr("Encryption")); -        HostUseEncryptionwlan1->setHelpText(QObject::tr("WPA, WEP, none")); -        HostUseEncryptionwlan1->addSelection("none"); -        HostUseEncryptionwlan1->addSelection("WPA"); -        HostUseEncryptionwlan1->addSelection("WEP"); - -    Setting*  HostUseEncryption =  HostUseEncryptionwlan1; -        addChild(HostUseEncryption); -        setTrigger(HostUseEncryption); - -    HostLineEdit *Hostkeywlan1 = new HostLineEdit("Hostkeywlan1"); -        Hostkeywlan1->setLabel(QObject::tr("key")); -        Hostkeywlan1->setHelpText(QObject::tr("Key to use for encryption")); - -    ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -        settings->addChild(Hostkeywlan1); -    addTarget("none", new GridConfigurationGroup(1,false)); -    addTarget("WPA", settings); -    addTarget("WEP", settings); -    //- -    }; -}; - -NetworkSettingswlan1::NetworkSettingswlan1(): -        TriggeredConfigurationGroup(false,false,false,false) { -        setLabel(QObject::tr("Network Settings")); - -    HostIPwlan1 = new HostLineEdit("HostIPwlan1"); -    HostIPwlan1->setLabel(QObject::tr("Ip address")); -    HostIPwlan1->setValue("192.168.1.12"); -    HostIPwlan1->setHelpText(QObject::tr("IP address of the new installation")); - -    HostNETMASKwlan1 = new HostComboBox("HostNETMASKwlan1"); -        HostNETMASKwlan1->setLabel(QObject::tr("Netmask")); -        HostNETMASKwlan1->addSelection("/0     0.0.0.0"); -        HostNETMASKwlan1->addSelection("/1     128.0.0.0"); -        HostNETMASKwlan1->addSelection("/2     192.0.0.0"); -        HostNETMASKwlan1->addSelection("/3     224.0.0.0"); -        HostNETMASKwlan1->addSelection("/4     240.0.0.0"); -        HostNETMASKwlan1->addSelection("/5     248.0.0.0"); -        HostNETMASKwlan1->addSelection("/6     252.0.0.0"); -        HostNETMASKwlan1->addSelection("/7     254.0.0.0"); -        HostNETMASKwlan1->addSelection("/8     255.0.0.0"); -        HostNETMASKwlan1->addSelection("/9     255.128.0.0"); -        HostNETMASKwlan1->addSelection("/10    255.192.0.0 "); -        HostNETMASKwlan1->addSelection("/11    255.224.0.0"); -        HostNETMASKwlan1->addSelection("/12    255.240.0.0"); -        HostNETMASKwlan1->addSelection("/13    255.248.0.0"); -        HostNETMASKwlan1->addSelection("/14    255.252.0.0"); -        HostNETMASKwlan1->addSelection("/15    255.254.0.0"); -        HostNETMASKwlan1->addSelection("/16    255.255.0.0"); -        HostNETMASKwlan1->addSelection("/17    255.255.128.0"); -        HostNETMASKwlan1->addSelection("/18    255.255.192.0"); -        HostNETMASKwlan1->addSelection("/19    255.255.224.0"); -        HostNETMASKwlan1->addSelection("/20    255.255.240.0"); -        HostNETMASKwlan1->addSelection("/21    255.255.248.0"); -        HostNETMASKwlan1->addSelection("/22    255.255.252.0"); -        HostNETMASKwlan1->addSelection("/23    255.255.254.0"); -        HostNETMASKwlan1->addSelection("/24    255.255.255.0"); -        HostNETMASKwlan1->addSelection("/25    255.255.255.128"); -        HostNETMASKwlan1->addSelection("/26    255.255.255.192"); -        HostNETMASKwlan1->addSelection("/27    255.255.255.224"); -        HostNETMASKwlan1->addSelection("/28    255.255.255.240"); -        HostNETMASKwlan1->addSelection("/29    255.255.255.248"); -        HostNETMASKwlan1->addSelection("/30    255.255.255.252"); -        HostNETMASKwlan1->addSelection("/31    255.255.255.254"); -        HostNETMASKwlan1->addSelection("/32    255.255.255.255"); -        HostNETMASKwlan1->setHelpText(QObject::tr("Netmask")); -        HostNETMASKwlan1->setValue(24); - -        HostGWwlan1 = new HostLineEdit("HostGWwlan1"); -        HostGWwlan1->setLabel(QObject::tr("Gateway")); -        HostGWwlan1->setValue("192.168.1.1"); -        HostGWwlan1->setHelpText(QObject::tr("This is the default route")); - - -        HostDNSwlan1 = new HostLineEdit("HostDNSwlan1"); -        HostDNSwlan1->setLabel(QObject::tr("Name server")); -        HostDNSwlan1->setValue("192.168.1.1"); -        HostDNSwlan1->setHelpText(QObject::tr("Name server")); - - -        HostActiveonbootwlan1 = new HostCheckBox("HostActiveonbootwlan1"); -        HostActiveonbootwlan1->setLabel(QObject::tr("Active")); -        HostActiveonbootwlan1->setValue(false); -        HostActiveonbootwlan1->setHelpText(QObject::tr("Network is started on boot")); - -        HostUseDHCPwlan1 = new HostCheckBox("HostUseDHCPwlan1"); -        HostUseDHCPwlan1 ->setLabel(QObject::tr("Static ip address")); -        HostUseDHCPwlan1 ->setValue(false); -        HostUseDHCPwlan1 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); - -        wirelessbuttonwlan1 = new TransButtonSetting(); -        wirelessbuttonwlan1->setLabel(tr("Wireless Settings")); -        connect(wirelessbuttonwlan1, SIGNAL(pressed()), this,   SLOT(wlan1_wireless_settings())); - -        HostDefaultwlan1 = new HostCheckBox("HostDefaultwlan1"); -        HostDefaultwlan1->setLabel(QObject::tr("Default")); -        HostDefaultwlan1->setValue(false); -        HostDefaultwlan1->setHelpText(QObject::tr("Will be used as the primary interface")); -        connect(HostDefaultwlan1, SIGNAL(valueChanged(bool)), this, SLOT(wlan1_disable_others())); - - -        ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false, false); -            settings1->addChild(HostActiveonbootwlan1); -            settings1->addChild(HostDefaultwlan1); -            settings1-> addChild(wirelessbuttonwlan1); - -        addChild(settings1); - -        Setting* dhcpEnabled = HostUseDHCPwlan1; -        addChild(dhcpEnabled); -        setTrigger(dhcpEnabled); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false); -            settings->addChild(HostIPwlan1); -            settings->addChild(HostNETMASKwlan1); -            settings->addChild(HostGWwlan1); -            settings->addChild(HostDNSwlan1); - -        addTarget("0", new VerticalConfigurationGroup(true)); -        addTarget("1", settings); - -}; - -wlan1options::wlan1options() -{ -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Wireless configuration for wlan1")); -    //rec->setUseLabel(true); -    rec->addChild(new wlan1_settings); -    addChild(rec); -} -void NetworkSettingswlan1::wlan1_disable_others() -{ -        QString my_current_value; -        my_current_value = HostDefaultwlan1->getValue(); -        if ( my_current_value == "1" ) -        { -            cout <<"WLAN1:  set other defaults buttons to off"<<endl; -        hostparm.ThisHostDefaultInterface="wlan1"; -            emit wlan1_is_default(); -        } -} - -void NetworkSettingswlan1::wlan1_disabled() -{ -    cout << "   wlan1 is not default" << endl; -    HostDefaultwlan1->setValue(0); - - -} -void NetworkSettingswlan1::wlan1_wireless_disable() -{ -    cout << "    wlan1 disabling wireless button" << endl; -    wirelessbuttonwlan1->setEnabled(false); -} - -void NetworkSettingswlan1::wlan1_wireless_settings(void) -{ -//  cout <<"button pressed for wlan1"<<endl; -    wlan1options wlan1screen; -    wlan1screen.exec(); -} - -//--- - -class ath0_settings:          public TriggeredConfigurationGroup { -public: -    ath0_settings(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { - -    HostComboBox *HOSTESSIDath0 = new HostComboBox("HOSTESSIDath0",true); -        HOSTESSIDath0->setLabel(QObject::tr("ESSID")); -        HOSTESSIDath0->addSelection("MythVantage"); -        HOSTESSIDath0->addSelection("home_lan"); -        HOSTESSIDath0->addSelection("type_it_here"); -        HOSTESSIDath0->setHelpText(QObject::tr("ESSID")); -    addChild(HOSTESSIDath0); - -        HostComboBox *HostUseEncryptionath0 = new HostComboBox("HostUseEncryptionath0"); -        HostUseEncryptionath0->setLabel(QObject::tr("Encryption")); -        HostUseEncryptionath0->setHelpText(QObject::tr("WPA, WEP, none")); -        HostUseEncryptionath0->addSelection("none"); -        HostUseEncryptionath0->addSelection("WPA"); -        HostUseEncryptionath0->addSelection("WEP"); - -    Setting*  HostUseEncryption =  HostUseEncryptionath0; -        addChild(HostUseEncryption); -        setTrigger(HostUseEncryption); - -    HostLineEdit *Hostkeyath0 = new HostLineEdit("Hostkeyath0"); -        Hostkeyath0->setLabel(QObject::tr("key")); -        Hostkeyath0->setHelpText(QObject::tr("Key to use for encryption")); - -    ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -        settings->addChild(Hostkeyath0); -    addTarget("none", new GridConfigurationGroup(1,false)); -    addTarget("WPA", settings); -    addTarget("WEP", settings); -    //- - -    }; -}; - - -NetworkSettingsath0::NetworkSettingsath0(): -        TriggeredConfigurationGroup(false,false,false,false) { -    setLabel(QObject::tr("Network Settings")); -    HostLineEdit  *HostIPath0 = new HostLineEdit("HostIPath0"); -    HostIPath0->setLabel(QObject::tr("Ip address")); -    HostIPath0->setValue("192.168.1.12"); -    HostIPath0->setHelpText(QObject::tr("IP address of the new installation")); - -    HostComboBox *HostNETMASKath0 = new HostComboBox("HostNETMASKath0"); -        HostNETMASKath0->setLabel(QObject::tr("Netmask")); -        HostNETMASKath0->addSelection("/0     0.0.0.0"); -        HostNETMASKath0->addSelection("/1     128.0.0.0"); -        HostNETMASKath0->addSelection("/2     192.0.0.0"); -        HostNETMASKath0->addSelection("/3     224.0.0.0"); -        HostNETMASKath0->addSelection("/4     240.0.0.0"); -        HostNETMASKath0->addSelection("/5     248.0.0.0"); -        HostNETMASKath0->addSelection("/6     252.0.0.0"); -        HostNETMASKath0->addSelection("/7     254.0.0.0"); -        HostNETMASKath0->addSelection("/8     255.0.0.0"); -        HostNETMASKath0->addSelection("/9     255.128.0.0"); -        HostNETMASKath0->addSelection("/10    255.192.0.0 "); -        HostNETMASKath0->addSelection("/11    255.224.0.0"); -        HostNETMASKath0->addSelection("/12    255.240.0.0"); -        HostNETMASKath0->addSelection("/13    255.248.0.0"); -        HostNETMASKath0->addSelection("/14    255.252.0.0"); -        HostNETMASKath0->addSelection("/15    255.254.0.0"); -        HostNETMASKath0->addSelection("/16    255.255.0.0"); -        HostNETMASKath0->addSelection("/17    255.255.128.0"); -        HostNETMASKath0->addSelection("/18    255.255.192.0"); -        HostNETMASKath0->addSelection("/19    255.255.224.0"); -        HostNETMASKath0->addSelection("/20    255.255.240.0"); -        HostNETMASKath0->addSelection("/21    255.255.248.0"); -        HostNETMASKath0->addSelection("/22    255.255.252.0"); -        HostNETMASKath0->addSelection("/23    255.255.254.0"); -        HostNETMASKath0->addSelection("/24    255.255.255.0"); -        HostNETMASKath0->addSelection("/25    255.255.255.128"); -        HostNETMASKath0->addSelection("/26    255.255.255.192"); -        HostNETMASKath0->addSelection("/27    255.255.255.224"); -        HostNETMASKath0->addSelection("/28    255.255.255.240"); -        HostNETMASKath0->addSelection("/29    255.255.255.248"); -        HostNETMASKath0->addSelection("/30    255.255.255.252"); -        HostNETMASKath0->addSelection("/31    255.255.255.254"); -        HostNETMASKath0->addSelection("/32    255.255.255.255"); -        HostNETMASKath0->setHelpText(QObject::tr("Netmask")); -        HostNETMASKath0->setValue(24); - -        HostLineEdit *HostGWath0 = new HostLineEdit("HostGWath0"); -        HostGWath0->setLabel(QObject::tr("Gateway")); -        HostGWath0->setValue("192.168.1.1"); -        HostGWath0->setHelpText(QObject::tr("This is the default route")); - - -        HostLineEdit *HostDNSath0 = new HostLineEdit("HostDNSath0"); -        HostDNSath0->setLabel(QObject::tr("Name server")); -        HostDNSath0->setValue("192.168.1.1"); -        HostDNSath0->setHelpText(QObject::tr("Name server")); - - -        HostCheckBox *HostActiveonbootath0 = new HostCheckBox("HostActiveonbootath0"); -        HostActiveonbootath0->setLabel(QObject::tr("Active")); -        HostActiveonbootath0->setValue(false); -        HostActiveonbootath0->setHelpText(QObject::tr("Network is started on boot")); - -        HostDefaultath0 = new HostCheckBox("HostDefaultath0"); -        HostDefaultath0->setLabel(QObject::tr("Default")); -        HostDefaultath0->setValue(false); -        HostDefaultath0->setHelpText(QObject::tr("Will be used as the primary interface")); -        connect(HostDefaultath0, SIGNAL(valueChanged(bool)), this, SLOT(ath0_disable_others())); - -        HostCheckBox *HostUseDHCPath0 = new HostCheckBox("HostUseDHCPath0"); -        HostUseDHCPath0 ->setLabel(QObject::tr("Static ip address")); -        HostUseDHCPath0 ->setValue(false); -        HostUseDHCPath0 ->setHelpText(QObject::tr("Enable to use a static ip address, otherwise dhcp will be used.")); - -        wirelessbuttonath0 = new TransButtonSetting(); -        wirelessbuttonath0->setLabel(tr("Wireless Settings")); -        connect(wirelessbuttonath0, SIGNAL(pressed()), this,   SLOT(ath0_wireless_settings())); - -        ConfigurationGroup* settings1 = new GridConfigurationGroup(3,false, false, false,false); -            settings1->addChild(HostActiveonbootath0); -            settings1->addChild(HostDefaultath0); -            settings1-> addChild(wirelessbuttonath0); - -        addChild(settings1); - -        Setting* dhcpEnabled = HostUseDHCPath0; -        addChild(dhcpEnabled); -        setTrigger(dhcpEnabled); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false, false,false,false); -            settings->addChild(HostIPath0); -            settings->addChild(HostNETMASKath0); -            settings->addChild(HostGWath0); -            settings->addChild(HostDNSath0); - -        addTarget("0", new VerticalConfigurationGroup(false,false,false,false)); -        addTarget("1", settings); -}; -ath0options::ath0options() -{ - -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Wireless configuration for ath0")); -    //rec->setUseLabel(true); -    rec->addChild(new ath0_settings); -    addChild(rec); -} - -void NetworkSettingsath0::ath0_disable_others() -{ -        QString my_current_value; -        my_current_value = HostDefaultath0->getValue(); -        if ( my_current_value == "1" ) -        { -            cout <<"ATH0: set other defaults buttons to off"<<endl; -            hostparm.ThisHostDefaultInterface="ath0"; -            emit ath0_is_default(); -        } -} -void NetworkSettingsath0::ath0_disabled() -{ -    cout << "   ath0 is not default" << endl; -        HostDefaultath0->setValue(0); -} - -void NetworkSettingsath0::ath0_wireless_settings(void) -{ -    //cout <<"button pressed for ath0"<<endl; -    ath0options ath0screen; -    ath0screen.exec(); -} - -void NetworkSettingsath0::ath0_wireless_disable() -{ -    cout << "    ath0 disabling wireless button" << endl; -    wirelessbuttonath0->setEnabled(false); -} - - -//-- - -class NetworkSettingsFrame: -                    public TriggeredConfigurationGroup { -public: -    NetworkSettingsFrame(): -    TriggeredConfigurationGroup(false, false, true, true,false, false, true, true) { -        setLabel(QObject::tr("Network Settings Page (2/2)")); -        Setting* netdevice = HostNetDevice(); -        addChild(netdevice); -        setTrigger(netdevice); - -        NetworkSettingswlan0 *Nwlan0 = new NetworkSettingswlan0 ; -        NetworkSettingswlan1 *Nwlan1 = new NetworkSettingswlan1 ; -        NetworkSettingseth0 *Neth0 = new NetworkSettingseth0 ; -        NetworkSettingseth1 *Neth1 = new NetworkSettingseth1 ; -        NetworkSettingsath0 *Nath0 = new NetworkSettingsath0 ; - -        QString found_wireless=findnet_wireless(); - -        if ( not found_wireless.contains("eth0")) -        { -            Neth0->eth0_wireless_disable(); -            hostparm.ThisHOST_iswirelesseth0="0"; -        } -        else -        { -            hostparm.ThisHOST_iswirelesseth0="1"; -        } - -        if ( not found_wireless.contains("eth1")) -        { -            Neth1->eth1_wireless_disable(); -            hostparm.ThisHOST_iswirelesseth1="0"; -        } -        else -        { -            hostparm.ThisHOST_iswirelesseth1="1"; -        } - -        if ( not found_wireless.contains("wlan0")) -        { -            Nwlan0->wlan0_wireless_disable(); -            hostparm.ThisHOST_iswirelesswlan0="0"; -        } -        else -        { -            hostparm.ThisHOST_iswirelesswlan0="1"; -        } - -        if ( not found_wireless.contains("wlan1")) -        { -            Nwlan1->wlan1_wireless_disable(); -            hostparm.ThisHOST_iswirelesswlan1="0"; -        } -        else -        { -            hostparm.ThisHOST_iswirelesswlan0="1"; -        } - -        if ( not found_wireless.contains("ath0")) -        { -            Nath0->ath0_wireless_disable(); -            hostparm.ThisHOST_iswirelessath0="0"; -        } -        else -        { -            hostparm.ThisHOST_iswirelessath0="1"; -        } -        connect(Nwlan1, SIGNAL(wlan1_is_default(void)), Nwlan0,  SLOT(wlan0_disabled())); -        connect(Nwlan1, SIGNAL(wlan1_is_default(void)), Neth0,   SLOT(eth0_disabled())); -        connect(Nwlan1, SIGNAL(wlan1_is_default(void)), Neth1,   SLOT(eth1_disabled())); -        connect(Nwlan1, SIGNAL(wlan1_is_default(void)), Nath0,   SLOT(ath0_disabled())); - -        connect(Nwlan0, SIGNAL(wlan0_is_default(void)), Nwlan1,  SLOT(wlan1_disabled())); -        connect(Nwlan0, SIGNAL(wlan0_is_default(void)), Neth0,   SLOT(eth0_disabled())); -        connect(Nwlan0, SIGNAL(wlan0_is_default(void)), Neth1,   SLOT(eth1_disabled())); -        connect(Nwlan0, SIGNAL(wlan0_is_default(void)), Nath0,   SLOT(ath0_disabled())); - -        connect(Neth1, SIGNAL(eth1_is_default(void)), Nwlan1,   SLOT(wlan1_disabled())); -        connect(Neth1, SIGNAL(eth1_is_default(void)), Nwlan0,   SLOT(wlan0_disabled())); -        connect(Neth1, SIGNAL(eth1_is_default(void)), Neth0,    SLOT(eth0_disabled())); -        connect(Neth1, SIGNAL(eth1_is_default(void)), Nath0,    SLOT(ath0_disabled())); - -        connect(Neth0, SIGNAL(eth0_is_default(void)), Nwlan0,   SLOT(wlan0_disabled())); -        connect(Neth0, SIGNAL(eth0_is_default(void)), Nwlan1,   SLOT(wlan1_disabled())); -        connect(Neth0, SIGNAL(eth0_is_default(void)), Neth1,    SLOT(eth1_disabled())); -        connect(Neth0, SIGNAL(eth0_is_default(void)), Nath0,    SLOT(ath0_disabled())); - -        connect(Nath0, SIGNAL(ath0_is_default(void)), Nwlan0,   SLOT(wlan0_disabled())); -        connect(Nath0, SIGNAL(ath0_is_default(void)), Nwlan1,   SLOT(wlan1_disabled())); -        connect(Nath0, SIGNAL(ath0_is_default(void)), Neth1,    SLOT(eth1_disabled())); -        connect(Nath0, SIGNAL(ath0_is_default(void)), Neth0,    SLOT(eth0_disabled())); - - -        HostLineEdit *HostMTUeth0 = new HostLineEdit("HostMTUeth0"); -        HostMTUeth0->setLabel(QObject::tr("MTU")); -        HostMTUeth0->setValue(""); -        HostMTUeth0->setHelpText(QObject::tr("Leave this blank for default values.  Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device.")); - -        ConfigurationGroup* settingseth0 = new GridConfigurationGroup(1,false, false, false, false); -            settingseth0->addChild(Neth0); -            settingseth0->addChild(HostMTUeth0); - - -        HostLineEdit *HostMTUeth1 = new HostLineEdit("HostMTUeth1"); -        HostMTUeth1->setLabel(QObject::tr("MTU")); -        HostMTUeth1->setValue(""); -        HostMTUeth1->setHelpText(QObject::tr("Leave this blank for default values.  Changing this setting can have adverse affects, use with caution.  Not all values will be supported by the device.")); - -        ConfigurationGroup* settingseth1 = new GridConfigurationGroup(1,false, false, true, true); -            settingseth1->addChild(Neth1); -            settingseth1->addChild(HostMTUeth1); - -        HostLineEdit *HostMTUwlan0 = new HostLineEdit("HostMTUwlan0"); -        HostMTUwlan0->setLabel(QObject::tr("MTU")); -        HostMTUwlan0->setValue(""); -        HostMTUwlan0->setHelpText(QObject::tr("Leave this blank for default values.  Changing this setting can have adverse affects, use with caution. Not all values will be supported by the device.")); - -        ConfigurationGroup* settingswlan0 = new GridConfigurationGroup(1,false, false, false, false); -            settingswlan0->addChild(Nwlan0); -            settingswlan0->addChild(HostMTUwlan0); - -        HostLineEdit *HostMTUwlan1 = new HostLineEdit("HostMTUwlan1"); -        HostMTUwlan1->setLabel(QObject::tr("MTU")); -        HostMTUwlan1->setValue(""); -        HostMTUwlan1->setHelpText(QObject::tr("Leave this blank for default values.  Changing this setting can have adverse affects, use with caution.  Not all values will be supported by the device.")); - -        ConfigurationGroup* settingswlan1 = new GridConfigurationGroup(1,false, false, false, false); -            settingswlan1->addChild(Nwlan1); -            settingswlan1->addChild(HostMTUwlan1); - -        HostLineEdit *HostMTUath0 = new HostLineEdit("HostMTUath0"); -        HostMTUath0->setLabel(QObject::tr("MTU")); -        HostMTUath0->setValue(""); -        HostMTUath0->setHelpText(QObject::tr("Leave this blank for default values.  Changing this setting can have adverse affects, use with caution.  Not all values will be supported by the device.")); - -        ConfigurationGroup* settingsath0 = new GridConfigurationGroup(1,false, false, false, false); -            settingsath0->addChild(Nath0); -            settingsath0->addChild(HostMTUath0); - - - -        addTarget("wlan0", settingswlan0); -        addTarget("wlan1", settingswlan1); -        addTarget("eth0",  settingseth0); -        addTarget("eth1",  settingseth1); -        addTarget("ath0",  settingsath0); -    }; -}; - - -static HostCheckBox *HostAutodown() -{ -    HostCheckBox *gc = new HostCheckBox("HostAutodown"); -    gc->setLabel(QObject::tr("Turn off machine at a specified time")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Will turn off this system.")); -    return gc; -}; - - -static HostSpinBox *HostWakeupTime() -{ -    HostSpinBox *gc = new HostSpinBox("HostWakeupTime", -1, 23, 1, true); -    gc->setLabel(QObject::tr("Power on  time")); -    gc->setValue(6); -    gc->setHelpText(QObject::tr("Select the hour to auto poweron this system. Use -1 to disable"  )); -    return gc; -} - - - -static HostSpinBox *HostShutdownTime() -{ -    HostSpinBox *gc = new HostSpinBox("HostShutdownTime", -1, 23, 1, true); -    gc->setLabel(QObject::tr("Auto Shutdown time")); -    gc->setValue(2); -    gc->setHelpText(QObject::tr("Select the hour to  poweroff this syste.  Times are in 24hour format.  Use -1 to disable"  )); -    return gc; -} -static HostSpinBox *HostShutdownTime2() -{ -    HostSpinBox *gc = new HostSpinBox("HostShutdownTime2", -1, 23, 1, true); -    gc->setLabel(QObject::tr("2nd auto Shutdown time")); -    gc->setValue(2); -    gc->setHelpText(QObject::tr("Select the hour to  poweroff this syste.  Times are in 24hour format.  Use -1 to disable"  )); -    return gc; -} - - - -static HostCheckBox *HostUseWOL() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseWOL"); -    gc->setLabel(QObject::tr("Use Wake on Lan to turn on system")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Unless you know what your doing leave it checked")); -    return gc; -}; - -static HostCheckBox *HostUseNVRAM() -{ -    HostCheckBox *gc = new HostCheckBox("HostUseNVRAM"); -    gc->setLabel(QObject::tr("Use nvram to turn on system")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Leaved checked unless nvram causes problems.")); -    return gc; -}; - - - - - -class WakeSettings:                     public TriggeredConfigurationGroup { -public: -    WakeSettings(): - -        TriggeredConfigurationGroup(true) { -        setLabel(QObject::tr("Shutdown Settings")); -        Setting* Autodown = HostAutodown(); -        addChild(Autodown); -        setTrigger(Autodown); -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false); -            settings->addChild(HostShutdownTime()); -            settings->addChild(HostShutdownTime2()); -            settings->addChild(HostWakeupTime()); -            settings->addChild(HostUseNVRAM()); -            settings->addChild(HostUseWOL()); -        addTarget("0", new VerticalConfigurationGroup(true)); -        addTarget("1", settings); - -    }; -}; - -class Frontend_settings_group:          public TriggeredConfigurationGroup { -public: -    Frontend_settings_group(): -        TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { -        Setting* fe = HostRunFrontend(); -        addChild(fe); -        setTrigger(fe); -    //HostXres = new HostComboBox("HostXres"); -    ConfigurationGroup* setting1 = new GridConfigurationGroup(2,false); -            setting1->addChild(HostXres()); -            setting1->addChild(HostUsemythfrontend()); - -    ConfigurationGroup* settings = new VerticalConfigurationGroup(false); -            settings->addChild(setting1); -            settings->addChild(new HostRemoteType); - -    addTarget("0", new VerticalConfigurationGroup(false)); -    addTarget("1", settings); - -    }; -}; - -SystemtypeGroup::SystemtypeGroup():        TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) { -        setLabel(QObject::tr("System Type")); -        HostSystemType = new HostComboBox("HostSystemType"); -        HostSystemType->setLabel(QObject::tr("Type of system setup")); -        HostSystemType->addSelection("Standalone"); -        HostSystemType->addSelection("Frontend_only"); -        HostSystemType->addSelection("Master_backend"); -        HostSystemType->addSelection("Slave_backend"); - -// HostXres = new HostComboBox("HostXres"); -        if ( ((gContext->GetSetting("HostaccesshostypeSystemtype")) == "0" )) -            HostSystemType->setEnabled(false); - -        addChild(HostSystemType); -        setTrigger(HostSystemType); - -        ConfigurationGroup* standalone = new VerticalConfigurationGroup(false,false,true,true); -            standalone->addChild(HostXres()); -            standalone->addChild(new HostRemoteType); -            standalone->addChild(HostUsemythfrontend()); - -        ConfigurationGroup* frontend = new VerticalConfigurationGroup(false,false,true,true); -            frontend->addChild(HostMysqlserverip_listbox()); -            frontend->addChild(HostXres()); -            frontend->addChild(new HostRemoteType); -            frontend->addChild(HostUsemythfrontend()); - -        ConfigurationGroup* backend = new VerticalConfigurationGroup(false,false,false,false); -            backend->addChild( new Frontend_settings_group); - -        ConfigurationGroup* slave = new VerticalConfigurationGroup(false,false,true,true); -            slave->addChild(HostMysqlserverip_listbox()); -            slave->addChild( new Frontend_settings_group); - - -        addTarget("Standalone", standalone); -        addTarget("Frontend_only", frontend); -        addTarget("Master_backend", backend); -        addTarget("Slave_backend", slave); -        connect(HostSystemType, SIGNAL(valueChanged(const QString&)), -                this,    SLOT(SystemtypeHelp())); - -    }; - -void SystemtypeGroup::SystemtypeHelp(void) -    { -        QString msg = (QObject::tr("Configuration for this system.  Most people will use standalone")); -        QString selectedhostype; -        selectedhostype = HostSystemType->getValue(); -        if  ( selectedhostype.isEmpty()) -        { -            HostSystemType->setHelpText(msg) ; -            return; -        } - -        if (selectedhostype == "Standalone") -            msg="Complete System, that doesn't allow outside connections"; -        if (selectedhostype == "Frontend_only") -            msg="Frontend only, needs a  master backend already on the network"; -        if (selectedhostype ==  "Master_backend") -            msg="Tuners, scheduling and database.  This allows for remote frontend and slave backends"; -        if (selectedhostype == "Slave_backend") -            msg="Extra tuners"; - -        HostSystemType->setHelpText(msg) ; -} - - - -HostRemoteType::HostRemoteType(): -    HostImageSelect("HostRemoteType") { -    setLabel(QObject::tr("Remote")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/remotes"); -    QDir remotes(dirtxt); -    remotes.setFilter(QDir::Dirs); -    remotes.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *fil = remotes.entryInfoList(QDir::Dirs); -    if (!fil) -        return; - -    QFileInfoListIterator it( *fil ); -    QFileInfo *remote; -    for( ; it.current() != 0 ; ++it ) -    { -        remote = it.current(); -        QFileInfo preview(remote->absFilePath() + "/preview.jpg"); -            if (remote->fileName()[0] == '.' || !preview.exists() ) -            { -            //cout << remote->absFilePath() << " Can't find preivew image, doesn't look like a remote\n"; -            continue; -            } -        QImage* previewImage = new QImage(preview.absFilePath()); -        addImageSelection(remote->fileName(), previewImage); - -    } - -} -/* -static HostComboBox *HostLCDType() -{ -    HostComboBox *gc = new HostComboBox("HostLCDType",false); -    gc->setLabel(QObject::tr("LCD/VFD model")); -    gc->addSelection("no_lcd"); -    gc->addSelection("tinker"); -    gc->setValue(0); -    gc->setHelpText(QObject::tr("VFD or LCD")); -    QString dirtxt; -    dirtxt=MV_ROOT; -    dirtxt.append("templates/LCD"); -    QDir transmit(dirtxt); - -    //QDir transmit("/usr/share/templates/LCD"); -    transmit.setFilter(QDir::Dirs); -    transmit.setSorting(QDir::Name | QDir::IgnoreCase); -    const QFileInfoList *infos = transmit.entryInfoList(); -    const QFileInfo *info; -    if (!infos) -        return gc; -    QFileInfoListIterator infoIt( *infos ); -    QString currentitem = "."; -    while( (info=infoIt.current()) != 0 ) -        { -            currentitem = info->baseName( TRUE ); -            if ( currentitem != ".." && currentitem != "." && currentitem != "") -            { -            gc->addSelection(currentitem); -            } -        ++infoIt; -        } -    return gc; -}; -*/ - -class AdvancedSettings:    public TriggeredConfigurationGroup { -public: -   void smb_busy_box() { -        system ("nmbscan -d  > /tmp/smbdomainlist & "); -        QString msgtext="Searching for windows workgroups"; -        int return_code; -        MythBusyDialog *busy = new MythBusyDialog(msgtext); -        // yet another incorrect way todo things, but I don't know anybetter -        // as long as ps can find systemconfig in the list  the busy box will appear and update -        busy->start(); -        while (  return_code == 0 ) -        { -            return_code = myth_system("ps -ef|grep nmbscan|grep -v grep > /dev/null"); -            qApp->processEvents (); -            usleep(900); -        } -        busy->Close(); -        busy->deleteLater(); -    } - -    AdvancedSettings(): -    TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) -    { - -        setLabel(QObject::tr("Advanced settings (1/3)")); -        Setting* Autodown = HostAutodown(); -        setTrigger(Autodown); -        hostparm.ThisSystemType 	= gContext->GetSetting("HostSystemType"); -        ConfigurationGroup *checkbox = new GridConfigurationGroup(2,false); -                checkbox->addChild(HostServiceMythWEB()); -                checkbox->addChild(HostServiceNFS()); -                checkbox->addChild(Hostbootsplash()); -                checkbox->addChild(HostncidClient()); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false); -        if  ( hostparm.ThisSystemType == "Standalone" ) -        { -            smb_busy_box(); -            settings->addChild(new NCIDsettings); -            settings->addChild(new SAMBAsettings); -            #ifdef __MVAPP__ -                checkbox->addChild(GlobalServiceHobbitserver() ); -            #else -                checkbox->addChild(HostServiceRRD() ); -            #endif -            settings->addChild(checkbox)                ; -        } -        else if  (hostparm.ThisSystemType == "Master_backend" ) -        { -            smb_busy_box(); -                checkbox->addChild(GlobalPKG_MIRROR()); -                settings->addChild(new NCIDsettings); -                settings->addChild(new SAMBAsettings); -            #ifdef __MVAPP__ -                checkbox->addChild(GlobalServiceHobbitserver() ); -            #else -                checkbox->addChild(HostServiceRRD() ); -            #endif -                settings->addChild(checkbox)                ; -        } -        else if  (hostparm.ThisSystemType == "Frontend_only" ) -        { -            settings->addChild(Hostbootsplash()); -            settings->addChild(HostncidClient()); -            #ifdef __MVAPP__ -                cout << gContext->GetSetting("GlobalServiceHobbitserver") << endl; -                cout << "above"<<endl; -                if  ( gContext->GetSetting("GlobalServiceHobbitserver") != "0" ) -                    settings->addChild(HostServiceHobbitclient() ); -            #else -                    settings->addChild(HostServiceRRD() ); -            #endif - - -            if ( (gContext->GetSetting("GlobalPKG_MIRROR") ) == "1"  ) -                    settings->addChild(HostPKG_MIRROR()); -        } -    else if  (hostparm.ThisSystemType == "Slave_backend" ) -        { -            settings->addChild(Hostbootsplash()); -            settings->addChild(HostncidClient()); -            #ifdef __MVAPP__ -                if  ( gContext->GetSetting("GlobalServiceHobbitserver") != "0" ) -                    settings->addChild(HostServiceHobbitclient() ); -            #else -                    settings->addChild(HostServiceRRD() ); -            #endif - -            if (  (gContext->GetSetting("GlobalPKG_MIRROR")) == "1") -                    settings->addChild(HostPKG_MIRROR()); -        }; -        addTarget("", settings); -    }; -}; - - -class AdvancedSettings_2:    public TriggeredConfigurationGroup { -public: -    AdvancedSettings_2(): -    TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) { -        setLabel(QObject::tr("Advanced settings (2/3)")); -        Setting* Autodown = HostAutodown(); -        setTrigger(Autodown); -        hostparm.ThisSystemType     = gContext->GetSetting("HostSystemType"); - -        ConfigurationGroup *checkbox = new GridConfigurationGroup(2,false); -                checkbox->addChild(HostServiceMythWEB()); -                checkbox->addChild(HostServiceNFS()); -                checkbox->addChild(Hostbootsplash()); -                checkbox->addChild(HostncidClient()); - -        ConfigurationGroup* settings = new VerticalConfigurationGroup(false); -            if  ( hostparm.ThisSystemType == "Standalone" ) -            { -//                     settings->addChild(HostLCDType()); -//                     settings->addChild(HostTransmitproto()); -//                     settings->addChild(new LIRCsettings); -                    settings->addChild(HostRunDHCP()); - -                    settings->addChild(new Evroutersettings); -            } -            else if  (hostparm.ThisSystemType == "Master_backend" ) -            { -//                     settings->addChild(HostLCDType()); -//                     settings->addChild(HostTransmitproto()); -//                     settings->addChild(new LIRCsettings); -                    settings->addChild(new Backupsettings); -                    settings->addChild(HostRunDHCP()); -                     settings->addChild(new Evroutersettings); -            } -            else if  (hostparm.ThisSystemType == "Frontend_only" ) -            { -//                     settings->addChild(HostLCDType()); -//                     settings->addChild(new LIRCsettings); -                        settings->addChild(new Evroutersettings); -            } -            else if  (hostparm.ThisSystemType == "Slave_backend" ) -            { -//                     settings->addChild(HostLCDType()); -//                     settings->addChild(HostTransmitproto()); -//                     settings->addChild(new LIRCsettings); -                       settings->addChild(new Evroutersettings); -            }; - -        addTarget("", settings); - -}; -}; - - - -/*_______________________________Sound settings ____________________*/ -SoundSettings::SoundSettings(): -    TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) { -        setLabel(QObject::tr("Audio out settings")); - -    HostAudiotype = new HostComboBox("HostAudiotype",false); -    HostAudiotype->setLabel(QObject::tr("Sound card driver")); -    HostAudiotype->addSelection("OSS"); -    HostAudiotype->addSelection("ALSA"); -    HostAudiotype->addSelection("tinker"); - -    HostAudiotype->setHelpText(QObject::tr("OSS or ALSA, your choice")); -        addChild(HostAudiotype); -        setTrigger(HostAudiotype); - -    HostsyncXine = new HostCheckBox("HostsyncXine"); -    HostsyncXine->setLabel(QObject::tr("Xine")); -    HostsyncXine->setValue(true); - -    HostsyncMplayer = new HostCheckBox("HostsyncMplayer"); -    HostsyncMplayer->setLabel(QObject::tr("mplayer")); -    HostsyncMplayer->setValue(true); - -    HostsyncMythMusic = new HostCheckBox("HostsyncMythMusic"); -    HostsyncMythMusic->setLabel(QObject::tr("mythmusic")); -    HostsyncMythMusic->setValue(true); - -    HostsyncMythFrontend = new HostCheckBox("HostsyncMythFrontend"); -    HostsyncMythFrontend->setLabel(QObject::tr("mythfrontend")); -    HostsyncMythFrontend->setValue(true); - -    HorizontalConfigurationGroup *syncboxes =   new HorizontalConfigurationGroup(false, false, true, true); -        syncboxes->addChild(HostsyncXine); -        syncboxes->addChild(HostsyncMplayer); -        syncboxes->addChild(HostsyncMythMusic); -        syncboxes->addChild(HostsyncMythFrontend); - -    HorizontalConfigurationGroup *lp = new HorizontalConfigurationGroup(false, false, true, true); -    HorizontalConfigurationGroup *lpalsa = new HorizontalConfigurationGroup(false, false, true, true); - -    TransButtonSetting *LoadOSSbutton = new TransButtonSetting(); -    LoadOSSbutton->setLabel(tr("Load OSS driver")); -    TransButtonSetting *LoadALSAbutton = new TransButtonSetting(); -    LoadALSAbutton->setLabel(tr("Load ALSA driver")); - -    TransButtonSetting *TestAudiobutton = new TransButtonSetting(); -    TestAudiobutton->setLabel(tr("Test Audio Settings")); -        lp->addChild(TestAudiobutton); -        lp->addChild(LoadOSSbutton); - -    TransButtonSetting *TestALSAAudiobutton = new TransButtonSetting(); -    TestALSAAudiobutton->setLabel(tr("Test ALSA  Audio Settings")); -    lpalsa->addChild(TestALSAAudiobutton); -    lpalsa->addChild(LoadALSAbutton); - -    TransLabelSetting *osslabel = new TransLabelSetting(); -        osslabel->setValue("The real OSS! More information can be found at:"); - -    TransLabelSetting *osslabel1 = new TransLabelSetting(); -        osslabel1->setValue("       http://www.opensound.com "); - -    TransLabelSetting *AlsaLabel = new TransLabelSetting(); -        AlsaLabel->setValue("The inferior and complicated soundsystem known as ALSA "); - -// OSS GROUP -    SoundOSSsettings  *OSS = new SoundOSSsettings ; -    ConfigurationGroup* osssettings = new VerticalConfigurationGroup(false); -        osssettings->addChild(osslabel); -        osssettings->addChild(osslabel1); -        osssettings->addChild(OSS); -        osssettings->addChild(syncboxes); -        osssettings->addChild(lp); -    connect(this, SIGNAL(oss_sig()), -        OSS,   SLOT(soundossgathersettings())); -    connect(TestAudiobutton, SIGNAL(pressed()), -        this,   SLOT(soundossgathersettings_1())); -    connect(LoadOSSbutton, SIGNAL(pressed()), -            OSS,   SLOT(loadossdriver())); - -// ALSA GROUP -    SoundALSAsettings  *ALSA = new SoundALSAsettings ; -    ConfigurationGroup* alsasettings = new VerticalConfigurationGroup(false); -    alsasettings->addChild(AlsaLabel); -    alsasettings->addChild(ALSA); -    alsasettings->addChild(syncboxes); -    alsasettings->addChild(lpalsa); - -    connect(this, SIGNAL(alsa_sig()), -            ALSA,   SLOT(soundalsagathersettings())); -    connect(TestALSAAudiobutton, SIGNAL(pressed()), -            this,   SLOT(soundalsagathersettings_1())); -    connect(LoadALSAbutton, SIGNAL(pressed()), -            ALSA,   SLOT(loadalsadriver())); -    addTarget("ALSA", alsasettings); -    addTarget("OSS", osssettings); -    addTarget("tinker", new VerticalConfigurationGroup(false)); -}; - - -SoundOSSsettings::SoundOSSsettings(): -    TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -{ -    SetVertical(true); -    HostSoundTypeout = new HostComboBox("HostSoundTypeout"); -    HostSoundTypeout->setLabel(QObject::tr("Type")); -    HostSoundTypeout->addSelection("Analog"); -    HostSoundTypeout->addSelection("Digital"); -    HostSoundTypeout->setHelpText(QObject::tr("")); - -    HostSoundOssAnalog = new HostComboBox("HostSoundOssAnalog"); -    HostSoundOssDigital = new HostComboBox("HostSoundOssDigital"); -    fillossselection(); -    int findossanalog=HostSoundOssAnalog->findSelection(hostparm.OLDHostSoundOSSAnalog ); -    int findossdigital=HostSoundOssDigital->findSelection(hostparm.OLDHostSoundOSSDigital ); -    HostSoundOssAnalog->setValue(findossanalog); -    HostSoundOssDigital->setValue(findossdigital); -    addChild(HostSoundTypeout); -    setTrigger(HostSoundTypeout); -    addTarget("Analog", HostSoundOssAnalog); -    addTarget("Digital", HostSoundOssDigital); -}; - -SoundALSAsettings::SoundALSAsettings(): -        TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -        { -            SetVertical(true); -            HostSoundALSATypeout = new HostComboBox("HostSoundALSATypeout"); -            HostSoundALSATypeout->setLabel(QObject::tr("Type")); -            HostSoundALSATypeout->addSelection("Analog"); -            HostSoundALSATypeout->addSelection("Digital"); -            HostSoundALSATypeout->setHelpText(QObject::tr("")); - -            HostSoundALSAAnalog = new HostComboBox("HostSoundALSAAnalog"); -            HostSoundALSADigital = new HostComboBox("HostSoundALSADigital"); -            fillALSAselection(); -            int findalsaanalog=HostSoundALSAAnalog->findSelection(hostparm.OLDHostSoundALSAAnalog ); -            int findalsadigital=HostSoundALSADigital->findSelection(hostparm.OLDHostSoundALSADigital ); -            HostSoundALSAAnalog->setValue(findalsaanalog); -            HostSoundALSADigital->setValue(findalsadigital); -            addChild(HostSoundALSATypeout); -            setTrigger(HostSoundALSATypeout); -            addTarget("Analog", HostSoundALSAAnalog); -            addTarget("Digital", HostSoundALSADigital); -        }; - -void  SoundOSSsettings::loadossdriver() -{ -    cout << "oss button pressed" << endl; - -// Add info popup right here -    QString cmdtxt; -    cmdtxt="sudo "; -    cmdtxt.append(MV_ROOT) ; -//    cmdtxt=MV_ROOT  ; -    cmdtxt.append("bin/soundconfig.sh -t LOAD  -i OSS &"); -    system(cmdtxt); -    int return_code = 0; -    QString msgtext = "Loading OSS driver" ; - -    MythBusyDialog *busy = new MythBusyDialog(msgtext); -    // yet another incorrect way todo things, but I don't know anybetter -    // as long as ps can find systemconfig in the list  the busy box will appear and update -    busy->start(); -    while (  return_code == 0 ) -    { -        return_code = myth_system("ps -ef|grep soundconfig.sh|grep -v grep > /dev/null"); -        qApp->processEvents (); -        usleep(900); -    } -    busy->Close(); -    busy->deleteLater(); -    fillossselection(); - -} -void  SoundALSAsettings::loadalsadriver() -{ -    cout << "Loading alsa driver" << endl; -    QString cmdtxt; -    cmdtxt="sudo "; -    cmdtxt.append(MV_ROOT) ; -    cmdtxt.append("bin/soundconfig.sh -t LOAD  -i ALSA &"); -    system(cmdtxt); -    int return_code = 0; -    QString msgtext = "Loading ALSA driver" ; - -    MythBusyDialog *busy = new MythBusyDialog(msgtext); -    // yet another incorrect way todo things, but I don't know anybetter -    // as long as ps can find systemconfig in the list  the busy box will appear and update -    busy->start(); -    while (  return_code == 0 ) -    { -        return_code = myth_system("ps -ef|grep soundconfig.sh|grep -v grep > /dev/null"); -        qApp->processEvents (); -        usleep(900); -    } -    busy->Close(); -    busy->deleteLater(); -    HostSoundALSAAnalog-> clearSelections(); -    HostSoundALSADigital-> clearSelections(); - -    fillALSAselection(); - -} -void  SoundOSSsettings::fillossselection() -{ -    myth_system("ossinfo -v1 -a |grep device > /tmp/ossdevices"); -    QString currentitem; -    QString currentfile = "/tmp/ossdevices"; -    QString line; -    QString legacy_device; -    QString simpleitem; -    QString currentitemtext; -    QRegExp sep( "\t"   ); -    QFile file(currentfile); -    QString ossfound="false"; -    HostSoundOssAnalog->clearSelections(); -    HostSoundOssDigital-> clearSelections(); - - -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if (line.contains("device index") ) -            { -                legacy_device = t.readLine(); -                legacy_device= legacy_device.section( "/",2,2); -                currentitemtext=line.section( "/" , 0 ,0 ); -                simpleitem = currentitemtext.simplifyWhiteSpace(); -                simpleitem = simpleitem.remove ( "(" ); -                simpleitem = simpleitem.remove ( ")" ); -                simpleitem.append(" ("); -                simpleitem.append(legacy_device); -                simpleitem.append(")"); -                if (line.contains("spdout") || line.contains("digital") ) -                    HostSoundOssDigital->addSelection(simpleitem); -                else -                    HostSoundOssAnalog->addSelection(simpleitem); -                ossfound="true"; -            } -        } -        if (ossfound=="false") -        { -            simpleitem="No cards found, try loading the OSS drivers"; -            HostSoundOssAnalog->addSelection(simpleitem); -            HostSoundOssDigital->addSelection(simpleitem); -        } -    } -return ; -}; - - -void  SoundALSAsettings::fillALSAselection() -{ -    HostSoundALSAAnalog-> clearSelections(); -    HostSoundALSADigital-> clearSelections(); -    myth_system("aplay -l > /tmp/alsadevices"); -    QString currentfile = "/tmp/alsadevices"; -    QString line; -    QString hwdevice; -    QString alsadescription; -    QString temphwdevice; -    QString simpleitem; -    QFile file(currentfile); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if (line.startsWith("card") ) -            { -                if (line.contains("snd_ctl_card_info")) -                { -                    simpleitem="Try loading the alsa drivers"; -                    HostSoundALSAAnalog->addSelection(simpleitem); -                    HostSoundALSADigital->addSelection(simpleitem); -                    break; -                } -                //card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 0: Intel ICH [Intel 82801DB-ICH4] -                alsadescription=line.section( "," , 0 ,0 ); -                alsadescription=alsadescription.section(":",1,1); -                hwdevice=line.section( ":" , 0 ,0 ); -                hwdevice=hwdevice.section( " " , -1,-1 ); -                //grabbing 2nd half of device -                temphwdevice=line.section(",",1,1); -                temphwdevice=temphwdevice.section(":",0,0); -                temphwdevice=temphwdevice.section(" ",-1,-1 ); -                hwdevice.append(","); -                hwdevice.append(temphwdevice); -                simpleitem=alsadescription + "(hw:" + hwdevice + ")"; -                if (line.contains("IEC958") ) -                    HostSoundALSADigital->addSelection(simpleitem); -                else -                    HostSoundALSAAnalog->addSelection(simpleitem); -            } -        } -    } -return ; - -} - -void SoundSettings::soundossgathersettings_1 (void) -{ -    hostparm.ThisHostAudiotype = HostAudiotype->getValue(); -    hostparm.ThisHostsyncXine = HostsyncXine->getValue(); -    hostparm.ThisHostsyncMplayer = HostsyncMplayer->getValue(); -    hostparm.ThisHostsyncMythMusic = HostsyncMythMusic->getValue(); -    hostparm.ThisHostsyncMythFrontend = HostsyncMythFrontend->getValue(); -    // emit the signal to call soundossgathersetting. -    emit oss_sig(); -}; -void SoundSettings::soundalsagathersettings_1 (void) -{ -    hostparm.ThisHostAudiotype = HostAudiotype->getValue(); -    hostparm.ThisHostsyncXine = HostsyncXine->getValue(); -    hostparm.ThisHostsyncMplayer = HostsyncMplayer->getValue(); -    hostparm.ThisHostsyncMythMusic = HostsyncMythMusic->getValue(); -    hostparm.ThisHostsyncMythFrontend = HostsyncMythFrontend->getValue(); -    // emit the signal to call soundALSAgathersetting. -    emit alsa_sig(); -}; - - -void SoundOSSsettings::soundossgathersettings(void) -{ -    hostparm.ThisHostSoundTypeout =  HostSoundTypeout->getValue() ; -    hostparm.ThisHostSoundOSSAnalog = HostSoundOssAnalog->getValue(); -    hostparm.ThisHostSoundOSSDigital = HostSoundOssDigital->getValue(); -    QString tempdevice; -    if  ( hostparm.ThisHostSoundTypeout == "Analog" ) -    { -        tempdevice  =  hostparm.ThisHostSoundOSSAnalog ; -    } -    else -    { -        tempdevice = hostparm.ThisHostSoundOSSDigital ; -    }; -    tempdevice = tempdevice.section( "(", 1,1 ); -    tempdevice = tempdevice.section( ")", 0,0 ); -    hostparm.ThisHostSoundDevice = "/dev/"; -    hostparm.ThisHostSoundDevice.append(tempdevice); -    // Add info popup right here -    QString cmdtxt; -    cmdtxt=MV_ROOT  ; -    cmdtxt.append("bin/soundconfig.sh -t test  -i OSS -d " +  hostparm.ThisHostSoundDevice + "&"); -    system(cmdtxt); -    int return_code = 0; -    QString msgtext = "Playing sample audio" ; -    MythBusyDialog *busy = new MythBusyDialog(msgtext); -    // yet another incorrect way todo things, but I don't know anybetter -    // as long as ps can find systemconfig in the list  the busy box will appear and update -    busy->start(); -    while (  return_code == 0 ) -    { -        return_code = myth_system("ps -ef|grep soundconfig.sh|grep -v grep > /dev/null"); -        qApp->processEvents (); -        usleep(900); -    } -    busy->Close(); -    busy->deleteLater(); -}; - -void SoundALSAsettings::soundalsagathersettings(void) -{ - -    hostparm.ThisHostSoundALSATypeout =  HostSoundALSATypeout->getValue() ; -    hostparm.ThisHostSoundALSAAnalog = HostSoundALSAAnalog->getValue(); -    hostparm.ThisHostSoundALSADigital = HostSoundALSADigital->getValue(); -//     cout << hostparm.ThisHostSoundALSATypeout << endl; -//     cout << hostparm.ThisHostSoundALSAAnalog << endl; -//     cout << hostparm.ThisHostSoundALSADigital << endl; - -    //  Intel [HDA Intel](hw:0,0) - -//     cout << "--------" << endl; -    QString tempdevice; -    if  ( hostparm.ThisHostSoundALSATypeout == "Analog" ) -    { -        tempdevice  =  hostparm.ThisHostSoundALSAAnalog ; -    } -    else -    { -        tempdevice = hostparm.ThisHostSoundALSADigital ; -    }; -    tempdevice = tempdevice.section( "(", 1,1 ); -    tempdevice = tempdevice.section( ")", 0,0 ); -    hostparm.ThisHostSoundDevice = tempdevice; -    // Add info popup right here -    QString cmdtxt; -    cmdtxt=MV_ROOT  ; -    cmdtxt.append("bin/soundconfig.sh -t test  -i ALSA -d " +  hostparm.ThisHostSoundDevice + "&"); -    system(cmdtxt); -    int return_code = 0; -    QString msgtext = "Playing sample audio" ; - -    MythBusyDialog *busy = new MythBusyDialog(msgtext); -    busy->start(); -    while (  return_code == 0 ) -    { -        return_code = myth_system("ps -ef|grep soundconfig.sh|grep -v grep > /dev/null"); -        qApp->processEvents (); -        usleep(900); -    } -    busy->Close(); -    busy->deleteLater(); -}; - - -/* __________________________ END OF CLASSES_________________________*/ - -void pre_writesettings () -{ -    hostparm.ThisSystemType = gContext->GetSetting("HostSystemType"); -    hostparm.ThisDBhost = gContext->GetSetting("HostMysqlServer"); -    hostparm.ThisHostName   	= gContext->GetSetting("HostMyhostname"); - -    if  ( hostparm.ThisSystemType == "Standalone" ) -    { -            hostparm.ThisDBhost = "localhost" ; -            hostparm.ThisRunfrontend = "1" ; -            gContext->SaveSetting("HostRunFrontend", hostparm.ThisRunfrontend ); -        // disable pkgmirror -            hostparm.ThisHostPKG_MIRROR = "0"; -            gContext->SaveSetting("GlobalPKG_MIRROR", hostparm.ThisHostPKG_MIRROR ); -            hostparm.ThisHostServiceHobbit = gContext->GetSetting("GlobalServiceHobbitserver"); -            if (hostparm.ThisHostServiceHobbit == "" ) -            { -                hostparm.ThisHostServiceHobbit = "1"; -                 QString s = "GlobalServiceHobbitserver"; -                 gContext->SaveSettingOnHost(s, hostparm.ThisHostServiceHobbit ,NULL); -            } -    } -    else if  (hostparm.ThisSystemType == "Master_backend" ) -    { -            if ( hostparm.ThisNFS =="" &&  gContext->GetSetting("HostServiceNFS")  == "" ) -            { -                hostparm.ThisNFS = "1"; -                gContext->SaveSetting("HostServiceNFS",hostparm.ThisNFS ); -            } -            hostparm.ThisDBhost = "127.0.0.1" ; -            //GlobalPKG is only an option for MBE -            hostparm.ThisHostPKG_MIRROR = (gContext->GetSetting("GlobalPKG_MIRROR")) ; -            hostparm.ThisHostServiceHobbit = gContext->GetSetting("GlobalServiceHobbitserver"); -            if (hostparm.ThisHostServiceHobbit == "" ) -            { -                hostparm.ThisHostServiceHobbit = "1"; -                 QString s = "GlobalServiceHobbitserver"; -                 gContext->SaveSettingOnHost(s, hostparm.ThisHostServiceHobbit,NULL ); -            } -    } -    else if  (hostparm.ThisSystemType == "Frontend_only" ) -    { -            hostparm.ThisRunfrontend     = "1" ; -            hostparm.ThisSamba    = "0"; -            hostparm.ThisNFS       = "0"; -            hostparm.ThisMythWEB         = "0"; -            gContext->SaveSetting("HostRunFrontend",  hostparm.ThisRunfrontend ); -            gContext->SaveSetting("HostServiceSamba", hostparm.ThisSamba ); -            gContext->SaveSetting("HostServiceNFS",  hostparm.ThisNFS ); -            gContext->SaveSetting("HostServiceMythWEB",hostparm.ThisMythWEB ); -            // if GBL is enabled, then check for host setting, else disable it -            if ( (gContext->GetSetting("GlobalPKG_MIRROR") ) == "1"  ) -            { -                hostparm.ThisHostPKG_MIRROR     = gContext->GetSetting("HostPKG_MIRROR"); -            } -            else -            { -                hostparm.ThisHostPKG_MIRROR = "0"; -            }; -//             cout << "install_hobbit:" <<endl; -//             cout << install_hobbit << endl; -//             cout <<"-----------------"<< endl; -            if ( ((gContext->GetSetting("GlobalServiceHobbitserver") ) == "1") || install_hobbit ) -            { -                hostparm.ThisHostServiceHobbit = gContext->GetSetting("HostServiceHobbitclient"); -//                 cout <<"might install hobbit!" << endl; -                cout <<  hostparm.ThisHostServiceHobbit << endl; - -            } -            else -            { -                    hostparm.ThisHostServiceHobbit = "0"; -                    cout <<" don't install hobbit" << endl; -            } - -        gContext->SaveSetting("HostPKG_MIRROR",   hostparm.ThisHostPKG_MIRROR ); -        gContext->SaveSetting("HostServiceHobbitclient",   hostparm.ThisHostServiceHobbit); - -    } -    else if  (hostparm.ThisSystemType == "Slave_backend" ) -    { -            hostparm.ThisSamba      	 = "0"; -            hostparm.ThisNFS        	 = "0"; -            hostparm.ThisMythWEB         = "0"; -            gContext->SaveSetting("HostServiceSamba", hostparm.ThisSamba ); -            gContext->SaveSetting("HostServiceNFS",  hostparm.ThisNFS ); -            gContext->SaveSetting("HostServiceMythWEB",hostparm.ThisMythWEB ); -            if ( (gContext->GetSetting("GlobalPKG_MIRROR") ) == "1"  ) -            { -                hostparm.ThisHostPKG_MIRROR     = gContext->GetSetting("HostPKG_MIRROR"); -            } -            else -            { -                hostparm.ThisHostPKG_MIRROR = "0"; -            } -            if ( ((gContext->GetSetting("GlobalServiceHobbitserver") ) == "1") || install_hobbit ) -            { -                hostparm.ThisHostServiceHobbit = gContext->GetSetting("HostServiceHobbitclient"); -            } -            else -            { - -                hostparm.ThisHostServiceHobbit = "0"; -            } - -            gContext->SaveSetting("HostPKG_MIRROR",   hostparm.ThisHostPKG_MIRROR ); -            gContext->SaveSetting("HostServiceHobbitclient",   hostparm.ThisHostServiceHobbit); - -    }; - -    if ( hostparm.ThisHostDefaultInterface == "" ) -    { -    if ( gContext->GetSetting("HostDefaulteth0") == "1" ) -            hostparm.ThisHostDefaultInterface = "eth0"; -    else if ( gContext->GetSetting("HostDefaulteth1") == "1" ) -            hostparm.ThisHostDefaultInterface = "eth1"; -    else if ( gContext->GetSetting("HostDefaultwlan0") == "1" ) -            hostparm.ThisHostDefaultInterface = "wlan0"; -    else if ( gContext->GetSetting("HostDefaultwlan1") == "1" ) -            hostparm.ThisHostDefaultInterface = "wlan1"; -    else if ( gContext->GetSetting("HostActiveonbooteth0") == "1" ) -            hostparm.ThisHostDefaultInterface = "eth0"; -    else if ( gContext->GetSetting("HostActiveonbooteth1") == "1" ) -            hostparm.ThisHostDefaultInterface = "eth1"; -    else if ( gContext->GetSetting("HostActiveonbootwlan0") == "1" ) -            hostparm.ThisHostDefaultInterface = "wlan0"; -    else if ( gContext->GetSetting("HostActiveonbootwlan1") == "1" ) -            hostparm.ThisHostDefaultInterface = "wlan1"; -    else -            hostparm.ThisHostDefaultInterface = "ack"; -    } -// Even after all the above, it's still possible to set the Default interface to one that isn't active. - -    hostparm.ThisDBhost =  hostparm.ThisDBhost.section( "\t", 0, 0 ); -    //remove spaces from hostname -    std::string s = hostparm.ThisHostName; -    std::string::iterator it = std::remove_if(s.begin(), s.end(), std::bind2nd(std::equal_to<char>(), ' ')); -    s = std::string(s.begin(), it); -    hostparm.ThisHostName = s; -    if  ( hostparm.ThisHostName == "" ) -    { -        hostparm.ThisHostName=gContext->GetHostName(); -        std::string s = hostparm.ThisHostName; -        std::string::iterator it = std::remove_if(s.begin(), s.end(), std::bind2nd(std::equal_to<char>(), ' ')); -        s = std::string(s.begin(), it); -        hostparm.ThisHostName = s; -        if ( hostparm.ThisHostName == "" ) -                hostparm.ThisHostName = "You_Fool"; -    } -    // piece togther the timezone -    QString tz; -    QString tregion; -    QString tsubregion; - -    tz=gContext->GetSetting("HostTimeZone"); - -    cout << "tz extracted from database: " << tz << endl; -    if ( tz.isEmpty() || (tz == "Unknown")) -      timezone_unknown = TRUE; - -    tregion=gContext->GetSetting("HostTimeZoneRegion"); -    tsubregion=gContext->GetSetting("HostTimeZoneRegion_"+tregion); -    if ( tsubregion.isEmpty() ) -        hostparm.ThisTimeZone  = tregion; -    else -        hostparm.ThisTimeZone  = tregion + "/" + tsubregion; - -    cout << "hostparm.ThisTimeZone " << hostparm.ThisTimeZone  << endl; -    // save some settings  back to the datebase -    gContext->SaveSetting("HostMyhostname" , hostparm.ThisHostName ); -    gContext->SaveSetting("HostMysqlserver", hostparm.ThisDBhost ); -    gContext->SaveSetting("HostTimeZone", hostparm.ThisTimeZone ); -} - -void run_systemconfig(QString modulelist, bool restart, QString dbcommand) -{ -    QString cmdtxt; -    cmdtxt="sudo "; -    cmdtxt.append(MV_ROOT) ; -    cmdtxt.append("bin/systemconfig.sh " + modulelist + " &"); -    myth_system(cmdtxt); -    int return_code = 0; -    QString msgtext = "Please wait while  " ; -    msgtext.append(gContext->GetSetting("HostMyhostname")); -    msgtext.append(" is configured"); -    MythBusyDialog *busy = new MythBusyDialog(msgtext); -    busy->start(); -    while (  return_code == 0 ) -    { -        return_code = myth_system("ps -ef|grep systemconfig.sh|grep -v grep > /dev/null"); -        qApp->processEvents (); -        usleep(900); -    } -    busy->Close(); -    busy->deleteLater(); -    if  (restart) -    { -        return_code = 1; -        int loopnumber=0 ; -        bool doloop = true; -        MythBusyDialog *busy = new MythBusyDialog( -            QObject::tr("Transferring database settings")); -        // yet another incorrect way todo things, but I don't know anybetter -        // as long as ps can find systemconfig in the list  the busy box will appear and update -        busy->start(); -        while (  doloop ) -        { -            return_code = myth_system(dbcommand); -            qApp->processEvents (); -            usleep(100); -            loopnumber++ ; -            if  ( return_code == 0 || loopnumber >= 20000000 ) -                doloop=false; -            cout << loopnumber << endl; -        } -        busy->Close(); -        busy->deleteLater(); -    }; - - - -} - - - -int runsettings (bool mysqlonly , bool shownetwork , bool showhostype, bool showmisc , bool showshutdown, bool showadvanced,bool showsound,bool showadvancedX, bool showaccesscontrol, bool showplugins , bool showuser , bool showwebuser , bool showddns , bool showinfrared , bool showscreensaver ) -{ -        displaymysqlonly = false ; -        displayshownetwork =false ; -        displayshowhostype = false ; -        displayshowmisc =false ; -        displayshowshutdown =false ; -        displayshowadvanced = false; -        displayshowsound = false ; -        displayshowadvancedX = false; -        displayaccesscontrol= false; -        displayplugins= false; -        displayuser = false; -        displaywebuser = false; -        displayddns = false; -        displayinfrared = false; -        displayscreensaver = false; - -        gContext->ActivateSettingsCache(true); -        gContext->ClearSettingsCache(); -        bool  runothers=false; -        bool continuerun=true; -        int retc = 0 ; -        displaymysqlonly = mysqlonly; - -        if (displaymysqlonly ) -        { -            MythInstallSettings mysqlsettings; -            mysqlsettings.load(); -            mysqlsettings.save(); -            if ( mysqlsettings.exec() == QDialog::Accepted ) -            { -                retc = 1; -            } -            else -            { -                retc=2; -            }; -        }; - -        if ( shownetwork ) -        { -            displayshownetwork = shownetwork; -            MythInstallSettings settings; -            settings.load(); -            settings.save(); -            if ( settings.exec() == QDialog::Accepted ) -                { -                retc = 1; -                } -                else -                { -                    continuerun=false; -                    retc=2; -                }; -            displayshownetwork = false; -        }; - -        if (   showhostype && continuerun ) -        { -            displayshowhostype = showhostype; -            system ("avahi-browse -l -r  -t  _mysql._tcp > /tmp/mysqllist"); -            MythInstallSettings settings1; -            settings1.load(); -            settings1.save(); -            if ( settings1.exec() == QDialog::Accepted ) -            { -                retc = 1; -            } -            else -            { -                continuerun=false; -                retc=2; -            }; -            displayshowhostype=false; -        } - -        if ( showmisc  ||  showshutdown || showsound   || showadvancedX || showadvanced || showaccesscontrol || showplugins || showuser || showwebuser || showddns || showinfrared || showscreensaver ) -        { -            runothers=true; -            displayshowmisc = showmisc; -            displayshowshutdown = showshutdown; -            displayshowadvanced = showadvanced; -            displayshowsound = showsound; -            displayshowadvancedX = showadvancedX; -            hostparm.displayshowadvancedX=showadvancedX; -            displayaccesscontrol = showaccesscontrol ; -            displayplugins = showplugins; -            displayuser = showuser; -            displaywebuser = showwebuser; -            displayddns = showddns ; -            displayinfrared = showinfrared; -            displayscreensaver = showscreensaver; - -            if (displayshowadvancedX) -            { -                ReadDDCvalues(); -            } -        }; - - -    if ( runothers && continuerun ) -        { -        //do I need this prewerite? -        pre_writesettings(); -        DatabaseParams params = gContext->GetDatabaseParams(); -        QString cmdtxt=MV_ROOT  ; -        cmdtxt.append("bin/timezip.py -m "); -        QString zipcommand=cmdtxt; -        zipcommand.append(hostparm.ThisDBhost); -        zipcommand.append("  -d " + params.dbHostName ); -        cout << zipcommand << endl; -        myth_system(zipcommand); -        hostparm.ThisHostZipcode        = gContext->GetSetting("HostZipcode"); -        hostparm.ThisTimeZone           = gContext->GetSetting("HostTimeZone"); -        hostparm.ThisHostServiceHobbit  = gContext->GetSetting("HostServiceHobbitclient"); -        if  ( hostparm.ThisHostServiceHobbit == "1" ) -            install_hobbit = true; -/* -        cout << "install_hobbit:" <<endl; -        cout << install_hobbit << endl; -        cout <<"-----------------"<< endl; */ - -        MythInstallSettings settings2; -        settings2.load(); -        settings2.save(); -        gContext->SaveSetting("HostServiceHobbitclient", hostparm.ThisHostServiceHobbit ); -        if ( settings2.exec() == QDialog::Accepted ) -            { -                retc = 1; -                cout <<"i should save my settings(2)" << endl; -            } -            else -            { -                continuerun=false; -                retc=2; -                cout <<"no save for settings2 " << endl; -            }; -        }; -        pre_writesettings(); -        if ( mysqlonly ) -        { -            QString cmdtxt; -            cmdtxt=MV_ROOT  ; -            cmdtxt.append("bin/systemconfig.sh Mysql_only " +  hostparm.ThisDBhost); -            myth_system(cmdtxt); -        } -        else -        { -            if (retc == 1) -                writesettings(); -        } -        return retc; -}; - - - -void writesettings () -{ -        ofstream myfile; -        hostparm.ThisHostName   	= gContext->GetSetting("HostMyhostname"); -        hostparm.ThisHostDHCPhostname   = gContext->GetSetting("HostDHCPhostname"); -        //hostparm.ThisTimeZone       = gContext->GetSetting("HostTimeZone"); -        hostparm.ThisHostIP  		= gContext->GetSetting("HostIP"); -        hostparm.ThisNETMASK       	= gContext->GetSetting("HostNETMASK"); -        hostparm.ThisGW		        = gContext->GetSetting("HostGW"); -        hostparm.ThisDNS	        = gContext->GetSetting("HostDNS"); -        hostparm.ThisDHCP              = gContext->GetSetting("HostUseDHCP"); - -        //hostparm.ThisHostDefaultInterface=gContext->GetSetting("HostDefaultInterface"); - -        hostparm.ThisHostIPeth0         =  gContext->GetSetting("HostIPeth0"); -        hostparm.ThisHostNETMASKeth0    =  gContext->GetSetting("HostNETMASKeth0"); -        hostparm.ThisHostDNSeth0        =  gContext->GetSetting("HostDNSeth0"); -        hostparm.ThisHostUSEDHCPeth0    =  gContext->GetSetting("HostUseDHCPeth0"); -        hostparm.ThisHostGWeth0         =  gContext->GetSetting("HostGWeth0"); -        hostparm.ThisHostActiveonbooteth0  =  gContext->GetSetting("HostActiveonbooteth0"); -        hostparm.ThisHOSTESSIDeth0      =  gContext->GetSetting("HOSTESSIDeth0"); -        hostparm.ThisHostUseEncryptioneth0 = gContext->GetSetting("HostUseEncryptioneth0"); -        hostparm.ThisHostkeyeth0           = gContext->GetSetting("Hostkeyeth0"); -        hostparm.ThisHostMTUeth0        = gContext->GetSetting("HostMTUeth0"); - -        hostparm.ThisHostIPeth1         =  gContext->GetSetting("HostIPeth1"); -        hostparm.ThisHostNETMASKeth1    =  gContext->GetSetting("HostNETMASKeth1"); -        hostparm.ThisHostDNSeth1        =  gContext->GetSetting("HostDNSeth1"); -        hostparm.ThisHostUSEDHCPeth1    =  gContext->GetSetting("HostUseDHCPeth1"); -        hostparm.ThisHostGWeth1         =  gContext->GetSetting("HostGWeth1"); -        hostparm.ThisHostActiveonbooteth1  =  gContext->GetSetting("HostActiveonbooteth1"); -        hostparm.ThisHOSTESSIDeth1      =  gContext->GetSetting("HOSTESSIDeth1"); -        hostparm.ThisHostUseEncryptioneth1 = gContext->GetSetting("HostUseEncryptioneth1"); -        hostparm.ThisHostkeyeth1           = gContext->GetSetting("Hostkeyeth1"); -        hostparm.ThisHostMTUeth1        = gContext->GetSetting("HostMTUeth1"); - -        hostparm.ThisHostIPwlan0         =  gContext->GetSetting("HostIPwlan0"); -        hostparm.ThisHostNETMASKwlan0    =  gContext->GetSetting("HostNETMASKwlan0"); -        hostparm.ThisHostDNSwlan0        =  gContext->GetSetting("HostDNSwlan0"); -        hostparm.ThisHostUSEDHCPwlan0    =  gContext->GetSetting("HostUseDHCPwlan0"); -        hostparm.ThisHostGWwlan0         =  gContext->GetSetting("HostGWwlan0"); -        hostparm.ThisHostActiveonbootwlan0  =  gContext->GetSetting("HostActiveonbootwlan0"); -        hostparm.ThisHOSTESSIDwlan0      =  gContext->GetSetting("HOSTESSIDwlan0"); -        hostparm.ThisHostUseEncryptionwlan0 = gContext->GetSetting("HostUseEncryptionwlan0"); -        hostparm.ThisHostkeywlan0           = gContext->GetSetting("Hostkeywlan0"); -        hostparm.ThisHostMTUwlan0        = gContext->GetSetting("HostMTUwlan0"); - -        hostparm.ThisHostIPwlan1         =  gContext->GetSetting("HostIPwlan1"); -        hostparm.ThisHostNETMASKwlan1    =  gContext->GetSetting("HostNETMASKwlan1"); -        hostparm.ThisHostDNSwlan1        =  gContext->GetSetting("HostDNSwlan1"); -        hostparm.ThisHostUSEDHCPwlan1    =  gContext->GetSetting("HostUseDHCPwlan1"); -        hostparm.ThisHostGWwlan1         =  gContext->GetSetting("HostGWwlan1"); -        hostparm.ThisHostActiveonbootwlan1  =  gContext->GetSetting("HostActiveonbootwlan1"); -        hostparm.ThisHOSTESSIDwlan1      =  gContext->GetSetting("HOSTESSIDwlan1"); -        hostparm.ThisHostUseEncryptionwlan1 = gContext->GetSetting("HostUseEncryptionwlan1"); -        hostparm.ThisHostkeywlan1           = gContext->GetSetting("Hostkeywlan1"); -        hostparm.ThisHostMTUwlan1        = gContext->GetSetting("HostMTUwlan1"); - -        hostparm.ThisHostIPath0         =  gContext->GetSetting("HostIPath0"); -        hostparm.ThisHostNETMASKath0    =  gContext->GetSetting("HostNETMASKath0"); -        hostparm.ThisHostDNSath0        =  gContext->GetSetting("HostDNSath0"); -        hostparm.ThisHostUSEDHCPath0    =  gContext->GetSetting("HostUseDHCPath0"); -        hostparm.ThisHostGWath0         =  gContext->GetSetting("HostGWath0"); -        hostparm.ThisHostActiveonbootath0  =  gContext->GetSetting("HostActiveonbootath0"); -        hostparm.ThisHOSTESSIDath0      =  gContext->GetSetting("HOSTESSIDath0"); -        hostparm.ThisHostUseEncryptionath0 = gContext->GetSetting("HostUseEncryptionath0"); -        hostparm.ThisHostkeyath0           = gContext->GetSetting("Hostkeyath0"); -        hostparm.ThisHostMTUath0        = gContext->GetSetting("HostMTUath0"); - - -        hostparm.ThisHostServiceRRD = gContext->GetSetting("HostServiceRRD"); -        hostparm.ThisSamba          = gContext->GetSetting("HostServiceSamba"); -        hostparm.ThisHostServiceSamba_media = gContext->GetSetting("HostServiceSamba_media"); -        hostparm.ThisHostServiceSamba_write = gContext->GetSetting("HostServiceSamba_write"); -        hostparm.ThisHostServiceSamba_home = gContext->GetSetting("HostServiceSamba_home"); -        hostparm.ThisHostServiceSamba_writehome = gContext->GetSetting("HostServiceSamba_writehome"); -        hostparm.ThisHostServiceSamba_domain = gContext->GetSetting("HostServiceSamba_domain"); -        hostparm.ThisNFS               	= gContext->GetSetting("HostServiceNFS"); -        hostparm.ThisMythWEB    	       = gContext->GetSetting("HostServiceMythWEB"); -        hostparm.ThisHostwebauth           = gContext->GetSetting("HOSTwebauth"); - -        hostparm.ThisHostRunDHCP =  gContext->GetSetting("HostRunDHCP"); -        hostparm.ThisSystemType 	= gContext->GetSetting("HostSystemType"); -        hostparm.ThisRemote     	       = gContext->GetSetting("HostRemoteType"); -        hostparm.ThisHostLircWait      = gContext->GetSetting("HostLircWait"); -      //  hostparm.ThisBlaster    	       = gContext->GetSetting("HostTransmitproto"); -        hostparm.ThisReceiverType  	= gContext->GetSetting("HostReceiverType"); -        hostparm.ThisHostSerialPortlirc = gContext->GetSetting("HostSerialPortlirc"); -        hostparm.ThisHostUseEvrouter = gContext->GetSetting("HostRunEvrouter"); -        hostparm.ThisHostEvrouterConfig = gContext->GetSetting("HostEvrouterConfig"); -        hostparm.ThisXres     		= gContext->GetSetting("HostXres"); -        hostparm.ThisAutodown		= gContext->GetSetting("HostAutodown"); -        hostparm.ThisShutdowntime	= gContext->GetSetting("HostShutdownTime"); -        hostparm.ThisShutdowntime2  = gContext->GetSetting("HostShutdownTime2"); -        hostparm.ThisWakeuptime	= gContext->GetSetting("HostWakeupTime"); -        hostparm.ThisUseNVRAM		= gContext->GetSetting("HostUseNVRAM"); -        hostparm.ThisUseWOL		= gContext->GetSetting("HostUseWOL"); -        hostparm.ThisKeepPackage	= gContext->GetSetting("HostKeepPackages"); -        hostparm.ThisMythWelcome	= gContext->GetSetting("HostUseMythWelcome"); -        hostparm.ThisHaveNFS            = gContext->GetSetting("HostHaveCentralNFS"); -        hostparm.ThisNFSserver          = gContext->GetSetting("HostCentralNFSIP"); -        hostparm.ThisNFSmountpoint      = gContext->GetSetting("HostNFSmountpoint"); -        hostparm.ThisHostupdateplan     = gContext->GetSetting("Hostupdateplan"); -        hostparm.ThisShowToolTips       = gContext->GetSetting("HostShowToolTips"); -        hostparm.ThisRunfrontend        = gContext->GetSetting("HostRunFrontend"); -        hostparm.ThisHostZipcode        = gContext->GetSetting("HostZipcode"); -        hostparm.ThisHostncidClient     = gContext->GetSetting("HostncidClient"); -        hostparm.ThisHostncidDaemon     = gContext->GetSetting("HostncidDaemon"); -        hostparm.ThisHostSerialPortncid = gContext->GetSetting("HostSerialPortncid"); -        hostparm.ThisHostbootsplash     = gContext->GetSetting("Hostbootsplash"); - -        hostparm.ThisXIgnoreConfig      =gContext->GetSetting("HostXIgnoreConfig"); -        hostparm.ThisXcardtype          =gContext->GetSetting("HostXcardtype"); -        hostparm.ThisXUseAdvanced       =gContext->GetSetting("HostXUseAdvanced"); -        hostparm.ThisXIgnoreEDID        =gContext->GetSetting("HostXIgnoreEDID"); -        hostparm.ThisXconnection        =gContext->GetSetting("HostXconnection"); -        hostparm.ThisXDisplaysize       =gContext -> GetSetting("HostXDisplaysize"); -        hostparm.ThisHostXNvidia1080p   =gContext -> GetSetting("HostXNvidia1080p"); -        hostparm.ThisHostXNvidia1080i   =gContext -> GetSetting("HostXNvidia1080i"); -        hostparm.ThisHostXNvidia720p    =gContext -> GetSetting("HostXNvidia720p"); -        hostparm.ThisHostXNvidia480p    =gContext -> GetSetting("HostXNvidia480p"); -//  EDID settings -        QString tempstring; -        tempstring = gContext->GetSetting("HostXHsyncLow"); -        tempstring.append(" - "); -        tempstring.append(gContext->GetSetting("HostXHsyncHigh") ); -        hostparm.ThisXHsync=tempstring; -        tempstring =""; -        tempstring=gContext->GetSetting("HostXVrefreshLow"); -        tempstring.append(" - "); -        tempstring.append(gContext->GetSetting("HostXVrefreshHigh")); -        hostparm.ThisXVrefresh=tempstring; - -//  Assemble the advanced modeline string -        QString modelinetype = gContext->GetSetting("HostXModelineCatagory");; -        QString tempmodeline = "HostXadvancedres" + modelinetype ; -        QString modeline    = gContext ->GetSetting(tempmodeline); -        hostparm.ThisXresadvanced = modelinetype +"_"+modeline; - -//   Gather settings based on card type -        if ( hostparm.ThisXcardtype == "nVidia" ) -        { -            hostparm.ThisXTVstandard = gContext->GetSetting("HostXnVidiaTVstandard"); -            hostparm.ThisXTVconnection= gContext->GetSetting("HostXnVidiaTVformat"); -            modelinetype = gContext->GetSetting("HostXNvidiaModelineCatagory");; -            tempmodeline = "HostXNvidiaadvancedres" + modelinetype ; -            modeline    = gContext ->GetSetting(tempmodeline); -            hostparm.ThisXresadvanced = modelinetype +"_"+modeline; -        } -        else if  ( hostparm.ThisXcardtype == "ATI" ) -        { -            hostparm.ThisXTVstandard = gContext->GetSetting("HostXATITVstandard"); -            hostparm.ThisXTVconnection= gContext->GetSetting("HostXati-tvformat"); -        } - - -//********************************************************************************************* -// AUDIO SETTINGS -//****************************************************************************************** -    hostparm.ThisHostAudiotype =  gContext ->GetSetting("HostAudiotype"); -    hostparm.ThisHostsyncXine = gContext ->GetSetting("HostsyncXine"); -    hostparm.ThisHostsyncMplayer = gContext ->GetSetting("HostsyncMplayer"); -    hostparm.ThisHostsyncMythMusic = gContext ->GetSetting("HostsyncMythMusic"); -    hostparm.ThisHostsyncMythFrontend = gContext ->GetSetting("HostsyncMythFrontend"); -    hostparm.ThisHostSoundTypeout =  gContext ->GetSetting("HostSoundTypeout") ; -    hostparm.ThisHostSoundOSSAnalog = gContext ->GetSetting("HostSoundOssAnalog"); -    hostparm.ThisHostSoundOSSDigital = gContext ->GetSetting("HostSoundOssDigital"); -    hostparm.ThisHostSoundALSATypeout =  gContext ->GetSetting("HostSoundALSATypeout") ; -    hostparm.ThisHostSoundALSAAnalog = gContext ->GetSetting("HostSoundALSAAnalog"); -    hostparm.ThisHostSoundALSADigital = gContext ->GetSetting("HostSoundALSADigital"); - -    if ( hostparm.ThisHostAudiotype  == "OSS"   ) -    { -        QString tempdevice; -        QChar tempchar  ; -        hostparm.ThisHostSoundDevice = "/dev/dsp"; -        if  ( hostparm.ThisHostSoundTypeout == "Analog" ) -            tempdevice  =  hostparm.ThisHostSoundOSSAnalog ; - -        if  ( hostparm.ThisHostSoundTypeout == "Digital" ) -            tempdevice = hostparm.ThisHostSoundOSSDigital ; - -        int tlength=(tempdevice.length()  -2 ); -        if  ( tlength > 0  ) -        { -            tempchar = tempdevice.at( tlength); -            hostparm.ThisHostSoundDevice.append(tempchar); -        }; -    } - - -    if ( hostparm.ThisHostAudiotype  == "ALSA"   ) -    { -        QString tempdevice; -        hostparm.ThisHostSoundTypeout = hostparm.ThisHostSoundALSATypeout; -        if (  hostparm.ThisHostSoundTypeout == "Digital" ) -            tempdevice=hostparm.ThisHostSoundALSADigital; -        if (  hostparm.ThisHostSoundTypeout == "Analog" ) -            tempdevice=hostparm.ThisHostSoundALSAAnalog; - -        tempdevice = tempdevice.section( "(", 1,1 ); -        tempdevice = tempdevice.section( ")", 0,0 ); -        hostparm.ThisHostSoundDevice = tempdevice; -    } -// Turn off internal audio controls is digital audio is seleced -    if  ( hostparm.ThisHostSoundTypeout == "Digital" ) -        gContext->SaveSetting("MythControlsVolume","0"); - -//  LCD TYPE -    hostparm.ThisHostLCDType = gContext ->GetSetting("HostLCDType"); -    if  ( hostparm.ThisHostLCDType  != "no_lcd" && hostparm.ThisHostLCDType  != "tinker" && hostparm.ThisHostLCDType != "" ) -    { -        // enable mythtv lcddevice -        gContext->SaveSetting("LCDEnable","1"); -    }; -// Backupsettings -        hostparm.ThisHostRemoteBackup = gContext ->GetSetting("HostRemoteBackup"); -        hostparm.ThisHostRemoteBackupDir = gContext ->GetSetting("HostRemoteBackupDir"); -//plugins -        hostparm.ThisHostpluginmytharchive = gContext->GetSetting("Hostpluginmytharchive"); -        hostparm.ThisHostpluginmythbrowser = gContext->GetSetting("Hostpluginmythbrowser"); -        hostparm.ThisHostpluginmythcontrols = gContext->GetSetting("Hostpluginmythcontrols"); -        hostparm.ThisHostpluginmythflix = gContext->GetSetting("Hostpluginmythflix"); -        hostparm.ThisHostpluginmythgallery = gContext->GetSetting("Hostpluginmythgallery"); -        hostparm.ThisHostpluginmythgame = gContext->GetSetting("Hostpluginmythgame"); -        hostparm.ThisHostpluginmythmovietime = gContext->GetSetting("Hostpluginmythmovietime"); -        hostparm.ThisHostpluginmythmusic = gContext->GetSetting("Hostpluginmythmusic"); -        hostparm.ThisHostpluginmythnews = gContext->GetSetting("Hostpluginmythnews"); -        hostparm.ThisHostpluginmythphone = gContext->GetSetting("Hostpluginmythphone"); -        hostparm.ThisHostpluginmythsmolt = gContext->GetSetting("Hostpluginmythsmolt"); -        hostparm.ThisHostpluginmythvideo = gContext->GetSetting("Hostpluginmythvideo"); -        hostparm.ThisHostpluginmythweather = gContext->GetSetting("Hostpluginmythweather"); -        hostparm.ThisHostpluginmythzoneminder = gContext->GetSetting("Hostpluginmythzoneminder"); -        hostparm.ThisHostpluginmythgameFceu = gContext->GetSetting("HostpluginmythgameFceu"); -        hostparm.ThisHostpluginmythgameZsnes = gContext->GetSetting("HostpluginmythgameZsnes"); -        hostparm.ThisHostpluginmythgameMame = gContext->GetSetting("HostpluginmythgameMame"); -        hostparm.ThisHostpluginmythvideo_dvdcss = gContext->GetSetting("Hostpluginmythvideo_dvdcss"); -        hostparm.ThisHostpluginmythappletrailers= gContext->GetSetting("Hostpluginmythappletrailers"); -        hostparm.ThisHostpluginmythstream= gContext->GetSetting("Hostpluginmythstream"); -        hostparm.ThisHostpluginmythvodka= gContext->GetSetting("Hostpluginmythvodka"); -        hostparm.ThisHostMiro= gContext->GetSetting("HostMiro"); -        hostparm.ThisHostpluginmythgameMednafen= gContext->GetSetting("HostpluginmythgameMednafen"); -        hostparm.ThisHostpluginmythgameROMDB= gContext->GetSetting("HostpluginmythgameROMDB"); -        hostparm.ThisHostXine = gContext->GetSetting("HostXine"); -        hostparm.ThisHostwebmin = gContext->GetSetting("Hostwebmin"); -        hostparm.ThisHostfuppes = gContext->GetSetting("Hostfuppes"); -        hostparm.ThisHostfoldingathome = gContext->GetSetting("Hostfoldingathome"); -        hostparm.ThisHostfoldingusername = gContext->GetSetting("Hostfoldingusername"); -        hostparm.ThisHostfoldingworksize = gContext->GetSetting("Hostfoldingworksize"); -        hostparm.ThisHostDDnslogin = gContext->GetSetting("HostDDnslogin"); -        hostparm.ThisHostDDnspassword = gContext->GetSetting("HostDDnspassword"); -        hostparm.ThisHostDDnshostname = gContext->GetSetting("HostDDnshostname"); -        hostparm.ThisHostDDnsEnable = gContext->GetSetting("HostDDnsEnable"); -        hostparm.ThisHostscreensavertype =  gContext->GetSetting("Hostscreensavertype"); -        hostparm.ThisHostscreensaveridle = gContext->GetSetting("Hostscreensaveridle"); -        if (gContext->GetSetting("HostScreensaverBlank") == "1" ) -            hostparm.ThisHostscreensavertheme="Blank"; -        else if (gContext->GetSetting("HostScreensaverRandom") == "1" ) -            hostparm.ThisHostscreensavertheme="Random"; -        else -        { -            if ( hostparm.ThisHostscreensavertype == "gscreensaver" ) -                hostparm.ThisHostscreensavertheme = gContext->GetSetting("HostGScreensavertheme"); -            if ( hostparm.ThisHostscreensavertype == "xscreensaver" ) -                hostparm.ThisHostscreensavertheme = gContext->GetSetting("HostXScreensavertheme"); -        } - -        hostparm.ThisHostTransmitproto_1 = -            gContext->GetSetting("HostTransmitproto_1"); -        hostparm.ThisHostTransmitproto_2 = -            gContext->GetSetting("HostTransmitproto_2"); -        hostparm.ThisHostTransmitproto_3 = -            gContext->GetSetting("HostTransmitproto_3"); -        hostparm.ThisHostTransmitproto_4 = -            gContext->GetSetting("HostTransmitproto_4"); -        hostparm.ThisHostBlasterType = -            gContext->GetSetting("HostBlasterType"); -        hostparm.ThisHostSerialPort_blasterlirc = -            gContext->GetSetting("HostSerialPort_blasterlirc"); -        hostparm.ThisHostnumblaster = "1"; -        if ( hostparm.ThisHostBlasterType == "CommandIR" ) -            hostparm.ThisHostnumblaster = "4" ; -        if ( hostparm.ThisHostBlasterType == "MCE" ) -            hostparm.ThisHostnumblaster = "2" ; -        hostparm.ThisHOSTrootSSH =  gContext->GetSetting("HOSTrootSSH"); - - - - - -//______________________WRITE OUT THE FILE__________________________ -        QString systemheader; - -        myfile.open ("/etc/systemconfig"); -        myfile << "hostname=\""     + hostparm.ThisHostName + "\"\n"; -        myfile << "dhcphostname=\"" + hostparm.ThisHostDHCPhostname + "\"\n"; -        myfile << "timezone=\""     + hostparm.ThisTimeZone    	+ "\"\n"; -        myfile << "ip=\""           + hostparm.ThisHostIP           + "\"\n"; -        myfile << "netmask=\"" 		+ hostparm.ThisNETMASK    	+ "\"\n"; -        myfile << "route=\"" 		+ hostparm.ThisGW               + "\"\n"; -        myfile << "nameserver=\"" 	+ hostparm.ThisDNS        	+ "\"\n"; - -        myfile << "default_interface=\""    + hostparm.ThisHostDefaultInterface          + "\"\n"; - -        if ( hostparm.ThisHostActiveonbooteth0 == "1" ) -        { -            systemheader= "\n#Network config for eth0 \n"  ; -            myfile << systemheader ; -            myfile << "Hostipeth0=\""   + hostparm.ThisHostIPeth0           + "\"\n"; -            myfile << "Hostnetmasketh0=\""   +hostparm.ThisHostNETMASKeth0      + "\"\n"; -            myfile << "HostDNSeth0=\""   +hostparm.ThisHostDNSeth0          + "\"\n"; -            myfile << "HostUSEDHCPeth0=\""   +hostparm.ThisHostUSEDHCPeth0      + "\"\n"; -            myfile << "HostGWeth0=\""   +hostparm.ThisHostGWeth0            + "\"\n"; -            myfile << "HostActiveeth0=\""   +hostparm.ThisHostActiveonbooteth0      + "\"\n"; -            myfile << "HostESSIDeth0=\"" + hostparm.ThisHOSTESSIDeth0  + "\"\n"; -            myfile << "HostUseEncryptioneth0=\"" + hostparm.ThisHostUseEncryptioneth0 + "\"\n"; -            myfile << "HostKeyeth0=\"" + hostparm.ThisHostkeyeth0         + "\"\n"; -            myfile << "HOST_iswirelesseth0=\"" + hostparm.ThisHOST_iswirelesseth0         + "\"\n"; -            myfile << "HostMTUeth0=\"" + hostparm.ThisHostMTUeth0         + "\"\n"; -        } - -        if ( hostparm.ThisHostActiveonbooteth1 == "1" ) -        { -            systemheader= "\n#Network config for eth1 \n"  ; -            myfile << systemheader ; -            myfile << "Hostipeth1=\""   + hostparm.ThisHostIPeth1           + "\"\n"; -            myfile << "Hostnetmasketh1=\""   +hostparm.ThisHostNETMASKeth1      + "\"\n"; -            myfile << "HostDNSeth1=\""   +hostparm.ThisHostDNSeth1          + "\"\n"; -            myfile << "HostUSEDHCPeth1=\""   +hostparm.ThisHostUSEDHCPeth1      + "\"\n"; -            myfile << "HostGWeth1=\""   +hostparm.ThisHostGWeth1            + "\"\n"; -            myfile << "HostActiveeth1=\""   +hostparm.ThisHostActiveonbooteth1      + "\"\n"; -            myfile << "HostESSIDeth1=\"" + hostparm.ThisHOSTESSIDeth1  + "\"\n"; -            myfile << "HostUseEncryptioneth1=\"" + hostparm.ThisHostUseEncryptioneth1 + "\"\n"; -            myfile << "HostKeyeth1=\"" + hostparm.ThisHostkeyeth1         + "\"\n"; -            myfile << "HOST_iswirelesseth1=\"" + hostparm.ThisHOST_iswirelesseth1         + "\"\n"; -            myfile << "HostMTUeth1=\"" + hostparm.ThisHostMTUeth1         + "\"\n"; -        } -        if ( hostparm.ThisHostActiveonbootwlan0 == "1" ) -        { -            systemheader= "\n#Network config for wlan0 \n"  ; -            myfile << systemheader ; -            myfile << "Hostipwlan0=\""   + hostparm.ThisHostIPwlan0           + "\"\n"; -            myfile << "Hostnetmaskwlan0=\""   +hostparm.ThisHostNETMASKwlan0      + "\"\n"; -            myfile << "HostDNSwlan0=\""   +hostparm.ThisHostDNSwlan0          + "\"\n"; -            myfile << "HostUSEDHCPwlan0=\""   +hostparm.ThisHostUSEDHCPwlan0      + "\"\n"; -            myfile << "HostGWwlan0=\""   +hostparm.ThisHostGWwlan0            + "\"\n"; -            myfile << "HostActivewlan0=\""   +hostparm.ThisHostActiveonbootwlan0      + "\"\n"; -            myfile << "HostESSIDwlan0=\"" + hostparm.ThisHOSTESSIDwlan0  + "\"\n"; -            myfile << "HostUseEncryptionwlan0=\"" + hostparm.ThisHostUseEncryptionwlan0 + "\"\n"; -            myfile << "HostKeywlan0=\"" + hostparm.ThisHostkeywlan0         + "\"\n"; -            myfile << "HOST_iswirelesswlan0=\"" + hostparm.ThisHOST_iswirelesswlan0         + "\"\n"; -            myfile << "HostMTUwlan0=\"" + hostparm.ThisHostMTUwlan0         + "\"\n"; -        } -        if ( hostparm.ThisHostActiveonbootwlan1 == "1" ) -        { -            systemheader= "\n#Network config for wlan1 \n"  ; -            myfile << systemheader ; -            myfile << "Hostipwlan1=\""   + hostparm.ThisHostIPwlan1           + "\"\n"; -            myfile << "Hostnetmaskwlan1=\""   +hostparm.ThisHostNETMASKwlan1      + "\"\n"; -            myfile << "HostDNSwlan1=\""   +hostparm.ThisHostDNSwlan1          + "\"\n"; -            myfile << "HostUSEDHCPwlan1=\""   +hostparm.ThisHostUSEDHCPwlan1      + "\"\n"; -            myfile << "HostGWwlan1=\""   +hostparm.ThisHostGWwlan1            + "\"\n"; -            myfile << "HostActivewlan1=\""   +hostparm.ThisHostActiveonbootwlan1      + "\"\n"; -            myfile << "HostESSIDwlan1=\"" + hostparm.ThisHOSTESSIDwlan1  + "\"\n"; -            myfile << "HostUseEncryptionwlan1=\"" + hostparm.ThisHostUseEncryptionwlan1 + "\"\n"; -            myfile << "HostKeywlan1=\"" + hostparm.ThisHostkeywlan1         + "\"\n"; -            myfile << "HOST_iswirelesswlan1=\"" + hostparm.ThisHOST_iswirelesswlan1         + "\"\n"; -            myfile << "HostMTUwlan1=\"" + hostparm.ThisHostMTUwlan1         + "\"\n"; -        } - -      if ( hostparm.ThisHostActiveonbootath0 == "1" ) -        { -            systemheader= "\n#Network config for ath0 \n"  ; -            myfile << systemheader ; -            myfile << "Hostipath0=\""   + hostparm.ThisHostIPath0           + "\"\n"; -            myfile << "Hostnetmaskath0=\""   +hostparm.ThisHostNETMASKath0      + "\"\n"; -            myfile << "HostDNSath0=\""   +hostparm.ThisHostDNSath0          + "\"\n"; -            myfile << "HostUSEDHCPath0=\""   +hostparm.ThisHostUSEDHCPath0      + "\"\n"; -            myfile << "HostGWath0=\""   +hostparm.ThisHostGWath0            + "\"\n"; -            myfile << "HostActiveath0=\""   +hostparm.ThisHostActiveonbootath0      + "\"\n"; -            myfile << "HostESSIDath0=\"" + hostparm.ThisHOSTESSIDath0  + "\"\n"; -            myfile << "HostUseEncryptionath0=\"" + hostparm.ThisHostUseEncryptionath0 + "\"\n"; -            myfile << "HostKeyath0=\"" + hostparm.ThisHostkeyath0         + "\"\n"; -            myfile << "HOST_iswirelessath0=\"" + hostparm.ThisHOST_iswirelessath0         + "\"\n"; -            myfile << "HostMTUath0=\"" + hostparm.ThisHostMTUath0         + "\"\n"; -        } - - -        systemheader= "\n#Misc \n"  ; -        myfile << systemheader ; -        myfile << "UseSamba=\""		+ hostparm.ThisSamba      	+ "\"\n"; -        myfile << "Samba_media=\"" +  hostparm.ThisHostServiceSamba_media + "\"\n"; -        myfile << "Samba_mediareadonly=\"" +  hostparm.ThisHostServiceSamba_write + "\"\n"; -        myfile << "Samba_home=\"" +  hostparm.ThisHostServiceSamba_home + "\"\n"; -        myfile << "Samba_homereadonly=\"" +  hostparm.ThisHostServiceSamba_writehome + "\"\n"; -        myfile << "Samba_domain=\"" + hostparm.ThisHostServiceSamba_domain + "\"\n"; -        myfile << "UseHobbit=\"" +  hostparm.ThisHostServiceHobbit + "\"\n"; -        myfile << "UseRRD=\"" +  hostparm.ThisHostServiceRRD + "\"\n"; -        myfile << "UseNFS=\"" 		+ hostparm.ThisNFS             	+ "\"\n"; -        myfile << "UseMythWEB=\"" 	+ hostparm.ThisMythWEB     	+ "\"\n"; -        myfile << "UseMythWEB_auth=\""   + hostparm.ThisHostwebauth      + "\"\n"; -        myfile << "UseDHCP=\"" 	 	+ hostparm.ThisDHCP          	+ "\"\n"; -        myfile << "RunDHCP=\""      + hostparm.ThisHostRunDHCP             + "\"\n"; -        myfile << "SystemType=\"" 	+ hostparm.ThisSystemType 	+ "\"\n"; - -        myfile << "UseEvrouter=\"" + hostparm.ThisHostUseEvrouter + "\"\n"; -        myfile << "EvrouterConfig=\"" + hostparm.ThisHostEvrouterConfig + "\"\n"; -        myfile << "dbhost=\""		+ hostparm.ThisDBhost         	+ "\"\n"; -        myfile << "Xres=\"" 		+ hostparm.ThisXres             + "\"\n"; -        myfile << "AutoShutdown=\""	+ hostparm.ThisAutodown		+ "\"\n"; -        myfile << "Shutdowntime=\""	+ hostparm.ThisShutdowntime	+ "\"\n"; -        myfile << "Shutdowntime2=\"" + hostparm.ThisShutdowntime2 + "\"\n"; -        myfile << "Wakeuptime=\""	+ hostparm.ThisWakeuptime	+ "\"\n"; -        myfile << "UseNVRAM=\""		+ hostparm.ThisUseNVRAM		+ "\"\n"; -        myfile << "UseWOL=\""		+ hostparm.ThisUseWOL		+ "\"\n"; -        myfile << "KeepPackages=\""	+ hostparm.ThisKeepPackage	+ "\"\n"; -        myfile << "UseMythWelcome=\""	+ hostparm.ThisMythWelcome	+ "\"\n"; -        myfile << "HaveCentralNFS=\""   + hostparm.ThisHaveNFS          + "\"\n"; -        myfile << "NFSserver=\""        + hostparm.ThisNFSserver        + "\"\n"; -        myfile << "NFSmount=\""         + hostparm.ThisNFSmountpoint    + "\"\n"; -        myfile << "Hostupdateplan=\""   + hostparm.ThisHostupdateplan   + "\"\n"; -        myfile << "ShowTips=\""         + hostparm.ThisShowToolTips     + "\"\n"; -        myfile << "PKG_MIRROR=\""       + hostparm.ThisHostPKG_MIRROR   + "\"\n"; -        myfile << "RunFrontend=\""      + hostparm.ThisRunfrontend      + "\"\n"; -        myfile << "zipcode=\""          + hostparm.ThisHostZipcode + "\"\n"; -        myfile << "ncidclient=\""       + hostparm.ThisHostncidClient + "\"\n"; -        myfile << "Runncidd=\""        + hostparm.ThisHostncidDaemon +  "\"\n"; -        myfile <<  "nciddSerialPort=\""      + hostparm.ThisHostSerialPortncid +  "\"\n"; -        myfile << "Usebootsplash=\""        + hostparm.ThisHostbootsplash + "\"\n"; -        myfile << "LCDtype=\"" + hostparm.ThisHostLCDType + "\"\n"; -        myfile << "RemoteBackup=\"" + hostparm.ThisHostRemoteBackup + "\"\n"; -        myfile << "RemoteBackupDir=\"" + hostparm.ThisHostRemoteBackupDir + "\"\n"; - - -        systemheader= "\n#X display settings \n"  ; -        myfile << systemheader ; -        myfile << "XIgnoreConfig=\""        + hostparm.ThisXIgnoreConfig    + "\"\n"; -        myfile << "Xcardtype=\""              + hostparm.ThisXcardtype     + "\"\n"; -        myfile << "XUseAdvanced=\""       + hostparm.ThisXUseAdvanced + "\"\n"; -        myfile << "XIgnoreEDID=\""         + hostparm.ThisXIgnoreEDID  + "\"\n"; -        myfile << "Xconnection=\""           + hostparm.ThisXconnection  + "\"\n"; -        myfile << "XHsync=\""                  + hostparm.ThisXHsync  + "\"\n"; -        myfile << "XVrefresh=\""              + hostparm.ThisXVrefresh+ "\"\n"; -        myfile << "Xresadvanced=\""        + hostparm.ThisXresadvanced + "\"\n"; -        myfile << "XTVstandard=\""         +  hostparm.ThisXTVstandard +  "\"\n"; -        myfile << "XTVconnection=\""      +  hostparm.ThisXTVconnection +  "\"\n"; -        myfile << "XDisplaysize=\""         + hostparm.ThisXDisplaysize + "\"\n"; -        myfile << "XnVidia1080p=\""         + hostparm.ThisHostXNvidia1080p+ "\"\n"; -        myfile << "XnVidia1080i=\""         + hostparm.ThisHostXNvidia1080i+ "\"\n"; -        myfile << "XnVidia720p=\""         + hostparm.ThisHostXNvidia720p+ "\"\n"; -        myfile << "XnVidia480p=\""         + hostparm.ThisHostXNvidia480p+ "\"\n"; - -        systemheader= "\n#Audio settings\n"  ; -        myfile << systemheader ; -        myfile << "Audiotype=\""            + hostparm.ThisHostAudiotype + "\"\n"; -        myfile << "Audiotypeout=\""            + hostparm.ThisHostSoundTypeout + "\"\n"; -        myfile << "SoundDevice=\""    + hostparm.ThisHostSoundDevice+  "\"\n"; -        myfile << "syncXine=\""   + hostparm.ThisHostsyncXine + "\"\n"; -        myfile << "syncMplayer=\""   + hostparm.ThisHostsyncMplayer + "\"\n"; -        myfile << "syncMythMusic=\""   + hostparm.ThisHostsyncMythMusic + "\"\n"; -        myfile << "syncMythFrontend=\""   + hostparm.ThisHostsyncMythFrontend + "\"\n"; - - -        systemheader= "\n#Software settings\n"  ; -        myfile << systemheader ; -        myfile << "mytharchive=\"" + hostparm.ThisHostpluginmytharchive + "\"\n"; -        myfile << "mythbrowser=\"" + hostparm.ThisHostpluginmythbrowser + "\"\n"; -        myfile << "mythcontrols=\"" + hostparm.ThisHostpluginmythcontrols + "\"\n"; -        myfile << "mythflix=\"" + hostparm.ThisHostpluginmythflix + "\"\n"; -        myfile << "mythgallery=\"" + hostparm.ThisHostpluginmythgallery + "\"\n"; -        myfile << "mythgame=\"" + hostparm.ThisHostpluginmythgame + "\"\n"; -        myfile << "mythmovietime=\"" + hostparm.ThisHostpluginmythmovietime + "\"\n"; -        myfile << "mythmusic=\"" + hostparm.ThisHostpluginmythmusic + "\"\n"; -        myfile << "mythnews=\"" + hostparm.ThisHostpluginmythnews + "\"\n"; -        myfile << "mythphone=\"" + hostparm.ThisHostpluginmythphone + "\"\n"; -        myfile << "mythsmolt=\"" + hostparm.ThisHostpluginmythsmolt + "\"\n"; -        myfile << "mythvideo=\"" + hostparm.ThisHostpluginmythvideo + "\"\n"; -        myfile << "mythweather=\"" + hostparm.ThisHostpluginmythweather + "\"\n"; -        myfile << "mythzoneminder=\"" + hostparm.ThisHostpluginmythzoneminder + "\"\n"; - -        myfile << "fceu=\"" + hostparm.ThisHostpluginmythgameFceu + "\"\n"; -        myfile << "zsnes=\"" + hostparm.ThisHostpluginmythgameZsnes + "\"\n"; -        myfile << "mame=\"" + hostparm.ThisHostpluginmythgameMame + "\"\n"; -        myfile << "dvdcss=\"" + hostparm.ThisHostpluginmythvideo_dvdcss + "\"\n"; - -        myfile << "mythappletrailers=\"" + hostparm.ThisHostpluginmythappletrailers + "\"\n"; -        myfile << "mythstream=\"" + hostparm.ThisHostpluginmythstream + "\"\n"; -        myfile << "mythvodka=\"" +hostparm.ThisHostpluginmythvodka + "\"\n"; -        myfile << "miro=\"" + hostparm.ThisHostMiro + "\"\n"; -        myfile << "mednafen=\"" + hostparm.ThisHostpluginmythgameMednafen + "\"\n"; -        myfile << "romdb=\"" + hostparm.ThisHostpluginmythgameROMDB + "\"\n"; -        myfile << "xine=\"" + hostparm.ThisHostXine  + "\"\n"; -        myfile << "webmin=\"" + hostparm.ThisHostwebmin  + "\"\n"; -        myfile << "fuppes=\"" + hostparm.ThisHostfuppes  + "\"\n"; -        myfile << "foldingathome=\"" + hostparm.ThisHostfoldingathome  + "\"\n"; -        myfile << "foldingusername=\"" + hostparm.ThisHostfoldingusername  + "\"\n"; -        myfile << "foldingworksize=\"" + hostparm.ThisHostfoldingworksize  + "\"\n"; - - - -        myfile << "DDnslogin=\"" +     hostparm.ThisHostDDnslogin + "\"\n"; -        myfile << "DDnspassword=\"" + hostparm.ThisHostDDnspassword + "\"\n"; -        myfile << "DDnshostname=\"" +   hostparm.ThisHostDDnshostname + "\"\n"; -        myfile << "DDnsEnable=\"" +    hostparm.ThisHostDDnsEnable + "\"\n"; -        myfile << "Screensavertype=\"" + hostparm.ThisHostscreensavertype + "\"\n"; -        myfile << "Screensaveridle=\"" + hostparm.ThisHostscreensaveridle + "\"\n"; -        myfile << "Screensavertheme=\"" + hostparm.ThisHostscreensavertheme + "\"\n"; - -        systemheader="\n#IR settings\n"  ; -        myfile << systemheader ; -        myfile << "Remotetype=\""     + hostparm.ThisRemote       + "\"\n"; -        //myfile << "Blastertype=\""  + hostparm.ThisBlaster      + "\"\n"; -        myfile << "ReceiverType=\"" + hostparm.ThisReceiverType     + "\"\n"; -        myfile << "HostLircWait=\"" + hostparm.ThisHostLircWait + "\"\n"; -        myfile << "ReceiverSerialport=\"" + hostparm.ThisHostSerialPortlirc + "\"\n"; -        myfile << "HostTransmitproto_1=\"" +  hostparm.ThisHostTransmitproto_1 + "\"\n"; -        myfile << "HostTransmitproto_2=\"" +  hostparm.ThisHostTransmitproto_2 + "\"\n"; -        myfile << "HostTransmitproto_3=\"" +  hostparm.ThisHostTransmitproto_3 + "\"\n"; -        myfile << "HostTransmitproto_4=\"" +  hostparm.ThisHostTransmitproto_4 + "\"\n"; - -        myfile << "HostBlasterType=\"" + hostparm.ThisHostBlasterType + "\"\n"; -        myfile << "HostSerialPort_blasterlirc=\"" +  hostparm.ThisHostSerialPort_blasterlirc + "\"\n"; -        myfile << "Hostnumblaster=\"" + hostparm.ThisHostnumblaster + "\"\n"; -        myfile << "rootSSH=\"" + hostparm.ThisHOSTrootSSH  + "\"\n"; - -    myfile.close(); - -} - - -MythInstallSettings::MythInstallSettings() -{ -    VerticalConfigurationGroup* vcg =   new VerticalConfigurationGroup(false,false,true,true); -    VerticalConfigurationGroup* denied =  new VerticalConfigurationGroup(false,false,true,true); -    TransLabelSetting *deniedlabel = new TransLabelSetting(); -    deniedlabel->setValue("                You do not have access to this screen  " );              denied->addChild(deniedlabel); -    if  ( displaymysqlonly  ) -        { -            vcg->addChild(HostMysqlserverip_listbox()); -            vcg->addChild(ThemePainter()); -            addChild(vcg); -        } -        else -        { -            vcg->setLabel(QObject::tr("Host Settings")); -            // Check to see if screen should appear -            if ( displayshownetwork ) -            { -            //Check to see if screen is allowed to appear -                if (  ((gContext->GetSetting("Hostaccessnetwork"))  == "0" )  ) -                    { -                        denied ->setLabel(QObject::tr("Host Settings")); -                        addChild(denied); -                    } -                else -                { - -                    hostparm.ThisHostnetOLD = gContext ->GetSetting("HostNetDevice"); -                    QString s = "HostActiveonboot"; -                    s+=hostparm.ThisHostnetOLD; -                    hostparm.ThisHostnetActiveOLD = gContext ->GetSetting(s); -                    MSqlQuery query(MSqlQuery::InitCon()); -                    query.prepare( "delete from settings where  hostname=:HOSTNAME  and value = 'HOSTNetDevice';  "  ); -                    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -                    query.exec(); - - -                    VerticalConfigurationGroup* networksettings =  new VerticalConfigurationGroup(false,true    ,false,false); -                    networksettings->addChild(HostMyhostname()); -                    networksettings->addChild(HostDHCPHostname()); -                    networksettings ->setLabel(QObject::tr("Network Settings Page (1/2)")); - -                    NetworkSettingsFrame *netsettingsframe = new NetworkSettingsFrame(); -                    addChild(networksettings); -                    addChild(netsettingsframe); - -                }; -            } - -            if ( displayshowhostype ) -            { -            if (  ((gContext->GetSetting("Hostaccesshostype")) =="0" )) -                { -                    denied ->setLabel(QObject::tr("System type")); -                    addChild(denied); -                } -                else -                { -                    SystemtypeGroup *systemtypegroup = new SystemtypeGroup(); -                    vcg->addChild(systemtypegroup); -                    addChild(vcg); -                } -            } - -            if ( displayshowmisc ) -            { -            if ( ((gContext->GetSetting("Hostaccessmisc")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("NFS Settings")); -                    addChild(denied); -                } -                else -                { -                     MiscMainFrame *miscsettings = new MiscMainFrame(); -                    MiscMainFrame2 *miscsettings2 = new MiscMainFrame2(); -                     addChild(miscsettings); -                     addChild(miscsettings2); -                } -            } -            if ( displayshowshutdown ) -            { -                if ( ((gContext->GetSetting("Hostaccesssleep")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("WOL settings")); -                    addChild(denied); -                } -                else -                { -                    WakeSettings *wakesettings = new WakeSettings(); -                    addChild(wakesettings); -                } -            } -            if ( displayshowadvanced ) -            { -                if ( ((gContext->GetSetting("Hostaccessadvanced")) == "0" ) ) -                { -                    denied ->setLabel(QObject::tr("Advaned Settings")); -                    addChild(denied); -                } -                else -                { -                    AdvancedSettings *advancedsettings = new AdvancedSettings(); -                    AdvancedSettings_2 *advancedsettings_2 = new AdvancedSettings_2(); - -                   // Screensaverhostsettings  *advancedsettings_3 = new Screensaverhostsettings(); -//                     advancedsettings_3 ->setLabel(QObject::tr("Advanced settings page 3")); - - -                    addChild(advancedsettings); -                    addChild(advancedsettings_2); -                 //   addChild(advancedsettings_3); -                } -            } -            if ( displayshowsound ) -            { -                if ( ((gContext->GetSetting("Hostaccesssound")) =="0") ) -                { -                    denied ->setLabel(QObject::tr("Sound Settings")); -                    addChild(denied); -                } -                else -                { -                    //remove old sound card setting from the db.  This is useful for when the saved setting is no longer valid for this machine. -                    // Later search the list and set the value to the old setting if found in the dropdown. -                    hostparm.OLDHostSoundOSSAnalog = gContext ->GetSetting("HostSoundOssAnalog"); -                    hostparm.OLDHostSoundOSSDigital = gContext ->GetSetting("HostSoundOssDigital"); -                    hostparm.OLDHostSoundALSAAnalog = gContext ->GetSetting("HostSoundALSAAnalog"); -                    hostparm.OLDHostSoundALSADigital= gContext ->GetSetting("HostSoundALSADigital"); - - -                    MSqlQuery query(MSqlQuery::InitCon()); -                    query.prepare( "delete from settings where  hostname=:HOSTNAME  and value = 'HOSTSoundOssAnalog';  "  ); -                    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -                    query.exec(); -                    query.prepare( "delete from settings where  hostname=:HOSTNAME  and value = 'HOSTSoundALSAAnalog';  "  ); -                    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -                    query.exec(); -                    query.prepare( "delete from settings where  hostname=:HOSTNAME  and value = 'HOSTSoundALSADigital';  "  ); -                    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -                    query.exec(); -                    query.prepare( "delete from settings where  hostname=:HOSTNAME  and value = 'HOSTSoundOssDigital';  "  ); -                    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -                    query.exec(); - - -                    SoundSettings *soundsettings = new SoundSettings(); -                    addChild(soundsettings); -                } -            } -            if ( displayshowadvancedX ) -            { -                if ( ((gContext->GetSetting("HostaccessadvancedX")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("AdvancedX Settings")); -                    addChild(denied); -                    } -                    else -                    { -                        AdvancedXSettings *advancedXsettings = new AdvancedXSettings(); -                        addChild(advancedXsettings); -                    } -            } -            if ( displayaccesscontrol ) -            { -                VerticalConfigurationGroup* accessettings = -                     new VerticalConfigurationGroup(false, true,false,false);; -                ConfigurationGroup *GridAccess = -                    new GridConfigurationGroup(2,false,false,false,false); - -                GridAccess->addChild(Hostaccessmisc()); -                GridAccess->addChild(Hostaccesssleep()); -                GridAccess->addChild(Hostaccessadvanced()); -                GridAccess->addChild(HostaccessadvancedX()); -                GridAccess->addChild(Hostaccesssound()); -                GridAccess->addChild(Hostaccessplugins()); -//                GridAccess->addChild(Hostaccessuser()); -                GridAccess->addChild(Hostaccesswebuser()); - -                accessettings->addChild(Hostaccessnetwork()); -                accessettings->addChild(new ACCESShostsettings); -                accessettings->addChild(GridAccess); -                accessettings ->setLabel(QObject::tr("Access control")); -                addChild(accessettings); -            } - -            if ( displayplugins ) -            { -                if ( ((gContext->GetSetting("Hostaccessplugins")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("Plugins")); -                    addChild(denied); -                } -                else -                { -                    ConfigurationGroup *GridShowPlugin = new GridConfigurationGroup(2); -                    GridShowPlugin->addChild(Hostpluginmytharchive()); -                    GridShowPlugin->addChild(Hostpluginmythbrowser()); -                    GridShowPlugin->addChild(Hostpluginmythcontrols()); -                    GridShowPlugin->addChild(Hostpluginmythflix()); -                    GridShowPlugin->addChild(Hostpluginmythgallery()); -                    GridShowPlugin->addChild(Hostpluginmythmovietime()); - -                    ConfigurationGroup *GridShowPlugin2 = new GridConfigurationGroup(2); -                    GridShowPlugin2->addChild(Hostpluginmythmusic()); -                    GridShowPlugin2->addChild(Hostpluginmythnews()); -                    GridShowPlugin2->addChild(Hostpluginmythphone()); -                    GridShowPlugin2->addChild(Hostpluginmythsmolt()); -                    GridShowPlugin2->addChild(Hostpluginmythweather()); -                    GridShowPlugin2->addChild(Hostpluginmythzoneminder()); - -                    ConfigurationGroup *GridShowPlugin4 = new GridConfigurationGroup(2); -                    GridShowPlugin4->addChild(Hostpluginmythappletrailers()); -                    GridShowPlugin4->addChild(Hostpluginmythstream()); -                    GridShowPlugin4->addChild(Hostpluginmythvodka()); -                    GridShowPlugin4->addChild(HostMiro()); -                    GridShowPlugin4->addChild(HostXine()); -                    GridShowPlugin4->addChild(Hostwebmin()); - -                    ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2); -                    GridShowPlugin5->addChild(Hostfuppes()); - -		    ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(true,true); -                    GridShowPlugin6->addChild(Hostfoldingathome()); -                    GridShowPlugin6->addChild(Hostfoldingusername()); -                    GridShowPlugin6->addChild(Hostfoldingworksize()); - -                    ConfigurationGroup *Mythvideoplugin = new HorizontalConfigurationGroup(); -                        Mythvideoplugin->addChild(Hostpluginmythvideo()); -                        Mythvideoplugin->addChild(Hostpluginmythvideo_dvdcss()); - - -                    ConfigurationGroup *GridShowPlugin3 = new VerticalConfigurationGroup(true,true); -                    GridShowPlugin3->addChild(new MythGamesettings); -                    GridShowPlugin3->addChild(Mythvideoplugin); - - - -                    addChild(GridShowPlugin); -                    addChild(GridShowPlugin2); -                    addChild(GridShowPlugin3); -                    addChild(GridShowPlugin4); -                    addChild(GridShowPlugin5); -                    addChild(GridShowPlugin6); -                } -            } -            if ( displayuser ) -            { -                if ( ((gContext->GetSetting("Hostaccessuser")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("User Management")); -                    addChild(denied); -                } -                else -                { -                    UserManagement *usermanagement = new UserManagement(); -                    addChild(usermanagement); -                } -            } - -            if ( displaywebuser ) -            { -                if ( ((gContext->GetSetting("Hostaccesswebuser")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("Web security")); -                    addChild(denied); -                } -                else -                { -                    WebPasswordFrame *webpasswordframe = new WebPasswordFrame(); -                    addChild(webpasswordframe); - -                } - -            } -            if ( displayddns ) -            { -                if ( ((gContext->GetSetting("Hostaccessddns")) == "0" )) -                { -                    denied ->setLabel(QObject::tr("DDNS security")); -                    addChild(denied); -                } -                else -                { -                    DDnssettings *ddnsframe = new DDnssettings(); -                    addChild(ddnsframe); -                } -            } -            if ( displayinfrared ) -            { -//                 if ( ((gContext->GetSetting("Hostaccessddns")) == "0" )) -//                 { -//                     denied ->setLabel(QObject::tr("DDNS security")); -//                     addChild(denied); -//                 } -//                 else -//                 { -                    VERBOSE(VB_IMPORTANT, "LIRC"); -                    IRFrame *irframe = new IRFrame(); -                    IR_TransmitFrame *transmitframe =  new IR_TransmitFrame(); -                    LCDFrame     *lcdframe = new LCDFrame(); -                    addChild(irframe); -                    addChild(transmitframe); -                    addChild(lcdframe); -                //} -            } -            if ( displayscreensaver ) -            { -//                 if ( ((gContext->GetSetting("Hostaccessddns")) == "0" )) -//                 { -//                     denied ->setLabel(QObject::tr("DDNS security")); -//                     addChild(denied); -//                 } -//                 else -//                 { -                    VERBOSE(VB_IMPORTANT, "screensaver"); -                    Screensaverhostsettings  *screensaver = new Screensaverhostsettings(); -                    addChild(screensaver); -                //} -            } -        } - -}; - diff --git a/abs/core/mythinstall/installsettings.h b/abs/core/mythinstall/installsettings.h deleted file mode 100755 index 0df1d4e..0000000 --- a/abs/core/mythinstall/installsettings.h +++ /dev/null @@ -1,489 +0,0 @@ -#ifndef WELCOMESETTINGS_H -#define WELCOMESETTINGS_H - -#include <settings.h> -#include "mythdialogs.h" -#include "libmyth/mythdialogs.h" -#include "libmyth/mythwidgets.h" - - -class SystemtypeGroup: public TriggeredConfigurationGroup { -Q_OBJECT -public: -  SystemtypeGroup(); -  HostComboBox  *HostSystemType; -public slots: -        void SystemtypeHelp(); -}; - -//------------------------------------------- -class NetworkSettingseth0: -                    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    NetworkSettingseth0(); - -   HostLineEdit *HostIPeth0; -   HostComboBox *HostNETMASKeth0; -   HostLineEdit *HostGWeth0; -   HostLineEdit *HostDNSeth0; -   HostCheckBox *HostActiveonbooteth0; -   HostCheckBox *HostUseDHCPeth0 ; -   HostCheckBox *HostDefaulteth0; -   TransButtonSetting *wirelessbuttoneth0; - -signals: -      void eth0_is_default(void); -public slots: -    void eth0_wireless_settings(); -    void eth0_disable_others(); -    void eth0_disabled(); -    void eth0_wireless_disable(); -}; - -class eth0options : public ConfigurationWizard -{ -public: -    eth0options(); -}; - - -class NetworkSettingseth1: -                    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    NetworkSettingseth1(); - -   HostLineEdit  *HostIPeth1; -   HostComboBox *HostNETMASKeth1; -   HostLineEdit *HostGWeth1; -   HostLineEdit *HostDNSeth1; -   HostCheckBox *HostActiveonbooteth1; -   HostCheckBox *HostUseDHCPeth1 ; -   HostCheckBox *HostDefaulteth1; -   TransButtonSetting *wirelessbuttoneth1; -signals: -      void eth1_is_default(void); -public slots: -    void eth1_wireless_settings(); -    void eth1_disable_others(); -    void eth1_disabled(); -    void eth1_wireless_disable(); -}; - -class eth1options : public ConfigurationWizard -{ -public: -    eth1options(); -}; - - - -class NetworkSettingswlan0: -                    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    NetworkSettingswlan0(); - -   HostLineEdit  *HostIPwlan0; -   HostComboBox *HostNETMASKwlan0; -   HostLineEdit *HostGWwlan0; -   HostLineEdit *HostDNSwlan0; -   HostCheckBox *HostActiveonbootwlan0; -   HostCheckBox *HostUseDHCPwlan0 ; -   HostCheckBox *HostDefaultwlan0; -   TransButtonSetting *wirelessbuttonwlan0; -signals: -      void wlan0_is_default(void); -public slots: -    void wlan0_wireless_settings(); -    void wlan0_disable_others(); -    void wlan0_disabled(); -    void wlan0_wireless_disable(); -}; - -class Wlan0options : public ConfigurationWizard -{ -public: -    Wlan0options(); -}; - - -class NetworkSettingswlan1: -                    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    NetworkSettingswlan1(); - -   HostLineEdit *HostIPwlan1; -   HostComboBox *HostNETMASKwlan1; -   HostLineEdit *HostGWwlan1; -   HostLineEdit *HostDNSwlan1; -   HostCheckBox *HostActiveonbootwlan1; -   HostCheckBox *HostUseDHCPwlan1 ; -   HostCheckBox *HostDefaultwlan1; -   TransButtonSetting *wirelessbuttonwlan1; -signals: -      void wlan1_is_default(void); -public slots: -    void wlan1_wireless_settings(); -    void wlan1_disable_others(); -    void wlan1_disabled(); -    void wlan1_wireless_disable(); -}; - -class wlan1options : public ConfigurationWizard -{ -public: -    wlan1options(); -}; - - - -class NetworkSettingsath0: -                    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    NetworkSettingsath0(); - -   HostLineEdit *HostIPath0; -   HostComboBox *HostNETMASKath0; -   HostLineEdit *HostGWath0; -   HostLineEdit *HostDNSath0; -   HostCheckBox *HostActiveonbootath0; -   HostCheckBox *HostUseDHCPath0 ; -   HostCheckBox *HostDefaultath0; -   TransButtonSetting *wirelessbuttonath0; -signals: -      void ath0_is_default(void); -public slots: -    void ath0_wireless_settings(); -    void ath0_disable_others(); -    void ath0_disabled(); -    void ath0_wireless_disable(); -}; - -class ath0options : public ConfigurationWizard -{ -public: -    ath0options(); -}; - - - -//-------------------------------------------- - - -class SoundSettings:    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    SoundSettings(); -    HostComboBox *HostAudiotype; -    HostCheckBox *HostsyncXine; -    HostCheckBox *HostsyncMplayer; -    HostCheckBox *HostsyncMythMusic; -    HostCheckBox *HostsyncMythFrontend; - - -signals: -        void oss_sig(void); -        void alsa_sig(void); -public slots: -    void soundossgathersettings_1(); -    void soundalsagathersettings_1(); - -}; - - -class SoundOSSsettings: public TriggeredConfigurationGroup { -Q_OBJECT -public: -    SoundOSSsettings(); -    HostComboBox *HostSoundOssAnalog; -    HostComboBox *HostSoundOssDigital; -    HostComboBox *HostSoundTypeout; -    void fillossselection(); -public slots: -    void soundossgathersettings(); -    void loadossdriver(); -}; - -class SoundALSAsettings: public TriggeredConfigurationGroup { -Q_OBJECT -public: -    SoundALSAsettings(); -    HostComboBox *HostSoundALSAAnalog; -    HostComboBox *HostSoundALSADigital; -    HostComboBox *HostSoundALSATypeout; -    void fillALSAselection(); -public slots: -    void soundalsagathersettings(); -    void loadalsadriver(); - -}; - - -//############################################ -class MythInstallSettings:  public ConfigurationWizard -{ - -public: -    MythInstallSettings(); -    void testme(); -private: -    MythPopupBox *popup; - -}; - - - - -class HostRemoteType: public HostImageSelect { -public: -    HostRemoteType(); -}; - - - -#define MV_ROOT "/usr/MythVantage/" -int runsettings(bool = false , bool = false ,  bool = false ,bool = false ,bool = false, bool = false,bool = false,bool = false , bool = false , bool = false , bool = false, bool = false , bool = false , bool = false , bool = false); -//void ReadDDCifno(void); -void run_systemconfig(QString,bool = false,QString = ""); -void writesettings(); - -//void testXconfiguration(); - - - - - -struct HostParms -{ -        QString ThisHostName; -        QString ThisHostDHCPhostname; - -        QString ThisHostIP; -        QString ThisNETMASK; -        QString ThisGW; -        QString ThisDNS; -        QString ThisDHCP; -        QString ThisHostnetOLD; -        QString ThisHostnetActiveOLD; - -        QString ThisHostDefaultInterface; -        QString ThisHostIPeth0; -        QString ThisHostNETMASKeth0; -        QString ThisHostDNSeth0; -        QString ThisHostUSEDHCPeth0; -        QString ThisHostGWeth0; -        QString ThisHOST_iswirelesseth0; -        QString ThisHostActiveonbooteth0; -        QString ThisHOSTESSIDeth0; -        QString ThisHostUseEncryptioneth0; -        QString ThisHostkeyeth0; -        QString ThisHostMTUeth0; - - -        QString ThisHostIPeth1; -        QString ThisHostNETMASKeth1; -        QString ThisHostDNSeth1; -        QString ThisHostUSEDHCPeth1; -        QString ThisHostGWeth1; -        QString ThisHostActiveonbooteth1 ; -        QString ThisHOST_iswirelesseth1; -        QString ThisHOSTESSIDeth1; -        QString ThisHostUseEncryptioneth1; -        QString ThisHostkeyeth1; -        QString ThisHostMTUeth1; - -        QString ThisHostIPwlan0; -        QString ThisHostNETMASKwlan0; -        QString ThisHostDNSwlan0; -        QString ThisHostUSEDHCPwlan0; -        QString ThisHostGWwlan0; -        QString ThisHostActiveonbootwlan0; -        QString ThisHOST_iswirelesswlan0; -        QString ThisHOSTESSIDwlan0; -        QString ThisHostUseEncryptionwlan0; -        QString ThisHostkeywlan0; -        QString ThisHostMTUwlan0; - - -        QString ThisHostIPwlan1; -        QString ThisHostNETMASKwlan1; -        QString ThisHostDNSwlan1; -        QString ThisHostUSEDHCPwlan1; -        QString ThisHostGWwlan1; -        QString ThisHostActiveonbootwlan1; -        QString ThisHOST_iswirelesswlan1; -        QString ThisHOSTESSIDwlan1; -        QString ThisHostUseEncryptionwlan1; -        QString ThisHostkeywlan1; -        QString ThisHostMTUwlan1; - -        QString ThisHostIPath0; -        QString ThisHostNETMASKath0; -        QString ThisHostDNSath0; -        QString ThisHostUSEDHCPath0; -        QString ThisHostGWath0; -        QString ThisHostActiveonbootath0; -        QString ThisHOST_iswirelessath0; -        QString ThisHOSTESSIDath0; -        QString ThisHostUseEncryptionath0; -        QString ThisHostkeyath0; -        QString ThisHostMTUath0; - - -        QString ThisRemote; -        QString ThisTimeZone; -        QString ThisSamba; -        QString ThisHostServiceSamba_media; -        QString ThisHostServiceSamba_home; -        QString ThisHostServiceSamba_writehome; -        QString ThisHostServiceSamba_write; -        QString ThisHostServiceSamba_domain; -        QString ThisNFS; -        QString ThisMythWEB; -        QString ThisHostwebauth; -        QString ThisHostServiceHobbit; -        QString ThisHostServiceRRD; - -        QString ThisHostRunDHCP; -        QString ThisSystemType; -//        QString ThisBlaster; - -        QString ThisHostTransmitproto_1; -        QString ThisHostTransmitproto_2; -        QString ThisHostTransmitproto_3; -        QString ThisHostTransmitproto_4; -        QString ThisHostBlasterType; -        QString ThisHostSerialPort_blasterlirc; -        QString ThisHostnumblaster; - -        QString ThisReceiverType; -        QString ThisHostLircWait; -        QString ThisHostSerialPortlirc; -        QString ThisHostUseEvrouter; -        QString ThisHostEvrouterConfig; -        QString ThisDBhost; -        QString ThisXres; -        QString ThisShutdowntime; -        QString ThisShutdowntime2; -        QString ThisWakeuptime; -        QString ThisAutodown; -        QString ThisUseNVRAM; -        QString ThisUseWOL; -        QString ThisKeepPackage; -        QString ThisMythWelcome; -        QString ThisHaveNFS; -        QString ThisNFSserver; -        QString ThisNFSmountpoint; -        QString ThisHostupdateplan; -       // QString ThisOSS; -        QString ThisShowToolTips; -        QString ThisHostPKG_MIRROR; -        QString ThisRunfrontend; -        QString ThisHostZipcode; -        QString ThisHostncidClient; -        QString ThisHostncidDaemon; -        QString ThisHostSerialPortncid; -        QString ThisHostbootsplash; -        QString ThisXIgnoreConfig; -        QString ThisXcardtype; -        QString ThisXUseAdvanced; -        QString ThisXIgnoreEDID; -        QString ThisXconnection; -        QString ThisXHsync; -        QString ThisXVrefresh; -        QString ThisXresadvanced; -        QString ThisXTVstandard; -        QString ThisXTVconnection; -        QString ThisXDisplaysize ; - -        QString ThisHostXNvidia1080p; -        QString ThisHostXNvidia1080i; -        QString ThisHostXNvidia720p; -        QString ThisHostXNvidia480p; -        QString ThisHostAudiotype; - -        QString ThisHostSoundTypeout; -        QString ThisHostSoundOSSAnalog; -        QString OLDHostSoundOSSAnalog; -        QString ThisHostSoundOSSDigital; -        QString OLDHostSoundOSSDigital; - -        QString ThisHostSoundDigital; -        QString ThisHostSoundDevice; - -        QString ThisHostSoundALSAAnalog; -        QString OLDHostSoundALSAAnalog; -        QString ThisHostSoundALSADigital; -        QString OLDHostSoundALSADigital; -        QString ThisHostSoundALSATypeout; - - -        QString ThisHostsyncXine; -        QString ThisHostsyncMplayer; -        QString ThisHostsyncMythMusic; -        QString ThisHostsyncMythFrontend; -        QString ThisHostLCDType; -        QString ThisHostRemoteBackup; -        QString ThisHostRemoteBackupDir; -        QString ThisHostpluginmytharchive; -        QString ThisHostpluginmythbrowser; -        QString ThisHostpluginmythcontrols; -        QString ThisHostpluginmythflix; -        QString ThisHostpluginmythgallery; -        QString ThisHostpluginmythgame; -        QString ThisHostpluginmythmovietime; -        QString ThisHostpluginmythmusic; -        QString ThisHostpluginmythnews; -        QString ThisHostpluginmythphone; -        QString ThisHostpluginmythsmolt; -        QString ThisHostpluginmythvideo; -        QString ThisHostpluginmythweather; -        QString ThisHostpluginmythzoneminder; -        QString ThisHostpluginmythgameFceu; -        QString ThisHostpluginmythgameZsnes; -        QString ThisHostpluginmythgameMame; -        QString ThisHostpluginmythvideo_dvdcss; -        QString ThisHostpluginmythappletrailers; -        QString ThisHostpluginmythstream; -        QString ThisHostpluginmythvodka; -        QString ThisHostMiro; -        QString ThisHostpluginmythgameMednafen; -        QString ThisHostpluginmythgameROMDB; -        QString ThisHostXine; -        QString ThisHostwebmin; -        QString ThisHostfuppes; -        QString ThisHostfoldingathome; -        QString ThisHostfoldingusername; -        QString ThisHostfoldingworksize; - -        QString ThisHostDDnslogin; -        QString ThisHostDDnspassword; -        QString ThisHostDDnshostname; -        QString ThisHostDDnsEnable; -        QString ThisHostscreensavertype; -        QString ThisHostscreensaveridle; -        QString ThisHostscreensavertheme; -        QString ThisHOSTrootSSH; -        bool displayshowadvancedX; - - -}; - -struct DDCinfo -{ -        QString XVrefresh; -        QString XHsync; -        QString Displaysize; -}; - - - - - - - -#endif diff --git a/abs/core/mythinstall/main.cpp b/abs/core/mythinstall/main.cpp deleted file mode 100755 index afee4ea..0000000 --- a/abs/core/mythinstall/main.cpp +++ /dev/null @@ -1,533 +0,0 @@ -#include <qapplication.h> -#include <cstdlib> -//#include "libmyth/mythdialogs.h" -#include "libmyth/mythcontext.h" -#include "libmyth/settings.h" -#include "libmyth/langsettings.h" -#include "libmyth/mythdbcon.h" -#include <libmyth/exitcodes.h> -#include "libmythtv/tv.h" -#include "installdialog.h" -#include "installsettings.h" -#include "password_manage.h" -#include "autocard.h" -#include "settemplate.h" -#include "mythdialogbox.h" -//#include "mv_common.h" - -#include <iostream> -#include <fstream> -#include <stdio.h> - -#include "libmyth/dialogbox.h" -#include <qlist.h> -#include <qvaluevector.h> -#include <qdir.h> -HostParms hostparm; -DDCinfo ddcinfo; - - -void initKeys(void) -{ -    REG_KEY("Welcome", "STARTXTERM", "Open an Xterm window", "F12"); -    REG_KEY("Welcome", "SHOWSETTINGS", "Show Mythshutdown settings", "F11"); -} - - -int main(int argc, char **argv) -{ -    bool bShowSettings = false; -    bool bShowNetwork = false; -    bool bShowHostype = false; -    bool bShowMisc = false; -    bool bShowshutdown = false; -    bool bShowadvanced = false; -    bool bShowsound = false; -    bool bShowadvancedX = false; -    bool bShowAccesscontrol = false; -    bool bShowplugins = false; -    bool bShowTemplate = false; -    bool bShowuser  = false; -    bool bShowwebuser = false; -    bool bRunSetup = false; -    bool bShowHelp = false; -    bool bShowReadme = false; -    bool bShowddns = false; -    bool bShowinfrared = false; -    bool bShowscreensaver = false; - -    QStringList template_c_line  ; -    QString modulelist = "" ; -    QString templateop=""; -    QString templatename=""; -    QString templatehostname=""; -    QApplication a(argc, argv); - -    gContext = NULL; -    gContext = new MythContext(MYTH_BINARY_VERSION); -    if (!gContext->Init()) -    { -        VERBOSE(VB_IMPORTANT, "mythwelcome: Could not initialize myth context. " -                        "Exiting."); -        return FRONTEND_EXIT_NO_MYTHCONTEXT; -    } - -    if (!MSqlQuery::testDBConnection()) -    { -        VERBOSE(VB_IMPORTANT, "mythwelcome: Could not open the database. " -                        "Exiting."); -        return -1; -    } - -    // Check command line arguments -    for (int argpos = 1; argpos < a.argc(); ++argpos) -    { - -        if (!strcmp(a.argv()[argpos],"-v") || -            !strcmp(a.argv()[argpos],"--verbose")) -        { -            if (a.argc()-1 > argpos) -            { -                if (parse_verbose_arg(a.argv()[argpos+1]) == -                        GENERIC_EXIT_INVALID_CMDLINE) -                    return FRONTEND_EXIT_INVALID_CMDLINE; - -                ++argpos; -            } -            else -            { -                cerr << "Missing argument to -v/--verbose option\n"; -                return FRONTEND_EXIT_INVALID_CMDLINE; -            } -        } -        else if (!strcmp(a.argv()[argpos],"-s") || -            !strcmp(a.argv()[argpos],"--setup")) -        { -            bShowSettings = true; -//--------------------------------------------- -        if (a.argc()-1 > argpos) -            { -                QString tmpArg = a.argv()[argpos+1]; -                if (tmpArg.startsWith("-")) -                { -                    cerr << "Invalid or missing argument to -s \n"; -                    return FRONTEND_EXIT_INVALID_CMDLINE; -                } - -                QStringList pairs = QStringList::split(",", tmpArg); -                for (unsigned int index = 0; index < pairs.size(); ++index) -                { -                    if ( pairs[index]  == "network" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowNetwork = true; -                            modulelist.append("network,"); -                        } -                        else if ( pairs[index]  == "misc" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowMisc = true; -                            modulelist.append("misc,"); -                        } -                        else if ( pairs[index]  == "sleep" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowshutdown = true; -                            modulelist.append("sleep,"); -                        } -                        else if ( pairs[index]  == "hostype" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowHostype = true; -                            modulelist.append("hostype,"); -                        } -                        else if ( pairs[index]  == "advanced" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowadvanced = true; -                            modulelist.append("advanced,"); -                        } -                        else if ( pairs[index]  == "sound" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowsound = true; -                            modulelist.append("audio,"); -                        } -                        else if ( pairs[index]  == "advancedX" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowadvancedX = true; -                            modulelist.append("advancedX,"); -                        } -                        else if ( pairs[index]  == "accesscontrol" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowAccesscontrol = true; -                            modulelist.append("accesscontrol,"); -                        } -                        else if ( pairs[index]  == "plugins" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowplugins = true; -                            modulelist.append("plugins,"); -                        } -                        else if ( pairs[index]  == "user" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowuser = true; -                            modulelist.append("user,"); -                        } -                        else if ( pairs[index]  == "webuser" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowwebuser = true; -                            modulelist.append("webuser,"); -                        } -                        else if ( pairs[index]  == "ddns" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowddns = true; -                            modulelist.append("ddns,"); -                        } -                        else if ( pairs[index]  == "ir" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowinfrared = true; -                            modulelist.append("ir,"); -                        } -                        else if ( pairs[index]  == "screensaver" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowscreensaver = true; -                            modulelist.append("screensaver,"); -                        } - -                } -            // return FRONTEND_EXIT_OK; -            } -            else -            { -            // if no args, then show the default steup. -            bShowNetwork = true; -            bShowHostype = true; -            bShowMisc = true; -            bShowuser = true; -            bShowshutdown = true; - -            modulelist="network,hostype,misc,sleep"; - -            } - -            ++argpos; - - -//--------------------------------------------- -        } -        else if (!strcmp(a.argv()[argpos],"-u")) -            bShowuser = true; -        else if (!strcmp(a.argv()[argpos],"-t")) -        { -            bShowTemplate = true; -        if (a.argc()-1 > argpos) -            { -                QString tmpArg = a.argv()[argpos+1]; -                if (tmpArg.startsWith("-")) -                { -                    cerr << "Invalid or missing argument to -t \n"; -                    return FRONTEND_EXIT_INVALID_CMDLINE; -                } -                template_c_line = QStringList::split(",", tmpArg); -                if ( template_c_line.size() != 0 ) -                    { -                    if  ( template_c_line.size()  >3     ||  template_c_line.size() <2 ) -                        { -                            cerr << "Invalid or missing argument to -t \n"; -                            return FRONTEND_EXIT_INVALID_CMDLINE; -                        } -                    } -                ++argpos; -        } - -        } -        else if (!strcmp(a.argv()[argpos],"-b")) -        { -            bRunSetup = true; -        } -        else if (!strcmp(a.argv()[argpos],"-h")) -        { -            bShowHelp = true; -        } -        else if (!strcmp(a.argv()[argpos],"-r")) -        { -            bShowReadme = true; -        } -        else -        { -            cerr << "Invalid argument: " << a.argv()[argpos] << endl << -                    "Valid options are: " << endl << -                    "-v or --verbose debug-level    Use '-v help' for level info" << endl << -                    "-b  run backend setup" << endl << -                    "-h for help screens  " << endl << -                    "-t show template screens  (op,tname,hname)" << endl << -                    "-s or --setup (network,hostype,misc,sleep,advanced,advancedX,sound,accesscontrol,                  user,webuser,ddns,ir,screensaver)" << endl; -            return FRONTEND_EXIT_INVALID_CMDLINE; -        } -    } - -    gContext->LoadQtConfig(); - -    LanguageSettings::load("mythfrontend"); - -    MythMainWindow *mainWindow = GetMythMainWindow(); -    // if parms were passed to -t then doen't init the screen. -    if (   template_c_line.size()  == 0 ) -    { -        gContext->SaveSetting("HOSTtemplatetype","Do Nothing" ); -        mainWindow->Init(); -        gContext->SetMainWindow(mainWindow); -    }; -        initKeys(); - - -    if (bShowSettings) -    { -        bool runconfig = false; -        system("cp -f /etc/systemconfig /tmp/systemconfig.bak"); -        QString olddb = gContext->GetSetting("HostMysqlserver"); -        QString oldhostype = gContext->GetSetting("HostSystemType"); -        runsettings(false,bShowNetwork,bShowHostype,bShowMisc,bShowshutdown,bShowadvanced,bShowsound,bShowadvancedX,bShowAccesscontrol,bShowplugins,bShowuser,bShowwebuser,bShowddns,bShowinfrared,bShowscreensaver); -        QString newdb = gContext->GetSetting("HostMysqlserver"); -        QString newhostype = gContext->GetSetting("HostSystemType"); -        int status = system("diff /tmp/systemconfig.bak /etc/systemconfig"); -        bool restart = false; - -        // save my settings in case db switches -        //cout << "save for the heck of it " << endl; -        QString cmdtxt; -        cmdtxt=MV_ROOT  ; -        cmdtxt.append("bin/restore_default_settings.sh -c save -t syssettings  -d "  + olddb); -        system(cmdtxt); -        //system("/root/restore_default_settings.sh -c save -t syssettings  -d "  + olddb); - -        if ( status != 0 ) -        { -                runconfig = true; -        } - -        if ( newdb != olddb ) -            { -            runconfig = true; -            restart = true; -            //db changed save setting from olddb -            // cout << "newdb_olddb" << endl; -            QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/restore_default_settings.sh -c save  -t  syssettings  -d " + olddb ) ; -                system(cmdtxt); -            //system("/root/restore_default_settings.sh -c save  -t  syssettings  -d " + olddb ) ; -            } - -        if ( runconfig ) -            { -                if ( newhostype != oldhostype ) -                    modulelist.append("hostypec,"); -                //trim off last , -                modulelist.truncate(modulelist.length()-1); - - -                cout << modulelist <<endl; -                QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/restore_default_settings.sh -c restore -t syssettings -d  "); -                QString dbcommand = cmdtxt; -                //QString dbcommand="/root/restore_default_settings.sh -c restore -t syssettings -d  "; -                dbcommand.append(newdb); -                //  cout << dbcommand << endl; -                run_systemconfig(modulelist,restart,dbcommand); -                //   cout << "running config" <<endl; -            } -        system("rm -f /tmp/systemconfig.bak"); - -        if ( restart ) -           { -                //restore settings to new database -                //cout << " restoreing settings to new db" << endl; -                //system("/root/restore_default_settings.sh save   syssettings  " + olddb ) ; -            // system("/root/restore_default_settings.sh restore syssettings " + newdb) ; -                    DialogBox *dia = NULL; -                QString prompt; -                QString *problems = new QString("The network address of the database has changed."); -                problems->append("\n"); -                problems->append("The frontend will need to restart to connect to the new database."); -                problems->append("\n"); -                dia = new DialogBox(mainWindow, problems->append("\n" )); -                dia->AddButton(QObject::tr("OK")); -                int returncode = 0; -                returncode = dia->exec(); -                dia->deleteLater(); -                cout << "restarting" << endl; -                //system("/root/systemconfig.sh  restartfe" ); -                QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/systemconfig.sh  reloadfe" ); -                system(cmdtxt); -            } - -    } -    else if (bShowTemplate) -    { -    //  cout << templateparms << endl; -        if ( template_c_line.size() == 2) -        { -                templateop=template_c_line[0]; -                templatename=template_c_line[1]; -        } -        else if ( template_c_line.size() == 3) -        { -            templateop=template_c_line[0]; -            templatename=template_c_line[1]; -            templatehostname=template_c_line[2]; -        }; -        choosetemplate(templateop,templatename,templatehostname); -    } - -    else if (bRunSetup) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString *problems = new QString("To configure the TV cards and program guide the setup program needs to be run."); -        problems->append("\n"); -        problems->append("\n"); - -        problems->append("For those in North America, guide data is provided by Schedules Direct."); -        problems->append("\n"); -        problems->append("Visit  http://www.schedulesdirect.org/  to signup for your account today"); -        problems->append("\n");         problems->append("\n");          problems->append("\n"); - -        problems->append("If you choose to not run mythtv-setup now, the program can be run at any time by typing mythtv-setup or hitting ALT+s"); -        problems->append("\n"); - -        problems->append("\n"); -        prompt = QObject::tr("Do you wish to run mythtv-setup ?"); - -            dia = new DialogBox(mainWindow, problems->append("\n" + prompt)); -            dia->AddButton(QObject::tr("Yes")); -            dia->AddButton(QObject::tr("Yes and try to autodetect cards")); -            dia->AddButton(QObject::tr("No")); -            int returncode = 0; -            //returncode = dia->exec(); -            DialogCode dcode = dia->exec(); -            dia->deleteLater(); -            if (kDialogCodeButton0 == dcode ) -                returncode = 0; -            if (kDialogCodeButton1 == dcode ) -                returncode = 1; -            if (kDialogCodeButton2 == dcode ) -                returncode = 2; - -            if (returncode == 1) -            { -                AutoCard listcards; -                listcards.exec(); -                } - -            return returncode; - - -    } -else if (bShowHelp) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString *problems = new QString("			Help Screen"); -        problems->append("\n"); -        problems->append("-------------------------------------------------"); -        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  opens new xterm"); -            problems->append("\n"); -            problems->append("Alt+F2 for 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  opens new xterm "); -            problems->append("\n"); -            problems->append("Alt + m  start mythfrontend"); -            problems->append("\n"); -            problems->append("m will display a popup for power/about"); -            problems->append("\n"); -        #endif -        problems->append("Ctrl + Alt + u  unhide  mouse cursor"); -        problems->append("\n"); -        problems->append("Alt+1 start   masterbackend"); -        problems->append("\n"); -        problems->append("Alt+2 stop    masterbackend"); -        problems->append("\n"); -        problems->append("Alt+3 restart masterbackend"); -        problems->append("\n"); -        problems->append("Alt+s  run mythtv-setup"); -        problems->append("\n"); - - -            dia = new DialogBox(mainWindow, problems->append("\n" )); -            dia->AddButton(QObject::tr("OK")); -        // dia->AddButton(QObject::tr("No")); -            int returncode = 0; -            returncode = dia->exec(); -            dia->deleteLater(); -            return returncode; - - -    } -else if (bShowReadme) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString line; -        QString *problems = new QString(""); -        problems->append("\n"); -        QFile file("/usr/MythVantage/README"); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -            while ( !t.eof() ) -            { -                line = t.readLine(); -                problems->append(line); -                problems->append("\n"); -            } -            file.close(); -        } -        else -            problems->append("Couldn't open file"); - -        dia = new DialogBox(mainWindow, problems->append("\n" )); -        dia->AddButton(QObject::tr("OK")); -    // dia->AddButton(QObject::tr("No")); -        int returncode = 0; -        returncode = dia->exec(); -        dia->deleteLater(); -        return returncode; -    } -    else - -    { -        WelcomeDialog *mythWelcome = new WelcomeDialog(gContext->GetMainWindow(), -                                                    "welcome_screen", "install-", -                                                "welcome_screen"); - -        mythWelcome->exec(); - - -    delete mythWelcome; -    } - -//  delete gContext; - -    return 0; -} diff --git a/abs/core/mythinstall/misc_settings.cpp b/abs/core/mythinstall/misc_settings.cpp deleted file mode 100755 index 7c3eb67..0000000 --- a/abs/core/mythinstall/misc_settings.cpp +++ /dev/null @@ -1,621 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include <stdlib.h> -#include <cstdlib> -#include "misc_settings.h" -#include "mv_common.h" -#include "uitypes.h" - -extern  HostParms hostparm; - -static HostCheckBox *HostShowToolTips() -{ -    HostCheckBox *gc = new HostCheckBox("HostShowToolTips"); -    gc->setLabel(QObject::tr("Show shortcuts")); -    gc->setValue(true); -    gc->setHelpText(QObject::tr("Shows a popup window describing how to open a console and various other items.")); -    return gc; -}; - -static HostComboBox *Hostupdateplan() -{ -    HostComboBox *gc = new HostComboBox("Hostupdateplan"); -    gc->setLabel(QObject::tr("Automatic updates")); -    gc->addSelection("None"); -    gc->addSelection("Myth_only"); -    gc->addSelection("All"); -    gc->setHelpText("Download and apply updates.  None: Will not download any updates , Myth_only: automatic updates for MythTV, All: Automatic updates for the entire system."); -    return gc; - -} -static HostLineEdit *HostZipcode() -{ -    HostLineEdit *gc = new HostLineEdit("HostZipcode"); -    gc->setLabel(QObject::tr("Zip Code")); -    gc->setHelpText(QObject::tr("The zipcode will be used to configure MythMovieTimes.  Leave it blank to use the existing value. People located outside the U.S.A should probably leave this blank")); -    //gc->setRW(); -    //gc->setRO(); -    return gc; -}; - -//_______________Misc main frame -MiscMainFrame::MiscMainFrame(): - VerticalConfigurationGroup(false,false,false,false) - -{ -     bool MVAPP; -    #ifdef __MVAPP__ -        MVAPP = true ; -    #else -         MVAPP = false ; -    #endif -    bool showLabels; -    hostparm.ThisSystemType = gContext->GetSetting("HostSystemType"); -    if  ( hostparm.ThisSystemType == "Standalone" || hostparm.ThisSystemType=="Master_backend") -     { -            showLabels = false; -     } -   else -   { -        showLabels = true; -   } -    TransLabelSetting *temptimezone = new TransLabelSetting(); -    temptimezone->setValue("Timezone:  " + hostparm.ThisTimeZone ); -    TransLabelSetting *tempzipcode = new TransLabelSetting(); -    tempzipcode->setValue("Zipcode: " + hostparm.ThisHostZipcode ); -    GridConfigurationGroup* miscsettings_2 = -        new GridConfigurationGroup(1,true, true,false,false); - -     if (  showLabels  && ( hostparm.ThisHostZipcode != "" )) -       if (MVAPP) -           miscsettings_2->addChild(tempzipcode); -       else -           miscsettings_2->addChild(HostZipcode()); -    else -       miscsettings_2->addChild(HostZipcode()); - -    TimezoneRegion *timezoneregion = new TimezoneRegion(); -    TimezoneButton *timezonebutton = new TimezoneButton(); - -    VerticalConfigurationGroup* miscsettings = -        new VerticalConfigurationGroup(false, true,false,false); -     if (  showLabels  && ( hostparm.ThisTimeZone != "" )) -       { -        if (MVAPP) -            { -                miscsettings->addChild(temptimezone); -                timezonebutton->disableButton(); -            } -        else -            miscsettings->addChild(timezoneregion); -        } -    else -        miscsettings->addChild(timezoneregion); - -    miscsettings->addChild(timezonebutton); -    miscsettings->addChild(miscsettings_2); -    addChild(miscsettings); - -    connect(timezonebutton, SIGNAL(mf_launch_tzgui()),timezoneregion ,SLOT(timezone_gathersettings())); -    connect(timezoneregion,SIGNAL(mf_show_tz(QString)),this,SLOT(mf_show_tz(QString))); -    connect(this,SIGNAL(update_timezone(QString)),timezoneregion,SLOT(update_timezone_values(QString))); - -    autoLaunchTimer = new QTimer(this); -    connect(autoLaunchTimer, SIGNAL(timeout()), timezonebutton, SLOT(launch_tzgui())); -    autoLaunchTimer->start(0); - } - -QString MiscMainFrame::mf_show_tz(QString tz) -{ -    QString GTimezone; -    int rc; - -    if (autoLaunchTimer->isActive()) -    { -      autoLaunchTimer->stop(); - -      // This was triggered by the timer. Only launch the timezone gui if the timezone is unknown. -      if (!timezone_unknown) -	return NULL; -    } - -    cout << "MiscMainFrame::mf_show_tz " << tz << "\n"; - -    if ((tz == "") || timezone_unknown) -      tz = "guess"; - -   //launch tzgui and load output into Gtimezone -    int screenheight = 0, screenwidth = 0; -    float wmult = 0, hmult = 0; -    QString m_height , m_width , cmd; -    gContext->GetScreenSettings(screenwidth, wmult, screenheight, hmult); -    m_height.setNum(screenheight); -    m_width.setNum(screenwidth); -    QString tzpath; -    tzpath=MV_ROOT; -    tzpath.append("bin/timezone.bin"); -    //cmd="ACCEL=500 " + tzpath + " -z " + tz + " -h " + m_height + " -w " + m_width + " > /tmp/.selected_tz" ; -    cmd=tzpath + " -z " + tz + " -h " + m_height + " -w " + m_width + " > /tmp/.selected_tz" ; -    rc=myth_system(cmd); -    if ( rc == 0 ) -    { -        //read in value -        QString line; -        QFile file("/tmp/.selected_tz"); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -            QTextStream t( &file );        // use a text stream -            while ( !t.eof() ) -            { -                line = t.readLine(); -                if ( line.contains("/")) -                    { -                        GTimezone = line.simplifyWhiteSpace(); -                        break; -                    } -            } -            file.close(); -        } -	timezone_unknown = FALSE; -        emit update_timezone(GTimezone); -    } - -} - - -//_______________Misc main frame -MiscMainFrame2::MiscMainFrame2(): - VerticalConfigurationGroup(false,false,false,false) - { -    VerticalConfigurationGroup* miscsettings = -        new VerticalConfigurationGroup(false, true,false,false); - -        GridConfigurationGroup* miscsettings_2 = -         new GridConfigurationGroup(1,false, false,false,false); -         miscsettings_2->addChild(HostShowToolTips()); -         miscsettings_2->addChild(Hostupdateplan()); - -        NFSSettings *nfssettings = new NFSSettings(); - -        miscsettings->addChild(nfssettings); -        miscsettings->addChild(miscsettings_2); - -        addChild(miscsettings); - - } - - -//_______________Misc time timezone - -TimezoneButton::TimezoneButton(): -    VerticalConfigurationGroup(false,false,false,false) -    { -      TZButton = new TransButtonSetting; -      TZButton->setLabel("Hitchhikers guide to timezones"); -      addChild(TZButton); -      connect(TZButton, SIGNAL(pressed()),this,SLOT(launch_tzgui())); - -    }; - -void TimezoneButton::launch_tzgui() -{ -    emit mf_launch_tzgui(); -} - -void TimezoneButton::disableButton() -{ -    TZButton->setEnabled(false); -} - - - -//This is used for the timezone -QStringList findFilesRecursively ( QStringList paths, QString fileTypes ) { -    if ( fileTypes.isEmpty() ) fileTypes = "*"; -    QStringList result, more; -    QStringList::Iterator it; -    for ( uint i = 0 ; i < paths.size() ; i++ ) -    { // inefficient...whatever -        QDir dir( paths[i] ); -        dir.setSorting( QDir::Reversed ); -        more = dir.entryList( fileTypes, QDir::Files ); -        for ( it = more.begin() ; it != more.end() ; ++it ) -            result.append( paths[i] + "/" + *it ); -        // reg exp in next line excludes . and .. dirs (and .* actually) -        more = dir.entryList( QDir::Dirs ).grep( QRegExp( "[^.]" ) ); -        for ( it = more.begin() ; it != more.end() ; ++it ) -            *it = paths[i] + "/" + *it; -        more = findFilesRecursively( more, fileTypes ); -        for ( it = more.begin() ; it != more.end() ; ++it ) -            result.append( *it ); -    } -    return result; // yields absolute paths -} - - -void TimezoneRegion::timezoneregion_fillselection_zone() -{ -    HostTimeZoneRegion->setLabel(QObject::tr("TimeZone")); -    HostTimeZoneRegion->addSelection("US"); -    HostTimeZoneRegion->addSelection("Pacific"); -    HostTimeZoneRegion->addSelection("Mideast"); -    HostTimeZoneRegion->addSelection("Mexico"); -    HostTimeZoneRegion->addSelection("Indian"); -    HostTimeZoneRegion->addSelection("Europe"); -    HostTimeZoneRegion->addSelection("Etc"); -    HostTimeZoneRegion->addSelection("Chile"); -    HostTimeZoneRegion->addSelection("Canada"); -    HostTimeZoneRegion->addSelection("Brazil"); -    HostTimeZoneRegion->addSelection("Australia"); -    HostTimeZoneRegion->addSelection("Atlantic"); -    HostTimeZoneRegion->addSelection("Asia"); -    HostTimeZoneRegion->addSelection("Arctic"); -    HostTimeZoneRegion->addSelection("Antarctica"); -    HostTimeZoneRegion->addSelection("America"); -    HostTimeZoneRegion->addSelection("Africa"); -    //--single region -    HostTimeZoneRegion->addSelection("Zulu"); -    HostTimeZoneRegion->addSelection("WET"); -    HostTimeZoneRegion->addSelection("W-SU"); -    HostTimeZoneRegion->addSelection("Universal"); -    HostTimeZoneRegion->addSelection("UTC"); -    HostTimeZoneRegion->addSelection("UCT"); -    HostTimeZoneRegion->addSelection("Turkey"); -    HostTimeZoneRegion->addSelection("Singapore"); -    HostTimeZoneRegion->addSelection("ROK"); -    HostTimeZoneRegion->addSelection("ROC"); -    HostTimeZoneRegion->addSelection("Portugal"); -    HostTimeZoneRegion->addSelection("Poland"); -    HostTimeZoneRegion->addSelection("PST8PDT"); -    HostTimeZoneRegion->addSelection("PRC"); -    HostTimeZoneRegion->addSelection("Navajo"); -    HostTimeZoneRegion->addSelection("NZ-CHAT"); -    HostTimeZoneRegion->addSelection("NZ"); -    HostTimeZoneRegion->addSelection("MST7MDT"); -    HostTimeZoneRegion->addSelection("MST"); -    HostTimeZoneRegion->addSelection("MET"); -    HostTimeZoneRegion->addSelection("Libya"); -    HostTimeZoneRegion->addSelection("Kwajalein"); -    HostTimeZoneRegion->addSelection("Japan"); -    HostTimeZoneRegion->addSelection("Jamaica"); -    HostTimeZoneRegion->addSelection("Israel"); -    HostTimeZoneRegion->addSelection("Iran"); -    HostTimeZoneRegion->addSelection("Iceland"); -    HostTimeZoneRegion->addSelection("Hongkong"); -    HostTimeZoneRegion->addSelection("HST"); -    HostTimeZoneRegion->addSelection("Greenwich"); -    HostTimeZoneRegion->addSelection("GMT0"); -    HostTimeZoneRegion->addSelection("GMT-0"); -    HostTimeZoneRegion->addSelection("GMT+0"); -    HostTimeZoneRegion->addSelection("GMT"); -    HostTimeZoneRegion->addSelection("GB-Eire"); -    HostTimeZoneRegion->addSelection("GB"); -    HostTimeZoneRegion->addSelection("Factory"); -    HostTimeZoneRegion->addSelection("Eire"); -    HostTimeZoneRegion->addSelection("Egypt"); -    HostTimeZoneRegion->addSelection("EST5EDT"); -    HostTimeZoneRegion->addSelection("EST"); -    HostTimeZoneRegion->addSelection("EET"); -    HostTimeZoneRegion->addSelection("Cuba"); -    HostTimeZoneRegion->addSelection("CST6CDT"); -    HostTimeZoneRegion->addSelection("CET"); -    HostTimeZoneRegion->setHelpText(QObject::tr("Timezone Region")); -} - -void TimezoneRegion::timezoneregion_fillselection(QString tzonefile ) -{ -    QString currentitem; -    int foundtab; -    int foundslashes; -    QString timezonefile="/usr/share/zoneinfo/posix/"; -    timezonefile.append(tzonefile); -    QStringList answer = findFilesRecursively( timezonefile, "*" ); -    QStringList onlyfiles = ""; -    QStringList::Iterator it; -    for ( it = answer.begin(); it != answer.end(); ++it ) -        { -            currentitem = *it; -            foundtab=currentitem.contains(".tab"); -            if ( foundtab == 0 ) -            { -                foundslashes=currentitem.contains("/"); -                currentitem = currentitem.section( '/', 6, foundslashes ); - -                if ( tzonefile == "US") -                    HostTimezoneRegion_US->addSelection(currentitem); -                else if ( tzonefile == "Pacific") -                    HostTimezoneRegion_Pacific->addSelection(currentitem); -                else if ( tzonefile == "Mideast") -                    HostTimezoneRegion_Mideast->addSelection(currentitem); -                else if ( tzonefile == "Mexico") -                    HostTimezoneRegion_Mexico->addSelection(currentitem); -                else if ( tzonefile == "Indian") -                    HostTimezoneRegion_Indian->addSelection(currentitem); -                else if ( tzonefile == "Europe") -                    HostTimezoneRegion_Europe->addSelection(currentitem); -                else if ( tzonefile == "Etc") -                    HostTimezoneRegion_Etc->addSelection(currentitem); -                else if ( tzonefile == "Chile") -                    HostTimezoneRegion_Chile->addSelection(currentitem); -                else if ( tzonefile == "Canada") -                    HostTimezoneRegion_Canada->addSelection(currentitem); -                else if ( tzonefile == "Brazil") -                    HostTimezoneRegion_Brazil->addSelection(currentitem); -                else if ( tzonefile == "Australia") -                    HostTimezoneRegion_Australia->addSelection(currentitem); -                else if ( tzonefile == "Atlantic") -                    HostTimezoneRegion_Atlantic->addSelection(currentitem); -                else if ( tzonefile == "Asia") -                    HostTimezoneRegion_Asia->addSelection(currentitem); -                else if ( tzonefile == "Arctic") -                    HostTimezoneRegion_Arctic->addSelection(currentitem); -                else if ( tzonefile == "Antarctica") -                    HostTimezoneRegion_Antarctica->addSelection(currentitem); -                else if ( tzonefile == "America") -                    HostTimezoneRegion_America->addSelection(currentitem); -                else if ( tzonefile == "Africa") -                    HostTimezoneRegion_Africa->addSelection(currentitem); -            } -        } -}; - -void TimezoneRegion::timezone_gathersettings() -{ -    QString tz; -    QString subregion; -    QString region=HostTimeZoneRegion->getValue(); -    if ( region == "US") -          subregion=HostTimezoneRegion_US->getValue(); -    else if ( region == "Pacific") -          subregion=HostTimezoneRegion_Pacific->getValue(); -    else if ( region == "Mideast") -          subregion=HostTimezoneRegion_Mideast->getValue(); -    else if ( region == "Mexico") -          subregion=HostTimezoneRegion_Mexico->getValue(); -    else if ( region == "Indian") -          subregion=HostTimezoneRegion_Indian->getValue(); -    else if ( region == "Europe") -          subregion=HostTimezoneRegion_Europe->getValue(); -    else if ( region == "Etc") -          subregion=HostTimezoneRegion_Etc->getValue(); -    else if ( region == "Chile") -          subregion=HostTimezoneRegion_Chile->getValue(); -    else if ( region == "Canada") -          subregion=HostTimezoneRegion_Canada->getValue(); -    else if ( region == "Brazil") -          subregion=HostTimezoneRegion_Brazil->getValue(); -    else if ( region == "Australia") -          subregion=HostTimezoneRegion_Australia->getValue(); -    else if ( region == "Atlantic") -          subregion=HostTimezoneRegion_Atlantic->getValue(); -    else if ( region == "Asia") -          subregion=HostTimezoneRegion_Asia->getValue(); -    else if ( region == "Arctic") -          subregion=HostTimezoneRegion_Arctic->getValue(); -    else if ( region == "Antarctica") -          subregion=HostTimezoneRegion_Antarctica->getValue(); -    else if ( region == "America") -          subregion=HostTimezoneRegion_America->getValue(); -    else if ( region == "Africa") -          subregion=HostTimezoneRegion_Africa->getValue(); - -    tz=region+"/"+subregion; - -    emit mf_show_tz(tz); -} - -TimezoneRegion::TimezoneRegion(): -    TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -{ -    SetVertical(false); -    HostTimeZoneRegion= new HostComboBox("HostTimeZoneRegion"); -    timezoneregion_fillselection_zone(); -    Setting* trigger = HostTimeZoneRegion; -    addChild(trigger); -    setTrigger(trigger); -    //define all the new comboboxes -    HostTimezoneRegion_US = new  HostComboBox("HostTimezoneRegion_US"); -    HostTimezoneRegion_Pacific = new HostComboBox("HostTimezoneRegion_Pacific"); -    HostTimezoneRegion_Mideast = new HostComboBox("HostTimezoneRegion_Mideast"); -    HostTimezoneRegion_Mexico = new  HostComboBox("HostTimezoneRegion_Mexico"); -    HostTimezoneRegion_Indian = new HostComboBox("HostTimezoneRegion_Indian"); -    HostTimezoneRegion_Europe = new HostComboBox("HostTimezoneRegion_Europe"); -    HostTimezoneRegion_Etc = new HostComboBox("HostTimezoneRegion_Etc"); -    HostTimezoneRegion_Chile = new HostComboBox("HostTimezoneRegion_Chile"); -    HostTimezoneRegion_Canada = new HostComboBox("HostTimezoneRegion_Canada"); -    HostTimezoneRegion_Brazil = new HostComboBox("HostTimezoneRegion_Brazil"); -    HostTimezoneRegion_Australia = new HostComboBox("HostTimezoneRegion_Australia"); -    HostTimezoneRegion_Atlantic = new HostComboBox("HostTimezoneRegion_Atlantic"); -    HostTimezoneRegion_Asia = new HostComboBox("HostTimezoneRegion_Asia"); -    HostTimezoneRegion_Arctic = new HostComboBox("HostTimezoneRegion_Arctic"); -    HostTimezoneRegion_Antarctica = new HostComboBox("HostTimezoneRegion_Antarctica"); -    HostTimezoneRegion_America = new HostComboBox("HostTimezoneRegion_America"); -    HostTimezoneRegion_Africa = new HostComboBox("HostTimezoneRegion_Africa"); -    //fill the new comboboxes -    timezoneregion_fillselection("US"); -    timezoneregion_fillselection("Pacific"); -    timezoneregion_fillselection("Mideast"); -    timezoneregion_fillselection("Mexico"); -    timezoneregion_fillselection("Indian"); -    timezoneregion_fillselection("Europe"); -    timezoneregion_fillselection("Etc"); -    timezoneregion_fillselection("Chile"); -    timezoneregion_fillselection("Canada"); -    timezoneregion_fillselection("Brazil"); -    timezoneregion_fillselection("Australia"); -    timezoneregion_fillselection("Atlantic"); -    timezoneregion_fillselection("Asia"); -    timezoneregion_fillselection("Arctic"); -    timezoneregion_fillselection("Antarctica"); -    timezoneregion_fillselection("America"); -    timezoneregion_fillselection("Africa"); - -    // Add subregions to regions -    addTarget("US",  HostTimezoneRegion_US ); -    addTarget("Pacific",   HostTimezoneRegion_Pacific  ); -    addTarget("Mideast",    HostTimezoneRegion_Mideast  ); -    addTarget("Mexico", HostTimezoneRegion_Mexico  ); -    addTarget("Indian", HostTimezoneRegion_Indian   ); -    addTarget("Europe",  HostTimezoneRegion_Europe ); -    addTarget("Etc",  HostTimezoneRegion_Etc   ); -    addTarget("Chile",       HostTimezoneRegion_Chile ); -    addTarget("Canada",  HostTimezoneRegion_Canada ); -    addTarget("Brazil",  HostTimezoneRegion_Brazil  ); -    addTarget("Australia",  HostTimezoneRegion_Australia  ); -    addTarget("Atlantic",    HostTimezoneRegion_Atlantic  ); -    addTarget("Asia",   HostTimezoneRegion_Asia ); -    addTarget("Arctic",    HostTimezoneRegion_Arctic ); -    addTarget("Antarctica",     HostTimezoneRegion_Antarctica   ); -    addTarget("America", HostTimezoneRegion_America  ); -    addTarget("Africa",     HostTimezoneRegion_Africa ); -    //--single region -    addTarget("Zulu", new VerticalConfigurationGroup(false, false)); -    addTarget("WET", new VerticalConfigurationGroup(false, false)); -    addTarget("W-SU", new VerticalConfigurationGroup(false, false)); -    addTarget("Universal", new VerticalConfigurationGroup(false, false)); -    addTarget("UTC", new VerticalConfigurationGroup(false, false)); -    addTarget("UCT", new VerticalConfigurationGroup(false, false)); -    addTarget("Turkey", new VerticalConfigurationGroup(false, false)); -    addTarget("Singapore", new VerticalConfigurationGroup(false, false)); -    addTarget("ROK", new VerticalConfigurationGroup(false, false)); -    addTarget("ROC", new VerticalConfigurationGroup(false, false)); -    addTarget("Portugal", new VerticalConfigurationGroup(false, false)); -    addTarget("Poland", new VerticalConfigurationGroup(false, false)); -    addTarget("PST8PDT", new VerticalConfigurationGroup(false, false)); -    addTarget("PRC", new VerticalConfigurationGroup(false, false)); -    addTarget("Navajo", new VerticalConfigurationGroup(false, false)); -    addTarget("NZ-CHAT", new VerticalConfigurationGroup(false, false)); -    addTarget("NZ", new VerticalConfigurationGroup(false, false)); -    addTarget("MST7MDT", new VerticalConfigurationGroup(false, false)); -    addTarget("MST", new VerticalConfigurationGroup(false, false)); -    addTarget("MET", new VerticalConfigurationGroup(false, false)); -    addTarget("Libya", new VerticalConfigurationGroup(false, false)); -    addTarget("Kwajalein", new VerticalConfigurationGroup(false, false)); -    addTarget("Japan", new VerticalConfigurationGroup(false, false)); -    addTarget("Jamaica", new VerticalConfigurationGroup(false, false)); -    addTarget("Israel", new VerticalConfigurationGroup(false, false)); -    addTarget("Iran", new VerticalConfigurationGroup(false, false)); -    addTarget("Iceland", new VerticalConfigurationGroup(false, false)); -    addTarget("Hongkong", new VerticalConfigurationGroup(false, false)); -    addTarget("HST", new VerticalConfigurationGroup(false, false)); -    addTarget("Greenwich", new VerticalConfigurationGroup(false, false)); -    addTarget("GMT0", new VerticalConfigurationGroup(false, false)); -    addTarget("GMT-0", new VerticalConfigurationGroup(false, false)); -    addTarget("GMT+0", new VerticalConfigurationGroup(false, false)); -    addTarget("GMT", new VerticalConfigurationGroup(false, false)); -    addTarget("GB-Eire", new VerticalConfigurationGroup(false, false)); -    addTarget("GB", new VerticalConfigurationGroup(false, false)); -    addTarget("Factory", new VerticalConfigurationGroup(false, false)); -    addTarget("Eire", new VerticalConfigurationGroup(false, false)); -    addTarget("Egypt", new VerticalConfigurationGroup(false, false)); -    addTarget("EST5EDT", new VerticalConfigurationGroup(false, false)); -    addTarget("EST", new VerticalConfigurationGroup(false, false)); -    addTarget("EET", new VerticalConfigurationGroup(false, false)); -    addTarget("Cuba", new VerticalConfigurationGroup(false, false)); -    addTarget("CST6CDT", new VerticalConfigurationGroup(false, false)); -    addTarget("CET", new VerticalConfigurationGroup(false, false)); -}; - -void TimezoneRegion::update_timezone_values(QString Gtimezone) -{ -    QString region; -    QString subregion; -    region=Gtimezone.section('/',0,0); -    subregion=Gtimezone.section('/',1,1); -    HostTimeZoneRegion->setValue(region); - -    if ( region == "US") -        HostTimezoneRegion_US->setValue(subregion); -    else if ( region == "Pacific") -        HostTimezoneRegion_Pacific->setValue(subregion); -    else if ( region == "Mideast") -        HostTimezoneRegion_Mideast->setValue(subregion); -    else if ( region == "Mexico") -        HostTimezoneRegion_Mexico->setValue(subregion); -    else if ( region == "Indian") -        HostTimezoneRegion_Indian->setValue(subregion); -    else if ( region == "Europe") -        HostTimezoneRegion_Europe->setValue(subregion); -    else if ( region == "Etc") -        HostTimezoneRegion_Etc->setValue(subregion); -    else if ( region == "Chile") -        HostTimezoneRegion_Chile->setValue(subregion); -    else if ( region == "Canada") -        HostTimezoneRegion_Canada->setValue(subregion); -    else if ( region == "Brazil") -        HostTimezoneRegion_Brazil->setValue(subregion); -    else if ( region == "Australia") -        HostTimezoneRegion_Australia->setValue(subregion); -    else if ( region == "Atlantic") -        HostTimezoneRegion_Atlantic->setValue(subregion); -    else if ( region == "Asia") -        HostTimezoneRegion_Asia->setValue(subregion); -    else if ( region == "Arctic") -        HostTimezoneRegion_Arctic->setValue(subregion); -    else if ( region == "Antarctica") -        HostTimezoneRegion_Antarctica->setValue(subregion); -    else if ( region == "America") -        HostTimezoneRegion_America->setValue(subregion); -    else if ( region == "Africa") -        HostTimezoneRegion_Africa->setValue(subregion); -} - - -//________________Misc (NFS) Screen SETTINGS_________________________ -static HostComboBox *HostHaveCentralNFS() -{ -    HostComboBox *gc = new HostComboBox("HostHaveCentralNFS"); -    gc->setLabel(QObject::tr("Central NFS server")); -    gc->addSelection("no"); -    gc->addSelection("yes") ; -    gc->setHelpText(QObject::tr("Select yes, if your media is stored on an NFS server different than the masterbackend.  Say no if you are confused.")); - -    return gc; -} - -static  HostComboBox *HostCentralNFSIP() -{ -    HostComboBox *gc = new HostComboBox("HostCentralNFSIP",true); -    gc->setLabel(QObject::tr("NFS server and sharename ")); -    gc->setHelpText(QObject::tr("Format should be  IP:/SHARENAME, for example  192.168.1.6:/media.  file:nfsmap  will load shares from the nfsmap file")); -    gc->addSelection("file:nfsmap") ; -    gc->addSelection("") ; -    return gc; -}; - -static HostComboBox *HostNFSmountpoint() -{ -    #ifdef __MVAPP__ -        HostComboBox *gc = new HostComboBox("HostNFSmountpoint"); -        gc->addSelection("/data/media"); -    #else -        HostComboBox *gc = new HostComboBox("HostNFSmountpoint",true); -        gc->addSelection("/myth"); -    #endif -    gc->setLabel(QObject::tr("Local mount point of NFS share")); -    gc->addSelection("/mnt") ; -    gc->setHelpText(QObject::tr("")); -    return gc; -} - - -NFSSettings::NFSSettings(): -    TriggeredConfigurationGroup(false,false,false,true,true,false,false,true) -    { -        setLabel(QObject::tr("Misc Settings")); - -        Setting* havenfs = HostHaveCentralNFS(); -        addChild(havenfs); -        setTrigger(havenfs); - -    ConfigurationGroup* settings = new VerticalConfigurationGroup(); -            settings->addChild(HostCentralNFSIP()); -            settings->addChild(HostNFSmountpoint()); - -        addTarget("no", new VerticalConfigurationGroup()); -        addTarget("yes", settings); -    }; - diff --git a/abs/core/mythinstall/misc_settings.h b/abs/core/mythinstall/misc_settings.h deleted file mode 100755 index 66ad99c..0000000 --- a/abs/core/mythinstall/misc_settings.h +++ /dev/null @@ -1,97 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" -#include "installsettings.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> - -#include <stdlib.h> -#include <cstdlib> -#include <mythtv/mythdbcon.h> -#include <qdir.h> -#include <qapplication.h> -#include "util.h" - - -class MiscMainFrame: public VerticalConfigurationGroup { -Q_OBJECT -public: -        MiscMainFrame(); -QTimer *autoLaunchTimer; - -public slots: -    QString mf_show_tz(QString); - -signals: -    void update_timezone(QString); -}; - -class MiscMainFrame2: public VerticalConfigurationGroup { -Q_OBJECT -public: -        MiscMainFrame2(); -}; - - -class TimezoneButton: public VerticalConfigurationGroup { -Q_OBJECT -public: -        TimezoneButton(); -        TransButtonSetting   *TZButton; -        void disableButton(); -public slots: -    void launch_tzgui(); -signals: -    QString mf_launch_tzgui(); -    //QString update_timezone(QString); -}; - -class TimezoneRegion: public TriggeredConfigurationGroup { -Q_OBJECT -public: -    TimezoneRegion(); -    HostComboBox *HostTimeZoneRegion; -    HostComboBox *HostTimezoneRegion_US; -    HostComboBox *HostTimezoneRegion_Pacific; -    HostComboBox *HostTimezoneRegion_Mideast; -    HostComboBox *HostTimezoneRegion_Mexico; -    HostComboBox *HostTimezoneRegion_Indian; -    HostComboBox *HostTimezoneRegion_Europe; -    HostComboBox *HostTimezoneRegion_Etc; -    HostComboBox *HostTimezoneRegion_Chile; -    HostComboBox *HostTimezoneRegion_Canada; -    HostComboBox *HostTimezoneRegion_Brazil; -    HostComboBox *HostTimezoneRegion_Australia; -    HostComboBox *HostTimezoneRegion_Atlantic; -    HostComboBox *HostTimezoneRegion_Asia; -    HostComboBox *HostTimezoneRegion_Arctic; -    HostComboBox *HostTimezoneRegion_Antarctica; -    HostComboBox *HostTimezoneRegion_America; -    HostComboBox *HostTimezoneRegion_Africa; -    void timezoneregion_fillselection(QString); -    void timezoneregion_fillselection_zone(); - - -public slots: -    void update_timezone_values(QString); -    void timezone_gathersettings(); -signals: -    void mf_show_tz(QString); -}; - - -class NFSSettings: public -    TriggeredConfigurationGroup { -    public: -        NFSSettings(); - -}; - - - - - - diff --git a/abs/core/mythinstall/mv_common.h b/abs/core/mythinstall/mv_common.h deleted file mode 100755 index 865eb3d..0000000 --- a/abs/core/mythinstall/mv_common.h +++ /dev/null @@ -1,4 +0,0 @@ -//#define __MVAPP__ MythVantage -#define RELEASEFILE "LinHES-release" - -extern int timezone_unknown; diff --git a/abs/core/mythinstall/mythinstall.pro b/abs/core/mythinstall/mythinstall.pro deleted file mode 100755 index 0a273cc..0000000 --- a/abs/core/mythinstall/mythinstall.pro +++ /dev/null @@ -1,46 +0,0 @@ -# This is the path to the mythtv src. The assumtion is that this package and  -# mythtv are both being build in the LinHES-PKGBUILD. -MYTHPATH="/data/LinHES-PKGBUILD/abs/core-testing/mythtv/stable/mythtv/src/mythtv-0.21" - -include ( $$MYTHPATH/libs/libmyth/mythconfig.mak) -include ( $$MYTHPATH/settings.pro) - -#pulled from program-libs.pro and modified to use $$MYTHPATH -INCLUDEPATH += $$MYTHPATH $$MYTHPATH/libs/ $$MYTHPATH/libs/libmyth $$MYTHPATH/libs/libmythtv -INCLUDEPATH += $$MYTHPATH/libs/libavutil $$MYTHPATH/libs/libavformat $$MYTHPATH/libs/libavcodec -INCLUDEPATH += $$MYTHPATH/libs/libmythupnp $$MYTHPATH/libs/libmythui -INCLUDEPATH += $$MYTHPATH/libs/libmythlivemedia - -LIBS += -L$$MYTHPATH/libs/libmyth -L$$MYTHPATH/libs/libmythtv -LIBS += -L$$MYTHPATH/libs/libavutil -L$$MYTHPATH/libs/libavcodec -L$$MYTHPATH/libs/libavformat -LIBS += -L$$MYTHPATH/libs/libmythfreemheg -LIBS += -L$$MYTHPATH/libs/libmythui -LIBS += -L$$MYTHPATH/libs/libmythupnp -LIBS += -L$$MYTHPATH/libs/libmythlivemedia - -LIBS += -lmythtv-$$LIBVERSION -lmythavformat-$$LIBVERSION -LIBS += -lmythavutil-$$LIBVERSION -lmythavcodec-$$LIBVERSION -LIBS += -lmythfreemheg-$$LIBVERSION -LIBS += -lmythupnp-$$LIBVERSION -LIBS += -lmythlivemedia-$$LIBVERSION - - - -TEMPLATE = app -CONFIG += thread -TARGET = mythinstall -target.path = $${PREFIX}/bin - -INSTALLS = target - -uifiles.path = $${PREFIX}/share/mythtv/themes/default -uifiles.files = install-ui.xml images/*.png - -INSTALLS += uifiles - -QMAKE_CLEAN += $(TARGET) - -# Input -HEADERS += installdialog.h installsettings.h settemplate.h installationtype.h autocard.h xorgsettings.h password_manage.h misc_settings.h mv_common.h infrared.h -SOURCES += main.cpp installdialog.cpp installsettings.cpp settemplate.cpp installationtype.cpp autocard.cpp xorgsettings.cpp password_manage.cpp misc_settings.cpp infrared.cpp -INCLUDEPATH += /usr/include/mythtv diff --git a/abs/core/mythinstall/password_manage.cpp b/abs/core/mythinstall/password_manage.cpp deleted file mode 100755 index 5156636..0000000 --- a/abs/core/mythinstall/password_manage.cpp +++ /dev/null @@ -1,445 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" -#include "installsettings.h" -#include "installdialog.h" -#include "password_manage.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> - -#include <stdlib.h> -#include <cstdlib> -#include <mythtv/mythdbcon.h> -#include <qdir.h> -#include <qapplication.h> -#include "util.h" -#include <qregexp.h> -/****************************************************************************/ -typedef enum { -    UseraddPopup_OK = 0, -    UseraddPopup_CANCEL, -    UseraddPopup_DELETE -} -    UseraddPopupResult; -    bool passtoggle = TRUE; -    QString invalid_chars = "&<>/~`;:!"; - -class AddUserPopup -{ -  public: -    static UseraddPopupResult showPopup(MythMainWindow *parent, QString title, -                                   QString message, QString& text); -}; - -UseraddPopupResult AddUserPopup::showPopup(MythMainWindow *parent, -                                 QString title, QString message, QString& text) -{ -    MythPopupBox *popup = new MythPopupBox(parent, title); -    popup->addLabel(message); - -    MythLineEdit *textEdit = new MythLineEdit(popup, "chooseEdit"); -    textEdit->setText(text); -    popup->addWidget(textEdit); - -    popup->addButton(QObject::tr("OK"),     popup, SLOT(accept())); -    popup->addButton(QObject::tr("Cancel"), popup, SLOT(reject())); - -    textEdit->setFocus(); - -    bool ok = (MythDialog::Accepted == popup->ExecPopup()); -    if (ok) -        text = QDeepCopy<QString>(textEdit->text()); - -    popup->hide(); -    popup->deleteLater(); - -    return (ok) ? UseraddPopup_OK : UseraddPopup_CANCEL; -} - -/****************************************************************************/ - - -void UserManagement::user_fillselection() -{ -   //only add users with UID above 1000 -   QString line; -   QString user; -   QString quid; -   int uid; -   QFile file("/etc/passwd"); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            user = line.section(":",0,0); -            quid = line.section(":",2,2); -            uid=quid.toInt(); -            if ( uid >= 1000 ) -                userlist->addSelection(user); -        } -        file.close(); -    } - -} - -bool UserManagement::user_exisit_check(QString name) -{ -   QString line; -   QString user; -   QString quid; -   bool founduser; -   founduser=false; -   int uid; -   QFile file("/etc/passwd"); -    if ( file.open(IO_ReadOnly | IO_Translate) ) -    { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            user = line.section(":",0,0); -            quid = line.section(":",2,2); -            uid=quid.toInt(); -            if ( user == name ) -            { -                founduser=true; -                break; -            } -        } -        file.close(); -    } - -    return founduser; - -} - -bool UserManagement::user_valid_check(QString check_string) -{ -    QChar current_char; -    int upperlimit; -    int found_char; -    int i ; -    upperlimit = invalid_chars.length() -1 ; -    for(i= 0; i <= upperlimit; i++) -    { -        found_char = -1; -        current_char = invalid_chars.at(i); -        found_char = check_string.contains(current_char,FALSE); -        if ( found_char  > 0  ) -            return FALSE; -    } -    return TRUE ; - -} - -UserManagement::UserManagement(): -    VerticalConfigurationGroup(false,false,false,false) -    { -      setLabel(QObject::tr("Password Management")); -      userlist = new TransComboBoxSetting(false); -      userlist->setLabel(QObject::tr("Current Accounts")); -      userlist->addSelection("root"); -      userlist->addSelection("mythtv"); -      user_fillselection(); -      userlist->setHelpText(QObject::tr("Select the account for password reset")); - -      userpass1= new TransLineEditSetting(true); -      userpass1->setLabel("Password"); -      userpass1->SetPasswordEcho(passtoggle); -      userpass1->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars)); - - -      passToggleButton = new TransButtonSetting; -      passToggleButton->setLabel("Toggle password view"); -      passToggleButton->setHelpText(QObject::tr("Hide or show the password")); - -      info = new TransLabelSetting; -      info->setValue(""); - -       userapplyButton = new TransButtonSetting; -       userapplyButton->setLabel("Apply new password"); - -       usercreateButton = new TransButtonSetting; -       usercreateButton->setLabel("Create a new user account"); -       usercreateButton->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars)); - -       userdeleteButton = new TransButtonSetting; -       userdeleteButton->setLabel("Delete current account"); -       ConfigurationGroup *buttonlist = new GridConfigurationGroup(2,false); -            buttonlist-> addChild(usercreateButton); -            buttonlist-> addChild(userdeleteButton); - -       ConfigurationGroup *buttonlist2 = new GridConfigurationGroup(2,false); -            buttonlist2-> addChild(passToggleButton); -            buttonlist2-> addChild(userapplyButton); - -    rootSSH  = new HostCheckBox("HOSTrootSSH"); -    rootSSH->setLabel("Enable remote access for the root account."); -    rootSSH->setHelpText(QObject::tr("Checking this will enable ssh for the root account. Leave this disabled unless you know what your doing.")); -    rootSSH->setValue(false); - -       addChild(userlist); -       addChild(buttonlist); -       addChild(userpass1); -       addChild(info); -       addChild(rootSSH); -       addChild(buttonlist2); - -    connect(userapplyButton, SIGNAL(pressed()), this,   SLOT(applychanges())); -    connect(userlist, SIGNAL(valueChanged(const QString&)), this,   SLOT(userchanged())); -    connect(usercreateButton, SIGNAL(pressed()), this,   SLOT(usercreatepopup())); -    connect(userdeleteButton, SIGNAL(pressed()), this, SLOT(userdeletepopup())); -    connect(passToggleButton, SIGNAL(pressed()), this, SLOT(togglepass())); -}; - -void UserManagement::togglepass() -{ - -    if ( passtoggle) -        passtoggle = false; -    else -        passtoggle = true; -    userpass1->SetPasswordEcho(passtoggle); -} - -void UserManagement::applychanges() -{ -    QString user; -    QString password; -    QString user_e; - -    user=userlist->getValue(); -    password=userpass1->getValue(); - -    user_e = QRegExp::escape( user ); -    password = QRegExp::escape( password ); -    if ( ! user_valid_check (password)) -    { -         info->setValue("    Password contains invalid characters!"); -         return; -    } -    info->setValue("    Password has been changed for user: " + user ); -    QString cmdtxt; -    cmdtxt="sudo "; -    cmdtxt.append("myth_user_call -c pass  -u " + user_e + " -p " + password ); -    myth_system(cmdtxt); - - -} - -void UserManagement::userchanged() -{ -    info->setValue(" "); -    userpass1->setValue(""); -} - -void UserManagement::usercreatepopup() -{ -    QString name; -    QString name_e; -    int key = 0; -     UseraddPopupResult result = AddUserPopup::showPopup( -                gContext->GetMainWindow(), -                tr(""), -                tr("Enter a new user account name"), name); -    if (result == UseraddPopup_CANCEL) -        return; -    //check if name exisit || add it -    if ( user_exisit_check(name) ) -    { -        info->setValue(name + " Already present"); -        userlist->setFocus(); -        key = Qt::Key_Down; -        QApplication::postEvent(gContext->GetMainWindow(), -                            new ExternalKeycodeEvent(key)); - -        return; -    } - -    if ( ! user_valid_check (name)) -    { -         info->setValue("  Username contains invalid characters!"); -         return; -    } -    userlist->addSelection(name); -    userlist->setValue(name); -    //run program to add user right here -    QString cmdtxt; -    name_e = QRegExp::escape( name ); - -    cmdtxt="sudo "; -    cmdtxt.append("myth_user_call -c add -u " + name_e ); -    myth_system(cmdtxt); - -    info->setValue("Now enter a password for " + name + " and press the apply button."); -    //Set focus to userlist, then press down three times to set focus to the password box. -    userlist->setFocus(); - -    key = Qt::Key_Down; -    QApplication::postEvent(gContext->GetMainWindow(), -                            new ExternalKeycodeEvent(key)); -    key = Qt::Key_Down; -    QApplication::postEvent(gContext->GetMainWindow(), -                                new ExternalKeycodeEvent(key)); -    key = Qt::Key_Down; -    QApplication::postEvent(gContext->GetMainWindow(), -                             new ExternalKeycodeEvent(key)); - -} - -void UserManagement::userdeletepopup() -{ -    QString user; -    QString user_e; -    user=userlist->getValue(); -    QString message = user ; - -    DialogCode value = MythPopupBox::Show2ButtonPopup( -        gContext->GetMainWindow(), "", message, -        tr("Remove this account"), -        tr("Do not remove this account"), -        kDialogCodeButton1); - -   if (kDialogCodeButton0 == value) -   { -         info->setValue("removed account: " + user); -         if ( user == "root" || user == "mythtv" ) -         { -            info->setValue("Can not remove the account"); -            return; -         } -         userlist->setValue("root"); -         userlist->removeSelection(user); -         //run program to remove user -        QString cmdtxt; -        user_e = QRegExp::escape( user ); -        cmdtxt="sudo "; -        cmdtxt.append("myth_user_call -c delete -u " + user_e ); -        myth_system(cmdtxt); -        info->setValue("Removed account: " + user); -   } -    else -        info->setValue("Did not remove account: " + user); -} - -WebPassword::WebPassword(): -    TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -{ - -    webAuth  = new HostCheckBox("HOSTwebauth"); -    webAuth->setLabel("Enable password"); -    webAuth->setHelpText(QObject::tr("Enable the use of password protection for the local website.")); -    webAuth->setValue(false); -    webuser = new HostLineEdit("Hostwebuser"); -    webuser->setLabel("Username"); -    webuser->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars)); - -    webpassword = new HostLineEdit("Hostwebpassword"); -    webpassword->setLabel("Password"); -    webpassword->SetPasswordEcho(passtoggle); -    webpassword->setHelpText(QObject::tr("The following characters will not be accepted: " + invalid_chars)); - -    webpassToggleButton = new TransButtonSetting; -    webpassToggleButton->setLabel("Toggle password view"); -    webpassToggleButton->setHelpText(QObject::tr("Hide or show the password")); - -    webapplyButton = new TransButtonSetting; -    webapplyButton->setLabel("Apply new password"); - -    info = new TransLabelSetting; -    info->setValue(""); - -    connect(webpassToggleButton, SIGNAL(pressed()), this, SLOT(togglepass())); -    connect(webapplyButton, SIGNAL(pressed()),this , SLOT(webpassword_gathersettings())); - -    ConfigurationGroup* webpassgroup = new VerticalConfigurationGroup(false); -        webpassgroup->addChild(webuser); -        webpassgroup->addChild(webpassword); -        webpassgroup->addChild(info); -        webpassgroup->addChild(webpassToggleButton); -            webpassgroup->addChild(webapplyButton); - -    addChild(webAuth); -    setTrigger(webAuth); - -    addTarget("0", new VerticalConfigurationGroup(false, false)); -    addTarget("1", webpassgroup); - -} - - -void WebPassword::togglepass() -{ -    if ( passtoggle) -        passtoggle = false; -    else -        passtoggle = true; -    webpassword->SetPasswordEcho(passtoggle); -} - -bool WebPassword::valid_check(QString check_string) -{ -   // QString invalid_chars; -    QChar current_char; -    int upperlimit; -    int found_char; -    int i ; -    //invalid_chars = "&<>/~`;"; -    upperlimit = invalid_chars.length() -1 ; -    for(i= 0; i <= upperlimit; i++) -    { -        found_char = -1; -        current_char = invalid_chars.at(i); -        found_char = check_string.contains(current_char,FALSE); -        if ( found_char  > 0  ) -            return FALSE; -    } -    return TRUE ; - -} - -void WebPassword::webpassword_gathersettings() -{ - -    QString pass_enabled; -    QString web_user; -    QString web_pass; -    QString webuser_e; -    QString webpass_e; -    pass_enabled=webAuth->getValue(); -    web_user=webuser->getValue(); -    web_pass=webpassword->getValue(); -    webuser_e = QRegExp::escape( web_user ); -    webpass_e = QRegExp::escape( web_pass ); -    if ( ! valid_check (webuser_e)) -    { -         info->setValue("    Username contains invalid characters!"); -         return; -    } - -    if ( ! valid_check (webpass_e)) -    { -         info->setValue("    Password contains invalid characters!"); -         return; -    } -    cout << "Running program to make the changes for web password" << endl; -    QString cmdtxt; - -    cmdtxt="sudo "; -    cmdtxt.append("myth_user_call -c web -u " + webuser_e + " -p " + webpass_e ); -    myth_system(cmdtxt); -    info->setValue("   Changes applied"); - -} - -WebPasswordFrame::WebPasswordFrame(): -    VerticalConfigurationGroup() -{ -    WebPassword *webpassword = new WebPassword(); -    addChild(webpassword); -} diff --git a/abs/core/mythinstall/password_manage.h b/abs/core/mythinstall/password_manage.h deleted file mode 100755 index 665f23f..0000000 --- a/abs/core/mythinstall/password_manage.h +++ /dev/null @@ -1,60 +0,0 @@ -#include <settings.h> -#include "mythdialogs.h" -#include "libmyth/mythdialogs.h" -#include "libmyth/mythwidgets.h" -#include "installsettings.h" - - -class UserManagement: public VerticalConfigurationGroup { -  Q_OBJECT -public: -    UserManagement(); -    TransComboBoxSetting *userlist; -    TransLineEditSetting *userpass1; -    TransButtonSetting   *userapplyButton; -    TransButtonSetting   *usercreateButton; -    TransButtonSetting   *userdeleteButton; -    TransButtonSetting   *passToggleButton; -    TransLabelSetting    *info; -    TransCheckBoxSetting *lockaccount; -    HostCheckBox    *rootSSH; -    void user_fillselection(void); -    bool user_exisit_check(QString); -    bool user_valid_check(QString); - -public slots: -    void applychanges(); -    void userchanged(); -    void usercreatepopup(); -    void userdeletepopup(); -    void togglepass(); -}; - - - -class WebPassword: public -    TriggeredConfigurationGroup { -    Q_OBJECT -public: -    WebPassword(); -    HostLineEdit    *webuser; -    HostLineEdit    *webpassword; -    HostCheckBox    *webAuth; -    TransButtonSetting   *webpassToggleButton; -    TransLabelSetting    *info; -    bool valid_check(QString); -    TransButtonSetting   *webapplyButton; - -public slots: -    void webpassword_gathersettings(); -    void togglepass(); -}; - -class WebPasswordFrame: public -    VerticalConfigurationGroup { -    Q_OBJECT -public: -    WebPasswordFrame(); -    TransButtonSetting   *webapplyButton; - -}; diff --git a/abs/core/mythinstall/settemplate.cpp b/abs/core/mythinstall/settemplate.cpp deleted file mode 100755 index c12ef06..0000000 --- a/abs/core/mythinstall/settemplate.cpp +++ /dev/null @@ -1,419 +0,0 @@ -#include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" -#include "installsettings.h" -#include "installdialog.h" -#include "settemplate.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> -#include <stdlib.h> -#include <cstdlib> - -#include <mythtv/mythdbcon.h> - -void create_temp_table (QString create_table_name,QString like_name) -{ -   MSqlQuery query(MSqlQuery::InitCon()); -   query.prepare("create table " +  create_table_name + " like  " +   like_name + ";" ); -    query.exec(); -    if ( like_name == "settings") -    { -        query.prepare("Alter table  " + create_table_name +  " add unique ( value ) ; " ); -        query.exec(); -    } -    query.prepare(" truncate " + create_table_name + ";" ); -    query.exec(); -}; - -void drop_temp_table (QString tname) -{ -    MSqlQuery query(MSqlQuery::InitCon()); -    query.prepare("drop table " +  tname + ";" ); -    query.exec(); -} - -void restart_frontend () -{ - -    QString cmdtxt; -    cmdtxt=MV_ROOT  ; -    cmdtxt.append("bin/systemconfig.sh  reloadfe" ); -    cout << "Calling systemconfig.sh reloadfe" << endl; -    system(cmdtxt); -    //system("/root/systemconfig.sh  reloadfe" ); -} - -void choosetemplate (QString templateop, QString templatename  , QString templatehostname = "") -{ -        if ( templateop == ""  ) -        { -        MythCtemplate setting; -        setting.load(); -        setting.save(); -      	setting.exec(); -         }; - -    	QString thistemplate; -    	QString thisoperation; -        QString thishost; -        //QString runcommand = "/root/restore_default_settings.sh"; -        QString runcommand = "echo "; -       // cout <<  templateop << endl; -       // cout << templatename << endl; -       // cout << templatehostname << endl; - -        if (templateop == "") -            	   thisoperation = gContext -> GetSetting("HOSTtemplatetype"); -        else -                   thisoperation = templateop; - -        thistemplate = "none"; - - -  	if ( thisoperation == "save" ) -	{ -        if (templatename == "" ) -    	    thistemplate = gContext -> GetSetting("HostTemplateSave"); -        else -            thistemplate = templatename; - -        savesettings(thistemplate); -	} -	else if ( thisoperation == "restore" ) -	{ -       if (templatename == "" ) -    	    thistemplate = gContext -> GetSetting("HostTemplateRestore"); -        else -            thistemplate = templatename; - -        if ( thistemplate == "default_1") -             c_from("default_1" , thistemplate); -        else if ( thistemplate == "default_2") -             c_from("default_2" ,thistemplate); -        else -             restoresettings(thistemplate); - -	} -    else if ( thisoperation == "copy_from" ) -	{ -        if (templatename == "" ) -        { -            thishost = gContext ->GetSetting("HostSelectcopy_from"); -            thistemplate = gContext ->GetSetting("HostTemplateRestore"); -        } -        else -        { -            thishost=templatehostname; -            thistemplate=templatename; -        }; - -        c_from(thishost,thistemplate); -	} - - -//	if ( thistemplate != "none" ) -//	{ -// 	    std::cout <<  runcommand << endl; -   	 //   system(runcommand); -	//} -}; - - -void savesettings (QString templatenumber ) -{ -    cout << "SAVING....." <<   templatenumber  << endl; -    QString templatename = "settings_" + templatenumber ; -    // Remove old saved values -    MSqlQuery query(MSqlQuery::InitCon()); -     query.prepare( "delete from "  + templatename +  " where hostname=:HOSTNAME   ;"  ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); -    //insert all new settings -    query.prepare( "replace into "  + templatename +  " (select * from settings where hostname=:HOSTNAME  ) ;"  ) ; -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -     // repeat for keybindings -     templatename = "keybindings_" + templatenumber ; -     query.prepare( "delete from "  + templatename +  " where hostname=:HOSTNAME   ;"  ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -     query.prepare( "replace into "  + templatename +  " (select * from keybindings  where hostname=:HOSTNAME  ) ;"  ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -} - -void restoresettings (QString templatenumber ) -{ - cout << "RESTORING....." << templatenumber << endl; -// DEFAULT settings are handled by the copy from routine -  MSqlQuery query(MSqlQuery::InitCon()); -    QStringList tablelist ; -    QStringList::Iterator it; -    QString current_table; -    tablelist.append ("settings"); -    tablelist.append ("keybindings"); -    QString templatename; - -    for ( it = tablelist.begin(); it != tablelist.end(); ++it ) -    { -     current_table = *it ; -    //find template table to use -    QString templatename =  current_table + "_" + templatenumber ; -    QString temptable="temp_table_" + current_table + "_" +   gContext->GetHostName() ; -     // create temp table for merging settings,  The merge is needed to accoutn for any new settings. -    create_temp_table(temptable, current_table ); - -    // copy in current settings -    query.prepare( "replace into  " + temptable + "  (select * from  " + current_table + "  where hostname=:HOSTNAME ) ; "  ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -    // need to remove all non HOST settigns - -    // copy in stored settings -    query.prepare( "replace into  " + temptable + "  (select * from  " + templatename + "  where hostname=:HOSTNAME ) ; "  ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -     // remove current settings.  Need to remove because the old table allows for duplicates and replace into doesn' seem to "replace" -     query.prepare( "delete from " + current_table + "  where hostname=:HOSTNAME ;"  ); -     query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -     query.exec(); - - -     // copy new settings from temp to current -     query.prepare( "replace into " + current_table  + "   (select * from  " + temptable + "  );"  ); -     query.exec(); - -    // drop temptable -     drop_temp_table(temptable); - -    } -restart_frontend(); -}; - -void c_from(QString copyhost, QString templatenumber) -{ -       cout << "Copying....." + copyhost + " " + "templatenumber"   << endl; -     MSqlQuery query(MSqlQuery::InitCon()); -    //Create temp table, copy in settings from host_template, update hostname for new host,copy temp_table to settings. -     QStringList tablelist ; -    QStringList::Iterator it; -    QString current_table ; -    tablelist.append ("settings"); -    tablelist.append ("keybindings"); -    QString templatename; -    QString temptable; -    for ( it = tablelist.begin(); it != tablelist.end(); ++it ) -    { -        current_table = *it ; -        cout << current_table << endl; -       //find template table to use -       if  ( templatenumber == "Current" ) -             templatename =  current_table  ; -        else -             templatename =  current_table + "_" + templatenumber ; - -       temptable="temp_table_" + current_table + "_" +   gContext->GetHostName() ; -        // create temp table for merging settings - -        create_temp_table(temptable, current_table ); -        cout << temptable + "  "         + current_table << endl; - -  //  copy current settings from  this host  into temptable minus all Mythvantage settings -      if ( current_table == "settings") -        { -           query.prepare( "replace into  " + temptable + "    (select * from  " + current_table + "  where hostname=:HOSTNAME and value not like 'HOST%'  ) ; "  ); -           query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -        } -        else -         query.prepare( "replace into  " + temptable + "    (select * from  " + current_table + " where hostname=:HOSTNAME ) ; "  ); -         query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -         query.exec(); - -   // update hostname to match whatever the hostname of the template is -    query.prepare ("update " + temptable + "  set hostname=:HOSTNAME ; " ); -    query.bindValue( ":HOSTNAME" ,  copyhost  ); -    query.exec(); - -     // copy current settings from copy host  into temptable minus all Mythvantage settings -      if ( current_table == "settings") -          query.prepare( "replace into  " + temptable + "    (select * from  " + templatename  + "  where hostname=:HOSTNAME and value not like 'HOST%'  ) ; "  ); - -      else -            query.prepare( "replace into  " + temptable + "    (select * from  " + templatename  + "  where hostname=:HOSTNAME  ) ; "  ); - -      query.bindValue( ":HOSTNAME" ,  copyhost  ); -      query.exec(); - -  //update hostname -    query.prepare ("update " + temptable + "  set hostname=:HOSTNAME ; " ); -    query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    query.exec(); - -    // delete old settings from settings table -    if ( current_table == "settings") -    { -        query.prepare( "delete from " + current_table + "   where hostname=:HOSTNAME and value not like 'HOST%' ;"  ); -        query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    } -    else -    { -        query.prepare( "delete from " + current_table + "   where hostname=:HOSTNAME ;"  ); -        query.bindValue( ":HOSTNAME" ,   gContext->GetHostName()  ); -    } -    query.exec(); - -    // copy settings from temptable to settings -     if ( current_table == "settings") -       query.prepare( "replace into " + current_table + "   (select * from  " + temptable + " where value not like 'HOST% ' ) ;"  ); -    else -         query.prepare( "replace into " + current_table + "   (select * from  " + temptable + " );"  ); - - -      query.exec(); - -  //  drop temptable -   // drop_temp_table(temptable); - - -restart_frontend(); -}; - - -}; - - - - - static HostComboBox *HOSTtemplatetype() -{ -    HostComboBox *gc = new HostComboBox("HOSTtemplatetype"); -    gc->setLabel(QObject::tr("Template options")); -    gc->addSelection("Do Nothing") ; -    gc->addSelection("restore"); -    gc->addSelection("save") ; -    gc->addSelection("copy_from"); - -    gc->setHelpText(QObject::tr("Select the name to save, this will make a copy of your keybindings and videoplayback.  Choose none if you do not wish to change anything.")); - -    return gc; -} - - static HostComboBox *HostTemplateSave() -{ -    HostComboBox *gc = new HostComboBox("HostTemplateSave"); -    gc->setLabel(QObject::tr("Save Template")); - //   gc->addSelection("none"); -    gc->addSelection("user1") ; -    gc->addSelection("user2") ; -    gc->addSelection("user3") ; -    gc->setHelpText(QObject::tr("Select the name to save, this will make a copy of your keybindings and videoplayback.  Choose none if you do not wish to change anything.")); - -    return gc; -} - static HostComboBox *HostTemplateCopy_restore() -{ -    HostComboBox *gc = new HostComboBox("HostTemplateRestore"); -    gc->setLabel(QObject::tr("Template")); -  //  gc->addSelection("none"); -    gc->addSelection("Current"); -    gc->addSelection("user1") ; -    gc->addSelection("user2") ; -    gc->addSelection("user3") ; -    gc->setHelpText(QObject::tr("Select the template you wish to restore.  This will change the way Myth repsonds to you remote buttons.  Choose none if you do not wish to change anything.")); - -    return gc; -} - - static HostComboBox *HostTemplateRestore() -{ -    HostComboBox *gc = new HostComboBox("HostTemplateRestore"); -    gc->setLabel(QObject::tr("Template")); -  //  gc->addSelection("none"); -    gc->addSelection("default_1"); -    gc->addSelection("default_2"); -    gc->addSelection("user1") ; -    gc->addSelection("user2") ; -    gc->addSelection("user3") ; -    gc->setHelpText(QObject::tr("Select the template you wish to restore.  This will change the way Myth repsonds to you remote buttons.  Choose none if you do not wish to change anything.")); - -    return gc; -} - - static HostComboBox *HostSelectcopy_from() -{ -    HostComboBox *gc = new HostComboBox("HostSelectcopy_from"); -    gc->setLabel(QObject::tr("Host")); -  //  gc->addSelection("none"); - -   QString tempItem; - -    MSqlQuery query(MSqlQuery::InitCon()); - -    query.prepare( "SELECT DISTINCT hostname from settings where hostname is not null;"); - -      if (query.exec() && query.isActive() && query.size() > 0) -    { -        while (query.next()) -        { -            tempItem = query.value(0).toString(); -            gc->addSelection(tempItem); - -        } -    } -    gc->setHelpText(QObject::tr("Select the Host you wish to copy settings from.")); - -    return gc; -} - -class TemplateSettings: -                       public TriggeredConfigurationGroup { -public: -    TemplateSettings(): -         //ConfigurationGroup(false, true, false, false), -         //VerticalConfigurationGroup(false, true, false, false), -         TriggeredConfigurationGroup(true) { -         setLabel(QObject::tr("Manage templates")); -//         setUseLabel(false); - -         Setting* Mtemplate = HOSTtemplatetype(); -         addChild(Mtemplate); -         setTrigger(Mtemplate); - - -         ConfigurationGroup* trestore = new VerticalConfigurationGroup(false); -         trestore->addChild(HostTemplateRestore()); - -  	     ConfigurationGroup* tsave = new VerticalConfigurationGroup(false); -         tsave->addChild(HostTemplateSave()); - -        ConfigurationGroup* tcopy = new VerticalConfigurationGroup(false); -         tcopy->addChild(HostSelectcopy_from()); -         tcopy->addChild(HostTemplateCopy_restore()); - - -        addTarget("Do Nothing", new VerticalConfigurationGroup(true)); -	    addTarget("restore", trestore); -	    addTarget("save", tsave); -        addTarget("copy_from", tcopy); - -     }; -}; - -MythCtemplate::MythCtemplate() -{ - -        TemplateSettings *templatesettings = new TemplateSettings(); -        addChild(templatesettings); - -} - - - diff --git a/abs/core/mythinstall/settemplate.h b/abs/core/mythinstall/settemplate.h deleted file mode 100755 index a730cf5..0000000 --- a/abs/core/mythinstall/settemplate.h +++ /dev/null @@ -1,13 +0,0 @@ -#include <settings.h> -#include "mythdialogs.h" - -class MythCtemplate: public ConfigurationWizard { -public: -    MythCtemplate(); - -}; - -void choosetemplate(QString,QString,QString); -void savesettings(QString); -void restoresettings(QString); -void c_from(QString , QString="current" ); diff --git a/abs/core/mythinstall/statusbox.cpp b/abs/core/mythinstall/statusbox.cpp deleted file mode 100755 index fd8a6cd..0000000 --- a/abs/core/mythinstall/statusbox.cpp +++ /dev/null @@ -1,1411 +0,0 @@ -#include <qlayout.h> -#include <qiconview.h> -#include <qsqldatabase.h> -#include <qwidgetstack.h> -#include <qvbox.h> -#include <qgrid.h> -#include <qregexp.h> -#include <qhostaddress.h> - -#include <unistd.h> - -#include <iostream> -#include <cerrno> -using namespace std; - -#include "config.h" -#include "statusbox.h" -#include "mythcontext.h" -#include "remoteutil.h" -#include "programinfo.h" -#include "tv.h" -#include "jobqueue.h" -#include "util.h" -#include "mythdbcon.h" -#include "cardutil.h" - -#define REC_CAN_BE_DELETED(rec) \ -    ((((rec)->programflags & FL_INUSEPLAYING) == 0) && \ -     ((((rec)->programflags & FL_INUSERECORDING) == 0) || \ -      ((rec)->recgroup != "LiveTV"))) - - -/** \class StatusBox - *  \brief Reports on various status items. - * - *  StatusBox reports on the listing status, that is how far - *  into the future program listings exits. It also reports - *  on the status of each tuner, the log entries, the status - *  of the job queue, and the machine status. - */ - -StatusBox::StatusBox(MythMainWindow *parent, const char *name) -    : MythDialog(parent, name), errored(false) -{ -    // Set this value to the number of items in icon_list -    // to prevent scrolling off the bottom -    int item_count = 0; -    dateFormat = gContext->GetSetting("ShortDateFormat", "M/d"); -    timeFormat = gContext->GetSetting("TimeFormat", "h:mm AP"); -    timeDateFormat = timeFormat + " " + dateFormat; - -    setNoErase(); -    LoadTheme(); -    if (IsErrored()) -        return; -   -    icon_list->SetItemText(item_count++, QObject::tr("Listings Status")); -    icon_list->SetItemText(item_count++, QObject::tr("Tuner Status")); -    icon_list->SetItemText(item_count++, QObject::tr("Log Entries")); -    icon_list->SetItemText(item_count++, QObject::tr("Job Queue")); -    icon_list->SetItemText(item_count++, QObject::tr("Machine Status")); -    icon_list->SetItemText(item_count++, QObject::tr("AutoExpire List")); -    icon_list->SetItemCurrent(0); -    icon_list->SetActive(true); - -    QStringList strlist; -    strlist << "QUERY_IS_ACTIVE_BACKEND"; -    strlist << gContext->GetHostName(); - -    gContext->SendReceiveStringList(strlist); - -    if (QString(strlist[0]) == "FALSE") -        isBackend = false; -    else if (QString(strlist[0]) == "TRUE") -        isBackend = true; -    else -        isBackend = false; - -    VERBOSE(VB_NETWORK, QString("QUERY_IS_ACTIVE_BACKEND=%1").arg(strlist[0])); - -    max_icons = item_count; -    inContent = false; -    contentPos = 0; -    contentTotalLines = 0; -    contentSize = 0; -    contentMid = 0; -    min_level = gContext->GetNumSetting("LogDefaultView",5); -    my_parent = parent; -    clicked(); - -    gContext->addCurrentLocation("StatusBox"); -} - -StatusBox::~StatusBox(void) -{ -    gContext->removeCurrentLocation(); -} - -void StatusBox::paintEvent(QPaintEvent *e) -{ -    QRect r = e->rect(); - -    if (r.intersects(TopRect)) -        updateTopBar(); -    if (r.intersects(SelectRect)) -        updateSelector(); -    if (r.intersects(ContentRect)) -        updateContent(); -} - -void StatusBox::updateContent() -{ -    QRect pr = ContentRect; -    QPixmap pix(pr.size()); -    pix.fill(this, pr.topLeft()); -    QPainter tmp(&pix); -    QPainter p(this); - -    // Normalize the variables here and set the contentMid -    contentSize = list_area->GetItems(); -    if (contentSize > contentTotalLines) -        contentSize = contentTotalLines; -    contentMid = contentSize / 2; - -    int startPos = 0; -    int highlightPos = 0; - -    if (contentPos < contentMid) -    { -        startPos = 0; -        highlightPos = contentPos; -    } -    else if (contentPos >= (contentTotalLines - contentMid)) -    { -        startPos = contentTotalLines - contentSize; -        highlightPos = contentSize - (contentTotalLines - contentPos); -    } -    else if (contentPos >= contentMid) -    { -        startPos = contentPos - contentMid; -        highlightPos = contentMid; -    } -  -    if (content  == NULL) return; -    LayerSet *container = content; - -    list_area->ResetList(); -    for (int x = startPos; (x - startPos) <= contentSize; x++) -    { -        if (contentLines.contains(x)) -        { -            list_area->SetItemText(x - startPos, contentLines[x]); -            if (contentFont.contains(x)) -                list_area->EnableForcedFont(x - startPos, contentFont[x]); -        } -    } - -    list_area->SetItemCurrent(highlightPos); - -    if (inContent) -    { -        helptext->SetText(contentDetail[contentPos]); -        update(TopRect); -    } - -    list_area->SetUpArrow((startPos > 0) && (contentSize < contentTotalLines)); -    list_area->SetDownArrow((startPos + contentSize) < contentTotalLines); - -    container->Draw(&tmp, 0, 0); -    container->Draw(&tmp, 1, 0); -    container->Draw(&tmp, 2, 0); -    container->Draw(&tmp, 3, 0); -    container->Draw(&tmp, 4, 0); -    container->Draw(&tmp, 5, 0); -    container->Draw(&tmp, 6, 0); -    container->Draw(&tmp, 7, 0); -    container->Draw(&tmp, 8, 0); -    tmp.end(); -    p.drawPixmap(pr.topLeft(), pix); -} - -void StatusBox::updateSelector() -{ -    QRect pr = SelectRect; -    QPixmap pix(pr.size()); -    pix.fill(this, pr.topLeft()); -    QPainter tmp(&pix); -    QPainter p(this); -  -    if (selector == NULL) return; -    LayerSet *container = selector; - -    container->Draw(&tmp, 0, 0); -    container->Draw(&tmp, 1, 0); -    container->Draw(&tmp, 2, 0); -    container->Draw(&tmp, 3, 0); -    container->Draw(&tmp, 4, 0); -    container->Draw(&tmp, 5, 0); -    container->Draw(&tmp, 6, 0); -    container->Draw(&tmp, 7, 0); -    container->Draw(&tmp, 8, 0); -    tmp.end(); -    p.drawPixmap(pr.topLeft(), pix); -} - -void StatusBox::updateTopBar() -{ -    QRect pr = TopRect; -    QPixmap pix(pr.size()); -    pix.fill(this, pr.topLeft()); -    QPainter tmp(&pix); -    QPainter p(this); - -    if (topbar == NULL) return; -    LayerSet *container = topbar; - -    container->Draw(&tmp, 0, 0); -    tmp.end(); -    p.drawPixmap(pr.topLeft(), pix); -} - -void StatusBox::LoadTheme() -{ -    int screenheight = 0, screenwidth = 0; -    float wmult = 0, hmult = 0; - -    gContext->GetScreenSettings(screenwidth, wmult, screenheight, hmult); - -    theme = new XMLParse(); -    theme->SetWMult(wmult); -    theme->SetHMult(hmult); -    if (!theme->LoadTheme(xmldata, "status", "status-")) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Unable to load theme."); -        errored = true; -        return; -    } - -    for (QDomNode child = xmldata.firstChild(); !child.isNull(); -         child = child.nextSibling()) { - -        QDomElement e = child.toElement(); -        if (!e.isNull()) { -            if (e.tagName() == "font") { -                theme->parseFont(e); -            } -            else if (e.tagName() == "container") { -                QRect area; -                QString name; -                int context; -                theme->parseContainer(e, name, context, area); - -                if (name.lower() == "topbar") -                    TopRect = area; -                if (name.lower() == "selector") -                    SelectRect = area; -                if (name.lower() == "content") -                    ContentRect = area; -            } -            else { -                QString msg = -                    QString(tr("The theme you are using contains an " -                               "unknown element ('%1').  It will be ignored")) -                    .arg(e.tagName()); -                VERBOSE(VB_IMPORTANT, msg); -                errored = true; -            } -        } -    } - -    selector = theme->GetSet("selector"); -    if (!selector) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get selector container."); -        errored = true; -    } - -    icon_list = (UIListType*)selector->GetType("icon_list"); -    if (!icon_list) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get icon list area."); -        errored = true; -    } - -    content = theme->GetSet("content"); -    if (!content) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get content container."); -        errored = true; -    } - -    list_area = (UIListType*)content->GetType("list_area"); -    if (!list_area) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get list area."); -        errored = true; -    } - -    topbar = theme->GetSet("topbar"); -    if (!topbar) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get topbar container."); -        errored = true; -    } - -    heading = (UITextType*)topbar->GetType("heading"); -    if (!heading) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get heading area."); -        errored = true; -    } - -    helptext = (UITextType*)topbar->GetType("helptext"); -    if (!helptext) -    { -        VERBOSE(VB_IMPORTANT, "StatusBox: Failed to get helptext area."); -        errored = true; -    } -} - -void StatusBox::keyPressEvent(QKeyEvent *e) -{ -    bool handled = false; -    QStringList actions; -    gContext->GetMainWindow()->TranslateKeyPress("Status", e, actions); - -    for (unsigned int i = 0; i < actions.size() && !handled; i++) -    { -        QString action = actions[i]; -        QString currentItem; -        QRegExp logNumberKeys( "^[12345678]$" ); - -        currentItem = icon_list->GetItemText(icon_list->GetCurrentItem()); -        handled = true; - -        if (action == "SELECT") -        { -            clicked(); -        } -        else if (action == "MENU") -        { -            if ((inContent) && -                (currentItem == QObject::tr("Log Entries"))) -            { -                int retval = MythPopupBox::show2ButtonPopup(my_parent, -                                 QString("AckLogEntry"), -                                 QObject::tr("Acknowledge all log entries at " -                                             "this priority level or lower?"), -                                 QObject::tr("Yes"), QObject::tr("No"), 0); -                if (retval == 0) -                { -                    MSqlQuery query(MSqlQuery::InitCon()); -                    query.prepare("UPDATE mythlog SET acknowledged = 1 " -                                  "WHERE priority <= :PRIORITY ;"); -                    query.bindValue(":PRIORITY", min_level); -                    query.exec(); -                    doLogEntries(); -                } -            } -            else if ((inContent) && -                     (currentItem == QObject::tr("Job Queue"))) -            { -                clicked(); -            } -        } -        else if (action == "UP") -        { -            if (inContent) -            { -                if (contentPos > 0) -                    contentPos--; -                update(ContentRect); -            } -            else -            { -                if (icon_list->GetCurrentItem() > 0) -                    icon_list->SetItemCurrent(icon_list->GetCurrentItem()-1); -                clicked(); -                setHelpText(); -                update(SelectRect); -            } - -        } -        else if (action == "DOWN") -        { -            if (inContent) -            { -                if (contentPos < (contentTotalLines - 1)) -                    contentPos++; -                update(ContentRect); -            } -            else -            { -                if (icon_list->GetCurrentItem() < (max_icons - 1)) -                    icon_list->SetItemCurrent(icon_list->GetCurrentItem()+1); -                clicked(); -                setHelpText(); -                update(SelectRect); -            } -        } -        else if (action == "PAGEUP" && inContent)  -        { -            contentPos -= contentSize; -            if (contentPos < 0) -                contentPos = 0; -            update(ContentRect); -        } -        else if (action == "PAGEDOWN" && inContent) -        { -            contentPos += contentSize; -            if (contentPos > (contentTotalLines - 1)) -                contentPos = contentTotalLines - 1; -            update(ContentRect); -        } -        else if ((action == "RIGHT") && -                 (!inContent) && -                 ((contentTotalLines > contentSize) || -                  (doScroll))) -        { -            clicked(); -            inContent = true; -            contentPos = 0; -            icon_list->SetActive(false); -            list_area->SetActive(true); -            update(SelectRect); -            update(ContentRect); -        } -        else if (action == "LEFT") -        { -            if (inContent) -            { -                inContent = false; -                contentPos = 0; -                list_area->SetActive(false); -                icon_list->SetActive(true); -                setHelpText(); -                update(SelectRect); -                update(ContentRect); -            } -            else -            { -                if (gContext->GetNumSetting("UseArrowAccels", 1)) -                    accept(); -            } -        } -        else if ((currentItem == QObject::tr("Log Entries")) && -                 (logNumberKeys.search(action) == 0)) -        { -            min_level = action.toInt(); -            helptext->SetText(QObject::tr("Setting priority level to %1") -                                          .arg(min_level)); -            update(TopRect); -            doLogEntries(); -        } -        else -            handled = false; -    } - -    if (!handled) -        MythDialog::keyPressEvent(e); -} - -void StatusBox::setHelpText() -{ -    if (inContent) -    { -        helptext->SetText(contentDetail[contentPos]); -    } else { -        topbar->ClearAllText(); -        QString currentItem; - -        currentItem = icon_list->GetItemText(icon_list->GetCurrentItem()); - -        if (currentItem == QObject::tr("Listings Status")) -            helptext->SetText(QObject::tr("Listings Status shows the latest " -                                          "status information from " -                                          "mythfilldatabase")); - -        if (currentItem == QObject::tr("Tuner Status")) -            helptext->SetText(QObject::tr("Tuner Status shows the current " -                                          "information about the state of " -                                          "backend tuner cards")); - -        if (currentItem == QObject::tr("DVB Status")) -            helptext->SetText(QObject::tr("DVB Status shows the quality " -                                          "statistics of all DVB cards, if " -                                          "present")); - -        if (currentItem == QObject::tr("Log Entries")) -            helptext->SetText(QObject::tr("Log Entries shows any unread log " -                                          "entries from the system if you " -                                          "have logging enabled")); -        if (currentItem == QObject::tr("Job Queue")) -            helptext->SetText(QObject::tr("Job Queue shows any jobs currently " -                                          "in Myth's Job Queue such as a " -                                          "commercial flagging job.")); -        if (currentItem == QObject::tr("Machine Status")) -        { -            QString machineStr = QObject::tr("Machine Status shows " -                                             "some operating system " -                                             "statistics of this machine"); -            if (!isBackend) -                machineStr.append(" " + QObject::tr("and the MythTV server")); - -            helptext->SetText(machineStr); -        } - -        if (currentItem == QObject::tr("AutoExpire List")) -            helptext->SetText(QObject::tr("The AutoExpire List shows all " -                "recordings which may be expired and the order of their " -                "expiration. Recordings at the top of the list will be " -                "expired first.")); -    } -    update(TopRect); -} - -void StatusBox::clicked() -{ -    QString currentItem = icon_list->GetItemText(icon_list->GetCurrentItem()); - -    if (inContent) -    { -        if (currentItem == QObject::tr("Log Entries")) -        { -            int retval; - -            retval = MythPopupBox::show2ButtonPopup(my_parent, -                                   QString("AckLogEntry"), -                                   QObject::tr("Acknowledge this log entry?"), -                                   QObject::tr("Yes"), QObject::tr("No"), 0); -            if (retval == 0) -            { -                MSqlQuery query(MSqlQuery::InitCon()); -                query.prepare("UPDATE mythlog SET acknowledged = 1 " -                              "WHERE logid = :LOGID ;"); -                query.bindValue(":LOGID", contentData[contentPos]); -                query.exec(); -                doLogEntries(); -            } -        } -        else if (currentItem == QObject::tr("Job Queue")) -        { -            QStringList msgs; -            int jobStatus; -            int retval; - -            jobStatus = JobQueue::GetJobStatus( -                                contentData[contentPos].toInt()); - -            if (jobStatus == JOB_QUEUED) -            { -                retval = MythPopupBox::show2ButtonPopup(my_parent, -                                       QString("JobQueuePopup"), -                                       QObject::tr("Delete Job?"), -                                       QObject::tr("Yes"), -                                       QObject::tr("No"), 1); -                if (retval == 0) -                { -                    JobQueue::DeleteJob(contentData[contentPos].toInt()); -                    doJobQueueStatus(); -                } -            } -            else if ((jobStatus == JOB_PENDING) || -                     (jobStatus == JOB_STARTING) || -                     (jobStatus == JOB_RUNNING)) -            { -                msgs << QObject::tr("Pause"); -                msgs << QObject::tr("Stop"); -                msgs << QObject::tr("No Change"); -                retval = MythPopupBox::showButtonPopup(my_parent, -                                       QString("JobQueuePopup"), -                                       QObject::tr("Job Queue Actions:"), -                                       msgs, 2); -                if (retval == 0) -                { -                    JobQueue::PauseJob(contentData[contentPos].toInt()); -                    doJobQueueStatus(); -                } -                else if (retval == 1) -                { -                    JobQueue::StopJob(contentData[contentPos].toInt()); -                    doJobQueueStatus(); -                } -            } -            else if (jobStatus == JOB_PAUSED) -            { -                msgs << QObject::tr("Resume"); -                msgs << QObject::tr("Stop"); -                msgs << QObject::tr("No Change"); -                retval = MythPopupBox::showButtonPopup(my_parent, -                                       QString("JobQueuePopup"), -                                       QObject::tr("Job Queue Actions:"), -                                       msgs, 2); -                if (retval == 0) -                { -                    JobQueue::ResumeJob(contentData[contentPos].toInt()); -                    doJobQueueStatus(); -                } -                else if (retval == 1) -                { -                    JobQueue::StopJob(contentData[contentPos].toInt()); -                    doJobQueueStatus(); -                } -            } -            else if (jobStatus & JOB_DONE) -            { -                retval = MythPopupBox::show2ButtonPopup(my_parent, -                                       QString("JobQueuePopup"), -                                       QObject::tr("Requeue Job?"), -                                       QObject::tr("Yes"), -                                       QObject::tr("No"), 1); -                if (retval == 0) -                { -                    JobQueue::ChangeJobStatus(contentData[contentPos].toInt(), -                                              JOB_QUEUED); -                    doJobQueueStatus(); -                } -            } -        } -        else if (currentItem == QObject::tr("AutoExpire List")) -        { -            ProgramInfo* rec; - -            rec = expList[contentPos]; - -            if (rec)  -            { -                QStringList msgs; -                int retval; - -                msgs << QObject::tr("Delete Now"); -                msgs << QObject::tr("Disable AutoExpire"); -                msgs << QObject::tr("No Change"); -                 -                retval = MythPopupBox::showButtonPopup(my_parent, -                             QString("AutoExpirePopup"), -                             QObject::tr("AutoExpire Actions:"), -                             msgs, 2); - -                if (retval == 0 && REC_CAN_BE_DELETED(rec)) -                { -                    RemoteDeleteRecording(rec, false, false); -                } -                else if (retval == 1) -                { -                    rec->SetAutoExpire(0); -                    if ((rec)->recgroup == "LiveTV") -                        rec->ApplyRecordRecGroupChange("Default"); -                } - -                // Update list, prevent selected item going off bottom -                doAutoExpireList(); -                if (contentPos >= (int)expList.size())   -                    contentPos = max((int)expList.size()-1,0); -            } -        } -        return; -    } -     -    // Clear all visible content elements here -    // I'm sure there's a better way to do this but I can't find it -    content->ClearAllText(); -    list_area->ResetList(); -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    contentData.clear(); - -    if (currentItem == QObject::tr("Listings Status")) -        doListingsStatus(); -    else if (currentItem == QObject::tr("Tuner Status")) -        doTunerStatus(); -    else if (currentItem == QObject::tr("Log Entries")) -        doLogEntries(); -    else if (currentItem == QObject::tr("Job Queue")) -        doJobQueueStatus(); -    else if (currentItem == QObject::tr("Machine Status")) -        doMachineStatus(); -    else if (currentItem == QObject::tr("AutoExpire List")) -        doAutoExpireList(); -} - -void StatusBox::doListingsStatus() -{ -    QString mfdLastRunStart, mfdLastRunEnd, mfdLastRunStatus, mfdNextRunStart; -    QString querytext, Status, DataDirectMessage; -    int DaysOfData; -    QDateTime qdtNow, GuideDataThrough; -    int count = 0; - -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    doScroll = false; - -    qdtNow = QDateTime::currentDateTime(); - -    MSqlQuery query(MSqlQuery::InitCon()); -    query.prepare("SELECT max(endtime) FROM program WHERE manualid=0;"); -    query.exec(); - -    if (query.isActive() && query.size()) -    { -        query.next(); -        GuideDataThrough = QDateTime::fromString(query.value(0).toString(), -                                                 Qt::ISODate); -    } - -    mfdLastRunStart = gContext->GetSetting("mythfilldatabaseLastRunStart"); -    mfdLastRunEnd = gContext->GetSetting("mythfilldatabaseLastRunEnd"); -    mfdLastRunStatus = gContext->GetSetting("mythfilldatabaseLastRunStatus"); -    mfdNextRunStart = gContext->GetSetting("MythFillSuggestedRunTime"); -    DataDirectMessage = gContext->GetSetting("DataDirectMessage"); - -    mfdNextRunStart.replace("T", " "); - -    extern const char *myth_source_version; -    contentLines[count++] = QObject::tr("Myth version:") + " " + -                                        MYTH_BINARY_VERSION + "   " + -                                        myth_source_version; -    contentLines[count++] = QObject::tr("Last mythfilldatabase guide update:"); -    contentLines[count++] = QObject::tr("Started:   ") + mfdLastRunStart; - -    if (mfdLastRunEnd >= mfdLastRunStart) //if end < start, it's still running. -        contentLines[count++] = QObject::tr("Finished: ") + mfdLastRunEnd; - -    contentLines[count++] = QObject::tr("Result: ") + mfdLastRunStatus; - - -    if (mfdNextRunStart >= mfdLastRunStart)  -        contentLines[count++] = QObject::tr("Suggested Next: ") +  -                                mfdNextRunStart; - -    DaysOfData = qdtNow.daysTo(GuideDataThrough); - -    if (GuideDataThrough.isNull()) -    { -        contentLines[count++] = ""; -        contentLines[count++] = QObject::tr("There's no guide data available!"); -        contentLines[count++] = QObject::tr("Have you run mythfilldatabase?"); -    } -    else -    { -        contentLines[count++] = QObject::tr("There is guide data until ") +  -                                QDateTime(GuideDataThrough) -                                          .toString("yyyy-MM-dd hh:mm"); - -        if (DaysOfData > 0) -        { -            Status = QString("(%1 ").arg(DaysOfData); -            if (DaysOfData >1) -                Status += QObject::tr("days"); -            else -                Status += QObject::tr("day"); -            Status += ")."; -            contentLines[count++] = Status; -        } -    } - -    if (DaysOfData <= 3) -    { -        contentLines[count++] = QObject::tr("WARNING: is mythfilldatabase " -                                            "running?"); -    } - -    if (!DataDirectMessage.isNull()) -    { -        contentLines[count++] = QObject::tr("DataDirect Status: ");  -        contentLines[count++] = DataDirectMessage; -    } -    -    contentTotalLines = count; -    update(ContentRect); -} - -void StatusBox::doTunerStatus() -{ -    doScroll = true; -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); - -    MSqlQuery query(MSqlQuery::InitCon()); -    query.prepare( -        "SELECT cardid, cardtype, videodevice " -        "FROM capturecard WHERE parentid='0' ORDER BY cardid"); - -    if (!query.exec() || !query.isActive()) -    { -        MythContext::DBError("StatusBox::doTunerStatus()", query); -        contentTotalLines = 0; -        update(ContentRect); -        return; -    } - -    uint count = 0; -    while (query.next()) -    { -        int cardid = query.value(0).toInt(); - -        QString cmd = QString("QUERY_REMOTEENCODER %1").arg(cardid); -        QStringList strlist = cmd; -        strlist << "GET_STATE"; - -        gContext->SendReceiveStringList(strlist); -        int state = strlist[0].toInt(); -   -        QString status = ""; -        if (state == kState_Error) -            status = tr("is unavailable"); -        else if (state == kState_WatchingLiveTV) -            status = tr("is watching live TV"); -        else if (state == kState_RecordingOnly || -                 state == kState_WatchingRecording) -            status = tr("is recording"); -        else  -            status = tr("is not recording"); - -        QString tun = tr("Tuner %1 ").arg(cardid); -        QString devlabel = CardUtil::GetDeviceLabel( -            cardid, query.value(1).toString(), query.value(2).toString()); - -        contentLines[count]  = tun + status; -        contentDetail[count] = tun + devlabel + " " + status; - -        if (state == kState_RecordingOnly || -            state == kState_WatchingRecording) -        { -            strlist = QString("QUERY_RECORDER %1").arg(cardid); -            strlist << "GET_RECORDING"; -            gContext->SendReceiveStringList(strlist); -            ProgramInfo *proginfo = new ProgramInfo; -            proginfo->FromStringList(strlist, 0); -    -            status += " " + proginfo->title; -            status += "\n"; -            status += proginfo->subtitle; -            contentDetail[count] = tun + devlabel + " " + status; -        } -        count++; -    } -    contentTotalLines = count; -    update(ContentRect); -} - -void StatusBox::doLogEntries(void) -{ -    QString line; -    int count = 0; -  -    doScroll = true; - -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    contentData.clear(); - -    MSqlQuery query(MSqlQuery::InitCon()); -    query.prepare("SELECT logid, module, priority, logdate, host, " -                  "message, details " -                  "FROM mythlog WHERE acknowledged = 0 " -                  "AND priority <= :PRIORITY ORDER BY logdate DESC;"); -    query.bindValue(":PRIORITY", min_level); -    query.exec(); - -    if (query.isActive()) -    { -        while (query.next()) -        { -            line = QString("%1").arg(query.value(5).toString()); -            contentLines[count] = line; - -            if (query.value(6).toString() != "") -                line = tr("On %1 %2 from %3.%4\n%5\n%6") -                               .arg(query.value(3).toDateTime() -                                         .toString(dateFormat)) -                               .arg(query.value(3).toDateTime() -                                         .toString(timeFormat)) -                               .arg(query.value(4).toString()) -                               .arg(query.value(1).toString()) -                               .arg(query.value(5).toString()) -                               .arg(QString::fromUtf8(query.value(6).toString())); -            else -                line = tr("On %1 %2 from %3.%4\n%5\nNo other details") -                               .arg(query.value(3).toDateTime() -                                         .toString(dateFormat)) -                               .arg(query.value(3).toDateTime() -                                         .toString(timeFormat)) -                               .arg(query.value(4).toString()) -                               .arg(query.value(1).toString()) -                               .arg(query.value(5).toString()); -            contentDetail[count] = line; -            contentData[count++] = query.value(0).toString(); -        } -    } - -    if (!count) -    { -        doScroll = false; -        contentLines[count++] = QObject::tr("No items found at priority " -                                            "level %1 or lower.") -                                            .arg(min_level); -        contentLines[count++] = QObject::tr("Use 1-8 to change priority " -                                            "level."); -    } -       -    contentTotalLines = count; -    if (contentPos > (contentTotalLines - 1)) -        contentPos = contentTotalLines - 1; - -    update(ContentRect); -} - -void StatusBox::doJobQueueStatus() -{ -    QMap<int, JobQueueEntry> jobs; -    QMap<int, JobQueueEntry>::Iterator it; -    int count = 0; - -    QString detail; - -    JobQueue::GetJobsInQueue(jobs, -                             JOB_LIST_NOT_DONE | JOB_LIST_ERROR | -                             JOB_LIST_RECENT); - -    doScroll = true; - -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    contentData.clear(); - -    if (jobs.size()) -    { -        for (it = jobs.begin(); it != jobs.end(); ++it) -        { -            QString chanid = it.data().chanid; -            QDateTime starttime = it.data().starttime; -            ProgramInfo *pginfo; - -            pginfo = ProgramInfo::GetProgramFromRecorded(chanid, starttime); - -            if (!pginfo) -                continue; - -            detail = pginfo->title + "\n" + -                     pginfo->channame + " " + pginfo->chanstr + -                         " @ " + starttime.toString(timeDateFormat) + "\n" + -                     tr("Job:") + " " + JobQueue::JobText(it.data().type) + -                     "     " + tr("Status: ") + -                     JobQueue::StatusText(it.data().status); - -            if (it.data().status != JOB_QUEUED) -                detail += " (" + it.data().hostname + ")"; - -            detail += "\n" + it.data().comment; - -            contentLines[count] = pginfo->title + " @ " + -                                  starttime.toString(timeDateFormat); - -            contentDetail[count] = detail; -            contentData[count] = QString("%1").arg(it.data().id); - -            if (it.data().status == JOB_ERRORED) -                contentFont[count] = "error"; -            else if (it.data().status == JOB_ABORTED) -                contentFont[count] = "warning"; - -            count++; - -            delete pginfo; -        } -    } -    else -    { -        contentLines[count++] = QObject::tr("Job Queue is currently empty."); -        doScroll = false; -    } - -    contentTotalLines = count; -    update(ContentRect); -} - -// Some helper routines for doMachineStatus() that format the output strings - -/** \fn sm_str(long long, int) - *  \brief Returns a short string describing an amount of space, choosing - *         one of a number of useful units, "TB", "GB", "MB", or "KB". - *  \param sizeKB Number of kilobytes. - *  \param prec   Precision to use if we have less than ten of whatever - *                unit is chosen. - */ -static const QString sm_str(long long sizeKB, int prec=1) -{ -    if (sizeKB>1024*1024*1024) // Terabytes -    { -        double sizeGB = sizeKB/(1024*1024*1024.0); -        return QString("%1 TB").arg(sizeGB, 0, 'f', (sizeGB>10)?0:prec); -    } -    else if (sizeKB>1024*1024) // Gigabytes -    { -        double sizeGB = sizeKB/(1024*1024.0); -        return QString("%1 GB").arg(sizeGB, 0, 'f', (sizeGB>10)?0:prec); -    } -    else if (sizeKB>1024) // Megabytes -    { -        double sizeMB = sizeKB/1024.0; -        return QString("%1 MB").arg(sizeMB, 0, 'f', (sizeMB>10)?0:prec); -    } -    // Kilobytes -    return QString("%1 KB").arg(sizeKB); -} - -static const QString usage_str_kb(long long total, -                                  long long used, -                                  long long free) -{ -    QString ret = QObject::tr("Unknown"); -    if (total > 0.0 && free > 0.0) -    { -        double percent = (100.0*free)/total; -        ret = QObject::tr("%1 total, %2 used, %3 (or %4%) free.") -            .arg(sm_str(total)).arg(sm_str(used)) -            .arg(sm_str(free)).arg(percent, 0, 'f', (percent >= 10.0) ? 0 : 2); -    } -    return ret; -} - -static const QString usage_str_mb(float total, float used, float free) -{ -    return usage_str_kb((long long)(total*1024), (long long)(used*1024), -                        (long long)(free*1024)); -} - -static void disk_usage_with_rec_time_kb(QStringList& out, long long total, -                                        long long used, long long free, -                                        const recprof2bps_t& prof2bps) -{ -    const QString tail = QObject::tr(", using your %1 rate of %2 Kb/sec"); - -    out<<usage_str_kb(total, used, free); -    if (free<0) -        return; - -    recprof2bps_t::const_iterator it = prof2bps.begin(); -    for (; it != prof2bps.end(); ++it) -    { -        const QString pro = -                tail.arg(it.key()).arg((int)((float)it.data() / 1024.0)); -         -        long long bytesPerMin = (it.data() >> 1) * 15; -        uint minLeft = ((free<<5)/bytesPerMin)<<5; -        minLeft = (minLeft/15)*15; -        uint hoursLeft = minLeft/60; -        if (hoursLeft > 3) -            out<<QObject::tr("%1 hours left").arg(hoursLeft) + pro; -        else if (minLeft > 90) -            out<<QObject::tr("%1 hours and %2 minutes left") -                .arg(hoursLeft).arg(minLeft%60) + pro; -        else -            out<<QObject::tr("%1 minutes left").arg(minLeft) + pro; -    } -} - -static const QString uptimeStr(time_t uptime) -{ -    int     days, hours, min, secs; -    QString str; - -    str = QString("   " + QObject::tr("Uptime") + ": "); - -    if (uptime == 0) -        return str + "unknown"; - -    days = uptime/(60*60*24); -    uptime -= days*60*60*24; -    hours = uptime/(60*60); -    uptime -= hours*60*60; -    min  = uptime/60; -    secs = uptime%60; - -    if (days > 0) -    { -        char    buff[6]; -        QString dayLabel; - -        if (days == 1) -            dayLabel = QObject::tr("day"); -        else -            dayLabel = QObject::tr("days"); - -        sprintf(buff, "%d:%02d", hours, min); - -        return str + QString("%1 %2, %3").arg(days).arg(dayLabel).arg(buff); -    } -    else -    { -        char  buff[9]; - -        sprintf(buff, "%d:%02d:%02d", hours, min, secs); - -        return str + buff; -    } -} - -/** \fn StatusBox::getActualRecordedBPS(QString hostnames) - *  \brief Fills in recordingProfilesBPS w/ average bitrate from recorded table - */ -void StatusBox::getActualRecordedBPS(QString hostnames) -{ -    recordingProfilesBPS.clear(); - -    QString querystr; -    MSqlQuery query(MSqlQuery::InitCon()); - -    querystr = -        "SELECT sum(filesize) * 8 / " -            "sum(((unix_timestamp(endtime) - unix_timestamp(starttime)))) " -            "AS avg_bitrate " -        "FROM recorded WHERE hostname in (%1) " -            "AND (unix_timestamp(endtime) - unix_timestamp(starttime)) > 300;"; - -    query.prepare(querystr.arg(hostnames)); - -    if (query.exec() && query.isActive() && query.size() > 0 && query.next() && -        query.value(0).toDouble() > 0) -    { -        recordingProfilesBPS[QObject::tr("average")] = -            (int)(query.value(0).toDouble()); -    } - -    querystr = -        "SELECT max(filesize * 8 / " -            "(unix_timestamp(endtime) - unix_timestamp(starttime))) " -            "AS max_bitrate " -        "FROM recorded WHERE hostname in (%1) " -            "AND (unix_timestamp(endtime) - unix_timestamp(starttime)) > 300;"; - -    query.prepare(querystr.arg(hostnames)); - -    if (query.exec() && query.isActive() && query.size() > 0 && query.next() && -        query.value(0).toDouble() > 0) -    { -        recordingProfilesBPS[QObject::tr("maximum")] = -            (int)(query.value(0).toDouble()); -    } -} - -/** \fn StatusBox::doMachineStatus() - *  \brief Show machine status. - *   - *   This returns statisics for master backend when using - *   a frontend only machine. And returns info on the current - *   system if frontend is running on a backend machine. - *  \bug We should report on all backends and the current frontend. - */ -void StatusBox::doMachineStatus() -{ -    int           count(0); -    int           totalM, usedM, freeM;    // Physical memory -    int           totalS, usedS, freeS;    // Virtual  memory (swap) -    time_t        uptime; -    int           detailBegin; -    QString       detailString; -    int           detailLoop; - -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    doScroll = true; - -    detailBegin = count; -    detailString = ""; - -    if (isBackend) -        contentLines[count] = QObject::tr("System") + ":"; -    else -        contentLines[count] = QObject::tr("This machine") + ":"; -    detailString += contentLines[count] + "\n"; -    count++; - -    // uptime -    if (!getUptime(uptime)) -        uptime = 0; -    contentLines[count] = uptimeStr(uptime); - -    // weighted average loads -    contentLines[count].append(".   " + QObject::tr("Load") + ": "); - -    double loads[3]; -    if (getloadavg(loads,3) == -1) -        contentLines[count].append(QObject::tr("unknown") + -                                   " - getloadavg() " + QObject::tr("failed")); -    else -    { -        char buff[30]; - -        sprintf(buff, "%0.2lf, %0.2lf, %0.2lf", loads[0], loads[1], loads[2]); -        contentLines[count].append(QString(buff)); -    } -    detailString += contentLines[count] + "\n"; -    count++; - - -    // memory usage -    if (getMemStats(totalM, freeM, totalS, freeS)) -    { -        usedM = totalM - freeM; -        if (totalM > 0) -        { -            contentLines[count] = "   " + QObject::tr("RAM") + -                                  ": "  + usage_str_mb(totalM, usedM, freeM); -            detailString += contentLines[count] + "\n"; -            count++; -        } -        usedS = totalS - freeS; -        if (totalS > 0) -        { -            contentLines[count] = "   " + QObject::tr("Swap") + -                                  ": "  + usage_str_mb(totalS, usedS, freeS); -            detailString += contentLines[count] + "\n"; -            count++; -        } -    } - -    for (detailLoop = detailBegin; detailLoop < count; detailLoop++) -        contentDetail[detailLoop] = detailString; - -    detailBegin = count; -    detailString = ""; - -    if (!isBackend) -    { -        contentLines[count] = QObject::tr("MythTV server") + ":"; -        detailString += contentLines[count] + "\n"; -        count++; - -        // uptime -        if (!RemoteGetUptime(uptime)) -            uptime = 0; -        contentLines[count] = uptimeStr(uptime); - -        // weighted average loads -        contentLines[count].append(".   " + QObject::tr("Load") + ": "); -        float loads[3]; -        if (RemoteGetLoad(loads)) -        { -            char buff[30]; - -            sprintf(buff, "%0.2f, %0.2f, %0.2f", loads[0], loads[1], loads[2]); -            contentLines[count].append(QString(buff)); -        } -        else -            contentLines[count].append(QObject::tr("unknown")); - -        detailString += contentLines[count] + "\n"; -        count++; - -        // memory usage -        if (RemoteGetMemStats(totalM, freeM, totalS, freeS)) -        { -            usedM = totalM - freeM; -            if (totalM > 0) -            { -                contentLines[count] = "   " + QObject::tr("RAM") + -                                      ": "  + usage_str_mb(totalM, usedM, freeM); -                detailString += contentLines[count] + "\n"; -                count++; -            } - -            usedS = totalS - freeS; -            if (totalS > 0) -            { -                contentLines[count] = "   " + QObject::tr("Swap") + -                                      ": "  + usage_str_mb(totalS, usedS, freeS); -                detailString += contentLines[count] + "\n"; -                count++; -            } -        } -    } - -    for (detailLoop = detailBegin; detailLoop < count; detailLoop++) -        contentDetail[detailLoop] = detailString; - -    detailBegin = count; -    detailString = ""; - -    // get free disk space -    QString hostnames; -     -    vector<FileSystemInfo> fsInfos = RemoteGetFreeSpace(); -    for (uint i=0; i<fsInfos.size(); i++) -    { -        hostnames = QString("\"%1\"").arg(fsInfos[i].hostname); -        hostnames.replace(QRegExp(" "), ""); -        hostnames.replace(QRegExp(","), "\",\""); - -        getActualRecordedBPS(hostnames); - -        QStringList list; -        disk_usage_with_rec_time_kb(list, -            fsInfos[i].totalSpaceKB, fsInfos[i].usedSpaceKB, -            fsInfos[i].totalSpaceKB - fsInfos[i].usedSpaceKB, -            recordingProfilesBPS); - -        contentLines[count] =  -            QObject::tr("Disk usage on %1:").arg(fsInfos[i].hostname); -        detailString += contentLines[count] + "\n"; -        count++; - -        QStringList::iterator it = list.begin(); -        for (;it != list.end(); ++it) -        { -            contentLines[count] =  QString("   ") + (*it); -            detailString += contentLines[count] + "\n"; -            count++; -        } - -        for (detailLoop = detailBegin; detailLoop < count; detailLoop++) -            contentDetail[detailLoop] = detailString; - -        detailBegin = count; -        detailString = ""; -    } - -    contentTotalLines = count; -    update(ContentRect); -} - -/** \fn StatusBox::doAutoExpireList() - *  \brief Show list of recordings which may AutoExpire - */ -void StatusBox::doAutoExpireList() -{ -    int                   count(0); -    ProgramInfo*          pginfo; -    QString               contentLine; -    QString               detailInfo; -    QString               staticInfo; -    long long             totalSize(0); -    long long             liveTVSize(0); -    int                   liveTVCount(0); - -    contentLines.clear(); -    contentDetail.clear(); -    contentFont.clear(); -    doScroll = true; - -    vector<ProgramInfo *>::iterator it; -    for (it = expList.begin(); it != expList.end(); it++) -        delete *it; -    expList.clear(); - -    RemoteGetAllExpiringRecordings(expList); - -    for (it = expList.begin(); it != expList.end(); it++) -    { -        pginfo = *it; -        -        totalSize += pginfo->filesize; -        if (pginfo->recgroup == "LiveTV") -        { -            liveTVSize += pginfo->filesize; -            liveTVCount++; -        } -    } - -    staticInfo = tr("%1 recordings consuming %2 are allowed to expire") -                    .arg(expList.size()).arg(sm_str(totalSize / 1024)) + "\n"; - -    if (liveTVCount) -        staticInfo += tr("%1 of these are LiveTV and consume %2") -                        .arg(liveTVCount).arg(sm_str(liveTVSize / 1024)) + "\n"; -    else -        staticInfo += "\n"; - -    for (it = expList.begin(); it != expList.end(); it++) -    { -        pginfo = *it; -        contentLine = pginfo->recstartts.toString(dateFormat) + " - "; - -        if (pginfo->recgroup == "LiveTV") -            contentLine += "(" + tr("LiveTV") + ") "; - -        contentLine += pginfo->title + -                       " (" + sm_str(pginfo->filesize / 1024) + ")"; - -        detailInfo = staticInfo; -        detailInfo += pginfo->recstartts.toString(timeDateFormat) + " - " + -                      pginfo->recendts.toString(timeDateFormat); - -        detailInfo += " (" + sm_str(pginfo->filesize / 1024) + ")"; - -        if (pginfo->recgroup == "LiveTV") -            detailInfo += " (" + tr("LiveTV") + ")"; - -        detailInfo += "\n" + pginfo->title; - -        if (pginfo->subtitle != "") -            detailInfo += " - " + pginfo->subtitle + ""; - -        contentLines[count] = contentLine; -        contentDetail[count] = detailInfo; -        count++; -    } - -    contentTotalLines = count; -    update(ContentRect); -} - -/* vim: set expandtab tabstop=4 shiftwidth=4: */ diff --git a/abs/core/mythinstall/statusbox.h b/abs/core/mythinstall/statusbox.h deleted file mode 100755 index dd209ca..0000000 --- a/abs/core/mythinstall/statusbox.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef STATUSBOX_H_ -#define STATUSBOX_H_ - -#include <qstringlist.h> -#include "mythwidgets.h" -#include "mythdialogs.h" -#include "uitypes.h" -#include "xmlparse.h" -#include "programinfo.h" - -typedef QMap<QString, unsigned int> recprof2bps_t; - -class LayerSet; - -class StatusBox : public MythDialog -{ -    Q_OBJECT -  public: -    StatusBox(MythMainWindow *parent, const char *name = 0); -   ~StatusBox(void); - -   bool IsErrored() const { return errored; } - -  protected slots: - -  protected: -    void keyPressEvent(QKeyEvent *e); -    void paintEvent(QPaintEvent *e); - -  private: -    void updateTopBar(); -    void updateSelector(); -    void updateContent(); -    void LoadTheme(); -    void doListingsStatus(); -    void doTunerStatus(); -    void doLogEntries(); -    void doJobQueueStatus(); -    void doMachineStatus(); -    void doAutoExpireList(); -    void clicked(); -    void setHelpText(); -    void getActualRecordedBPS(QString hostnames); - -    XMLParse *theme; -    QDomElement xmldata; -    QRect TopRect, SelectRect, ContentRect; -    UITextType *heading, *helptext; -    UIListType *icon_list, *list_area; -    LayerSet *selector, *topbar, *content; - -    int max_icons; - -    bool inContent, doScroll; -    int contentTotalLines; -    int contentSize; -    int contentPos; -    int contentMid; -    int min_level; -    QString dateFormat, timeFormat, timeDateFormat; - -    QMap<int, QString> contentLines; -    QMap<int, QString> contentDetail; -    QMap<int, QString> contentFont; -    QMap<int, QString> contentData; -    recprof2bps_t      recordingProfilesBPS; - -    vector<ProgramInfo *> expList; - -    MythMainWindow *my_parent; - -    bool isBackend; -    bool errored; -}; - -#endif diff --git a/abs/core/mythinstall/xorgsettings.cpp b/abs/core/mythinstall/xorgsettings.cpp deleted file mode 100755 index 02fa3ce..0000000 --- a/abs/core/mythinstall/xorgsettings.cpp +++ /dev/null @@ -1,686 +0,0 @@ - - -//_include <mythcontext.h> -#include <unistd.h> -#include <iostream> -#include <fstream> -#include <stdio.h> -#include "settings.h" - -#include <string> -#include <fstream> -#include <sstream> -#include <stdexcept> -#include <vector> -#include <cassert> -#include <algorithm> -#include <tr1/unordered_map> - - -#include <sys/wait.h>   // For WIFEXITED on Mac OS X -#include <qapplication.h> -#include "mythcontext.h" -#include "libmyth/mythdialogs.h" -#include "mythdbcon.h" -#include "lcddevice.h" -#include "tv.h" -#include "programinfo.h" -#include "uitypes.h" -#include "remoteutil.h" -#include <qdir.h> -#include <qimage.h> -#include <stdlib.h> -#include <cstdlib> - -#include "installsettings.h" -#include "installdialog.h" -#include "xorgsettings.h" -#include <qsqldatabase.h> -#include <qsqlquery.h> -#include "installsettings.h" -extern  HostParms hostparm; -extern DDCinfo ddcinfo; -// __________________All the Xorg settings______________ -void ReadDDCvalues (void) -{ -    QString line; -    QString currentitem; -     system ("/usr/sbin/ddcprobe > /tmp/ddcinfo"); -    QFile file("/tmp/ddcinfo"); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -        { -            line = t.readLine(); -            if  ( line.contains("Timing ranges:") ) -            { -                currentitem = line.section( "=", 1,1 ); -                ddcinfo.XVrefresh = line.section( "=", 2,2 ); -                ddcinfo.XHsync  = currentitem.section( "," , 0,0 ); -            } -            else if  ( line.contains (" Dimensions") ) -            { -                ddcinfo.Displaysize= line.section( ":", 1,1 ); -            }; -        } -        file.close(); -        } -}; - -static HostCheckBox *HostXUseAdvanced() -{ -    HostCheckBox *gc = new HostCheckBox("HostXUseAdvanced"); -    gc->setLabel(QObject::tr("Advanced xorg configuration")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("Displays more settings for Xorg")); -    return gc; -}; - -static HostComboBox *HostXgeneric_connection() -{ -    HostComboBox *gc = new HostComboBox("HostXgenericConnection",false); -    gc->setLabel(QObject::tr("Connection")); -    gc->addSelection("VGA"); -    gc->addSelection("DVI"); -    gc->addSelection("TV"); -    gc->addSelection("AUTO"); -    gc->setHelpText(QObject::tr("Video-out")); -    return gc; -} - - -static HostCheckBox *HostXIgnoreEDID() -{ -    HostCheckBox *gc = new HostCheckBox("HostXIgnoreEDID"); -    gc->setLabel(QObject::tr("Ignore data provided by monitor")); -    gc->setValue(false); -    gc->setHelpText(QObject::tr("")); -    return gc; -}; - - -static HostSpinBox *HostXHsyncLow() -{ -    HostSpinBox *gc = new HostSpinBox("HostXHsyncLow", 1, 200, 1, true); -    gc->setLabel(QObject::tr("Hsync")); -    gc->setValue(6); -    gc->setHelpText(QObject::tr(""  )); -    return gc; -} -static HostSpinBox *HostXHsyncHigh() -{ -    HostSpinBox *gc = new HostSpinBox("HostXHsyncHigh", 1, 200, 1, true); -    gc->setLabel(QObject::tr("")); -    gc->setValue(6); -    gc->setHelpText(QObject::tr(""  )); -    return gc; -} - -static HostSpinBox *HostXVrefreshLow() -{ -    HostSpinBox *gc = new HostSpinBox("HostXVrefreshLow", 1, 200, 1, true); -    gc->setLabel(QObject::tr("Vrefresh")); -    gc->setValue(6); -    gc->setHelpText(QObject::tr(""  )); -    return gc; -} -static HostSpinBox *HostXVrefreshHigh() -{ -    HostSpinBox *gc = new HostSpinBox("HostXVrefreshHigh", 1, 200, 1, true); -    gc->setLabel(QObject::tr("")); -    gc->setValue(6); -    gc->setHelpText(QObject::tr(""  )); -    return gc; -} - -static HostComboBox *HostXDisplaysize() -{ -    HostComboBox *gc = new HostComboBox("HostXdisplaysize",true); -    gc->setLabel(QObject::tr("Display size")); -    gc->setHelpText(QObject::tr("Format should be two numbers    320   250" )); -    gc->addSelection("487 274 _ 1920x1080 at 100dpi  (16:9)"); -    gc->addSelection("325 182 _ 1280x720 at 100dpi  (16:9)"); -    gc->addSelection("325 243 _ 1280x960 at 100dpi (4:3)"); -    gc->addSelection("260 195 _ 1024x768 at 100dpi  (4:3)"); -    gc->addSelection("203 153 _  800x600 at 100dpi  (4:3)"); -    gc->addSelection("162 121 _  640x480 at 100dpi  (4:3)"); -    gc->addSelection("Custom"); -    return gc; -} - -class EDIDprobedinfo : public TransLabelSetting -{ -public: -    EDIDprobedinfo() -    { -        QString currentitem = "Reported info \n"; -        currentitem.append("Hsync: "); -        currentitem.append (ddcinfo.XHsync); -        currentitem.append (" Vrefresh: "); -        currentitem.append(ddcinfo.XVrefresh ); -        currentitem.append (" Displaysize: "); -        currentitem.append(ddcinfo.Displaysize); -        setLabel(currentitem); -    }; -}; - - -void AdvancedXGeneric_modelines::generic_fillselection(QString modelinefile ) -{ -    if ( hostparm.displayshowadvancedX ) -    { -    QString currentitem; -    QString cfiletxt; -    cfiletxt=MV_ROOT; -    cfiletxt.append("templates/xorg/modeline." ); -    QString currentfile = cfiletxt; -    currentfile.append(modelinefile); -    QString line; -    QRegExp sep( "\""      ); -    QFile file(currentfile); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -            { -            line = t.readLine(); -            if ( line.startsWith("ModeLine")) -                { -                currentitem = line.section( sep , 1,1 ); -                if ( modelinefile == "VESA") -                    HostXadvancedresVESA->addSelection(currentitem); -                else if ( modelinefile == "ATSC") -                    HostXadvancedresATSC->addSelection(currentitem); -                else if ( modelinefile == "DVD") -                    HostXadvancedresDVD->addSelection(currentitem); -                else if ( modelinefile == "NTSC") -                    HostXadvancedresNTSC->addSelection(currentitem); -                else if ( modelinefile == "Custom") -                    HostXadvancedresCustom->addSelection(currentitem); -                } -            } -            file.close(); -        } -    } -return ; - -} - - -class UseEDID:          public TriggeredConfigurationGroup { -public: -    UseEDID(): -    TriggeredConfigurationGroup(true,false,true,true,false,false,false,true) { -        Setting* useedid = HostXIgnoreEDID(); -        addChild(useedid); -        setTrigger(useedid); - -        ConfigurationGroup* XSYNC = new GridConfigurationGroup(2,false); -            XSYNC->addChild(HostXHsyncLow()); -            XSYNC->addChild(HostXHsyncHigh()); - -    ConfigurationGroup* XVREFRESH = new GridConfigurationGroup(2,false); -            XVREFRESH->addChild(HostXVrefreshLow()); -            XVREFRESH->addChild(HostXVrefreshHigh()); - - -        ConfigurationGroup* settings = new GridConfigurationGroup(1,false); -            settings->addChild(new EDIDprobedinfo); -            settings->addChild( XSYNC); -            settings->addChild(XVREFRESH); -            settings->addChild(HostXDisplaysize()); - -        addTarget("0", new GridConfigurationGroup(1,false)); -        addTarget("1", settings); -    }; -}; - - -EDIDOptions::EDIDOptions() -{ -    VerticalConfigurationGroup* rec = new VerticalConfigurationGroup(false); -    rec->setLabel(QObject::tr("Advanced X options")); -    rec->setUseLabel(false); -    rec->addChild(new UseEDID); -    addChild(rec); -} - - -AdvancedXGeneric_modelines::AdvancedXGeneric_modelines(): -    TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -{ -    SetVertical(false); -    HostXModelineCatagory = new HostComboBox("HostXModelineCatagory"); -    HostXModelineCatagory->setLabel(QObject::tr("Type")); -    HostXModelineCatagory->addSelection("Auto"); -    HostXModelineCatagory->addSelection("VESA"); -    HostXModelineCatagory->addSelection("ATSC"); -    HostXModelineCatagory->addSelection("DVD"); -    HostXModelineCatagory->addSelection("NTSC"); -    HostXModelineCatagory->addSelection("Custom"); -    //HostXModelineCatagory->addSelection("nVidia Modeline"); -    HostXModelineCatagory->setHelpText(QObject::tr("")); - -    HostXadvancedresVESA = new HostComboBox("HostXadvancedresVESA"); -    HostXadvancedresATSC = new HostComboBox("HostXadvancedresATSC"); -    HostXadvancedresDVD = new HostComboBox("HostXadvancedresDVD"); -    HostXadvancedresNTSC = new HostComboBox("HostXadvancedresNTSC"); -    HostXadvancedresCustom= new HostComboBox("HostXadvancedresCustom"); - -    generic_fillselection("VESA"); -    generic_fillselection("ATSC"); -    generic_fillselection("DVD"); -    generic_fillselection("NTSC"); -    generic_fillselection("Custom"); - -    addChild(HostXModelineCatagory); -    setTrigger(HostXModelineCatagory); - -    addTarget("VESA", HostXadvancedresVESA); -    addTarget("ATSC", HostXadvancedresATSC); -    addTarget("DVD", HostXadvancedresDVD); -    addTarget("NTSC", HostXadvancedresNTSC); -    addTarget("Custom",HostXadvancedresCustom); -    addTarget("Auto", new VerticalConfigurationGroup(false, false)); - -}; - -void AdvancedXGeneric_modelines::AdvancedXGeneric_modelines_GatherSettings(void) -{ -        QString modelinetype = HostXModelineCatagory->getValue(); -        QString tempmodeline = "HostXadvancedres" + modelinetype ; -        QString modeline; -        if ( modelinetype == "VESA") -                    modeline= HostXadvancedresVESA->getValue() ; -            else if ( modelinetype == "ATSC") -                    modeline= HostXadvancedresATSC->getValue() ; -            else if ( modelinetype == "DVD") -                modeline= HostXadvancedresDVD->getValue(); -            else if ( modelinetype == "NTSC") -                modeline= HostXadvancedresNTSC->getValue(); -            else if ( modelinetype == "Custom") -                    modeline= HostXadvancedresCustom->getValue(); -        hostparm.ThisXresadvanced = modelinetype +"_"+modeline; -    // Jump to final step -        testXconfiguration(); -} - - -// --------------------------------------------start of nvidia specific  ------------------------------------ - - -AdvancedXNvidiaConnections::AdvancedXNvidiaConnections(): -    TriggeredConfigurationGroup(false,false,true,true,true,true,true,true) { - -    HostXNvidiaConnection = new HostComboBox("HostXNvidiaConnection",false); -    HostXNvidiaConnection->setLabel(QObject::tr("Connection")); -    HostXNvidiaConnection->addSelection("Auto"); -    HostXNvidiaConnection->addSelection("DVI"); -    HostXNvidiaConnection->addSelection("VGA"); -    HostXNvidiaConnection->addSelection("TV"); -    HostXNvidiaConnection->setHelpText(QObject::tr("Video-out")); - -    addChild(HostXNvidiaConnection); -    setTrigger(HostXNvidiaConnection); -    AdvancedXNvidia_modelines *ADVANCEDXNVIDIA_MODELINES = new AdvancedXNvidia_modelines; - -    HostXnVidiaTVstandard =  new HostComboBox("HostXnVidiaTVstandard"); -    HostXnVidiaTVstandard->setLabel(QObject::tr("nVidia-out")); -    HostXnVidiaTVstandard->addSelection("PAL-B"	); -    HostXnVidiaTVstandard->addSelection("PAL-D"	); -    HostXnVidiaTVstandard->addSelection("PAL-G"	); -    HostXnVidiaTVstandard->addSelection("PAL-H"	); -    HostXnVidiaTVstandard->addSelection("PAL-I"	); -    HostXnVidiaTVstandard->addSelection("PAL-K1"); -    HostXnVidiaTVstandard->addSelection("PAL-M"	); -    HostXnVidiaTVstandard->addSelection("PAL-N"	); -    HostXnVidiaTVstandard->addSelection("PAL-NC"); -    HostXnVidiaTVstandard->addSelection("NTSC-J"); -    HostXnVidiaTVstandard->addSelection("NTSC-M"); -    HostXnVidiaTVstandard->addSelection("HD480i"	); -    HostXnVidiaTVstandard->addSelection("HD480p"	); -    HostXnVidiaTVstandard->addSelection("HD720p"	); -    HostXnVidiaTVstandard->addSelection("HD1080i"	); -    HostXnVidiaTVstandard->addSelection("HD1080p"); -    HostXnVidiaTVstandard->addSelection("HD576i"	); -    HostXnVidiaTVstandard->addSelection("HD576p"	); -    HostXnVidiaTVstandard->setHelpText(QObject::tr("Indrustry standard resolution to send to the TV")); - -    HostXnVidiaTVformat = new  HostComboBox("HostXnVidiaTVformat"); -    HostXnVidiaTVformat->setLabel(QObject::tr("TV-Format(nvidia)")); -    HostXnVidiaTVformat->addSelection("AUTOSELECT"); -    HostXnVidiaTVformat->addSelection("COMPOSITE"); -    HostXnVidiaTVformat->addSelection("SVIDEO"); -    HostXnVidiaTVformat->addSelection("COMPONENT"); -    HostXnVidiaTVformat->addSelection("SCART"); -    HostXnVidiaTVformat->setHelpText(QObject::tr("Physical connection to the nvidia card")); - -    ConfigurationGroup* nvtvout = new VerticalConfigurationGroup(false); -        nvtvout ->addChild(HostXnVidiaTVformat); -        nvtvout->addChild(HostXnVidiaTVstandard); - -    addTarget("Auto",ADVANCEDXNVIDIA_MODELINES  ); -    addTarget("DVI", ADVANCEDXNVIDIA_MODELINES ); -    addTarget("VGA",ADVANCEDXNVIDIA_MODELINES); -    addTarget("TV", nvtvout); - -    connect(this, SIGNAL(nVidia_sig(void)), -        ADVANCEDXNVIDIA_MODELINES,   SLOT(AdvancedXNvidia_modelines_GatherSettings())); -}; - - - - -void AdvancedXNvidia_modelines::Nvidia_fillselection(QString modelinefile ) -{ -    if ( hostparm.displayshowadvancedX ) -    { -    QString currentitem; -    QString cfiletxt; -    cfiletxt=MV_ROOT; -    cfiletxt.append("templates/xorg/modeline." ); -    QString currentfile = cfiletxt; -    currentfile.append(modelinefile); -    QString line; -    QRegExp sep( "\""      ); -    QFile file(currentfile); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -        while ( !t.eof() ) -            { -            line = t.readLine(); -            if ( line.startsWith("ModeLine")) -                { -                currentitem = line.section( sep , 1,1 ); -                if ( modelinefile == "VESA") -                    HostXNvidiaadvancedresVESA->addSelection(currentitem); -                else if ( modelinefile == "ATSC") -                    HostXNvidiaadvancedresATSC->addSelection(currentitem); -                else if ( modelinefile == "DVD") -                    HostXNvidiaadvancedresDVD->addSelection(currentitem); -                else if ( modelinefile == "NTSC") -                    HostXNvidiaadvancedresNTSC->addSelection(currentitem); -                else if ( modelinefile == "Custom") -                    HostXNvidiaadvancedresCustom->addSelection(currentitem); -                } -            } -            file.close(); -        } -    } -return ; - -} - - - -AdvancedXNvidia_modelines::AdvancedXNvidia_modelines(): -    TriggeredConfigurationGroup(true,false,true,true,true,true,true,true) -{ -    SetVertical(true); -    HostXNvidiaModelineCatagory = new HostComboBox("HostXNvidiaModelineCatagory"); -    HostXNvidiaModelineCatagory->setLabel(QObject::tr("Category")); -    HostXNvidiaModelineCatagory->addSelection("Auto"); -    HostXNvidiaModelineCatagory->addSelection("VESA"); -    HostXNvidiaModelineCatagory->addSelection("ATSC"); -    HostXNvidiaModelineCatagory->addSelection("DVD"); -    HostXNvidiaModelineCatagory->addSelection("NTSC"); -    HostXNvidiaModelineCatagory->addSelection("Custom"); -    HostXNvidiaModelineCatagory->addSelection("nVidia Modeline"); -    HostXNvidiaModelineCatagory->setHelpText(QObject::tr("")); - -    HostXNvidiaadvancedresVESA = new HostComboBox("HostXNvidiaadvancedresVESA"); -    HostXNvidiaadvancedresATSC = new HostComboBox("HostXNvidiaadvancedresATSC"); -    HostXNvidiaadvancedresDVD = new HostComboBox("HostXNvidiaadvancedresDVD"); -    HostXNvidiaadvancedresNTSC = new HostComboBox("HostXNvidiaadvancedresNTSC"); -    HostXNvidiaadvancedresCustom= new HostComboBox("HostXNvidiaadvancedresCustom"); - -    Nvidia_fillselection("VESA"); -    Nvidia_fillselection("ATSC"); -    Nvidia_fillselection("DVD"); -    Nvidia_fillselection("NTSC"); -    Nvidia_fillselection("Custom"); - -    HostXnVidia1080p = new HostCheckBox("HostXnVidia1080p"); -    HostXnVidia1080p->setLabel(QObject::tr("1080p")); -    HostXnVidia1080p->setValue(true); -    HostXnVidia1080p->setHelpText(QObject::tr(" ")); - -    HostXnVidia1080i = new HostCheckBox("HostXnVidia1080i"); -    HostXnVidia1080i->setLabel(QObject::tr("1080i")); -    HostXnVidia1080i->setValue(true); -    HostXnVidia1080i->setHelpText(QObject::tr(" ")); - -    HostXnVidia720p = new HostCheckBox("HostXnVidia720p"); -    HostXnVidia720p->setLabel(QObject::tr("720p")); -    HostXnVidia720p->setValue(true); -    HostXnVidia720p->setHelpText(QObject::tr(" ")); - -    HostXnVidia480p = new HostCheckBox("HostXnVidia480p"); -    HostXnVidia480p->setLabel(QObject::tr("480p")); -    HostXnVidia480p->setValue(true); -    HostXnVidia480p->setHelpText(QObject::tr(" ")); - -    ConfigurationGroup* nVidiastandard = new HorizontalConfigurationGroup(false,false,true,true); -    nVidiastandard ->addChild(HostXnVidia480p); -    nVidiastandard ->addChild(HostXnVidia720p); -    nVidiastandard ->addChild(HostXnVidia1080p); -    nVidiastandard ->addChild(HostXnVidia1080i); -    nVidiastandard  ->setLabel(QObject::tr("Standard Nvidia Modelines")); - - -    addChild(HostXNvidiaModelineCatagory); -    setTrigger(HostXNvidiaModelineCatagory); - -    addTarget("VESA", HostXNvidiaadvancedresVESA); -    addTarget("ATSC", HostXNvidiaadvancedresATSC); -    addTarget("DVD", HostXNvidiaadvancedresDVD); -    addTarget("NTSC", HostXNvidiaadvancedresNTSC); -    addTarget("Custom",HostXNvidiaadvancedresCustom); -    addTarget("nVidia Modeline",nVidiastandard); -    addTarget("Auto", new VerticalConfigurationGroup(false, false)); -}; - - -void AdvancedXNvidiaConnections::AdvancedXNvidiaConnectionsGatherSettings(void) -{ -    cout << "inside AdvancedXNvidiaConnectionsGatherSettings"  << endl; -    hostparm.ThisXconnection = HostXNvidiaConnection->getValue(); -    hostparm.ThisXTVstandard = HostXnVidiaTVformat->getValue(); -    hostparm.ThisXTVconnection = HostXnVidiaTVstandard->getValue(); -    emit nVidia_sig();  // jump to AdvancedXNvidia_modelines_GatherSettings - -}; - - -void AdvancedXNvidia_modelines::AdvancedXNvidia_modelines_GatherSettings(void) -{ -        QString modelinecatagory = HostXNvidiaModelineCatagory->getValue(); -        QString tempmodeline = "HostXadvancedres" + modelinecatagory ; -        QString modeline; - -        if ( modelinecatagory == "VESA") -                    modeline= HostXNvidiaadvancedresVESA->getValue() ; -            else if ( modelinecatagory == "ATSC") -                    modeline= HostXNvidiaadvancedresATSC->getValue() ; -            else if ( modelinecatagory == "DVD") -                modeline= HostXNvidiaadvancedresDVD->getValue(); -            else if ( modelinecatagory == "NTSC") -                modeline= HostXNvidiaadvancedresNTSC->getValue(); -            else if ( modelinecatagory == "Custom") -                    modeline= HostXNvidiaadvancedresCustom->getValue(); -            else if ( modelinecatagory == "nVidia Modeline" ) -                    modeline = "Builtin" ; -            // need to add stuff to find the built in nvidia modelines -        hostparm.ThisXresadvanced = modelinecatagory +"_"+modeline; - -    cout << " in nvidia modeline gather settings" << endl; -    // Jump to final step -    testXconfiguration(); -}; -// ----------------------------------------END nvidia specific - - - -AdvancedXcardtype::AdvancedXcardtype(): -    TriggeredConfigurationGroup(false,false,true,true,true,true,false,false) { -    HostXcardtype = new HostComboBox("HostXcardtype",false); -    HostXcardtype->setLabel(QObject::tr("Video card/driver")); -    HostXcardtype->addSelection("nVidia"); -    HostXcardtype->addSelection("ATI"); -    HostXcardtype->addSelection("VMWARE"); -    HostXcardtype->addSelection("Intel"); -    HostXcardtype->addSelection("Via"); -    HostXcardtype->setHelpText(QObject::tr("nVidia work, ati works,VMWARE works, Intel does not work(yet),  Via is a joke")); -        addChild(HostXcardtype); -        setTrigger(HostXcardtype); - -    AdvancedXGeneric_modelines *ADVANCEDXGENERICMODELINES = new AdvancedXGeneric_modelines; -    AdvancedXNvidiaConnections *ADVANCEDXNVIDIACONNECTIONS = new AdvancedXNvidiaConnections; - -    addTarget("VMWARE", ADVANCEDXGENERICMODELINES); -    addTarget("Intel", ADVANCEDXGENERICMODELINES); -    addTarget("Via", ADVANCEDXGENERICMODELINES); - -    addTarget("nVidia",ADVANCEDXNVIDIACONNECTIONS); -    addTarget("ATI",ADVANCEDXGENERICMODELINES); - -    connect(this, SIGNAL(go(void)), -        ADVANCEDXGENERICMODELINES,   SLOT(AdvancedXGeneric_modelines_GatherSettings())); -    connect(this, SIGNAL(gonVidia(void)), -        ADVANCEDXNVIDIACONNECTIONS,   SLOT(AdvancedXNvidiaConnectionsGatherSettings())); - -}; - -void AdvancedXcardtype::AdvancedXcardgatherSettings(void) -{ -    //called when test button is pressed -    hostparm.ThisXcardtype =  HostXcardtype->getValue() ; -    if (hostparm.ThisXcardtype == "nVidia") -            emit gonVidia(); -    else if (hostparm.ThisXcardtype =="ATI") -          emit goATI(); -    else -        emit  go(); -}; - - -AdvancedXSettings::AdvancedXSettings(): -    TriggeredConfigurationGroup(true,true,true,true,true,true,true,true) { -        setLabel(QObject::tr("Advanced X  settings")); -        Setting* Advancedxsettings = HostXUseAdvanced(); -        addChild(Advancedxsettings); -        setTrigger(Advancedxsettings); -    HostXIgnoreConfig = new HostCheckBox("HostXIgnoreConfig"); -    HostXIgnoreConfig->setLabel(QObject::tr("User supplied config. ")); -    HostXIgnoreConfig->setValue(false); -    #ifdef __MVAPP__ -        HostXIgnoreConfig->setHelpText(QObject::tr("When this is checked, the system will use the configuration file provided by YOU.  Place the file you want to use in /data/home/mythtv/templates/xorg.user.")); -    #else -        HostXIgnoreConfig->setHelpText(QObject::tr("When this is checked, the system will use the configuration file provided by YOU.  Place the file you want to use in /home/mythtv/templates/xorg.user.")); -    #endif -    HorizontalConfigurationGroup *lp = -        new HorizontalConfigurationGroup(false, false, true, true); - -    TransButtonSetting *EDIDbutton = new TransButtonSetting(); -    EDIDbutton->setLabel(tr("Display Settings")); - -    TransButtonSetting *TestXbutton = new TransButtonSetting(); -    TestXbutton->setLabel(tr("Test X Configuration")); -        lp->addChild(EDIDbutton); -        lp->addChild(TestXbutton); - -    AdvancedXcardtype *AXCT = new AdvancedXcardtype ; - -    ConfigurationGroup* settings = new VerticalConfigurationGroup(false); -        settings->addChild(AXCT); -        settings->addChild(lp); - -    ConfigurationGroup* setting1 = new GridConfigurationGroup(1,false); -        setting1->addChild(HostXres()); -        setting1->addChild(HostXIgnoreConfig); - -    connect(EDIDbutton, SIGNAL(pressed()), this,   SLOT(ADJUSTEDID())); -    connect(TestXbutton, SIGNAL(pressed()), AXCT,   SLOT(AdvancedXcardgatherSettings())); -    addTarget("0",setting1); -    addTarget("1", settings); -}; - -void AdvancedXSettings::ADJUSTEDID(void) -{ -    EDIDOptions edidscreen; -    edidscreen.exec(); -} - - -void testXconfiguration(void) -{ -        hostparm.ThisXIgnoreEDID  =gContext->GetSetting("HostXIgnoreEDID"); -        QString tempstring  ; -        tempstring = gContext->GetSetting("HostXHsyncLow"); -        tempstring.append(" - "); -        tempstring.append(gContext->GetSetting("HostXHsyncHigh") ); -        hostparm.ThisXHsync=tempstring; - -        tempstring =""; -        tempstring=gContext->GetSetting("HostXVrefreshLow"); -        tempstring.append(" - "); -        tempstring.append(gContext->GetSetting("HostXVrefreshHigh")); -        hostparm.ThisXVrefresh=tempstring; -        hostparm.ThisXDisplaysize= gContext -> GetSetting("HostXDisplaysize"); - -//  Assemble the advanced modeline string -/* -    QString modelinetype = gContext->GetSetting("HostXModelineCatagory");; -        QString tempmodeline = "HostXadvancedres" + modelinetype ; -        QString modeline    = gContext ->GetSetting(tempmodeline); -        hostparm.ThisXresadvanced = modelinetype +"_"+modeline; -*/ -/* -        cout << "start of parm list" << endl; -        cout << "--------------------"<<endl; -        cout  <<  hostparm.ThisXcardtype << endl; -        cout <<   hostparm. ThisXresadvanced<< endl; -        cout <<   hostparm.ThisXconnection << endl; -        cout <<   hostparm.ThisXTVstandard << endl; -        cout <<   hostparm.ThisXTVconnection << endl; -        cout << hostparm.ThisXIgnoreEDID     << endl; -        cout << hostparm.ThisXHsync << endl; -        cout << hostparm.ThisXVrefresh<< endl; -        cout <<  hostparm.ThisXDisplaysize<< endl; -*/ -        QString commandline = "xconfig.sh  test  0 "; -        commandline.append(hostparm.ThisXcardtype); -        commandline.append(" " ); -        commandline.append(hostparm.ThisXIgnoreEDID ); -        commandline.append(" " ); -        commandline.append(hostparm.ThisXconnection ); -        commandline.append(" \""  ); -        commandline.append(hostparm.ThisXHsync ); -        commandline.append(" \"  " ); -        commandline.append(" \""  ); -        commandline.append(hostparm.ThisXVrefresh); -        commandline.append(" \"  " ); -        commandline.append(hostparm.ThisXresadvanced ); -        commandline.append(" " ); -        commandline.append(hostparm.ThisXTVconnection ); -        commandline.append(" " ); -        commandline.append(" \""  ); -        commandline.append(hostparm.ThisXDisplaysize); -        commandline.append(" \"  " ); -        //cout << commandline << endl; - -        QString message; -        message = "Someday this button will do something, but for right now all it does is show this message."; -        message.append ("\n"); - -        message.append(commandline); -        MythPopupBox::showOkPopup( -            gContext->GetMainWindow(), QObject::tr("Test X button"), -            message); -}; - - - - diff --git a/abs/core/mythinstall/xorgsettings.h b/abs/core/mythinstall/xorgsettings.h deleted file mode 100755 index 46c4952..0000000 --- a/abs/core/mythinstall/xorgsettings.h +++ /dev/null @@ -1,178 +0,0 @@ -#include <settings.h> -#include "mythdialogs.h" -#include "libmyth/mythdialogs.h" -#include "libmyth/mythwidgets.h" -#include "installsettings.h" - -class AdvancedXNvidiaConnections: public TriggeredConfigurationGroup { -Q_OBJECT -public: -    AdvancedXNvidiaConnections(); -    HostComboBox *HostXNvidiaConnection; -    HostComboBox *HostXnVidiaTVformat; -    HostComboBox *HostXnVidiaTVstandard; - -public slots: -    void AdvancedXNvidiaConnectionsGatherSettings(); -signals: -        void nVidia_sig(void); -}; - - -class AdvancedXNvidia_modelines: public TriggeredConfigurationGroup { -    Q_OBJECT -public: -    AdvancedXNvidia_modelines(); -    HostComboBox *HostXNvidiaModelineCatagory; -    HostComboBox *HostXNvidiaadvancedresVESA; -    HostComboBox *HostXNvidiaadvancedresATSC; -    HostComboBox *HostXNvidiaadvancedresDVD; -    HostComboBox *HostXNvidiaadvancedresNTSC; -    HostComboBox *HostXNvidiaadvancedresCustom; -    HostCheckBox *HostXnVidia1080p; -    HostCheckBox *HostXnVidia1080i; -    HostCheckBox *HostXnVidia720p; -    HostCheckBox *HostXnVidia480p; -    void Nvidia_fillselection(QString); -public slots: -    void AdvancedXNvidia_modelines_GatherSettings(void); -}; - - -//------------------------------------------------- - -class AdvancedXcardtype: public TriggeredConfigurationGroup { -Q_OBJECT -public: -    AdvancedXcardtype(); -    HostComboBox *HostXcardtype; - -public slots: -    void AdvancedXcardgatherSettings(); -signals: -        void go(void ); -        void goATI(void); -        void gonVidia(void); -}; - - -class AdvancedXSettings:    public TriggeredConfigurationGroup { -Q_OBJECT -public: -    AdvancedXSettings(); -    HostCheckBox *HostXIgnoreConfig; -protected slots: -    void ADJUSTEDID(void); -}; - - -class AdvancedXGeneric_modelines: public TriggeredConfigurationGroup { -    Q_OBJECT -public: -    AdvancedXGeneric_modelines(); -    HostComboBox *HostXModelineCatagory; -    HostComboBox *HostXadvancedresVESA; -    HostComboBox *HostXadvancedresATSC; -    HostComboBox *HostXadvancedresDVD; -    HostComboBox *HostXadvancedresNTSC; -    HostComboBox *HostXadvancedresCustom; -    void generic_fillselection(QString); -public slots: -    void AdvancedXGeneric_modelines_GatherSettings(void); -}; - - -class EDIDOptions : public ConfigurationWizard -{ -public: -    EDIDOptions(); -}; - - - - - - - - -void testXconfiguration(); -void ReadDDCvalues(); -static HostComboBox *HostXres() -//Used in the simple config -{ -    HostComboBox *gc = new HostComboBox("HostXres"); -    gc->setLabel(QObject::tr("Initial resolution")); -    const int num_defaults = 2; -    char *defaults[num_defaults]={"800x600","1280x720"}; -    int defaults_added[num_defaults]={0,0}; -    int found_modes_in_xorg_log = FALSE; - -    gc->addSelection("Auto"); - -    { -      FILE *modelines; -      const char*mode_extract_command = -        "sed -n 's/[[:space:]]\\+/ /g;"             // compress whitespace -                "s/[\\) ]: /#/g;"              // Insert # as a field delimiter -		"/Modes in ModePool/,/ModePool/p'" // get the Modelool lines -		" /var/log/Xorg.0.log |"             // from the Xorg log -	"cut -d# -f2-3 | "            // select the mode and description fields -	"sed '/^\\\"/!d;"             // Only selest modeline lines. -	     "/DoubleScan/d;"         // Remove doublescan modelines. -	     "/nvidia-auto-select/d;" // Remove auto modeline. -             "s/ x /x/g;" -	     "s/ @ /@/g;" -             "s/From: //g;" -             "s/ Format [0-9]*) (/, /g;" -             "s/ Format [0-9]*//g;" -	     "s/ Server//g'"; //reformat.  -      cout << mode_extract_command << endl; -      modelines = popen (mode_extract_command, "r"); - -      char previous_mode[200]={0}; - -      if (modelines) -      { -	char line_in[200]; -	while (fgets (line_in, sizeof (line_in), modelines)) -	{ -          char *separator; - -	  if (strchr (line_in, '\n')) -	    strchr (line_in, '\n')[0]=0; - -	  separator = strchr (line_in, '#'); - -	  if (separator) -	  { -	    separator[0]=0; -	    separator++; - -  	    // Skip this mode if the description is identical to the previous. -	    if (strcmp (previous_mode, separator) == 0) -	      continue; - -	    strncpy (previous_mode, separator, sizeof(previous_mode)); -  	    gc->addSelection(separator, line_in); -	    found_modes_in_xorg_log = TRUE; - - 	    for (int def = 0; def < num_defaults; def++) -	      if (strncmp (&line_in[1], defaults[def], strlen (defaults[def]))==0) -	        defaults_added[def]=1; -	  } -	} -	pclose (modelines); -      } -    } - -    for (int def = 0; def < num_defaults; def++) -      if (!defaults_added[def]) -	gc->addSelection(defaults[def], defaults[def]); - -    if (found_modes_in_xorg_log) -      gc->setHelpText(QObject::tr("Choose a resolution to match your display and a refresh rate to match the content you will be recording - 60 Hz for NTSC (e.g. US) 50 Hz for PAL (e.g. UK, Aust, NZ).")); -    else -      gc->setHelpText(QObject::tr("Choose the resolution to use when the system reboots.")); - -    return gc; -}  | 
