JtvLiveUiTabWatch::JtvLiveUiTabWatch(QSettings *settings, JtvLiveChannel *live_channel, QWidget *parent) :
    QWidget(parent)
{
    p_settings = settings;
    p_live_channel = live_channel;

    //Hosted QProcesses setup
    qproc_rtmpgw = new QProcess(this);
    qproc_rtmpgw->setProcessChannelMode(QProcess::MergedChannels);
    qproc_player = new QProcess(this);
    qproc_player->setProcessChannelMode(QProcess::MergedChannels);

    lne_player = new QLineEdit;
#ifdef Q_OS_WIN
    lab_player = new QLabel("Player path :");
    lne_player->setText(p_settings->value("watch/player", "\"C:\\progra~2\\VideoLAN\\VLC\\vlc.exe\"" " --network-caching=8400 --mtu 1500").toString());
#else
    lab_player = new QLabel("Player command :");
    lne_player->setText(p_settings->value("watch/player", "vlc").toString());
#endif
    btn_player = new QPushButton;
    btn_player->setIcon(QIcon(":img/explorer.png"));
    btn_player->setToolTip("Browse...");

    btn_watch = new QPushButton("Watch");
    btn_watch->setIcon(QIcon(":img/television.png"));

    fra_separator = new QFrame;
    fra_separator->setFrameShape(QFrame::HLine);
    fra_separator->setFrameShadow(QFrame::Sunken);

    pte_rtmpgw = new QPlainTextEdit;
    pte_rtmpgw->setReadOnly(true);
    pte_rtmpgw->setOverwriteMode(true);

    pte_player = new QPlainTextEdit;
    pte_player->setReadOnly(true);

    //Layouts
    layout_player = new QHBoxLayout;
    layout_player->addWidget(lab_player);
    layout_player->addWidget(lne_player);
    layout_player->addWidget(btn_player);

    layout = new QVBoxLayout;
    layout->addLayout(layout_player);
    layout->addWidget(btn_watch);
    layout->addWidget(fra_separator);
    layout->addWidget(pte_rtmpgw);
    layout->addWidget(pte_player);

    setLayout(layout);

    connect(lne_player, SIGNAL(textChanged(const QString &)), this, SLOT(settingsSetPlayerPath(const QString &)));
    connect(btn_player, SIGNAL(clicked()), this, SLOT(openFileBrowser()));
    connect(btn_watch, SIGNAL(clicked()), this, SLOT(linkedProcessesStart()));
    connect(qproc_rtmpgw, SIGNAL(readyReadStandardOutput()), this, SLOT(rtmpgwOut()));
    connect(qproc_player, SIGNAL(readyReadStandardOutput()), this, SLOT(playerOut()));
}
void FileUploader::setupSettingsUi()
{
    loadSettings();
    uiInputDir = settingsWidget->findChild<QLineEdit*>("input_folder");
    uiInputPrefix = settingsWidget->findChild<QLineEdit*>("input_prefix");
    uiInputName = settingsWidget->findChild<QLineEdit*>("input_name");
    uiInputSuffix = settingsWidget->findChild<QLineEdit*>("input_suffix");
    uiCheckBoxDateTimeAsPrefix =  settingsWidget->findChild<QCheckBox*>("checkBox_dateTimePrefix");
    uiCheckBoxDateTimeAsSuffix = settingsWidget->findChild<QCheckBox*>("checkBox_dateTimeSuffix");
    uiButtonSelectFolder = settingsWidget->findChild<QPushButton*>("button_selectFolder");
    connect(uiButtonSelectFolder, SIGNAL(clicked()), this, SLOT(openFileBrowser()));
    uiButtonSettingsDateTimePrefix = settingsWidget->findChild<QPushButton*>("button_settingsDateTimePrefix");
    uiButtonSettingsDateTimeSuffix = settingsWidget->findChild<QPushButton*>("button_settingsDateTimeSuffix");
    connect(uiButtonSettingsDateTimePrefix, SIGNAL(clicked()), this, SLOT(openDateTimeSettingsPrefix()));
    connect(uiButtonSettingsDateTimeSuffix, SIGNAL(clicked()), this, SLOT(openDateTimeSettingsSuffix()));

    uiInputDir->setText(uploadPath);
    if(!dateTimeAsSuffix)
    {
        uiInputPrefix->setText(prefix);
    }
    uiInputName->setText(screenshotName);
    if(!dateTimeAsSuffix)
    {
        uiInputSuffix->setText(suffix);
    }
    if(dateTimeAsPrefix)
    {
        uiCheckBoxDateTimeAsPrefix->setCheckState(Qt::Checked);
        uiInputPrefix->setEnabled(false);
    }
    if(dateTimeAsSuffix)
    {
        uiCheckBoxDateTimeAsSuffix->setCheckState(Qt::Checked);
        uiInputSuffix->setEnabled(false);
    }

}