blob: 53fd15006d7f59e43145823e12630b8b74aec2d5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
/*
* Copyright (c) 2012-2015 Christian Surlykke, Petr Vanek
*
* This file is part of qt-lightdm-greeter
* It is distributed under the LGPL 2.1 or later license.
* Please refer to the LICENSE file for a copy of the license.
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QWidget>
#include <QImage>
#include <QRect>
#include <QSize>
#include <QLabel>
#include <QList>
#include "loginform.h"
namespace Ui {
class MainWindow;
}
class QTextEdit;
class QSvgWidget;
class GameCore;
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(bool primary, int screen, const QRect &rect, QWidget *parent = nullptr);
void setFocus(Qt::FocusReason reason);
bool showLoginForm();
const QImage& background() { return m_background; }
protected:
virtual void paintEvent(QPaintEvent *event) override;
virtual void mouseDoubleClickEvent(QMouseEvent *) override;
virtual void keyPressEvent(QKeyEvent *) override;
virtual void resizeEvent(QResizeEvent *) override;
public slots:
void updateClock();
void reLayout();
private:
QSize createLogo(QRect max);
void createNextLogo(QRect &max, QSize &retval, const QString &path);
QSize createDistro(const QRect &max);
bool createLogWindow();
void createNewsWindow();
void createClock();
int getOffset(QString offset, int maxVal, int defaultVal);
void setBackground();
int drawClock();
QRect m_ScreenRect;
LoginForm* m_LoginForm;
QImage m_background;
QTextEdit *m_messages;
QLabel *m_Clock;
GameCore *m_Snake;
QSvgWidget *m_Banner;
QList<QWidget*> m_DecoItems;
QTextEdit *m_News;
QRect m_lastRelayout;
};
#endif // MAINWINDOW_H
|