2
* Copyright (C) 2013 ~ 2014 National University of Defense Technology(NUDT) & Kylin Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
#include "warningdialog.h"
17
#include "ui_warningdialog.h"
18
#include <QMouseEvent>
20
WarningDialog::WarningDialog(QString title, QString content,QWidget *parent) :
22
ui(new Ui::WarningDialog)
25
this->setAttribute(Qt::WA_DeleteOnClose);
26
this->setWindowFlags(Qt::FramelessWindowHint);
28
ui->widget->setAutoFillBackground(true);
30
QPixmap img(":/pixmap/image/titlebg.png");
31
palette.setBrush(QPalette::Window, img);//标题栏背景颜色
32
ui->widget->setPalette(palette);
33
//http://www.atool.org/colorpicker.php
34
ui->widget_2->setAutoFillBackground(true);
35
palette.setColor(QPalette::Background, QColor(228,242,252));//#e4f2fc
36
ui->widget_2->setPalette(palette);
38
ui->btn_close->installEventFilter(this);
39
ui->btn_min->installEventFilter(this);
40
ui->okButton->installEventFilter(this);
41
ui->btn_close->setStyleSheet("border-image:url(:/pixmap/image/closeBtn.png)");
42
ui->btn_min->setStyleSheet("border-image:url(:/pixmap/image/minBtn.png)");
43
ui->okButton->setStyleSheet("QPushButton {border-image:url(:/pixmap/image/button12-gray.png);}"
44
"QPushButton:hover{border-image:url(:/pixmap/image/button12-gray-hover.png);}");
46
ui->displaylabel->setWordWrap(true);
47
ui->label->setText(title);
48
ui->displaylabel->setText(content);
49
QObject::connect(ui->okButton,SIGNAL(clicked()),this,SLOT(accept()));
52
WarningDialog::~WarningDialog() {
56
bool WarningDialog::eventFilter(QObject *obj, QEvent *event) {
57
if(obj == ui->btn_min){
58
if(event->type() == QEvent::Enter){
59
ui->btn_min->setPixmap(QPixmap(":/pixmap/image/minBtn_hover.png"));
60
}else if(event->type() == QEvent::Leave){
61
ui->btn_min->setPixmap(QPixmap(":/pixmap/image/minBtn.png"));
62
}else if(event->type() == QEvent::MouseButtonPress){
63
ui->btn_min->setPixmap(QPixmap(":/pixmap/image/minBtn_hover.png"));
64
}else if(event->type() == QEvent::MouseButtonRelease){
65
QMouseEvent *me = (QMouseEvent *)event;
66
QLabel *lb = (QLabel *)obj;
67
if(me->x() > 0 && me->x() < lb->width() && me->y() > 0 && me->y() < lb->height()){
68
this->showMinimized();
70
ui->btn_min->setPixmap(QPixmap(":/pixmap/image/minBtn.png"));
73
return QObject::eventFilter(obj, event);
76
if(obj == ui->btn_close){
77
if(event->type() == QEvent::Enter){
78
ui->btn_close->setPixmap(QPixmap(":/pixmap/image/closeBtn_hover.png"));
79
}else if(event->type() == QEvent::Leave){
80
ui->btn_close->setPixmap(QPixmap(":/pixmap/image/closeBtn.png"));
81
}else if(event->type() == QEvent::MouseButtonPress){
82
ui->btn_close->setPixmap(QPixmap(":/pixmap/image/closeBtn_hover.png"));
83
}else if(event->type() == QEvent::MouseButtonRelease){
84
QMouseEvent *me = (QMouseEvent *)event;
85
QLabel *lb = (QLabel *)obj;
86
if(me->x() > 0 && me->x() < lb->width() && me->y() > 0 && me->y() < lb->height()){
89
ui->btn_close->setPixmap(QPixmap(":/pixmap/image/closeBtn.png"));
92
return QObject::eventFilter(obj, event);
95
if(obj == ui->okButton)
97
if(event->type() == QEvent::MouseButtonPress)
99
QMouseEvent *me = (QMouseEvent *)event;
100
dragPos = me->globalPos() - frameGeometry().topLeft();
101
}else if(event->type() == QEvent::MouseButtonRelease)
106
return QObject::eventFilter(obj, event);
111
void WarningDialog::mousePressEvent(QMouseEvent *event) {
112
if (event->button() == Qt::LeftButton) {
113
dragPos = event->globalPos() - frameGeometry().topLeft();
118
void WarningDialog::mouseMoveEvent(QMouseEvent *event) {
119
if (event->buttons() & Qt::LeftButton ) {
120
move(event->globalPos() - dragPos);
121
setWindowOpacity(0.5);
126
void WarningDialog::mouseReleaseEvent(QMouseEvent *event) {
127
if (event->button() == Qt::LeftButton) {