-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainwindow.cpp
More file actions
59 lines (49 loc) · 1.43 KB
/
mainwindow.cpp
File metadata and controls
59 lines (49 loc) · 1.43 KB
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
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <private/qwidgetresizehandler_p.h>
#include "x11windowmanager.h"
#include "decorator.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//禁用主题框架x11窗口管理扩展
setProperty("useStyleWindowManager", false);
//初始化QWidgetResizeHandler,禁用其拖拽和缩放功能
m_resize_handler = new QWidgetResizeHandler(this);
m_resize_handler->setActive(QWidgetResizeHandler::Move, false);
m_resize_handler->setActive(QWidgetResizeHandler::Resize, false);
m_resize_handler->setMovingEnabled(false);
m_window_manager = new X11WindowManager(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_checkBox_toggled(bool checked)
{
//FrameLess
setWindowFlag(Qt::FramelessWindowHint, checked);
show();
}
void MainWindow::on_checkBox_2_toggled(bool checked)
{
//gtk border only
Decorator::wrapWindow(this, checked);
}
void MainWindow::on_checkBox_3_toggled(bool checked)
{
//x11 window drag move
if (checked) {
m_window_manager->registerWidget(this);
} else {
m_window_manager->unregisterWidget(this);
}
}
void MainWindow::on_checkBox_4_toggled(bool checked)
{
//QWidgetResizeHandler
m_resize_handler->setActive(QWidgetResizeHandler::Resize, checked);
m_resize_handler->setMovingEnabled(checked);
}