Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+70
@@ -0,0 +1,70 @@
|
||||
// TODO: hdr
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "lts_notification_export.h"
|
||||
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QIcon>
|
||||
#include <memory>
|
||||
#include <functional>
|
||||
|
||||
|
||||
class QToolButton;
|
||||
|
||||
namespace LtsSession
|
||||
{
|
||||
class LtsSession;
|
||||
}
|
||||
|
||||
|
||||
namespace LtsNotification
|
||||
{
|
||||
class LtsNotificationWidget;
|
||||
|
||||
/**
|
||||
* @brief The LtsNotificationController class is the Controller for exactly one LtsNotification and creates / keeps track
|
||||
* on all Notification Icons of all BaseLayouts in one Session.
|
||||
* >>> !! Do not use by yourself! Call 'createNotification' from LtsSession to create a new LtsNotification !! <<<
|
||||
*/
|
||||
class LTSNOTIFICATION_EXPORT LtsNotificationController : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit LtsNotificationController(const QString &identifier);
|
||||
~LtsNotificationController();
|
||||
|
||||
QToolButton *createWidget();
|
||||
|
||||
void setIcon(const QIcon& icon);
|
||||
void setAction(const std::function<void(void)> &action);
|
||||
void setToolTip(const QString &toolTip);
|
||||
void setCount(const int count);
|
||||
void setBackground(const int r, const int g, const int b);
|
||||
const QString &identifier() const { return m_identifier; }
|
||||
const QString &tooltip() const { return m_toolTip; }
|
||||
|
||||
void setEnabled(bool enable);
|
||||
|
||||
private:
|
||||
QList<QToolButton *> m_notiList; // all notis on all blws of one session
|
||||
//LtsSession::LtsSession *m_session; // the selected session FIXME: ShdPtr ?! but there can't be a LNI without a Session, so I think this is okay
|
||||
|
||||
QIcon m_icon;
|
||||
std::function<void(void)> m_action;
|
||||
QString m_toolTip;
|
||||
int m_count;
|
||||
bool m_enable{true};
|
||||
QString m_identifier;
|
||||
|
||||
void setAllIcons();
|
||||
QIcon modifyIcon(const QIcon &icon);
|
||||
|
||||
private slots:
|
||||
void slotNotiWidgetDestroyed(QObject *obj);
|
||||
|
||||
};
|
||||
|
||||
} // namespace LtsWidgets
|
||||
Reference in new issue
Block a user