view ui/certificateitemdelegate.h @ 502:e551de11d8b6

Properly handle the case that the file does not exist. TRUNCATE makes create file fail if the file does not exist but we need TRUNCATE in the case that the file already exists
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 28 Apr 2014 09:18:07 +0000
parents b3721ded6f5b
children ab622e094786
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#ifndef CERTIFICATELISTITEM_H
#define CERTIFICATELISTITEM_H
/**
 * @file certificateitemdelegate.h
 * @brief Item delegate drawing custom certificate items in list views.
 *
 */

#include <QStyledItemDelegate>

class CertificateItemDelegate : public QStyledItemDelegate
{
Q_OBJECT

public:
    CertificateItemDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent){}

    /**
     * @brief Renders the delegate using the given painter and options.
     *
     * @param painter   The painter to draw the item.
     * @param option    The style options.
     * @param index     The model index of the item to draw.
     */
    void paint(QPainter *painter, const QStyleOptionViewItem &option,
        const QModelIndex &index) const;
    QSize sizeHint(const QStyleOptionViewItem &option,
        const QModelIndex &index) const;

    /** @brief different roles for this tiem */
    enum ItemRole {
        DataRole = Qt::UserRole, /* The certificate details for the window */
        StatusRole, /* Certificate status */
    };

private:

    /**
     * @brief Draw the item using the given parameters.
     *
     * @param painter   The painter to draw the item.
     * @param option    The style options.
     * @param index     The model index of the item to draw.
     * @param icon      The icon to display.
     * @param font      The font used to draw text.
     */
    void drawItem(QPainter *painter, const QStyleOptionViewItem &option,
        const QModelIndex &index, QIcon *icon, QFont *font) const;
};
#endif

http://wald.intevation.org/projects/trustbridge/