Example #1
0
void preferenceDialog::on_pushButton_6_clicked()
{
    AssStyles ass;
    ass.exportStyles(Paths::configPath()+"/styles.ass") ;
    ColorUtils::setBackgroundColor(ui->texcol,QColor(ass.primarycolor));
    ColorUtils::setBackgroundColor(ui->shcol,QColor(ass.backcolor));
    ColorUtils::setBackgroundColor(ui->borcol,QColor(ass.outlinecolor));
    ui->fontComboBox->setCurrentFont(QFont(ass.fontname));
    ui->spinBoxFs->setValue(ass.fontsize);
    ui->checkBoxBold->setChecked(ass.bold);
    ui->checkBoxItalic->setChecked(ass.italic);
    ui->comboBoxHa->setCurrentIndex(1);
    ui->comboBoxVa->setCurrentIndex(ass.valignment);
    ui->checkBoxUseCodePage->setChecked(false);

}
void MplayerProcess::setSubStyles(const AssStyles & styles, const QString & assStylesFile) {
	if (assStylesFile.isEmpty()) {
		qWarning("MplayerProcess::setSubStyles: assStylesFile is invalid");
		return;
	}

	// Load the styles.ass file
	if (!QFile::exists(assStylesFile)) {
		// If file doesn't exist, create it
		styles.exportStyles(assStylesFile);
	}
	if (QFile::exists(assStylesFile)) {
		setOption("ass-styles", assStylesFile);
	} else {
		qWarning("MplayerProcess::setSubStyles: '%s' doesn't exist", assStylesFile.toUtf8().constData());
	}
}
Example #3
0
void preferenceDialog::on_listWidget_currentRowChanged(int currentRow)
{
    switch(currentRow)
    {
    case 0://qDebug()<<_settings->value("General/Priority","abovenormal").toString();
        ui->comboBox->setCurrentIndex(ui->comboBox->findText(_settings->value("General/Priority","abovenormal").toString()));
        ui->comboBoxStyle->setCurrentIndex(ui->comboBoxStyle->findText(_settings->value("Skin/style","aqua").toString()));
        if ( _settings->value("General/recentFilesClear",0).toInt()==2)
            ui->checkBoxRemrm->setCheckState(Qt::Checked);
        else
            ui->checkBoxRemrm->setCheckState(Qt::Unchecked);

        break;
    case  1 :
        if (_settings->value("Audio/EnableEQ","2").toInt()==2)
            ui->cbEnableAEq->setCheckState(Qt::Checked);
        else
            ui->cbEnableAEq->setCheckState(Qt::Unchecked);

        ui->cmbAO->setCurrentIndex(ui->cmbAO->findText(_settings->value("Audio/Driver","Auto").toString()));

        ui->hSliderVolumeBoost->setValue(_settings->value("Audio/VolumeBoost","500").toInt());
        break;
    case  2 :{QDesktopServices mycomputer;
        QString picfolder=mycomputer.storageLocation(QDesktopServices::PicturesLocation);
        ui->lineEditSc->setText(_settings->value("Video/CaptureDir",picfolder).toString());
        break;
    }
    case 3 :{AssStyles ass;
        ass.load(_settings);
        ColorUtils::setBackgroundColor(ui->texcol,QColor(ass.primarycolor));
        ColorUtils::setBackgroundColor(ui->shcol,QColor(ass.backcolor));
        ColorUtils::setBackgroundColor(ui->borcol,QColor(ass.outlinecolor));
        ui->fontComboBox->setCurrentFont(QFont(ass.fontname));
        ui->spinBoxFs->setValue(ass.fontsize);
        ui->checkBoxBold->setChecked(ass.bold);
        ui->checkBoxItalic->setChecked(ass.italic);
        ui->comboBoxHa->clear();
        ui->comboBoxHa->addItem(tr("Left", "horizontal alignment"), 1);
        ui->comboBoxHa->addItem(tr("Centered", "horizontal alignment"), 2);
        ui->comboBoxHa->addItem(tr("Right", "horizontal alignment"), 3);

        ui->comboBoxHa->setCurrentIndex(ui->comboBoxHa->itemData(ui->comboBoxHa->currentIndex()).toInt());
        ui->comboBoxVa->setCurrentIndex(ass.valignment);

        if (_settings->value("Subtitles/UseCodePage","0").toInt()==0)

            ui->checkBoxUseCodePage->setCheckState(Qt::Unchecked);
        else
            ui->checkBoxUseCodePage->setCheckState(Qt::Checked);

        ui->comboBoxSubEncoding->setCurrentIndex(ui->comboBoxSubEncoding->findText(_settings->value("Subtitles/CodePage","Western European Languages").toString()));

        break;
    }

    case 4:ui->groupBox_7->setVisible(false);
        ui->groupBox_8->setVisible(false);
        ui->groupBox_9->setVisible(false);
        ui->sbNetCache->setValue(_settings->value("Network/cache","320").toInt());
        break;
    case 6: int mousewheelrole ;
        mousewheelrole =_settings->value("Mouse/Wheel","0").toInt();

        if  (mousewheelrole==0)
            ui->rbVol->setChecked(true);
        else
            ui->rbSk->setChecked(true);
        break;
    case 8:{ QFileInfo fi(qApp->applicationFilePath());
        QDateTime dt=fi.created();
        ui->labelDate->setText(QString("Build on "+dt.toString()));
        break;
    }
    case  5 :
    {QList<QAction *> acts = _w->findChildren<QAction*>();

        for (int i=0;i<acts.count();i++)
        {
            if(acts.at(i)->objectName()!="")
            {QTableWidgetItem *newItem = new QTableWidgetItem(acts.at(i)->objectName());
                ui->twsc->setRowCount(i+1);
                newItem->setIcon(acts.at(i)->icon());
                ui->twsc->setItem(i,0,newItem);
                QTableWidgetItem *newItem1 = new QTableWidgetItem(acts.at(i)->text());
                ui->twsc->setItem(i,1,newItem1);
                QTableWidgetItem *newItem2 = new QTableWidgetItem(acts.at(i)->shortcut().toString());
                ui->twsc->setItem(i,2,newItem2);
            }
        }
        break;
    }
    case 7:{
        if (_settings->value("Updates/Automatic","1").toInt()==1)
            ui->checkUpdates->setCheckState(Qt::Checked);
        else
            ui->checkUpdates->setCheckState(Qt::Unchecked);

        //ui->checkUpdates->setChecked(_settings->value("","1").toInt());
        break;
    }

    }
}
Example #4
0
void preferenceDialog::on_buttonBox_clicked(QAbstractButton* button)
{
    if (ui->buttonBox->buttonRole(button)==QDialogButtonBox::HelpRole)
    {
        hlpDlg=new helpDialog(this);
        rphMPFEhelp hlp;
        switch(ui->stackedWidget->currentIndex())
        {
        case 0:hlpDlg->setHelpText(hlp.playerhlpstr);
            hlpDlg->show();
            break;
        case 1:hlpDlg->setHelpText(hlp.audiohlpstr);
            hlpDlg->show();
            break;
        case 2:hlpDlg->setHelpText(hlp.videohlpstr);
            hlpDlg->show();
            break;
        case 3:hlpDlg->setHelpText(hlp.subtitlehlpstr);
            hlpDlg->show();
            break;
        case 4:hlpDlg->setHelpText(hlp.internethlpstr);
            hlpDlg->show();
            break;
        case 5:hlpDlg->setHelpText(hlp.keyboardhlpstr);
            hlpDlg->show();
            break;
        case 6:hlpDlg->setHelpText(hlp.mousehlpstr);
            hlpDlg->show();
            break;

        }

    }

    if (ui->buttonBox->buttonRole(button)==QDialogButtonBox::ApplyRole)
        apply=false;

    if(!apply)
    {if(ui->buttonBox->buttonRole(button)==QDialogButtonBox::ApplyRole)
        {qDebug("setting");
            switch(ui->stackedWidget->currentIndex())
            {
            case 0:emit settingChanged("General","Priority",ui->comboBox->currentText());
                emit settingChanged("Skin","style",ui->comboBoxStyle->currentText());
                emit disableSS();
                emit settingChanged("General","recentFilesClear",QString::number(ui->checkBoxRemrm->checkState()));

                if (ui->comboBoxStyle->currentText()=="wood")
                    QApplication::setStyle(new NorwegianWoodStyle);
                else if(ui->comboBoxStyle->currentText()=="aqua")
                    emit setAqua();
                else
                    qApp->setStyle(ui->comboBoxStyle->currentText());



                //if(ui->comboBoxStyle->currentText()!="windowsxp"&&ui->comboBoxStyle->currentText()!="aqua")
                QApplication::setPalette(QApplication::style()->standardPalette());

                emit restartComplete();
                break;

            case 1:{
                emit settingChanged("Audio","EnableEQ",QString::number(ui->cbEnableAEq->checkState()));
                emit settingChanged("Audio","Driver",ui->cmbAO->currentText());
                emit settingChanged("Audio","DevNo",QString::number(ui->cmbAO->currentIndex()));
                emit settingChanged("Audio","VolumeBoost",QString::number(ui->hSliderVolumeBoost->value()));
                emit restartComplete();

                break;
            }
            case 2: emit restartComplete();
                break;
            case 3 :{AssStyles ass;
                //qDebug()<<ui->texcol->palette().color(QPalette::Base).toRgb().value();
                ass.primarycolor=ui->texcol->palette().color(QPalette::Base).rgb();
                ass.backcolor=ui->shcol->palette().color(QPalette::Base).rgb();
                ass.outlinecolor=ui->borcol->palette().color(QPalette::Base).rgb();
                ass.fontname=ui->fontComboBox->currentFont().family();
                ass.fontsize=ui->spinBoxFs->value();
                ass.bold=ui->checkBoxBold->isChecked();
                ass.italic=ui->checkBoxItalic->isChecked();
                ass.valignment=ui->comboBoxVa->currentIndex();
                ass.halignment=ui->comboBoxHa->itemData(ui->comboBoxHa->currentIndex()).toInt();
                ass.save(_settings);
                ass.exportStyles(Paths::configPath()+"/styles.ass");
                emit settingChanged("Subtitles","UseCodePage",QString::number(ui->checkBoxUseCodePage->checkState()));
                emit settingChanged("Subtitles","CodePage",ui->comboBoxSubEncoding->currentText());
#ifdef Q_OS_WIN
                //Open fontconfig

                //Calculate Sha1
                //QStringList fontConfLst;
                /*QByteArray hashData;
                QFile inputFile(qApp->applicationDirPath()+"/mplayer/fonts/fonts.conf");

                    if (inputFile.open(QIODevice::ReadOnly)) {
                        QByteArray fileData = inputFile.readAll();
                        hashData =  QCryptographicHash::hash(fileData, QCryptographicHash::Sha1);
                    }
                    qDebug() << hashData.toHex();
                    QMessageBox::critical(this,QString(hashData.toHex()),"gfd");
                    QString actHash="c8ba9d01342f8488c815fb5e63e96f53ba9f46fb";*/
                // if ( QString(hashData.toHex())!=actHash)
                //{
                //   qDebug() << "Differnt font config";
                QString exeFileName(qApp->applicationDirPath()+"/exmplayer-font-cache.exe");

                int result = (int)::ShellExecuteA(0, "open", exeFileName.toUtf8().constData(), 0, 0, SW_HIDE);
                if (SE_ERR_ACCESSDENIED == result)
                {
                    // Requesting elevation(Windows Vista/Window7/window8)
                    result = (int)::ShellExecuteA(0, "runas", exeFileName.toUtf8().constData(), 0, 0, SW_HIDE);
                }

                //c8ba9d01342f8488c815fb5e63e96f53ba9f46fb
                /*if (inputFile.open(QIODevice::ReadOnly))
                {
                    QTextStream in(&inputFile);
                    while ( !in.atEnd() )
                    {
                        fontConfLst<< in.readLine();

                    }
                    inputFile.close();
                }

                if(fontConfLst.filter(QRegExp(".*<dir></dir>")).count()==1)
                {
                    fontConfLst.replaceInStrings("<dir></dir>","<dir>WINDOWSFONTDIR</dir>");
                    qDebug()<<fontConfLst;
                    QFile outFile(qApp->applicationDirPath()+"/mplayer/fonts/fonts.conf");
                    if (outFile.open(QFile::WriteOnly|QFile::Truncate))
                    {
                        foreach (QString fontConfig, fontConfLst) {
                           outFile.write(fontConfig.toAscii()+"\n");
                        }

                    }
                    else
                    {
                       //What to do? (Beta)
                       // QMessageBox::critical(this,"Error","failed to open file for writing");

                    }

                    outFile.close();

                }*/
#endif

                emit restartComplete();
                break;
            }
            case 4:{
                emit settingChanged("Network","ipv",ui->cmbiv->currentText());
                emit settingChanged("Network","Bandwidth",QString::number(ui->sbNetBw->value()));
                emit settingChanged("Network","cache",QString::number(ui->sbNetCache->value()));
                emit settingChanged("Network","seekmin",QString::number(ui->sbseekmin->value()));
                emit settingChanged("Network","cachemin",QString::number(ui->sbNetCachemin->value()));

                break;
            }
            case 5:if( !resetsc)
                {saveActionToXml();
                    //emit reloadshortcut();
                    QMessageBox::information(this,qApp->applicationName(),tr("Shortcut will be active after a restart."),QMessageBox::Ok,QMessageBox::Cancel);
                }
                break;
            case 6:  {emit settingChanged("Mouse","Wheel",QString::number(mw));
                emit setmousewheelrole();
                break;
            }
            case 7:settingChanged("Updates","Automatic",QString::number(ui->checkUpdates->isChecked()));
        }

    }

}
apply=true;
if(ui->buttonBox->buttonRole(button)==QDialogButtonBox::AcceptRole)
this->close();


}