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))); }
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))); }
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(); }
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); }
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(); }