vnote/src/widgets/dialogs/settings/settingspage.cpp
Le Tan 52702a32e9 hard days for VNoteX project
Never say "refactor" again!!!
2020-11-28 23:10:43 +08:00

74 lines
1.2 KiB
C++

#include "settingspage.h"
using namespace vnotex;
SettingsPage::SettingsPage(QWidget *p_parent)
: QWidget(p_parent)
{
}
SettingsPage::~SettingsPage()
{
}
bool SettingsPage::search(const QString &p_key)
{
bool hit = false;
for (const auto& item : m_searchItems) {
if (item.m_words.contains(p_key, Qt::CaseInsensitive)) {
// Continue to search all the matched targets.
hit = true;
searchHit(item.m_target);
}
}
return hit;
}
void SettingsPage::searchHit(QWidget *p_target)
{
Q_UNUSED(p_target);
}
void SettingsPage::addSearchItem(const QString &p_words, QWidget *p_target)
{
m_searchItems.push_back(SearchItem(p_words, p_target));
}
void SettingsPage::addSearchItem(const QString &p_name, const QString &p_tooltip, QWidget *p_target)
{
addSearchItem(p_name + QStringLiteral(" ") + p_tooltip, p_target);
}
void SettingsPage::pageIsChanged()
{
m_changed = true;
emit changed();
}
void SettingsPage::load()
{
loadInternal();
m_changed = false;
}
void SettingsPage::save()
{
if (!m_changed) {
return;
}
saveInternal();
m_changed = false;
}
void SettingsPage::reset()
{
if (!m_changed) {
return;
}
load();
}