return new ViewPropertySettings(KSharedConfig::openConfig(settingsFile, KConfig::SimpleConfig));
}
- auto createTempFile = []() -> QTemporaryFile * {
- QTemporaryFile *tempFile = new QTemporaryFile;
- tempFile->setAutoRemove(false);
- if (!tempFile->open()) {
- qCWarning(DolphinDebug) << "Could not open temp file";
- return nullptr;
- }
- return tempFile;
- };
-
+ std::unique_ptr<QTemporaryFile> tempFile(new QTemporaryFile());
+ tempFile->setAutoRemove(false);
+ if (!tempFile->open()) {
+ qCWarning(DolphinDebug) << "Could not open temp file";
+ return nullptr;
+ }
if (QFile::exists(settingsFile)) {
// copy settings to tempfile to load them separately
- const QTemporaryFile *tempFile = createTempFile();
- if (!tempFile) {
- return nullptr;
- }
QFile::remove(tempFile->fileName());
QFile::copy(settingsFile, tempFile->fileName());
return nullptr;
}
// load view properties from xattr to temp file then loads into ViewPropertySettings
- // clear the temp file
- const QTemporaryFile *tempFile = createTempFile();
- if (!tempFile) {
- return nullptr;
- }
QFile outputFile(tempFile->fileName());
outputFile.open(QIODevice::WriteOnly);
outputFile.write(viewPropertiesString.toUtf8());
return static_cast<Qt::SortOrder>(m_node->sortOrder());
}
+void ViewProperties::setGroupRole(const QByteArray &role)
+{
+ if (m_node->groupRole() != role) {
+ m_node->setGroupRole(role);
+ update();
+ }
+}
+
+QByteArray ViewProperties::groupRole() const
+{
+ return m_node->groupRole().toLatin1();
+}
+
+void ViewProperties::setGroupOrder(Qt::SortOrder groupOrder)
+{
+ if (m_node->groupOrder() != groupOrder) {
+ m_node->setGroupOrder(groupOrder);
+ update();
+ }
+}
+
+Qt::SortOrder ViewProperties::groupOrder() const
+{
+ return static_cast<Qt::SortOrder>(m_node->groupOrder());
+}
+
void ViewProperties::setSortFoldersFirst(bool foldersFirst)
{
if (m_node->sortFoldersFirst() != foldersFirst) {
return m_node->sortHiddenLast();
}
+void ViewProperties::setDynamicViewPassed(bool dynamicViewPassed)
+{
+ if (m_node->dynamicViewPassed() != dynamicViewPassed) {
+ m_node->setDynamicViewPassed(dynamicViewPassed);
+ update();
+ }
+}
+
+bool ViewProperties::dynamicViewPassed() const
+{
+ return m_node->dynamicViewPassed();
+}
+
void ViewProperties::setVisibleRoles(const QList<QByteArray> &roles)
{
if (roles == visibleRoles()) {
setGroupedSorting(props.groupedSorting());
setSortRole(props.sortRole());
setSortOrder(props.sortOrder());
+ setGroupRole(props.groupRole());
+ setGroupOrder(props.groupOrder());
setSortFoldersFirst(props.sortFoldersFirst());
setSortHiddenLast(props.sortHiddenLast());
setVisibleRoles(props.visibleRoles());