xref: /OK3568_Linux_fs/app/qsetting/basewidget.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #include "basewidget.h"
2*4882a593Smuzhiyun #include <QStyleOption>
3*4882a593Smuzhiyun #include <QPainter>
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun static int _id_widget = 0;
6*4882a593Smuzhiyun 
BaseWidget(QWidget * parent)7*4882a593Smuzhiyun BaseWidget::BaseWidget(QWidget *parent) : QWidget(parent)
8*4882a593Smuzhiyun {
9*4882a593Smuzhiyun #ifndef DEVICE_EVB
10*4882a593Smuzhiyun     setWindowFlags(Qt::FramelessWindowHint);
11*4882a593Smuzhiyun     setAttribute(Qt::WA_TranslucentBackground, true);
12*4882a593Smuzhiyun #endif
13*4882a593Smuzhiyun     setMouseTracking(true);
14*4882a593Smuzhiyun }
15*4882a593Smuzhiyun 
paintEvent(QPaintEvent *)16*4882a593Smuzhiyun void BaseWidget::paintEvent(QPaintEvent *)
17*4882a593Smuzhiyun {
18*4882a593Smuzhiyun     /* Slove the problem which 'setStyleSheet' and 'Q_OBJECT' can co-exist
19*4882a593Smuzhiyun        The below code used to repaint widgets when change became. */
20*4882a593Smuzhiyun     QStyleOption opt;
21*4882a593Smuzhiyun     opt.init(this);
22*4882a593Smuzhiyun     QPainter p(this);
23*4882a593Smuzhiyun     style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
24*4882a593Smuzhiyun }
25*4882a593Smuzhiyun 
setBackgroundColor(int rValue,int gValue,int bValue)26*4882a593Smuzhiyun void BaseWidget::setBackgroundColor(int rValue, int gValue, int bValue)
27*4882a593Smuzhiyun {
28*4882a593Smuzhiyun     _id_widget++;
29*4882a593Smuzhiyun     QString styleStr;
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun     setObjectName(QString::number(_id_widget));
32*4882a593Smuzhiyun     styleStr.append("#").append(QString::number(_id_widget)).append("{background-color:rgb(")
33*4882a593Smuzhiyun             .append(QString::number(rValue)).append(",")
34*4882a593Smuzhiyun             .append(QString::number(gValue)).append(",")
35*4882a593Smuzhiyun             .append(QString::number(bValue)).append(");")
36*4882a593Smuzhiyun             .append("}");
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun     setStyleSheet(styleStr);
39*4882a593Smuzhiyun }
40*4882a593Smuzhiyun 
setWidgetFontBold(QWidget * widget)41*4882a593Smuzhiyun void BaseWidget::setWidgetFontBold(QWidget *widget)
42*4882a593Smuzhiyun {
43*4882a593Smuzhiyun     QFont font = widget->font();
44*4882a593Smuzhiyun     font.setBold(true);
45*4882a593Smuzhiyun     widget->setFont(font);
46*4882a593Smuzhiyun }
47*4882a593Smuzhiyun 
setWidgetFontSize(QWidget * widget,int size)48*4882a593Smuzhiyun void BaseWidget::setWidgetFontSize(QWidget *widget, int size)
49*4882a593Smuzhiyun {
50*4882a593Smuzhiyun     QFont font = widget->font();
51*4882a593Smuzhiyun     font.setPixelSize(size);
52*4882a593Smuzhiyun     widget->setFont(font);
53*4882a593Smuzhiyun }
54*4882a593Smuzhiyun 
mousePressEvent(QMouseEvent * e)55*4882a593Smuzhiyun void BaseWidget::mousePressEvent(QMouseEvent *e)
56*4882a593Smuzhiyun {
57*4882a593Smuzhiyun     QWidget::mousePressEvent(e);
58*4882a593Smuzhiyun }
59*4882a593Smuzhiyun 
mouseMoveEvent(QMouseEvent * e)60*4882a593Smuzhiyun void BaseWidget::mouseMoveEvent(QMouseEvent *e)
61*4882a593Smuzhiyun {
62*4882a593Smuzhiyun     QWidget::mouseMoveEvent(e);
63*4882a593Smuzhiyun }
64*4882a593Smuzhiyun 
mouseReleaseEvent(QMouseEvent * e)65*4882a593Smuzhiyun void BaseWidget::mouseReleaseEvent(QMouseEvent *e)
66*4882a593Smuzhiyun {
67*4882a593Smuzhiyun     QWidget::mouseReleaseEvent(e);
68*4882a593Smuzhiyun }
69