Skip to content

Commit 044f512

Browse files
committed
Run heavy startup operations after initial UI rendering
1 parent 03e968f commit 044f512

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

src/app/app.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ void Application::initModels() {
100100
m_connections = QSharedPointer<ConnectionsManager>(
101101
new ConnectionsManager(config, m_events));
102102

103+
QTimer::singleShot(500, [this]() {
104+
if (m_connections) m_connections->loadConnections();
105+
});
106+
103107
m_bulkOperations = QSharedPointer<BulkOperations::Manager>(
104108
new BulkOperations::Manager(m_connections, m_python));
105109

@@ -147,7 +151,9 @@ void Application::initModels() {
147151
m_formattersManager->setPath(m_formattersDir);
148152
}
149153

150-
m_formattersManager->loadFormatters();
154+
QTimer::singleShot(1000, [this]() {
155+
if (m_formattersManager) m_formattersManager->loadFormatters();
156+
});
151157
#endif
152158

153159
m_embeddedFormatters = QSharedPointer<ValueEditor::EmbeddedFormattersManager>(

src/app/models/connectionsmanager.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,20 @@
1515
ConnectionsManager::ConnectionsManager(const QString& configPath,
1616
QSharedPointer<Events> events)
1717
: ConnectionsTree::Model(), m_configPath(configPath), m_events(events) {
18-
if (!configPath.isEmpty() && QFile::exists(configPath)) {
19-
loadConnectionsConfigFromFile(configPath);
20-
}
21-
2218
connect(this, &ConnectionsTree::Model::error, m_events.data(),
2319
&Events::error);
2420
}
2521

2622
ConnectionsManager::~ConnectionsManager(void) {}
2723

24+
void ConnectionsManager::loadConnections() {
25+
if (!m_configPath.isEmpty() && QFile::exists(m_configPath)) {
26+
loadConnectionsConfigFromFile(m_configPath);
27+
}
28+
29+
emit connectionsLoaded();
30+
}
31+
2832
void ConnectionsManager::addNewConnection(
2933
const ServerConfig& config, bool saveToConfig,
3034
QSharedPointer<ConnectionsTree::ServerGroup> group) {

src/app/models/connectionsmanager.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ class ConnectionsManager : public ConnectionsTree::Model,
2929

3030
~ConnectionsManager(void);
3131

32+
void loadConnections();
33+
3234
Q_INVOKABLE void addNewConnection(const ServerConfig& config,
3335
bool saveToConfig = true,
3436
QSharedPointer<ConnectionsTree::ServerGroup> group =
@@ -68,6 +70,8 @@ class ConnectionsManager : public ConnectionsTree::Model,
6870

6971
void sizeChanged();
7072

73+
void connectionsLoaded();
74+
7175
protected:
7276
bool loadConnectionsConfigFromFile(const QString& config,
7377
bool saveChangesToFile = false);

src/qml/app.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ ApplicationWindow {
205205
connectionGroupDialog.open()
206206
}
207207

208-
Component.onCompleted: {
208+
function onConnectionsLoaded() {
209209
if (connectionsManager.size() === 0)
210210
quickStartDialog.open()
211211
}

0 commit comments

Comments
 (0)