The catalogue now loads the list of databases en there is a table model that can show this data.
This commit is contained in:
parent
a9430bca1a
commit
20af12535e
22 changed files with 504 additions and 118 deletions
25
src/ASyncWindow.cpp
Normal file
25
src/ASyncWindow.cpp
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#include "ASyncWindow.h"
|
||||
#include <QTimer>
|
||||
|
||||
ASyncWindow::ASyncWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
{}
|
||||
|
||||
void ASyncWindow::QueueTask(TSQueue::t_Callable c)
|
||||
{
|
||||
m_taskQueue.add(c);
|
||||
// Theoretically this needs to be only called if the queue was empty because otherwise it already would
|
||||
// be busy emptying the queue. For now however I think it is safer to call it just to make sure.
|
||||
QMetaObject::invokeMethod(this, "processCallableQueue", Qt::QueuedConnection); // queues on main thread
|
||||
}
|
||||
|
||||
void ASyncWindow::processCallableQueue()
|
||||
{
|
||||
if (!m_taskQueue.empty()) {
|
||||
auto c = m_taskQueue.pop();
|
||||
c();
|
||||
if (!m_taskQueue.empty()) {
|
||||
QTimer::singleShot(0, this, SLOT(processCallableQueue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue