コード例 #1
0
WebPage::WebPage(QObject* parent)
    : QWebPage(parent)
    , m_userAgent()
    , m_interruptingJavaScriptEnabled(false)
{
    applyProxy();

    connect(this, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)), this, SLOT(requestPermission(QWebFrame*, QWebPage::Feature)));
    connect(this, SIGNAL(featurePermissionRequestCanceled(QWebFrame*, QWebPage::Feature)), this, SLOT(featurePermissionRequestCanceled(QWebFrame*, QWebPage::Feature)));
}
コード例 #2
0
WebPage::WebPage(QObject* parent)
    : QWebPage(parent)
    , m_userAgent()
    , m_interruptingJavaScriptEnabled(false)
{
    applyProxy();

    connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
            this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*)));
    connect(this, SIGNAL(requestPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(requestPermission(QWebFrame*, QWebPage::PermissionDomain)));
    connect(this, SIGNAL(checkPermissionFromUser(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&)), this, SLOT(checkPermission(QWebFrame*, QWebPage::PermissionDomain, QWebPage::PermissionPolicy&)));
    connect(this, SIGNAL(cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain)), this, SLOT(cancelRequestsForPermission(QWebFrame*, QWebPage::PermissionDomain)));
}
コード例 #3
0
void WebPage::setQnamThreaded(bool threaded)
{
    bool alreadyThreaded = networkAccessManager()->thread() != thread();
    if (threaded == alreadyThreaded)
        return;

    if (threaded) {
        m_qnamThread.reset(new QtNAMThread);
        m_qnamThread->start();
        setNetworkAccessManager(m_qnamThread->networkAccessManager());
    } else {
        setNetworkAccessManager(0);
        m_qnamThread.reset();
    }

    Qt::ConnectionType connectionType = threaded ? Qt::BlockingQueuedConnection : Qt::DirectConnection;
    connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
            this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*)),
            connectionType);
    applyProxy();
}
コード例 #4
0
ファイル: SettingsWidget.cpp プロジェクト: arthurzam/QMPlay2
void SettingsWidget::apply()
{
	Settings &QMPSettings = QMPlay2Core.getSettings();
	bool page3Restart = false;
	const int page = tabW->currentIndex() + 1;
	switch (page)
	{
		case 1:
		{
			if (QMPlay2Core.getLanguage() != page1->langBox->itemData(page1->langBox->currentIndex()).toString())
			{
				QMPSettings.set("Language", page1->langBox->itemData(page1->langBox->currentIndex()).toString());
				QMPlay2Core.setLanguage();
				QMessageBox::information(this, tr("New language"), tr("To set up a new language, the program will start again!"));
				restartApp();
			}
#ifdef ICONS_FROM_THEME
			if (page1->iconsFromTheme->isChecked() != QMPSettings.getBool("IconsFromTheme"))
			{
				QMPSettings.set("IconsFromTheme", page1->iconsFromTheme->isChecked());
				if (!QMPlay2GUI.restartApp)
				{
					QMessageBox::information(this, tr("Changing icons"), tr("To apply the icons change program will start again!"));
					restartApp();
				}
			}
#endif
			QMPSettings.set("FallbackSubtitlesEncoding", page1->encodingB->currentText().toUtf8());
			QMPSettings.set("AudioLanguage", page1->audioLangB->currentIndex() > 0 ? page1->audioLangB->currentText() : QString());
			QMPSettings.set("SubtitlesLanguage", page1->subsLangB->currentIndex() > 0 ? page1->subsLangB->currentText() : QString());
			QMPSettings.set("screenshotPth", page1->screenshotE->text());
			QMPSettings.set("screenshotFormat", page1->screenshotFormatB->currentText());
			QMPSettings.set("ShowCovers", page1->showCoversGB->isChecked());
			QMPSettings.set("BlurCovers", page1->blurCoversB->isChecked());
			QMPSettings.set("ShowDirCovers", page1->showDirCoversB->isChecked());
			QMPSettings.set("AutoOpenVideoWindow", page1->autoOpenVideoWindowB->isChecked());
			QMPSettings.set("AutoRestoreMainWindowOnVideo", page1->autoRestoreMainWindowOnVideoB->isChecked());
			QMPSettings.set("AutoUpdates", page1->autoUpdatesB->isChecked());
			QMPSettings.set("MainWidget/TabPositionNorth", page1->tabsNorths->isChecked());
#ifdef QMPLAY2_ALLOW_ONLY_ONE_INSTANCE
			QMPSettings.set("AllowOnlyOneInstance", page1->allowOnlyOneInstance->isChecked());
#endif
			QMPSettings.set("HideArtistMetadata", page1->hideArtistMetadata->isChecked());
			QMPSettings.set("DisplayOnlyFileName", page1->displayOnlyFileName->isChecked());
			QMPSettings.set("RestoreRepeatMode", page1->restoreRepeatMode->isChecked());
			QMPSettings.set("StillImages", page1->stillImages->isChecked());
			if (page1->trayNotifiesDefault)
				QMPSettings.set("TrayNotifiesDefault", page1->trayNotifiesDefault->isChecked());
			QMPSettings.set("AutoDelNonGroupEntries", page1->autoDelNonGroupEntries->isChecked());
			QMPSettings.set("Proxy/Use", page1->proxyB->isChecked() && !page1->proxyHostE->text().isEmpty());
			QMPSettings.set("Proxy/Host", page1->proxyHostE->text());
			QMPSettings.set("Proxy/Port", page1->proxyPortB->value());
			QMPSettings.set("Proxy/Login", page1->proxyLoginB->isChecked() && !page1->proxyUserE->text().isEmpty());
			QMPSettings.set("Proxy/User", page1->proxyUserE->text());
			QMPSettings.set("Proxy/Password", page1->proxyPasswordE->text().toUtf8().toBase64());
			page1->proxyB->setChecked(QMPSettings.getBool("Proxy/Use"));
			page1->proxyLoginB->setChecked(QMPSettings.getBool("Proxy/Login"));
			qobject_cast<QMainWindow *>(QMPlay2GUI.mainW)->setTabPosition(Qt::AllDockWidgetAreas, page1->tabsNorths->isChecked() ? QTabWidget::North : QTabWidget::South);
			applyProxy();

			if (page1->trayNotifiesDefault)
				Notifies::setNativeFirst(!page1->trayNotifiesDefault->isChecked());

			QSettings profileSettings(QMPlay2Core.getSettingsDir() + "Profile.ini", QSettings::IniFormat);
			const QString selectedProfile = getSelectedProfile();
			if (selectedProfile != profileSettings.value("Profile", "/").toString())
			{
				profileSettings.setValue("Profile", selectedProfile);
				restartApp();
			}
		} break;
		case 2:
		{
			QMPSettings.set("ShortSeek", page2->shortSeekB->value());
			QMPSettings.set("LongSeek", page2->longSeekB->value());
			QMPSettings.set("AVBufferLocal", page2->bufferLocalB->value());
			QMPSettings.set("AVBufferNetwork", page2->bufferNetworkB->value());
			QMPSettings.set("BackwardBuffer", page2->backwardBufferNetworkB->currentIndex());
			QMPSettings.set("PlayIfBuffered", page2->playIfBufferedB->value());
			QMPSettings.set("ForceSamplerate", page2->forceSamplerate->isChecked());
			QMPSettings.set("Samplerate", page2->samplerateB->value());
			QMPSettings.set("MaxVol", page2->maxVolB->value());
			QMPSettings.set("ForceChannels", page2->forceChannels->isChecked());
			QMPSettings.set("Channels", page2->channelsB->value());
			QMPSettings.set("ReplayGain/Enabled", page2->replayGain->isChecked());
			QMPSettings.set("ReplayGain/Album", page2->replayGainAlbum->isChecked());
			QMPSettings.set("ReplayGain/PreventClipping", page2->replayGainPreventClipping->isChecked());
			QMPSettings.set("ReplayGain/Preamp", page2->replayGainPreamp->value());
			QMPSettings.set("WheelAction", page2->wheelActionB->isChecked());
			QMPSettings.set("WheelSeek", page2->wheelSeekB->isChecked());
			QMPSettings.set("WheelVolume", page2->wheelVolumeB->isChecked());
			QMPSettings.set("ShowBufferedTimeOnSlider", page2->showBufferedTimeOnSlider->isChecked());
			QMPSettings.set("SavePos", page2->savePos->isChecked());
			QMPSettings.set("KeepZoom", page2->keepZoom->isChecked());
			QMPSettings.set("KeepARatio", page2->keepARatio->isChecked());
			QMPSettings.set("KeepSubtitlesDelay", page2->keepSubtitlesDelay->isChecked());
			QMPSettings.set("KeepSubtitlesScale", page2->keepSubtitlesScale->isChecked());
			QMPSettings.set("KeepVideoDelay", page2->keepVideoDelay->isChecked());
			QMPSettings.set("KeepSpeed", page2->keepSpeed->isChecked());
			QMPSettings.set("SyncVtoA", page2->syncVtoA->isChecked());
			QMPSettings.set("Silence", page2->silence->isChecked());
			QMPSettings.set("RestoreVideoEqualizer", page2->restoreVideoEq->isChecked());
			QMPSettings.set("IgnorePlaybackError", page2->ignorePlaybackError->isChecked());
			QMPSettings.set("LeftMouseTogglePlay", page2->leftMouseTogglePlay->checkState());
			QMPSettings.set("AccurateSeek", page2->accurateSeekB->checkState());
			QMPSettings.set("UnpauseWhenSeeking", page2->unpauseWhenSeekingB->isChecked());
			QMPSettings.set("StoreARatioAndZoom", page2->storeARatioAndZoomB->isChecked());

			QStringList videoWriters, audioWriters, decoders;
			for (QListWidgetItem *wI : page2ModulesList[0]->list->findItems(QString(), Qt::MatchContains))
				videoWriters += wI->text();
			for (QListWidgetItem *wI : page2ModulesList[1]->list->findItems(QString(), Qt::MatchContains))
				audioWriters += wI->text();
			for (QListWidgetItem *wI : page2ModulesList[2]->list->findItems(QString(), Qt::MatchContains))
				decoders += wI->text();
			QMPSettings.set("videoWriters", videoWriters);
			QMPSettings.set("audioWriters", audioWriters);
			QMPSettings.set("decoders", decoders);
			tabCh(2);
			tabCh(1);

			emit setWheelStep(page2->shortSeekB->value());
			emit setVolMax(page2->maxVolB->value());

			SetAudioChannelsMenu();
		} break;
		case 3:
			if (page3->module && page3->scrollA->widget())
			{
				Module::SettingsWidget *settingsWidget = (Module::SettingsWidget *)page3->scrollA->widget();
				settingsWidget->saveSettings();
				settingsWidget->flushSettings();
				page3->module->setInstances(page3Restart);
				chModule(page3->listW->currentItem());
			}
			break;
		case 4:
			page4->writeSettings();
			QMPSettings.set("ApplyToASS/ColorsAndBorders", page4->colorsAndBordersB->isChecked());
			QMPSettings.set("ApplyToASS/MarginsAndAlignment", page4->marginsAndAlignmentB->isChecked());
			QMPSettings.set("ApplyToASS/FontsAndSpacing", page4->fontsB->isChecked());
			QMPSettings.set("ApplyToASS/OverridePlayRes", page4->overridePlayResB->isChecked());
			QMPSettings.set("ApplyToASS/ApplyToASS", page4->toAssGB->isChecked());
			break;
		case 5:
			QMPSettings.set("OSD/Enabled", page5->enabledB->isChecked());
			page5->writeSettings();
			break;
		case 6:
			page6->deintSettingsW->writeSettings();
			if (page6->otherVFiltersW)
				page6->otherVFiltersW->writeSettings();
			break;
	}
	if (page != 3)
		QMPSettings.flush();
	emit settingsChanged(page, page3Restart);
}
コード例 #5
0
ファイル: SettingsWidget.cpp プロジェクト: arthurzam/QMPlay2
void SettingsWidget::InitSettings()
{
	Settings &QMPSettings = QMPlay2Core.getSettings();

	QTextCodec *codec = QTextCodec::codecForLocale();
	QMPSettings.init("FallbackSubtitlesEncoding", codec ? codec->name().constData() : "System");

	QMPSettings.init("AudioLanguage", QString());
	QMPSettings.init("SubtitlesLanguage", QString());
	QMPSettings.init("screenshotPth", QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).value(0, QDir::homePath()));
#ifdef Q_OS_WIN
	QMPSettings.init("screenshotFormat", ".bmp");
#else
	QMPSettings.init("screenshotFormat", ".ppm");
#endif
#ifdef ICONS_FROM_THEME
	QMPSettings.init("IconsFromTheme", true);
#else
	QMPSettings.init("IconsFromTheme", false);
#endif
	QMPSettings.init("ShowCovers", true);
	QMPSettings.init("BlurCovers", true);
	QMPSettings.init("ShowDirCovers", true);
	QMPSettings.init("AutoOpenVideoWindow", true);
	QMPSettings.init("AutoRestoreMainWindowOnVideo", true);
	if (!QMPSettings.contains("AutoUpdates"))
		QMPSettings.init("AutoUpdates", !QFile::exists(QMPlay2Core.getShareDir() + "noautoupdates"));
	QMPSettings.init("MainWidget/TabPositionNorth", false);
#ifdef QMPLAY2_ALLOW_ONLY_ONE_INSTANCE
	QMPSettings.init("AllowOnlyOneInstance", false);
#endif
	QMPSettings.init("HideArtistMetadata", false);
	QMPSettings.init("DisplayOnlyFileName", false);
	QMPSettings.init("RestoreRepeatMode", false);
	QMPSettings.init("StillImages", false);
	QMPSettings.init("TrayNotifiesDefault", false);
	QMPSettings.init("AutoDelNonGroupEntries", false);
	QMPSettings.init("Proxy/Use", false);
	QMPSettings.init("Proxy/Host", QString());
	QMPSettings.init("Proxy/Port", 80);
	QMPSettings.init("Proxy/Login", false);
	QMPSettings.init("Proxy/User", QString());
	QMPSettings.init("Proxy/Password", QString());
	QMPSettings.init("ShortSeek", 5);
	QMPSettings.init("LongSeek", 30);
	QMPSettings.init("AVBufferLocal", 100);
	QMPSettings.init("AVBufferNetwork", 50000);
	QMPSettings.init("BackwardBuffer", 1);
	QMPSettings.init("PlayIfBuffered", 1.75);
	QMPSettings.init("MaxVol", 100);
	QMPSettings.init("VolumeL", 100);
	QMPSettings.init("VolumeR", 100);
	QMPSettings.init("ForceSamplerate", false);
	QMPSettings.init("Samplerate", 48000);
	QMPSettings.init("ForceChannels", false);
	QMPSettings.init("Channels", 2);
	QMPSettings.init("ReplayGain/Enabled", false);
	QMPSettings.init("ReplayGain/Album", false);
	QMPSettings.init("ReplayGain/PreventClipping", true);
	QMPSettings.init("ReplayGain/Preamp", 0.0);
	QMPSettings.init("ShowBufferedTimeOnSlider", true);
	QMPSettings.init("WheelAction", true);
	QMPSettings.init("WheelSeek", true);
	QMPSettings.init("LeftMouseTogglePlay", 0);
	QMPSettings.init("AccurateSeek", Qt::PartiallyChecked);
	QMPSettings.init("UnpauseWhenSeeking", false);
	QMPSettings.init("StoreARatioAndZoom", false);
	QMPSettings.init("SavePos", false);
	QMPSettings.init("KeepZoom", false);
	QMPSettings.init("KeepARatio", false);
	QMPSettings.init("KeepSubtitlesDelay", false);
	QMPSettings.init("KeepSubtitlesScale", false);
	QMPSettings.init("KeepVideoDelay", false);
	QMPSettings.init("KeepSpeed", false);
	QMPSettings.init("SyncVtoA", true);
	QMPSettings.init("Silence", true);
	QMPSettings.init("RestoreVideoEqualizer", false);
	QMPSettings.init("IgnorePlaybackError", false);
	QMPSettings.init("ApplyToASS/ColorsAndBorders", true);
	QMPSettings.init("ApplyToASS/MarginsAndAlignment", false);
	QMPSettings.init("ApplyToASS/FontsAndSpacing", false);
	QMPSettings.init("ApplyToASS/OverridePlayRes", false);
	QMPSettings.init("ApplyToASS/ApplyToASS", false);
	QMPSettings.init("OSD/Enabled", true);
	OSDSettingsW::init("Subtitles", 20, 0, 15, 15, 15, 7, 1.5, 1.5, QColor(0xFF, 0xA8, 0x58, 0xFF), Qt::black, Qt::black);
	OSDSettingsW::init("OSD",       32, 0, 0,  0,  0,  4, 1.5, 1.5, QColor(0xAA, 0xFF, 0x55, 0xFF), Qt::black, Qt::black);
	DeintSettingsW::init();
	applyProxy();
}