63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#include "preferences.h"
|
|
|
|
#define MAX_RECENT_FILES 7
|
|
|
|
Preferences &Preferences::instance()
|
|
{
|
|
static Preferences *s_preferences = nullptr;
|
|
if (nullptr == s_preferences) {
|
|
s_preferences = new Preferences;
|
|
}
|
|
return *s_preferences;
|
|
}
|
|
|
|
void Preferences::loadDefault()
|
|
{
|
|
}
|
|
|
|
Preferences::Preferences()
|
|
{
|
|
loadDefault();
|
|
}
|
|
|
|
QSize Preferences::documentWindowSize() const
|
|
{
|
|
return m_settings.value("documentWindowSize", QSize()).toSize();
|
|
}
|
|
|
|
void Preferences::setDocumentWindowSize(const QSize& size)
|
|
{
|
|
m_settings.setValue("documentWindowSize", size);
|
|
}
|
|
|
|
QStringList Preferences::recentFileList() const
|
|
{
|
|
return m_settings.value("recentFileList").toStringList();
|
|
}
|
|
|
|
int Preferences::maxRecentFiles() const
|
|
{
|
|
return MAX_RECENT_FILES;
|
|
}
|
|
|
|
void Preferences::setCurrentFile(const QString &fileName)
|
|
{
|
|
QStringList files = m_settings.value("recentFileList").toStringList();
|
|
|
|
files.removeAll(fileName);
|
|
files.prepend(fileName);
|
|
while (files.size() > MAX_RECENT_FILES)
|
|
files.removeLast();
|
|
|
|
m_settings.setValue("recentFileList", files);
|
|
}
|
|
|
|
void Preferences::reset()
|
|
{
|
|
auto files = m_settings.value("recentFileList").toStringList();
|
|
m_settings.clear();
|
|
m_settings.setValue("recentFileList", files);
|
|
|
|
loadDefault();
|
|
}
|