Added menu entry for presence plugin
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QStatusBar>
|
#include <QStatusBar>
|
||||||
|
#include <QMenu>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QStringBuilder>
|
#include <QStringBuilder>
|
||||||
@@ -23,6 +24,8 @@ PresenceWidget::PresenceWidget(MainWindow &mainWindow) :
|
|||||||
m_labelNotAvailable->setFrameShadow(QFrame::Sunken);
|
m_labelNotAvailable->setFrameShadow(QFrame::Sunken);
|
||||||
m_mainWindow.statusBar()->addWidget(m_labelNotAvailable);
|
m_mainWindow.statusBar()->addWidget(m_labelNotAvailable);
|
||||||
|
|
||||||
|
m_action = m_mainWindow.menuView()->addAction(tr("Refresh presence"), this, &PresenceWidget::timeout);
|
||||||
|
|
||||||
auto timer = new QTimer(this);
|
auto timer = new QTimer(this);
|
||||||
timer->setInterval(60000);
|
timer->setInterval(60000);
|
||||||
connect(timer, &QTimer::timeout, this, &PresenceWidget::timeout);
|
connect(timer, &QTimer::timeout, this, &PresenceWidget::timeout);
|
||||||
@@ -33,15 +36,11 @@ PresenceWidget::PresenceWidget(MainWindow &mainWindow) :
|
|||||||
|
|
||||||
void PresenceWidget::timeout()
|
void PresenceWidget::timeout()
|
||||||
{
|
{
|
||||||
if(m_reply)
|
|
||||||
{
|
|
||||||
qWarning() << "last request not finished yet!";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_labelAvailable->setText(tr("%0: %1").arg(tr("Available")).arg(tr("???")));
|
m_labelAvailable->setText(tr("%0: %1").arg(tr("Available")).arg(tr("???")));
|
||||||
m_labelNotAvailable->setText(tr("%0: %1").arg(tr("Not available")).arg(tr("???")));
|
m_labelNotAvailable->setText(tr("%0: %1").arg(tr("Not available")).arg(tr("???")));
|
||||||
|
|
||||||
|
m_action->setEnabled(false);
|
||||||
|
|
||||||
m_reply = m_mainWindow.erfassung().doGetPresenceStatus();
|
m_reply = m_mainWindow.erfassung().doGetPresenceStatus();
|
||||||
connect(m_reply.get(), &ZeiterfassungReply::finished, this, &PresenceWidget::finished);
|
connect(m_reply.get(), &ZeiterfassungReply::finished, this, &PresenceWidget::finished);
|
||||||
}
|
}
|
||||||
@@ -73,5 +72,6 @@ void PresenceWidget::finished()
|
|||||||
}
|
}
|
||||||
|
|
||||||
after:
|
after:
|
||||||
|
m_action->setEnabled(true);
|
||||||
m_reply = Q_NULLPTR;
|
m_reply = Q_NULLPTR;
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
#include "replies/getpresencestatusreply.h"
|
#include "replies/getpresencestatusreply.h"
|
||||||
|
|
||||||
class QLabel;
|
class QLabel;
|
||||||
|
class QAction;
|
||||||
|
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
|
|
||||||
@@ -25,6 +26,8 @@ private:
|
|||||||
QLabel *m_labelAvailable;
|
QLabel *m_labelAvailable;
|
||||||
QLabel *m_labelNotAvailable;
|
QLabel *m_labelNotAvailable;
|
||||||
|
|
||||||
|
QAction *m_action;
|
||||||
|
|
||||||
std::unique_ptr<GetPresenceStatusReply> m_reply;
|
std::unique_ptr<GetPresenceStatusReply> m_reply;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user