benoitrigolleau@159
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
benoitrigolleau@159
|
2
|
benoitrigolleau@159
|
3 /*
|
benoitrigolleau@159
|
4 Sound Access
|
benoitrigolleau@159
|
5 EASAIER client application.
|
benoitrigolleau@159
|
6 Silogic 2007. Benoit Rigolleau.
|
benoitrigolleau@159
|
7
|
benoitrigolleau@159
|
8 This program is free software; you can redistribute it and/or
|
benoitrigolleau@159
|
9 modify it under the terms of the GNU General Public License as
|
benoitrigolleau@159
|
10 published by the Free Software Foundation; either version 2 of the
|
benoitrigolleau@159
|
11 License, or (at your option) any later version. See the file
|
benoitrigolleau@159
|
12 COPYING included with this distribution for more information.
|
benoitrigolleau@159
|
13 */
|
benoitrigolleau@159
|
14
|
benoitrigolleau@159
|
15
|
benoitrigolleau@159
|
16 #include "RadialLNFButton.h"
|
benoitrigolleau@159
|
17 #include <QPainter>
|
benoitrigolleau@159
|
18 #include <QPalette>
|
benoitrigolleau@159
|
19
|
benoitrigolleau@159
|
20 RadialLNFButton::RadialLNFButton(QWidget *parent):QPushButton(parent)
|
benoitrigolleau@159
|
21 {
|
benoitrigolleau@159
|
22 this->setFlat(true);
|
benoitrigolleau@159
|
23 }
|
benoitrigolleau@159
|
24
|
benoitrigolleau@159
|
25 RadialLNFButton::RadialLNFButton (const QIcon & icon, const QString & text, QWidget * parent ):QPushButton(icon,text,parent)
|
benoitrigolleau@159
|
26 {
|
benoitrigolleau@159
|
27 this->setFlat(true);
|
benoitrigolleau@159
|
28 }
|
benoitrigolleau@159
|
29
|
benoitrigolleau@159
|
30 void RadialLNFButton::paintEvent(QPaintEvent *event)
|
benoitrigolleau@159
|
31 {
|
benoitrigolleau@159
|
32
|
benoitrigolleau@159
|
33
|
benoitrigolleau@159
|
34 QPainter painter(this);
|
benoitrigolleau@159
|
35 painter.setRenderHint(QPainter::Antialiasing, false);
|
benoitrigolleau@159
|
36 draw(&painter);
|
benoitrigolleau@159
|
37 QPushButton::paintEvent(event);
|
benoitrigolleau@159
|
38 }
|
benoitrigolleau@159
|
39
|
benoitrigolleau@159
|
40 void RadialLNFButton::draw(QPainter *painter)
|
benoitrigolleau@159
|
41 {
|
benoitrigolleau@159
|
42
|
benoitrigolleau@159
|
43 QPalette actualPalette;
|
benoitrigolleau@159
|
44 QColor color1 = actualPalette.color(QPalette::Highlight);
|
benoitrigolleau@159
|
45 QColor color2 = actualPalette.color(QPalette::Button);
|
benoitrigolleau@159
|
46 //QColor color3(QRgb(0xffffcc15));
|
benoitrigolleau@159
|
47
|
benoitrigolleau@159
|
48 color1.setAlpha(90);
|
benoitrigolleau@159
|
49 //color3.setAlpha(70)
|
benoitrigolleau@159
|
50 //color2.setAlpha(80);
|
benoitrigolleau@159
|
51
|
benoitrigolleau@159
|
52 //QColor color1(QRgb(0xffaaaaaa));
|
benoitrigolleau@159
|
53
|
benoitrigolleau@159
|
54 //QColor color2(QRgb(0xffdbf756));
|
benoitrigolleau@159
|
55 //color2.setAlpha(100);
|
benoitrigolleau@159
|
56
|
benoitrigolleau@159
|
57
|
benoitrigolleau@159
|
58 painter->setPen(QPen(palette().foreground(),1,Qt::NoPen,Qt::RoundCap));
|
benoitrigolleau@159
|
59
|
benoitrigolleau@159
|
60 /*
|
benoitrigolleau@159
|
61 int rectsize = this->width()/20;
|
benoitrigolleau@159
|
62 for(int i=0;i<=20;i++){
|
benoitrigolleau@159
|
63 if((i+m_ind)%2){
|
benoitrigolleau@159
|
64 painter->setBrush(QBrush(color1, Qt::SolidPattern));
|
benoitrigolleau@159
|
65 }
|
benoitrigolleau@159
|
66 else{
|
benoitrigolleau@159
|
67 painter->setBrush(QBrush(Qt::white, Qt::SolidPattern));
|
benoitrigolleau@159
|
68 }
|
benoitrigolleau@159
|
69 painter->drawRect(i*rectsize,0,this->width(), this->height());
|
benoitrigolleau@159
|
70 }
|
benoitrigolleau@159
|
71 */
|
benoitrigolleau@159
|
72
|
benoitrigolleau@159
|
73 QLinearGradient rectRadian(0,0,this->width(),0);
|
benoitrigolleau@159
|
74 rectRadian.setColorAt(0,color1);
|
benoitrigolleau@159
|
75 rectRadian.setColorAt(0.8,color2);
|
benoitrigolleau@159
|
76 rectRadian.setColorAt(1,color2);
|
benoitrigolleau@159
|
77
|
benoitrigolleau@159
|
78 painter->setPen(QPen(palette().foreground(),1,Qt::NoPen,Qt::RoundCap));
|
benoitrigolleau@159
|
79 painter->setBrush(rectRadian);
|
benoitrigolleau@159
|
80 painter->drawRect(0,0,this->width(), this->height());
|
benoitrigolleau@159
|
81 }
|