Select Git revision
overlaycontroller.cpp
-
Carsten Fuhrmann authored
bug: size changes the widget but not the tree
Carsten Fuhrmann authoredbug: size changes the widget but not the tree
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
overlaycontroller.cpp 7.61 KiB
#include "overlaycontroller.h"
#include <QDesktopWidget>
#include <QTimer>
#include <QStringList>
#include "plugin.h"
#include <qdebug.h>
#include "teamspeak\public_errors.h"
//#ifndef _DEBUG
//#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
//#endif
struct channelInfo {
uint64 id;
QString name;
uint64 parent;
QTreeWidgetItem* entry;
};
enum nodeType {
channel,
client,
spacer
};
Q_DECLARE_METATYPE(nodeType);
OverlayController::OverlayController(const struct TS3Functions funcs, quint64 serverConnectionHandlerID) : QObject(), ts3(funcs)
{
QDesktopWidget desktop;
m_screenHeight = desktop.screenGeometry().height();
m_screenWidth = desktop.screenGeometry().width();
m_speakerOffset = 0;
m_debugWindow = new QLabel;
m_debugWindow->setGeometry(320, 200, 750, 500);
m_debugWindow->setAlignment(Qt::AlignTop | Qt::AlignLeft);
m_debugWindow->show();
m_SCHID = serverConnectionHandlerID;
m_treeWidget = new QWidget;
m_tree = new QTreeWidget(m_treeWidget);
m_tree->setHeaderHidden(true);
m_tree->setExpandsOnDoubleClick(false);
m_treeWidget->setAttribute(Qt::WA_TranslucentBackground);
m_treeWidget->setWindowFlags(Qt::WindowStaysOnTopHint | Qt::Tool);
}
OverlayController::~OverlayController()
{
for (auto &it : m_speakers)
delete it;
m_speakers.clear();
for (auto &it : m_msgLines)
delete it;
m_msgLines.clear();
delete m_debugWindow;
delete m_treeWidget;
}
void OverlayController::deleteChatLine(QWidget * line)
{
//TODO: delete the given line instead of the last
int index = m_msgLines.indexOf(line);