From 3b73409b7abd4881e882dd4ff3eab506a47c7e4a Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Mon, 7 Feb 2022 21:54:46 +0100 Subject: [PATCH] Don't recreate config group when saving last room Instead have the group as a member of the room manager --- src/roommanager.cpp | 8 +++----- src/roommanager.h | 2 ++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/roommanager.cpp b/src/roommanager.cpp index a776d778e..925a2f85c 100644 --- a/src/roommanager.cpp +++ b/src/roommanager.cpp @@ -19,6 +19,7 @@ RoomManager::RoomManager(QObject *parent) , m_lastCurrentRoom(nullptr) , m_config(KConfig("data", KConfig::SimpleConfig, QStandardPaths::AppDataLocation)) { + m_lastRoomConfig = m_config.group("LastOpenRoom"); } RoomManager::~RoomManager() @@ -97,8 +98,7 @@ void RoomManager::openRoomForActiveConnection() return; } // Read from last open room - KConfigGroup lastOpenRoomGroup(&m_config, "LastOpenRoom"); - QString roomId = lastOpenRoomGroup.readEntry(Controller::instance().activeConnection()->userId(), QString()); + QString roomId = m_lastRoomConfig.readEntry(Controller::instance().activeConnection()->userId(), QString()); // TODO remove legacy check at some point. if (roomId.isEmpty()) { @@ -130,9 +130,7 @@ void RoomManager::enterRoom(NeoChatRoom *room) } // Save last open room - KConfigGroup lastOpenRoomGroup(&m_config, "LastOpenRoom"); - lastOpenRoomGroup.writeEntry(Controller::instance().activeConnection()->userId(), room->id()); - lastOpenRoomGroup.config()->sync(); + m_lastRoomConfig.writeEntry(Controller::instance().activeConnection()->userId(), room->id()); } void RoomManager::openWindow(NeoChatRoom *room) diff --git a/src/roommanager.h b/src/roommanager.h index 32a359182..3a1a3f168 100644 --- a/src/roommanager.h +++ b/src/roommanager.h @@ -4,6 +4,7 @@ #pragma once #include +#include #include #include @@ -104,4 +105,5 @@ private: NeoChatRoom *m_lastCurrentRoom; QString m_arg; KConfig m_config; + KConfigGroup m_lastRoomConfig; };