summaryrefslogtreecommitdiffstats
path: root/abs/core/mythinstall/MythVantage-app/mythbeselect
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/mythinstall/MythVantage-app/mythbeselect')
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/bpopup-ui.xml164
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.cpp216
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.h80
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/main.cpp195
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/moc_installdialog.cpp131
-rwxr-xr-xabs/core/mythinstall/MythVantage-app/mythbeselect/mythberestart.pro47
6 files changed, 833 insertions, 0 deletions
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/bpopup-ui.xml b/abs/core/mythinstall/MythVantage-app/mythbeselect/bpopup-ui.xml
new file mode 100755
index 0000000..df0598b
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/bpopup-ui.xml
@@ -0,0 +1,164 @@
+<!--
+
+ 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>
+ <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>
+
+ <container name="main_display">
+ <area>0,0,800,600</area>
+
+ <textarea name="title" draworder="0" align="center">
+ <multiline>no</multiline>
+ <font>title</font>
+ <area>50,40,700,40</area>
+ <value></value>
+ </textarea>
+
+ <!--
+ time
+ -->
+ <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" draworder="0" align="center">
+ <multiline>no</multiline>
+ <font>time</font>
+ <area>0,60,800,70</area>
+ <value></value>
+ </textarea>
+
+ <!--
+ current myth status
+ -->
+
+ <textarea name="status_text" draworder="1" align="center">
+ <multiline>yes</multiline>
+ <font>info</font>
+ <area>20,70,760,60</area>
+ <value>MythTV is idle and will shutdown shortly.</value>
+ </textarea>
+
+ <!--
+ current recordings status
+ -->
+
+ <textarea name="recording_label" draworder="1" align="center">
+ <font>label</font>
+ <area>20,110,760,30</area>
+ <!--<value>Percent Complete </value>-->
+ <value></value>
+ </textarea>
+
+ <textarea name="recording_text" draworder="1" align="hcenter">
+ <multiline>yes</multiline>
+ <font>biginfo</font>
+ <area>20,110,760,150</area>
+ <value></value>
+ </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">
+ <multiline>yes</multiline>
+ <font>biginfo</font>
+ <area>20,400,760,120</area>
+ <value></value>
+ </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>
+
+</mythuitheme>
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.cpp b/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.cpp
new file mode 100755
index 0000000..6d1920f
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.cpp
@@ -0,0 +1,216 @@
+#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 "installdialog.h"
+#include "libmyth/dialogbox.h"
+#include <qvaluevector.h>
+#include <stdlib.h>
+#define UPDATE_STATUS_INTERVAL 5000
+#define UPDATE_SCREEN_INTERVAL 5000
+QStringList belist;
+BEvector beveclist (100);
+QString BECommand;
+int retval;
+int runstuff(QStringList hostlist,BEvector Bea,QString bcmd ){
+belist=hostlist;
+beveclist = Bea;
+BECommand=bcmd;
+
+WelcomeDialog *mythWelcome = new WelcomeDialog(gContext->GetMainWindow(),
+ "welcome_screen", "bpopup-",
+ "welcome_screen");
+ mythWelcome->exec();
+ delete mythWelcome;
+ return (0);
+}
+
+
+WelcomeDialog::WelcomeDialog(MythMainWindow *parent,
+ QString window_name,
+ QString theme_filename,
+ const char* name)
+:MythThemedDialog(parent, window_name, theme_filename, name)
+{
+ gContext->addListener(this);
+ m_timeFormat = gContext->GetSetting("TimeFormat", "h:mm AP");
+ wireUpTheme();
+ assignFirstFocus();
+ popup = NULL;
+ showPopup();
+}
+
+
+int WelcomeDialog::exec()
+{
+ 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_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()
+{
+cout <<"close dialog" <<endl;
+ 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 s="";
+ m_date_text->SetText(s);
+}
+
+void WelcomeDialog::updateStatus(void)
+{
+ updateStatusMessage();
+}
+
+void WelcomeDialog::updateScreen(void)
+{
+ m_recording_text->SetText(recording_text);
+ m_scheduled_text->SetText(scheduled_text);
+ m_status_text->SetText("");
+ m_updateScreenTimer->start(UPDATE_SCREEN_INTERVAL, true);
+
+}
+
+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;
+ DialogCode retitem = MythPopupBox::ShowButtonPopup(gContext->GetMainWindow(),
+ QString("JobQueuePopup"),
+ QObject::tr("Select Backend to " + BECommand ),
+ belist,kDialogCodeButton0);
+ retval = retitem - kDialogCodeListStart;
+ cout << beveclist[retval] << endl;
+ cancelPopup();
+ dorestart( BECommand , beveclist[retval] );
+ }
+
+
+
+void WelcomeDialog::cancelPopup(void)
+{
+ if (!popup)
+ return;
+ popup->hide();
+ popup->deleteLater();
+ popup = NULL;
+ setActiveWindow();
+}
+
+void dorestart (QString command , QString behost)
+{
+cout << command << behost << endl;
+system("/usr/bin/backend_control.sh " + command + " " + behost );
+exit(0);
+}
+
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.h b/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.h
new file mode 100755
index 0000000..69af384
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/installdialog.h
@@ -0,0 +1,80 @@
+//#ifndef WELCOMEDIALOG_H_
+//#define WELCOMEDIALOG_H_
+
+#include <iostream>
+using namespace std;
+
+#include <qdatetime.h>
+#include "mythdialogs.h"
+#include "libmyth/dialogbox.h"
+#include <qvaluevector.h>
+ typedef QValueVector<QString> BEvector;
+
+int runstuff(QStringList , BEvector,QString);
+
+//QStringList BeButtonList;
+
+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();
+
+ protected slots:
+ void updateAll(void);
+ void updateStatus(void);
+ void updateScreen(void);
+ void closeDialog();
+ void updateTime();
+ void showPopup();
+
+ void cancelPopup();
+ // void MAINPopup();
+ bool updateRecordingList(void);
+ bool updateScheduledList(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_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;
+ string recording_text;
+ string scheduled_text;
+// string bin_prefix;
+// bool I_AM_BUSY;
+
+
+};
+
+void dorestart (QString,QString);
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/main.cpp b/abs/core/mythinstall/MythVantage-app/mythbeselect/main.cpp
new file mode 100755
index 0000000..7c5f9f2
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/main.cpp
@@ -0,0 +1,195 @@
+#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 "mythdialogbox.h"
+
+#include <iostream>
+#include <fstream>
+#include <stdio.h>
+
+#include "libmyth/dialogbox.h"
+#include <qlist.h>
+#include <qvaluevector.h>
+#include "installdialog.h"
+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)
+{
+ QString becommand;
+ QApplication a(argc, argv);
+ bool bShow=false;
+ 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;
+ }
+
+ if ( a.argc() == 1 )
+ {
+ VERBOSE(VB_IMPORTANT, "Not enough argurments");
+ exit(1);
+ }
+ // Check command line arguments
+ for (int argpos = 1; argpos < a.argc(); ++argpos)
+ {
+ // ++argpos;
+
+ if (!strcmp(a.argv()[argpos],"-restart"))
+ {
+ becommand="restart";
+ }
+ else if (!strcmp(a.argv()[argpos],"-start"))
+ {
+ becommand="start";
+ }
+ else if (!strcmp(a.argv()[argpos],"-stop"))
+ {
+ becommand="stop";
+ }
+ else if (!strcmp(a.argv()[argpos],"-forceshow"))
+ {
+ bShow=true;
+ }
+ else
+ {
+ cerr << "Invalid argument: " << a.argv()[argpos] << endl <<
+ "Valid options are: " << endl <<
+ "-restart " << endl <<
+ "-start " << endl <<
+ "-stop " << endl <<
+ "-forceshow" << endl;
+
+ return FRONTEND_EXIT_INVALID_CMDLINE;
+ }
+
+
+ }
+
+ gContext->LoadQtConfig();
+
+
+
+ QStringList msg;
+ QString tempip;
+ QString justifyip;
+ QString temphname;
+ QString justifyname;
+ QString tempbetype;
+ QString justifybetype;
+
+ int listmaxpos = 0 ;
+ typedef QValueVector<QString> BEvector;
+ BEvector BElist (20);
+
+ if (!MSqlQuery::testDBConnection())
+ {
+ VERBOSE(VB_IMPORTANT, "mythwelcome: Could not open the database. "
+ "Exiting.");
+ }
+
+ //select the master backend
+ MSqlQuery query(MSqlQuery::InitCon());
+ query.prepare( "SELECT DISTINCT data,hostname from settings where value='MasterServerIP';");
+ if (query.exec() && query.isActive() && query.size() > 0)
+ {
+ while (query.next())
+ {
+
+ tempip = query.value(0).toString();
+ justifyip=tempip.rightJustify(15,' ',false);
+ temphname = query.value(1).toString();
+ justifyname= temphname.rightJustify( 20, ' ',false );
+
+ if ( temphname == "" )
+ tempbetype="MBE: ";
+ else
+ tempbetype="SBE: ";
+
+ tempbetype.append(justifyname);
+ tempbetype.append(" ");
+ tempbetype.append(justifyip);
+
+ justifybetype= tempbetype.leftJustify(50,' ' ,true);
+ BElist[listmaxpos] = tempbetype;
+ msg << (justifybetype);
+ listmaxpos++;
+ }
+ }
+
+
+ //slave backends
+ query.prepare( "SELECT DISTINCT data,hostname from settings where value='BackendServerIP' and not data=:ip ;");
+ query.bindValue( ":ip", tempip );
+ if (query.exec() && query.isActive() && query.size() > 0)
+ {
+ while (query.next())
+ {
+
+ tempip = query.value(0).toString();
+ justifyip=tempip.rightJustify(15,' ',false);
+ temphname = query.value(1).toString();
+ justifyname= temphname.rightJustify( 20, ' ',false );
+
+ if ( temphname == "" )
+ tempbetype="MBE: ";
+ else
+ tempbetype="SBE: ";
+
+ tempbetype.append(justifyname);
+ tempbetype.append(" ");
+ tempbetype.append(justifyip);
+
+ justifybetype= tempbetype.leftJustify(50,' ' ,true);
+ BElist[listmaxpos] = tempbetype;
+ msg << (justifybetype);
+ listmaxpos++;
+ }
+ }
+
+
+
+if ( query.size () >1)
+ bShow=true;
+
+
+cout << listmaxpos << endl;
+if ( bShow )
+{
+ LanguageSettings::load("mythfrontend");
+
+ MythMainWindow *mainWindow = GetMythMainWindow();
+ mainWindow->Init();
+ gContext->SetMainWindow(mainWindow);
+ initKeys();
+ runstuff(msg,BElist,becommand);
+
+delete gContext;
+}
+else
+{
+ dorestart( becommand, BElist[0] );
+}
+return 0;
+}
+
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/moc_installdialog.cpp b/abs/core/mythinstall/MythVantage-app/mythbeselect/moc_installdialog.cpp
new file mode 100755
index 0000000..53f3089
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/moc_installdialog.cpp
@@ -0,0 +1,131 @@
+/****************************************************************************
+** WelcomeDialog meta object code from reading C++ file 'installdialog.h'
+**
+** Created: Fri Aug 8 02:57:02 2008
+** by: The Qt MOC ($Id: qt/moc_yacc.cpp 3.3.8 edited Feb 2 14:59 $)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#undef QT_NO_COMPAT
+#include "installdialog.h"
+#include <qmetaobject.h>
+#include <qapplication.h>
+
+#include <private/qucomextra_p.h>
+#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
+#error "This file was generated using the moc from 3.3.8. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+const char *WelcomeDialog::className() const
+{
+ return "WelcomeDialog";
+}
+
+QMetaObject *WelcomeDialog::metaObj = 0;
+static QMetaObjectCleanUp cleanUp_WelcomeDialog( "WelcomeDialog", &WelcomeDialog::staticMetaObject );
+
+#ifndef QT_NO_TRANSLATION
+QString WelcomeDialog::tr( const char *s, const char *c )
+{
+ if ( qApp )
+ return qApp->translate( "WelcomeDialog", s, c, QApplication::DefaultCodec );
+ else
+ return QString::fromLatin1( s );
+}
+#ifndef QT_NO_TRANSLATION_UTF8
+QString WelcomeDialog::trUtf8( const char *s, const char *c )
+{
+ if ( qApp )
+ return qApp->translate( "WelcomeDialog", s, c, QApplication::UnicodeUTF8 );
+ else
+ return QString::fromUtf8( s );
+}
+#endif // QT_NO_TRANSLATION_UTF8
+
+#endif // QT_NO_TRANSLATION
+
+QMetaObject* WelcomeDialog::staticMetaObject()
+{
+ if ( metaObj )
+ return metaObj;
+ QMetaObject* parentObject = MythThemedDialog::staticMetaObject();
+ static const QUMethod slot_0 = {"updateAll", 0, 0 };
+ static const QUMethod slot_1 = {"updateStatus", 0, 0 };
+ static const QUMethod slot_2 = {"updateScreen", 0, 0 };
+ static const QUMethod slot_3 = {"closeDialog", 0, 0 };
+ static const QUMethod slot_4 = {"updateTime", 0, 0 };
+ static const QUMethod slot_5 = {"showPopup", 0, 0 };
+ static const QUMethod slot_6 = {"cancelPopup", 0, 0 };
+ static const QUParameter param_slot_7[] = {
+ { 0, &static_QUType_bool, 0, QUParameter::Out }
+ };
+ static const QUMethod slot_7 = {"updateRecordingList", 1, param_slot_7 };
+ static const QUParameter param_slot_8[] = {
+ { 0, &static_QUType_bool, 0, QUParameter::Out }
+ };
+ static const QUMethod slot_8 = {"updateScheduledList", 1, param_slot_8 };
+ static const QMetaData slot_tbl[] = {
+ { "updateAll()", &slot_0, QMetaData::Protected },
+ { "updateStatus()", &slot_1, QMetaData::Protected },
+ { "updateScreen()", &slot_2, QMetaData::Protected },
+ { "closeDialog()", &slot_3, QMetaData::Protected },
+ { "updateTime()", &slot_4, QMetaData::Protected },
+ { "showPopup()", &slot_5, QMetaData::Protected },
+ { "cancelPopup()", &slot_6, QMetaData::Protected },
+ { "updateRecordingList()", &slot_7, QMetaData::Protected },
+ { "updateScheduledList()", &slot_8, QMetaData::Protected }
+ };
+ metaObj = QMetaObject::new_metaobject(
+ "WelcomeDialog", parentObject,
+ slot_tbl, 9,
+ 0, 0,
+#ifndef QT_NO_PROPERTIES
+ 0, 0,
+ 0, 0,
+#endif // QT_NO_PROPERTIES
+ 0, 0 );
+ cleanUp_WelcomeDialog.setMetaObject( metaObj );
+ return metaObj;
+}
+
+void* WelcomeDialog::qt_cast( const char* clname )
+{
+ if ( !qstrcmp( clname, "WelcomeDialog" ) )
+ return this;
+ return MythThemedDialog::qt_cast( clname );
+}
+
+bool WelcomeDialog::qt_invoke( int _id, QUObject* _o )
+{
+ switch ( _id - staticMetaObject()->slotOffset() ) {
+ case 0: updateAll(); break;
+ case 1: updateStatus(); break;
+ case 2: updateScreen(); break;
+ case 3: closeDialog(); break;
+ case 4: updateTime(); break;
+ case 5: showPopup(); break;
+ case 6: cancelPopup(); break;
+ case 7: static_QUType_bool.set(_o,updateRecordingList()); break;
+ case 8: static_QUType_bool.set(_o,updateScheduledList()); break;
+ default:
+ return MythThemedDialog::qt_invoke( _id, _o );
+ }
+ return TRUE;
+}
+
+bool WelcomeDialog::qt_emit( int _id, QUObject* _o )
+{
+ return MythThemedDialog::qt_emit(_id,_o);
+}
+#ifndef QT_NO_PROPERTIES
+
+bool WelcomeDialog::qt_property( int id, int f, QVariant* v)
+{
+ return MythThemedDialog::qt_property( id, f, v);
+}
+
+bool WelcomeDialog::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; }
+#endif // QT_NO_PROPERTIES
diff --git a/abs/core/mythinstall/MythVantage-app/mythbeselect/mythberestart.pro b/abs/core/mythinstall/MythVantage-app/mythbeselect/mythberestart.pro
new file mode 100755
index 0000000..d2ebce9
--- /dev/null
+++ b/abs/core/mythinstall/MythVantage-app/mythbeselect/mythberestart.pro
@@ -0,0 +1,47 @@
+MYTHPATH="/data/LinHES-PKGBUILD/abs/core-testing/mythtv/stable/mythtv/src/mythtv-0.21"
+
+
+
+
+include ( $$MYTHPATH/libs/libmyth/mythconfig.mak)
+include ( $$MYTHPATH/settings.pro)
+#include ( $$MYTHPATH/programs-libs.pro)
+
+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
+LIBS += -lmyth-$$LIBVERSION -lmythui-$$LIBVERSION $$EXTRA_LIBS
+
+
+
+TEMPLATE = app
+CONFIG += thread
+TARGET = mythbeselect
+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
+SOURCES += main.cpp installdialog.cpp