Source code

Revision control

Copy as Markdown

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant reason:default
#include "collectionconfiguration.h"
#include <QtHelp/QHelpEngineCore>
QT_BEGIN_NAMESPACE
using namespace Qt::StringLiterals;
namespace {
const QString AboutIconKey("AboutIcon"_L1);
const QString AboutImagesKey("AboutImages"_L1);
const QString AboutMenuTextsKey("AboutMenuTexts"_L1);
const QString AboutTextsKey("AboutTexts"_L1);
const QString ApplicationIconKey("ApplicationIcon"_L1);
const QString CacheDirKey("CacheDirectory"_L1);
const QString CacheDirRelativeToCollectionKey("CacheDirRelativeToCollection"_L1);
const QString CreationTimeKey("CreationTime"_L1);
const QString DefaultHomePageKey("defaultHomepage"_L1);
const QString EnableAddressBarKey("EnableAddressBar"_L1);
const QString EnableDocManagerKey("EnableDocumentationManager"_L1);
const QString EnableFilterKey("EnableFilterFunctionality"_L1);
const QString HideAddressBarKey("HideAddressBar"_L1);
const QString FilterToolbarHiddenKey("HideFilterFunctionality"_L1);
const QString LastPageKey("LastTabPage"_L1);
const QString LastRegisterTime("LastRegisterTime"_L1);
const QString LastShownPagesKey("LastShownPages"_L1);
const QString LastZoomFactorsKey(
#if defined(BROWSER_QTWEBKIT)
"LastPagesZoomWebView"_L1
#else
"LastPagesZoomTextBrowser"_L1
#endif
);
const QString WindowTitleKey("WindowTitle"_L1);
const QString FullTextSearchFallbackKey("FullTextSearchFallback"_L1);
} // anonymous namespace
const QString CollectionConfiguration::DefaultZoomFactor("0.0"_L1);
const QString CollectionConfiguration::ListSeparator("|"_L1);
uint CollectionConfiguration::creationTime(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(CreationTimeKey, 0).toUInt();
}
void CollectionConfiguration::setCreationTime(QHelpEngineCore &helpEngine, uint time)
{
helpEngine.setCustomValue(CreationTimeKey, time);
}
const QString CollectionConfiguration::windowTitle(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(WindowTitleKey).toString();
}
void CollectionConfiguration::setWindowTitle(QHelpEngineCore &helpEngine,
const QString &windowTitle)
{
helpEngine.setCustomValue(WindowTitleKey, windowTitle);
}
bool CollectionConfiguration::filterFunctionalityEnabled(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(EnableFilterKey, true).toBool();
}
void CollectionConfiguration::setFilterFunctionalityEnabled(QHelpEngineCore &helpEngine,
bool enabled)
{
helpEngine.setCustomValue(EnableFilterKey, enabled);
}
bool CollectionConfiguration::filterToolbarVisible(const QHelpEngineCore &helpEngine)
{
return !helpEngine.customValue(FilterToolbarHiddenKey, true).toBool();
}
void CollectionConfiguration::setFilterToolbarVisible(QHelpEngineCore &helpEngine,
bool visible)
{
helpEngine.setCustomValue(FilterToolbarHiddenKey, !visible);
}
bool CollectionConfiguration::addressBarEnabled(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(EnableAddressBarKey, true).toBool();
}
void CollectionConfiguration::setAddressBarEnabled(QHelpEngineCore &helpEngine,
bool enabled)
{
helpEngine.setCustomValue(EnableAddressBarKey, enabled);
}
bool CollectionConfiguration::addressBarVisible(const QHelpEngineCore &helpEngine)
{
return !helpEngine.customValue(HideAddressBarKey, true).toBool();
}
void CollectionConfiguration::setAddressBarVisible(QHelpEngineCore &helpEngine,
bool visible)
{
helpEngine.setCustomValue(HideAddressBarKey, !visible);
}
const QString CollectionConfiguration::cacheDir(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(CacheDirKey).toString();
}
bool CollectionConfiguration::cacheDirIsRelativeToCollection(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(CacheDirRelativeToCollectionKey).toBool();
}
void CollectionConfiguration::setCacheDir(QHelpEngineCore &helpEngine,
const QString &cacheDir, bool relativeToCollection)
{
helpEngine.setCustomValue(CacheDirKey, cacheDir);
helpEngine.setCustomValue(CacheDirRelativeToCollectionKey,
relativeToCollection);
}
bool CollectionConfiguration::documentationManagerEnabled(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(EnableDocManagerKey, true).toBool();
}
void CollectionConfiguration::setDocumentationManagerEnabled(QHelpEngineCore &helpEngine,
bool enabled)
{
helpEngine.setCustomValue(EnableDocManagerKey, enabled);
}
const QByteArray CollectionConfiguration::applicationIcon(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(ApplicationIconKey).toByteArray();
}
void CollectionConfiguration::setApplicationIcon(QHelpEngineCore &helpEngine,
const QByteArray &icon)
{
helpEngine.setCustomValue(ApplicationIconKey, icon);
}
const QByteArray CollectionConfiguration::aboutMenuTexts(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(AboutMenuTextsKey).toByteArray();
}
void CollectionConfiguration::setAboutMenuTexts(QHelpEngineCore &helpEngine,
const QByteArray &texts)
{
helpEngine.setCustomValue(AboutMenuTextsKey, texts);
}
const QByteArray CollectionConfiguration::aboutIcon(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(AboutIconKey).toByteArray();
}
void CollectionConfiguration::setAboutIcon(QHelpEngineCore &helpEngine,
const QByteArray &icon)
{
helpEngine.setCustomValue(AboutIconKey, icon);
}
const QByteArray CollectionConfiguration::aboutTexts(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(AboutTextsKey).toByteArray();
}
void CollectionConfiguration::setAboutTexts(QHelpEngineCore &helpEngine,
const QByteArray &texts)
{
helpEngine.setCustomValue(AboutTextsKey, texts);
}
const QByteArray CollectionConfiguration::aboutImages(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(AboutImagesKey).toByteArray();
}
void CollectionConfiguration::setAboutImages(QHelpEngineCore &helpEngine,
const QByteArray &images)
{
helpEngine.setCustomValue(AboutImagesKey, images);
}
const QString CollectionConfiguration::defaultHomePage(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(DefaultHomePageKey, "help"_L1).toString();
}
void CollectionConfiguration::setDefaultHomePage(QHelpEngineCore &helpEngine,
const QString &page)
{
helpEngine.setCustomValue(DefaultHomePageKey, page);
}
const QStringList CollectionConfiguration::lastShownPages(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(LastShownPagesKey).toString().
split(ListSeparator, Qt::SkipEmptyParts);
}
void CollectionConfiguration::setLastShownPages(QHelpEngineCore &helpEngine,
const QStringList &lastShownPages)
{
helpEngine.setCustomValue(LastShownPagesKey,
lastShownPages.join(ListSeparator));
}
const QStringList CollectionConfiguration::lastZoomFactors(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(LastZoomFactorsKey).toString().
split(ListSeparator, Qt::SkipEmptyParts);
}
void CollectionConfiguration::setLastZoomFactors(QHelpEngineCore &helpEngine,
const QStringList &lastZoomFactors)
{
helpEngine.setCustomValue(LastZoomFactorsKey,
lastZoomFactors.join(ListSeparator));
}
int CollectionConfiguration::lastTabPage(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(LastPageKey, 1).toInt();
}
void CollectionConfiguration::setLastTabPage(QHelpEngineCore &helpEngine,
int lastPage)
{
helpEngine.setCustomValue(LastPageKey, lastPage);
}
const QDateTime CollectionConfiguration::lastRegisterTime(const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(LastRegisterTime, QDateTime()).toDateTime();
}
void CollectionConfiguration::updateLastRegisterTime(QHelpEngineCore &helpEngine, QDateTime dt)
{
helpEngine.setCustomValue(LastRegisterTime, dt);
}
void CollectionConfiguration::updateLastRegisterTime(QHelpEngineCore &helpEngine)
{
updateLastRegisterTime(helpEngine, QDateTime::currentDateTime());
}
bool CollectionConfiguration::isNewer(const QHelpEngineCore &newer,
const QHelpEngineCore &older)
{
return creationTime(newer) > creationTime(older);
}
void CollectionConfiguration::copyConfiguration(const QHelpEngineCore &source,
QHelpEngineCore &target)
{
setCreationTime(target, creationTime(source));
setWindowTitle(target, windowTitle(source));
target.setCurrentFilter(source.currentFilter());
setCacheDir(target, cacheDir(source), cacheDirIsRelativeToCollection(source));
setFilterFunctionalityEnabled(target, filterFunctionalityEnabled(source));
setFilterToolbarVisible(target, filterToolbarVisible(source));
setAddressBarEnabled(target, addressBarEnabled(source));
setAddressBarVisible(target, addressBarVisible(source));
setDocumentationManagerEnabled(target, documentationManagerEnabled(source));
setApplicationIcon(target, applicationIcon(source));
setAboutMenuTexts(target, aboutMenuTexts(source));
setAboutIcon(target, aboutIcon(source));
setAboutTexts(target, aboutTexts(source));
setAboutImages(target, aboutImages(source));
setDefaultHomePage(target, defaultHomePage(source));
setFullTextSearchFallbackEnabled(target, fullTextSearchFallbackEnabled(source));
}
bool CollectionConfiguration:: fullTextSearchFallbackEnabled(
const QHelpEngineCore &helpEngine)
{
return helpEngine.customValue(FullTextSearchFallbackKey, false).toBool();
}
void CollectionConfiguration::setFullTextSearchFallbackEnabled(
QHelpEngineCore &helpEngine, bool on)
{
helpEngine.setCustomValue(FullTextSearchFallbackKey, on);
}
QT_END_NAMESPACE