Skip to content

Commit f6e6b77

Browse files
committed
Restore app logging
1 parent 86c2956 commit f6e6b77

File tree

5 files changed

+32
-38
lines changed

5 files changed

+32
-38
lines changed

src/app/events.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
11
#include "events.h"
2+
3+
void Events::registerLoggerForConnection(RedisClient::Connection& c) {
4+
QObject::connect(&c, &RedisClient::Connection::log,
5+
[this](const QString& info) {
6+
emit log(QString("Connection: %1").arg(info));
7+
});
8+
9+
QObject::connect(&c, &RedisClient::Connection::error,
10+
[this](const QString& error) {
11+
emit log(QString("Connection: %1").arg(error));
12+
});
13+
}

src/app/events.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ class KeyItem;
1414
class Events : public QObject {
1515
Q_OBJECT
1616

17+
public:
18+
void registerLoggerForConnection(RedisClient::Connection& c);
19+
1720
signals:
1821

1922
// Tabs

src/app/models/connectionsmanager.cpp

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void ConnectionsManager::addNewConnection(const ServerConfig& config,
4040

4141
// add connection to connection tree
4242
auto treeModel = QSharedPointer<TreeOperations>(
43-
new TreeOperations(cloneConnection(connection), m_events));
43+
new TreeOperations(connection->clone(), m_events));
4444
createServerItemForConnection(connection, treeModel);
4545

4646
if (saveToConfig) saveConfig();
@@ -63,7 +63,7 @@ void ConnectionsManager::updateConnection(const ServerConfig& config) {
6363

6464
if (!operations) return;
6565

66-
operations->setConnection(cloneConnection(connection));
66+
operations->setConnection(connection->clone());
6767

6868
emit dataChanged(index(serverItem->row(), 0, QModelIndex()),
6969
index(serverItem->row(), 0, QModelIndex()));
@@ -128,7 +128,7 @@ bool ConnectionsManager::saveConnectionsConfigToFile(
128128

129129
bool ConnectionsManager::testConnectionSettings(const ServerConfig& config) {
130130
RedisClient::Connection testConnection(config);
131-
registerLoggerForConnection(testConnection);
131+
m_events->registerLoggerForConnection(testConnection);
132132

133133
try {
134134
return testConnection.connect();
@@ -192,23 +192,3 @@ void ConnectionsManager::createServerItemForConnection(
192192
m_connectionMapping.insert(connection, serverItem);
193193
addRootItem(serverItem);
194194
}
195-
196-
QSharedPointer<RedisClient::Connection> ConnectionsManager::cloneConnection(
197-
QSharedPointer<RedisClient::Connection> c) {
198-
auto copy = c->clone();
199-
registerLoggerForConnection(*copy.data());
200-
return copy;
201-
}
202-
203-
void ConnectionsManager::registerLoggerForConnection(
204-
RedisClient::Connection& c) {
205-
QObject::connect(&c, &RedisClient::Connection::log,
206-
[this](const QString& info) {
207-
emit m_events->log(QString("Connection: %1").arg(info));
208-
});
209-
210-
QObject::connect(&c, &RedisClient::Connection::error,
211-
[this](const QString& error) {
212-
emit m_events->log(QString("Connection: %1").arg(error));
213-
});
214-
}

src/app/models/connectionsmanager.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ class ConnectionsManager : public ConnectionsTree::Model,
6060
QSharedPointer<RedisClient::Connection> connection,
6161
QSharedPointer<TreeOperations> treeModel);
6262

63-
QSharedPointer<RedisClient::Connection> cloneConnection(
64-
QSharedPointer<RedisClient::Connection> c);
65-
66-
void registerLoggerForConnection(RedisClient::Connection& c);
67-
6863
private:
6964
QString m_configPath;
7065
QList<QSharedPointer<RedisClient::Connection>> m_connections;

src/app/models/treeoperations.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@
1616
TreeOperations::TreeOperations(
1717
QSharedPointer<RedisClient::Connection> connection,
1818
QSharedPointer<Events> events)
19-
: m_connection(connection), m_events(events), m_dbCount(0) {}
19+
: m_connection(connection), m_events(events), m_dbCount(0) {
20+
m_events->registerLoggerForConnection(*connection);
21+
}
2022

2123
bool TreeOperations::loadDatabases(
2224
std::function<void(RedisClient::DatabaseList)> callback) {
2325
auto connection = m_connection->clone();
26+
m_events->registerLoggerForConnection(*connection);
2427

2528
bool connected = false;
2629

@@ -90,15 +93,15 @@ QFuture<bool> TreeOperations::getDatabases(
9093
QFuture<bool> result =
9194
QtConcurrent::run(this, &TreeOperations::loadDatabases, callback);
9295

93-
AsyncFuture::observe(result).subscribe([]() {},
94-
[this]() {
95-
QtConcurrent::run([this]() {
96-
auto oldConnection = m_connection;
97-
m_connection =
98-
oldConnection->clone();
99-
oldConnection->disconnect();
100-
});
101-
});
96+
AsyncFuture::observe(result).subscribe(
97+
[]() {},
98+
[this]() {
99+
QtConcurrent::run([this]() {
100+
auto oldConnection = m_connection;
101+
setConnection(oldConnection->clone());
102+
oldConnection->disconnect();
103+
});
104+
});
102105

103106
return result;
104107
}
@@ -263,4 +266,5 @@ bool TreeOperations::isConnected() const { return m_connection->isConnected(); }
263266

264267
void TreeOperations::setConnection(QSharedPointer<RedisClient::Connection> c) {
265268
m_connection = c;
269+
m_events->registerLoggerForConnection(*c);
266270
}

0 commit comments

Comments
 (0)