Ejemplo n.º 1
0
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()));
		}
	}
}
Ejemplo n.º 2
0
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);
	}
}
Ejemplo n.º 3
0
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);
	}
}
Ejemplo n.º 4
0
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);
	}
}