2,新增“Apps”; 3,新增“Common”; 4,新增“FileList”; 5,新增“MediaX”; 6,新增“OpenSource”; 7,新增“Samples”; 8,新增“SoftwareBusinessLines”.
121 lines
3.3 KiB
C++
121 lines
3.3 KiB
C++
#include "custommessagebox.h"
|
|
#include "ui_custommessagebox.h"
|
|
#include "commonhelper.h"
|
|
|
|
CustomMessageBox::CustomMessageBox(QWidget* parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::CustomMessageBox)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
this->mousePressed = false;
|
|
//设置窗体标题栏隐藏
|
|
this->setWindowFlags(Qt::FramelessWindowHint);
|
|
//设置窗体关闭时自动释放内存
|
|
this->setAttribute(Qt::WA_DeleteOnClose);
|
|
//关联关闭按钮
|
|
connect(ui->btnCloseMenu, SIGNAL(clicked()), this, SLOT(close()));
|
|
connect(ui->btnCancel, SIGNAL(clicked()), this, SLOT(close()));
|
|
//窗体居中显示
|
|
CommonHelper::FormInCenter(this);
|
|
|
|
ui->lblTitle->installEventFilter(this);
|
|
}
|
|
|
|
CustomMessageBox::~CustomMessageBox()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void CustomMessageBox::SetMessage(const QString& msg, int type, const QString& title)
|
|
{
|
|
if (type == 0)
|
|
{
|
|
ui->labIcoMain->setStyleSheet("border-image: url(:/skin/image/blue/ok.png);");
|
|
ui->btnCancel->setVisible(false);
|
|
ui->lblTitle->setText(title);
|
|
}
|
|
else if (type == 1)
|
|
{
|
|
ui->labIcoMain->setStyleSheet("border-image: url(:/skin/image/blue/question.png);");
|
|
ui->lblTitle->setText(title);
|
|
}
|
|
else if (type == 2)
|
|
{
|
|
ui->labIcoMain->setStyleSheet("border-image: url(:/skin/image/blue/error.png);");
|
|
ui->btnCancel->setVisible(false);
|
|
ui->lblTitle->setText(title);
|
|
}
|
|
else if (type == 3)
|
|
{
|
|
ui->labIcoMain->setStyleSheet("border-image: url(:/skin/image/blue/info.png);");
|
|
ui->btnCancel->setVisible(false);
|
|
ui->lblTitle->setText(title);
|
|
}
|
|
|
|
ui->labInfo->setText(msg);
|
|
}
|
|
|
|
bool CustomMessageBox::eventFilter(QObject* obj, QEvent* event)
|
|
{
|
|
if (ui->lblTitle == obj)
|
|
{
|
|
if (event->type() == QEvent::MouseButtonPress)
|
|
{
|
|
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(event);
|
|
|
|
if (mouseEvent->button() == Qt::LeftButton)
|
|
{
|
|
mousePressed = true;
|
|
mousePoint = mouseEvent->globalPos() - pos();
|
|
mouseEvent->accept();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
else if (event->type() == QEvent::MouseMove)
|
|
{
|
|
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(event);
|
|
|
|
if (mousePressed && this->windowState() != Qt::WindowMaximized)
|
|
{
|
|
if (mouseEvent->globalY() <= qApp->desktop()->availableGeometry().bottom())
|
|
{
|
|
move(mouseEvent->globalPos() - mousePoint);
|
|
mouseEvent->accept();
|
|
}
|
|
else
|
|
{
|
|
qApp->desktop()->cursor().setPos(
|
|
qApp->desktop()->cursor().pos().x(),
|
|
qApp->desktop()->availableGeometry().bottom()
|
|
);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
else if (event->type() == QEvent::MouseButtonRelease)
|
|
{
|
|
QMouseEvent* mouseEvent = dynamic_cast<QMouseEvent*>(event);
|
|
|
|
if (mouseEvent->button() == Qt::LeftButton)
|
|
{
|
|
mousePressed = false;
|
|
mouseEvent->accept();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return QObject::eventFilter(obj, event);
|
|
}
|
|
|
|
void CustomMessageBox::on_btnOk_clicked()
|
|
{
|
|
done(1);
|
|
this->close();
|
|
}
|