Esempio n. 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());
	}
}
Esempio n. 3
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();


}