demo: Fix startup delay

This commit is contained in:
Sergio Martins
2019-10-22 14:17:57 +01:00
parent 44bcfdf53c
commit e4eac7a688
3 changed files with 21 additions and 4 deletions

View File

@@ -88,7 +88,13 @@ MyMainWindow::MyMainWindow(KDDockWidgets::MainWindowOptions options, QWidget *pa
saver.restoreFromDisk();
});
createDockWidgets();
}
void MyMainWindow::createDockWidgets()
{
KDDockWidgets::DockWidget::List dockwidgets;
// Create 9 KDDockWidget::DockWidget and the respective widgets they're hosting (MyWidget instances)
for (int i = 0; i < 9; i++)
dockwidgets << newDockWidget();

View File

@@ -27,6 +27,7 @@ public:
explicit MyMainWindow(KDDockWidgets::MainWindowOptions options, QWidget *parent = nullptr);
private:
void createDockWidgets();
KDDockWidgets::DockWidgetBase* newDockWidget();
QMenu *m_toggleMenu = nullptr;
};

View File

@@ -24,14 +24,24 @@
#include <QDebug>
#include <QFile>
static QHash<QString, QImage> s_images;
MyWidget::MyWidget(const QString &backgroundFile, const QString &logoFile, QWidget *parent)
: QWidget(parent)
{
if (!backgroundFile.isEmpty())
m_background = QImage(backgroundFile);
if (!backgroundFile.isEmpty()) {
auto it = s_images.find(backgroundFile);
if (it == s_images.end())
it = s_images.insert(backgroundFile, QImage(backgroundFile));
m_background = it.value();
}
if (!logoFile.isEmpty())
m_logo = QImage(logoFile);
if (!logoFile.isEmpty()) {
auto it = s_images.find(logoFile);
if (it == s_images.end())
it = s_images.insert(logoFile, QImage(logoFile));
m_logo = it.value();
}
}
MyWidget::~MyWidget()