#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