Add WarningLabel and WarningMessageWidget to App, and add some reference event to EventCenter
This commit is contained in:
55
src/components/WarningLabel.cpp
Normal file
55
src/components/WarningLabel.cpp
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#include "WarningLabel.h"
|
||||||
|
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QStyleOption>
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WarningLabel::WarningLabel(QWidget *aParent, WarningType aType, const QString& aMessageTime, const QString& content):QWidget(aParent)
|
||||||
|
{
|
||||||
|
setObjectName("WarningLabelWidget");
|
||||||
|
auto layout = new QVBoxLayout(this);
|
||||||
|
layout->setMargin(3);
|
||||||
|
layout->setSpacing(3);
|
||||||
|
|
||||||
|
auto titleLayout = new QHBoxLayout;
|
||||||
|
titleLayout->setMargin(0);
|
||||||
|
layout->addLayout(titleLayout);
|
||||||
|
auto icon = new QLabel;
|
||||||
|
icon->setObjectName("WarningLabelIcon");
|
||||||
|
titleLayout->addWidget(icon);
|
||||||
|
|
||||||
|
auto title = new QLabel;
|
||||||
|
titleLayout->addWidget(title);
|
||||||
|
title->setObjectName("WarningLabelTitle");
|
||||||
|
|
||||||
|
titleLayout->addSpacerItem(new QSpacerItem(2,2,QSizePolicy::Expanding));
|
||||||
|
|
||||||
|
|
||||||
|
auto contentText = new QLabel;
|
||||||
|
contentText->setText(content);
|
||||||
|
layout->addWidget(contentText);
|
||||||
|
contentText->setObjectName("WarningLabelText");
|
||||||
|
|
||||||
|
if(aType==ERROR){
|
||||||
|
QPixmap pixmap(":/icons/dicom/echo_fail.png");
|
||||||
|
icon->setPixmap(pixmap.scaledToHeight(20, Qt::SmoothTransformation));
|
||||||
|
title->setText(aMessageTime);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
QPixmap pixmap(":/icons/dicom/warning.png");
|
||||||
|
icon->setPixmap(pixmap.scaledToHeight(20, Qt::SmoothTransformation));
|
||||||
|
title->setText(aMessageTime);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningLabel::paintEvent(QPaintEvent * aEvent)
|
||||||
|
{
|
||||||
|
QStyleOption opt;
|
||||||
|
opt.init(this);
|
||||||
|
QPainter p(this);
|
||||||
|
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
|
||||||
|
}
|
||||||
24
src/components/WarningLabel.h
Normal file
24
src/components/WarningLabel.h
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#ifndef _GUI_WARNINGLABEL_H__
|
||||||
|
#define _GUI_WARNINGLABEL_H__
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
|
||||||
|
enum WarningType{
|
||||||
|
ERROR, WARNING
|
||||||
|
};
|
||||||
|
|
||||||
|
class WarningLabel: public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit WarningLabel(QWidget *aParent, WarningType aType,const QString& aMessageTime, const QString& content);
|
||||||
|
~WarningLabel() =default;
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent * aEvent);
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __WARNINGLABEL_H__
|
||||||
223
src/components/WarningMessageWidget.cpp
Normal file
223
src/components/WarningMessageWidget.cpp
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
#include "WarningMessageWidget.h"
|
||||||
|
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QToolButton>
|
||||||
|
#include <QPropertyAnimation>
|
||||||
|
#include <QScrollArea>
|
||||||
|
#include <QScrollBar>
|
||||||
|
#include <QList>
|
||||||
|
#include <QDateTime>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
|
||||||
|
#include "SlideWidget.h"
|
||||||
|
#include "WarningLabel.h"
|
||||||
|
#include "event/EventCenter.h"
|
||||||
|
|
||||||
|
|
||||||
|
WarningMessageWidget::WarningMessageWidget(QWidget *parent):QWidget(parent)
|
||||||
|
, mWarnWidget(new SlideWidget(this))
|
||||||
|
, mErrorsWidget(new SlideWidget(this))
|
||||||
|
, mScrollArea(new QScrollArea(this))
|
||||||
|
, mScrollAreaW(new QScrollArea(this))
|
||||||
|
, mErrorCount(0)
|
||||||
|
, mWarningCount(0)
|
||||||
|
, mErrorEmptyMessage(new QLabel(tr("System is working properly.")))
|
||||||
|
, mWarningEmptyMessage(new QLabel(tr("No message.")))
|
||||||
|
{
|
||||||
|
// setWindowFlags(windowFlags()|Qt::FramelessWindowHint|Qt::Popup);
|
||||||
|
setWindowFlags(windowFlags()|Qt::FramelessWindowHint);
|
||||||
|
setWindowOpacity(1);
|
||||||
|
setAttribute(Qt::WA_TranslucentBackground);
|
||||||
|
setObjectName("WarningPanel");
|
||||||
|
auto layout = new QVBoxLayout(this);
|
||||||
|
|
||||||
|
//error panel
|
||||||
|
auto errorPanel = new QWidget;
|
||||||
|
errorPanel->setObjectName("ErrorPanelContent");
|
||||||
|
layout->addWidget(errorPanel);
|
||||||
|
auto errorLayout = new QVBoxLayout(errorPanel);
|
||||||
|
auto errorTitle = new QLabel;
|
||||||
|
errorTitle->setObjectName("WarningPanelTitle");
|
||||||
|
errorTitle->setText(tr("System Status"));
|
||||||
|
errorLayout->addWidget(errorTitle);
|
||||||
|
errorLayout->setMargin(0);
|
||||||
|
errorLayout->addWidget(mErrorEmptyMessage,0, Qt::AlignCenter | Qt::AlignHCenter);
|
||||||
|
|
||||||
|
//error slide widget
|
||||||
|
mScrollArea = new QScrollArea;
|
||||||
|
mScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
|
errorLayout->addWidget(mScrollArea);
|
||||||
|
mErrorsWidget = new SlideWidget(this);
|
||||||
|
mScrollArea->setWidget(mErrorsWidget);
|
||||||
|
mScrollArea->setWidgetResizable(true);
|
||||||
|
mErrorsWidget->setVerticalScrollBar(mScrollArea->verticalScrollBar());
|
||||||
|
{
|
||||||
|
auto l = new QVBoxLayout(mErrorsWidget);
|
||||||
|
l->setMargin(3);
|
||||||
|
l->addSpacerItem(new QSpacerItem(2,2,QSizePolicy::Expanding,QSizePolicy::Expanding));
|
||||||
|
}
|
||||||
|
mScrollArea->setVisible(false);
|
||||||
|
|
||||||
|
//warning panel
|
||||||
|
auto warningPanel = new QWidget(this);
|
||||||
|
warningPanel->setObjectName("WarningPanelContent");
|
||||||
|
|
||||||
|
layout->addWidget(warningPanel);
|
||||||
|
auto warningLayout = new QVBoxLayout(warningPanel);
|
||||||
|
auto warningTitle = new QLabel;
|
||||||
|
warningTitle->setObjectName("WarningPanelTitle");
|
||||||
|
warningTitle->setText(tr("System Notifications"));
|
||||||
|
warningLayout->addWidget(warningTitle);
|
||||||
|
warningLayout->setMargin(0);
|
||||||
|
warningLayout->addWidget(mWarningEmptyMessage, 0,Qt::AlignCenter | Qt::AlignHCenter);
|
||||||
|
|
||||||
|
mScrollAreaW->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
|
warningLayout->addWidget(mScrollAreaW);
|
||||||
|
mScrollAreaW->setVisible(false);
|
||||||
|
|
||||||
|
mScrollAreaW->setWidget(mWarnWidget);
|
||||||
|
mScrollAreaW->setWidgetResizable(true);
|
||||||
|
mWarnWidget->setVerticalScrollBar(mScrollAreaW->verticalScrollBar());
|
||||||
|
{
|
||||||
|
auto l = new QVBoxLayout(mWarnWidget);
|
||||||
|
l->setMargin(3);
|
||||||
|
l->addSpacerItem(new QSpacerItem(2,2,QSizePolicy::Expanding,QSizePolicy::Expanding));
|
||||||
|
}
|
||||||
|
|
||||||
|
mScrollAreaW->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
|
||||||
|
|
||||||
|
auto hl = new QHBoxLayout;
|
||||||
|
hl->setMargin(0);
|
||||||
|
warningLayout->addLayout(hl);
|
||||||
|
auto clearBtn= new QToolButton(this);
|
||||||
|
clearBtn->setText(tr("Clear"));
|
||||||
|
clearBtn->setObjectName("WarningPanelBtn");
|
||||||
|
hl->addWidget(clearBtn);
|
||||||
|
connect(clearBtn, &QToolButton::clicked, this, &WarningMessageWidget::clearWarning);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::setPopupArgs(int aHeight, int aX, int aY)
|
||||||
|
{
|
||||||
|
if (nullptr != showAnimation) return;
|
||||||
|
showAnimation = new QPropertyAnimation(this,"pos",this);
|
||||||
|
showAnimation->setDuration(250);
|
||||||
|
showAnimation->setStartValue(QPoint(aX,aY-10));
|
||||||
|
showAnimation->setEndValue(QPoint(aX-358,aY-10));
|
||||||
|
this->setFixedHeight(aHeight -aY -50 );
|
||||||
|
connect(EventCenter::Default(),&EventCenter::WarningMessageRaise,this,&WarningMessageWidget::addWarningProxySlot,Qt::QueuedConnection);
|
||||||
|
connect(EventCenter::Default(),&EventCenter::ErrorStateUnactive,this,&WarningMessageWidget::unactiveErrorProxySlot,Qt::QueuedConnection);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::addWarning(const QString& aDateTime, const QString& aContent)
|
||||||
|
{
|
||||||
|
QMutexLocker locker(&mWarningMutex);
|
||||||
|
auto label = new WarningLabel(mWarnWidget,WARNING,aDateTime,aContent);
|
||||||
|
qobject_cast<QVBoxLayout*>(mWarnWidget->layout())->insertWidget(0,label);
|
||||||
|
if(mWarningCount==0){
|
||||||
|
mWarningEmptyMessage->setVisible(false);
|
||||||
|
mScrollAreaW->setVisible(true);
|
||||||
|
}
|
||||||
|
mWarningCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::addWarningProxySlot(QObject*, QObject* aData)
|
||||||
|
{
|
||||||
|
if (!aData){
|
||||||
|
qDebug()<<"addLabelProxy with null aData";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QString str = *((QString*)aData);
|
||||||
|
activeError(601, str);
|
||||||
|
addWarning(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"), str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::activeErrorProxySlot(QObject*, QObject* aData)
|
||||||
|
{
|
||||||
|
if (!aData){
|
||||||
|
qDebug()<<"activeErrorProxy with null aData";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//TODO: real active error logic
|
||||||
|
QString str = "Test Error";
|
||||||
|
activeError(601, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::unactiveErrorProxySlot(QObject*, QObject* aData)
|
||||||
|
{
|
||||||
|
//TODO: real unactive error logic
|
||||||
|
// if (!aData){
|
||||||
|
// qDebug()<<"unactiveErrorProxy with null aData";
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
unactiveError(601);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::clearWarning()
|
||||||
|
{
|
||||||
|
QMutexLocker locker(&mWarningMutex);
|
||||||
|
auto lbls = mWarnWidget->children();
|
||||||
|
for (QObject* item: lbls)
|
||||||
|
{
|
||||||
|
WarningLabel* lbl = qobject_cast<WarningLabel*>(item);
|
||||||
|
if (!lbl) continue;
|
||||||
|
mWarnWidget->layout()->removeWidget(lbl);
|
||||||
|
lbl->deleteLater();
|
||||||
|
}
|
||||||
|
mWarningCount=0;
|
||||||
|
mWarningEmptyMessage->setVisible(true);
|
||||||
|
mScrollAreaW->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::activeError(int aCode, const QString&aContent)
|
||||||
|
{
|
||||||
|
QMutexLocker locker(&mErrorMutex);
|
||||||
|
auto lbls = mErrorsWidget->children();
|
||||||
|
for (QObject* item: lbls)
|
||||||
|
{
|
||||||
|
WarningLabel* lbl = qobject_cast<WarningLabel*>(item);
|
||||||
|
if (!lbl) continue;
|
||||||
|
if (lbl->property("code").toInt() == aCode) return;
|
||||||
|
}
|
||||||
|
auto label = new WarningLabel(mErrorsWidget,ERROR,QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"),aContent);
|
||||||
|
label->setProperty("code",aCode);
|
||||||
|
qobject_cast<QVBoxLayout*>(mErrorsWidget->layout())->insertWidget(0,label);
|
||||||
|
if(mErrorCount==0){
|
||||||
|
mErrorEmptyMessage->setVisible(false);
|
||||||
|
mScrollArea->setVisible(true);
|
||||||
|
}
|
||||||
|
mErrorCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::unactiveError(int aCode)
|
||||||
|
{
|
||||||
|
QMutexLocker locker(&mErrorMutex);
|
||||||
|
auto lbls = mErrorsWidget->children();
|
||||||
|
for (QObject* item: lbls)
|
||||||
|
{
|
||||||
|
WarningLabel* lbl = qobject_cast<WarningLabel*>(item);
|
||||||
|
if (!lbl) continue;
|
||||||
|
if (lbl->property("code").toInt() == aCode){
|
||||||
|
mErrorsWidget->layout()->removeWidget(lbl);
|
||||||
|
lbl->deleteLater();
|
||||||
|
mErrorCount--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (mErrorCount==0){
|
||||||
|
mErrorEmptyMessage->setVisible(true);
|
||||||
|
mScrollArea->setVisible(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void WarningMessageWidget::showEvent(QShowEvent* aEvent)
|
||||||
|
{
|
||||||
|
if (nullptr == showAnimation)return;
|
||||||
|
showAnimation->start();
|
||||||
|
QWidget::showEvent(aEvent);
|
||||||
|
}
|
||||||
|
|
||||||
43
src/components/WarningMessageWidget.h
Normal file
43
src/components/WarningMessageWidget.h
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#ifndef _CUI_WARNINGMESSAGEWIDGET_H__
|
||||||
|
#define _CUI_WARNINGMESSAGEWIDGET_H__
|
||||||
|
#include <QWidget>
|
||||||
|
#include <QLinkedList>
|
||||||
|
#include <QMutex>
|
||||||
|
class QPropertyAnimation;
|
||||||
|
class SlideWidget;
|
||||||
|
class QScrollArea;
|
||||||
|
class QLabel;
|
||||||
|
class WarningMessageWidget: public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit WarningMessageWidget(QWidget *parent = nullptr);
|
||||||
|
~WarningMessageWidget() =default;
|
||||||
|
void setPopupArgs(int aHeight, int aX, int aY);
|
||||||
|
void addWarning(const QString& aDateTime, const QString& aContent);
|
||||||
|
void clearWarning();
|
||||||
|
void activeError(int aCode, const QString&aContent);
|
||||||
|
void unactiveError(int aCode);
|
||||||
|
protected:
|
||||||
|
void showEvent(QShowEvent* aEvent);
|
||||||
|
protected slots:
|
||||||
|
void addWarningProxySlot(QObject*, QObject* aData);
|
||||||
|
void activeErrorProxySlot(QObject*, QObject* aData);
|
||||||
|
void unactiveErrorProxySlot(QObject*, QObject* aData);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QPropertyAnimation* showAnimation = nullptr;
|
||||||
|
SlideWidget * mErrorsWidget;
|
||||||
|
SlideWidget * mWarnWidget;
|
||||||
|
QScrollArea* mScrollArea;
|
||||||
|
QScrollArea* mScrollAreaW;
|
||||||
|
QLabel* mErrorEmptyMessage;
|
||||||
|
QLabel* mWarningEmptyMessage;
|
||||||
|
QMutex mWarningMutex;
|
||||||
|
QMutex mErrorMutex;
|
||||||
|
|
||||||
|
int mErrorCount;
|
||||||
|
int mWarningCount;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // __WARNINGMESSAGEWIDGET_H__
|
||||||
@@ -41,6 +41,12 @@ ADD_EVENT_VALUE(RequestScreenSaver)\
|
|||||||
ADD_EVENT_VALUE(ReconConnectionUpdated)\
|
ADD_EVENT_VALUE(ReconConnectionUpdated)\
|
||||||
ADD_EVENT_VALUE(InputWorkListSearchValue)\
|
ADD_EVENT_VALUE(InputWorkListSearchValue)\
|
||||||
ADD_EVENT_VALUE(DoWorkListSearch)\
|
ADD_EVENT_VALUE(DoWorkListSearch)\
|
||||||
|
ADD_EVENT_VALUE(WarningMessageRaise)\
|
||||||
|
ADD_EVENT_VALUE(ErrorStateActive)\
|
||||||
|
ADD_EVENT_VALUE(ErrorStateUnactive)\
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enum GUIEvents {
|
enum GUIEvents {
|
||||||
#define ADD_EVENT_VALUE(val) val,
|
#define ADD_EVENT_VALUE(val) val,
|
||||||
|
|||||||
@@ -258,6 +258,33 @@ QLabel#AlertDialogTitle
|
|||||||
border-bottom: 1px solid grey;
|
border-bottom: 1px solid grey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*------Global Scrollbar----------------------------------------------------------*/
|
||||||
|
QScrollBar:vertical {
|
||||||
|
background: #3c3c3c;
|
||||||
|
width: 12px;
|
||||||
|
margin-left: 1px;
|
||||||
|
|
||||||
|
margin-right: 2px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
QScrollBar::handle:vertical {
|
||||||
|
background: silver;
|
||||||
|
min-height: 20px;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 2px 2px 2px 2px;
|
||||||
|
|
||||||
|
}
|
||||||
|
QScrollBar::add-line:vertical {
|
||||||
|
display: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
QScrollBar::sub-line:vertical {
|
||||||
|
display: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*------LoginWindow----------------------------------------------------------*/
|
/*------LoginWindow----------------------------------------------------------*/
|
||||||
QFrame#loginFrame {
|
QFrame#loginFrame {
|
||||||
min-width: 700px;
|
min-width: 700px;
|
||||||
@@ -394,14 +421,6 @@ QLabel#link {
|
|||||||
qproperty-scaledContents:true;
|
qproperty-scaledContents:true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QLabel#ready {
|
|
||||||
min-width: 28px;
|
|
||||||
max-width: 28px;
|
|
||||||
min-height: 28px;
|
|
||||||
max-height: 28px;
|
|
||||||
qproperty-pixmap:url(":/icons/ready.png");
|
|
||||||
qproperty-scaledContents:true;
|
|
||||||
}
|
|
||||||
|
|
||||||
QLabel#company {
|
QLabel#company {
|
||||||
min-width: 150px;
|
min-width: 150px;
|
||||||
@@ -412,6 +431,86 @@ QLabel#systemMsgBar {
|
|||||||
min-width: 500px;
|
min-width: 500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QToolButton#ready {
|
||||||
|
min-width: 28px;
|
||||||
|
max-width: 28px;
|
||||||
|
min-height: 28px;
|
||||||
|
max-height: 28px;
|
||||||
|
background: transparent;
|
||||||
|
qproperty-icon:url(":/icons/dicom/echo_suc.png");
|
||||||
|
qproperty-toolButtonStyle:ToolButtonTextBesideIcon;
|
||||||
|
qproperty-iconSize:26px 26px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*------WarningMessageWidget-------------------------------------------------*/
|
||||||
|
QWidget#WarningPanel{
|
||||||
|
min-width: 360px;
|
||||||
|
max-width: 500px;
|
||||||
|
/* background: darkgray; */
|
||||||
|
|
||||||
|
}
|
||||||
|
QWidget#WarningLabelWidget{
|
||||||
|
background: #505050;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 5px;
|
||||||
|
padding-right: 0px;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
QLabel#WarningLabelIcon{
|
||||||
|
min-height: 20px;
|
||||||
|
max-height: 20px;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
QLabel#WarningLabelTitle{
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
}
|
||||||
|
QLabel#WarningPanelTitle{
|
||||||
|
font-size: 20px;
|
||||||
|
border-bottom: 1px solid darkgoldenrod;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
min-height: 30px;
|
||||||
|
max-height:30px;
|
||||||
|
}
|
||||||
|
QWidget#ErrorPanelContent QLabel#WarningLabelText{
|
||||||
|
font-size: 12px;
|
||||||
|
qproperty-wordWrap:true;
|
||||||
|
margin-left: 1px;
|
||||||
|
border-top: 1px solid darkgoldenrod ;
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
QWidget#WarningPanelContent QLabel#WarningLabelText{
|
||||||
|
font-size: 12px;
|
||||||
|
qproperty-wordWrap:true;
|
||||||
|
margin-left: 1px;
|
||||||
|
border-top: 1px solid darkgoldenrod;
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
QWidget#ErrorPanelContent{
|
||||||
|
border: 1px solid darkgoldenrod;
|
||||||
|
border-radius: 5px;
|
||||||
|
min-height: 300px;
|
||||||
|
max-height: 300px;
|
||||||
|
background: #323232;
|
||||||
|
}
|
||||||
|
QWidget#WarningPanelContent{
|
||||||
|
border: 1px solid darkgoldenrod;
|
||||||
|
border-radius: 5px;
|
||||||
|
min-height: 600px;
|
||||||
|
max-height: 800px;
|
||||||
|
background: #323232;
|
||||||
|
}
|
||||||
|
QToolButton#WarningPanelBtn{
|
||||||
|
font-size: 18px;
|
||||||
|
min-height: 30px;
|
||||||
|
max-height: 30px;
|
||||||
|
min-width: 120px;
|
||||||
|
max-width:120px;
|
||||||
|
border:2px solid #505050;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
/*------TabFormWidget--------------------------------------------------------*/
|
/*------TabFormWidget--------------------------------------------------------*/
|
||||||
TabFormWidget {
|
TabFormWidget {
|
||||||
border-top: 1px solid #505050;
|
border-top: 1px solid #505050;
|
||||||
|
|||||||
Reference in New Issue
Block a user