defuze.me  Client
eventcolor.cpp
00001 #include "eventcolor.hpp"
00002 
00003 using namespace Scheduler;
00004 
00005 EventColor::EventColor(QWidget *parent, int id, QString color) :
00006     parent(parent), id(id), color(color)
00007 {
00008     QColor  *newColor               = new QColor("#" + color);
00009     QString borderColor             = newColor->lighter(95).name();
00010     QString backgroundColor         = newColor->lighter(70).name();
00011     QString borderColorSelected     = newColor->lighter(25).name();
00012     QString backgroundColorSelected = newColor->lighter(45).name();
00013 
00014     this->setCheckable(true);
00015     this->setStyleSheet("\
00016                         QPushButton { border: 1px solid " + borderColor + "; border-radius: 5px; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + newColor->name() + ", stop: 1 " + backgroundColor + "); max-width: 20px; min-height: 20px; }\
00017                         QPushButton:checked { border-color: " + borderColorSelected + "; background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 " + backgroundColorSelected + ", stop: 1 " + newColor->name() + "); }\
00018                         ");
00019 
00020     return;
00021 }
00022 
00023 EventColor::~EventColor()
00024 {
00025 }
00026 
00027 int     EventColor::getId() const
00028 {
00029     return this->id;
00030 }
00031 
00032 QString EventColor::getColor() const
00033 {
00034     return this->color;
00035 }
00036 
00037 void EventColor::on_colorPicker_clicked()
00038 {
00039     if (this->parent)
00040     {
00041         int count = ((EventWidget*)this->parent)->colors->count();
00042 
00043         for (int index = 0; index < count; index += 1)
00044         {
00045             ((EventWidget*)this->parent)->colors->at(index)->setChecked(false);
00046         }
00047         this->setChecked(true);
00048     }
00049 
00050     return;
00051 }