void WebContentsWidget::optionChanged(const QString &option, const QVariant &value) { if (option == QLatin1String("Browser/ShowDetailedProgressBar")) { m_isProgressBarEnabled = value.toBool(); if (!m_isProgressBarEnabled && m_progressBarWidget) { m_progressBarWidget->deleteLater(); m_progressBarWidget = NULL; } if (m_isProgressBarEnabled) { connect(m_webWidget, SIGNAL(progressBarGeometryChanged()), this, SLOT(scheduleGeometryUpdate())); } else { disconnect(m_webWidget, SIGNAL(progressBarGeometryChanged()), this, SLOT(updateProgressBarWidget())); } } else if (option == QLatin1String("Search/EnableFindInPageAsYouType")) { if (value.toBool()) { connect(m_ui->findLineEdit, SIGNAL(textChanged(QString)), this, SLOT(updateFind())); } else { disconnect(m_ui->findLineEdit, SIGNAL(textChanged(QString)), this, SLOT(updateFind())); } } }
void WebContentsWidget::triggerAction(WindowAction action, bool checked) { if (action == FindAction || action == FindNextAction || action == FindPreviousAction) { if (!m_ui->findWidget->isVisible()) { if (action != FindAction || SettingsManager::getValue(QLatin1String("Search/ReuseLastQuickFindQuery")).toBool()) { m_ui->findLineEdit->setText(m_quickFindQuery); if (action == FindAction) { updateFind(); } } m_ui->findWidget->setVisible(true); } m_ui->findLineEdit->setFocus(); m_ui->findLineEdit->selectAll(); if (action != FindAction) { updateFind(action == FindPreviousAction); } } else { m_webWidget->triggerAction(action, checked); } }
void WebContentsWidget::triggerAction(ActionIdentifier action, bool checked) { const bool isFindAction = (action == FindAction || action == QuickFindAction); if (isFindAction || action == FindNextAction || action == FindPreviousAction) { if (!m_ui->findWidget->isVisible()) { if (action == QuickFindAction) { killTimer(m_quickFindTimer); m_quickFindTimer = startTimer(2000); } if (!isFindAction || SettingsManager::getValue(QLatin1String("Search/ReuseLastQuickFindQuery")).toBool()) { m_ui->findLineEdit->setText(m_quickFindQuery); if (isFindAction) { updateFind(); } } m_ui->findWidget->setVisible(true); } m_ui->findLineEdit->setFocus(); m_ui->findLineEdit->selectAll(); if (!isFindAction) { updateFind(action == FindPreviousAction); } } else { m_webWidget->triggerAction(action, checked); } }
void WebContentsWidget::triggerAction(ActionIdentifier action, bool checked) { const bool isFindAction = (action == FindAction || action == QuickFindAction); if (isFindAction || action == FindNextAction || action == FindPreviousAction) { if (!m_ui->findWidget->isVisible()) { if (action == QuickFindAction) { killTimer(m_quickFindTimer); m_quickFindTimer = startTimer(2000); } if (!isFindAction || SettingsManager::getValue(QLatin1String("Search/ReuseLastQuickFindQuery")).toBool()) { m_ui->findLineEdit->setText(m_quickFindQuery); if (isFindAction) { updateFind(); } } m_ui->findWidget->setVisible(true); } m_ui->findLineEdit->setFocus(); m_ui->findLineEdit->selectAll(); if (!isFindAction) { updateFind(action == FindPreviousAction); } } else if (action == QuickPreferencesAction) { if (m_isTabPreferencesMenuVisible) { return; } m_isTabPreferencesMenuVisible = true; QActionGroup popupsGroup(this); popupsGroup.setExclusive(true); popupsGroup.setEnabled(false); QMenu menu; popupsGroup.addAction(menu.addAction(tr("Open all pop-ups"))); popupsGroup.addAction(menu.addAction(tr("Open pop-ups in background"))); popupsGroup.addAction(menu.addAction(tr("Block all pop-ups"))); menu.addSeparator(); QAction *enableImagesAction = menu.addAction(tr("Enable Images")); enableImagesAction->setCheckable(true); enableImagesAction->setChecked(m_webWidget->getOption(QLatin1String("Browser/EnableImages")).toBool()); enableImagesAction->setData(QLatin1String("Browser/EnableImages")); QAction *enableJavaScriptAction = menu.addAction(tr("Enable JavaScript")); enableJavaScriptAction->setCheckable(true); enableJavaScriptAction->setChecked(m_webWidget->getOption(QLatin1String("Browser/EnableJavaScript")).toBool()); enableJavaScriptAction->setData(QLatin1String("Browser/EnableJavaScript")); QAction *enableJavaAction = menu.addAction(tr("Enable Java")); enableJavaAction->setCheckable(true); enableJavaAction->setChecked(m_webWidget->getOption(QLatin1String("Browser/EnableJava")).toBool()); enableJavaAction->setData(QLatin1String("Browser/EnableJava")); QAction *enablePluginsAction = menu.addAction(tr("Enable Plugins")); enablePluginsAction->setCheckable(true); enablePluginsAction->setChecked(m_webWidget->getOption(QLatin1String("Browser/EnablePlugins")).toString() == QLatin1String("enabled")); enablePluginsAction->setData(QLatin1String("Browser/EnablePlugins")); menu.addSeparator(); QAction *enableCookiesAction = menu.addAction(tr("Enable Cookies")); enableCookiesAction->setCheckable(true); enableCookiesAction->setEnabled(false); QAction *enableReferrerAction = menu.addAction(tr("Enable Referrer")); enableReferrerAction->setCheckable(true); enableReferrerAction->setEnabled(false); QAction *enableProxyAction = menu.addAction(tr("Enable Proxy")); enableProxyAction->setCheckable(true); enableProxyAction->setEnabled(false); menu.addSeparator(); menu.addAction(tr("Reset Options"), m_webWidget, SLOT(clearOptions()))->setEnabled(!m_webWidget->getOptions().isEmpty()); menu.addSeparator(); menu.addAction(ActionsManager::getAction(WebsitePreferencesAction, parent())); QAction *triggeredAction = menu.exec(QCursor::pos()); if (triggeredAction && triggeredAction->data().isValid()) { if (triggeredAction->data().toString() == QLatin1String("Browser/EnablePlugins")) { m_webWidget->setOption(QLatin1String("Browser/EnablePlugins"), (triggeredAction->isChecked() ? QLatin1String("enabled") : QLatin1String("disabled"))); } else { m_webWidget->setOption(triggeredAction->data().toString(), triggeredAction->isChecked()); } } m_isTabPreferencesMenuVisible = false; } else if (action == ActivateWebpageAction) { m_webWidget->setFocus(); } else { m_webWidget->triggerAction(action, checked); } }