dde-dock/window/mainwindow.cpp
石博文 a5e99b83f8 changed dbus interface
Change-Id: Ic8a42e2574aaa766ffc5200e75a3a4ebc561d429
2016-08-02 09:28:06 +08:00

62 lines
1.3 KiB
C++

#include "mainwindow.h"
#include "panel/mainpanel.h"
#include <QDebug>
#include <QResizeEvent>
MainWindow::MainWindow(QWidget *parent)
: QWidget(parent),
m_mainPanel(new MainPanel(this)),
m_settings(new DockSettings(this)),
m_displayInter(new DBusDisplay(this)),
m_positionUpdateTimer(new QTimer(this))
{
setWindowFlags(Qt::X11BypassWindowManagerHint | Qt::WindowDoesNotAcceptFocus);
setAttribute(Qt::WA_TranslucentBackground);
initComponents();
initConnections();
}
void MainWindow::resizeEvent(QResizeEvent *e)
{
QWidget::resizeEvent(e);
m_mainPanel->setFixedSize(e->size());
}
void MainWindow::keyPressEvent(QKeyEvent *e)
{
switch (e->key())
{
#ifdef QT_DEBUG
case Qt::Key_Escape: qApp->quit(); break;
#endif
default:;
}
}
void MainWindow::initComponents()
{
m_positionUpdateTimer->setSingleShot(true);
m_positionUpdateTimer->setInterval(200);
m_positionUpdateTimer->start();
}
void MainWindow::initConnections()
{
connect(m_positionUpdateTimer, &QTimer::timeout, this, &MainWindow::updatePosition);
}
void MainWindow::updatePosition()
{
const QRect rect = m_displayInter->primaryRect();
setFixedWidth(rect.width());
setFixedHeight(80);
move(0, 950);
}