annotate widgets/WaitingWidget.cpp @ 188:56c167f3648a

compilation under linux: resolve bug with std::min
author lbajardsilogic
date Tue, 27 Nov 2007 13:11:19 +0000
parents 1c638a8e9897
children 3045ced14a59
rev   line source
benoitrigolleau@108 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@108 2
benoitrigolleau@108 3 /*
benoitrigolleau@108 4 Sound Access
benoitrigolleau@108 5 EASAIER client application.
benoitrigolleau@108 6 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@108 7
benoitrigolleau@108 8 This program is free software; you can redistribute it and/or
benoitrigolleau@108 9 modify it under the terms of the GNU General Public License as
benoitrigolleau@108 10 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@108 11 License, or (at your option) any later version. See the file
benoitrigolleau@108 12 COPYING included with this distribution for more information.
benoitrigolleau@108 13 */
benoitrigolleau@108 14
benoitrigolleau@108 15
benoitrigolleau@108 16 #include "WaitingWidget.h"
benoitrigolleau@108 17 #include <QPainter>
benoitrigolleau@108 18 #include <QLayout>
benoitrigolleau@108 19 #include <QPalette>
benoitrigolleau@108 20
benoitrigolleau@108 21 WaitingWidget::WaitingWidget(QWidget *parent):QWidget(parent){
benoitrigolleau@108 22 m_ind=0;
benoitrigolleau@108 23 }
benoitrigolleau@108 24
benoitrigolleau@108 25 void WaitingWidget::paintEvent(QPaintEvent *event){
benoitrigolleau@108 26
benoitrigolleau@108 27 QWidget::paintEvent(event);
benoitrigolleau@108 28 if(timer.isActive()){
benoitrigolleau@108 29 QPainter painter(this);
benoitrigolleau@108 30 painter.setRenderHint(QPainter::Antialiasing, false);
benoitrigolleau@108 31 draw(&painter);
benoitrigolleau@108 32 }
benoitrigolleau@108 33 }
benoitrigolleau@108 34 void WaitingWidget::draw(QPainter *painter){
benoitrigolleau@108 35 QColor color1(QRgb(0xffdbf756));
benoitrigolleau@108 36 QColor color2 = color1;
benoitrigolleau@112 37 color1.setAlpha(80);
benoitrigolleau@112 38 painter->setPen(QPen(palette().foreground(),1,Qt::NoPen,Qt::RoundCap));
benoitrigolleau@112 39
benoitrigolleau@112 40 int rectsize = this->width()/20;
benoitrigolleau@112 41 for(int i=0;i<=20;i++){
benoitrigolleau@112 42 if((i+m_ind)%2){
benoitrigolleau@112 43 painter->setBrush(QBrush(color1, Qt::SolidPattern));
benoitrigolleau@112 44 }
benoitrigolleau@112 45 else{
benoitrigolleau@112 46 painter->setBrush(QBrush(Qt::white, Qt::SolidPattern));
benoitrigolleau@112 47 }
benoitrigolleau@112 48 painter->drawRect(i*rectsize,0,this->width(), this->height());
benoitrigolleau@112 49 }
benoitrigolleau@112 50
benoitrigolleau@112 51 /*QLinearGradient rectRadian(0,0,this->width(),0);
benoitrigolleau@108 52
benoitrigolleau@108 53 for(int i=0;i<10;i++){
benoitrigolleau@108 54 if((i+m_ind)%2){
benoitrigolleau@108 55 rectRadian.setColorAt(0.1*i,color1);
benoitrigolleau@108 56 }
benoitrigolleau@108 57 else{
benoitrigolleau@108 58 rectRadian.setColorAt(0.1*i,color2);
benoitrigolleau@108 59 }
benoitrigolleau@108 60 }
benoitrigolleau@108 61 painter->setPen(QPen(palette().foreground(),1,Qt::NoPen,Qt::RoundCap));
benoitrigolleau@108 62 painter->setBrush(rectRadian);
benoitrigolleau@112 63 painter->drawRect(0,0,this->width(), this->height());*/
benoitrigolleau@108 64 }
benoitrigolleau@108 65
benoitrigolleau@108 66
benoitrigolleau@108 67 void WaitingWidget::setAnimation(bool animate)
benoitrigolleau@108 68 {
benoitrigolleau@108 69 timer.stop();
benoitrigolleau@108 70 if (animate)
benoitrigolleau@108 71 timer.start(200, this);
benoitrigolleau@108 72 }
benoitrigolleau@108 73
benoitrigolleau@108 74 void WaitingWidget::timerEvent(QTimerEvent *e)
benoitrigolleau@108 75 {
benoitrigolleau@108 76 if (e->timerId() == timer.timerId()) {
benoitrigolleau@108 77 setUpdatesEnabled(false);
benoitrigolleau@108 78 m_ind++;
benoitrigolleau@108 79 setUpdatesEnabled(true);
benoitrigolleau@108 80 update();
benoitrigolleau@108 81 }
benoitrigolleau@108 82 }
benoitrigolleau@108 83