2 * This file is part of TimedSilencer.
4 * TimedSilencer is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * TimedSilencer is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with TimedSilencer. If not, see <http://www.gnu.org/licenses/>.
19 #include <QItemDelegate>
20 #include "checklistdelegate.h"
22 CheckListDelegate::CheckListDelegate()
27 void CheckListDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const {
31 QStyleOptionViewItem opt = option;
32 opt.displayAlignment = Qt::AlignCenter;
33 QStyledItemDelegate::paint(painter, opt, index);
35 if (option.state & QStyle::State_Selected) {
38 QIcon cbIco = QIcon::fromTheme("widgets_tickmark_list");
39 QPixmap cbPix = cbIco.pixmap(cbIco.actualSize(option.decorationSize));
40 //qDebug("Pix size: (%d, %d)", cbPix.width(), cbPix.height());
41 QRect cbRect = option.rect;
42 cbRect.setLeft(cbRect.left()+(cbRect.width()-cbPix.width()));
43 int diff_height = cbRect.height() - cbPix.height();
44 cbRect.setHeight(cbPix.height());
45 cbRect.moveBottom(cbRect.bottom()+(diff_height/2.));
46 //qDebug("Rect size: (%d, %d)", cbRect.width(), cbRect.height());
47 painter->drawPixmap(cbRect, cbPix);