summaryrefslogtreecommitdiffstats
path: root/examples/qtmail/libs/qmfutil/folderdelegate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qtmail/libs/qmfutil/folderdelegate.cpp')
-rw-r--r--examples/qtmail/libs/qmfutil/folderdelegate.cpp144
1 files changed, 0 insertions, 144 deletions
diff --git a/examples/qtmail/libs/qmfutil/folderdelegate.cpp b/examples/qtmail/libs/qmfutil/folderdelegate.cpp
deleted file mode 100644
index 5002fa83..00000000
--- a/examples/qtmail/libs/qmfutil/folderdelegate.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Messaging Framework.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "folderdelegate.h"
-#include <QAbstractItemView>
-#include <QKeyEvent>
-#include <QPainter>
-#include <QScrollBar>
-
-FolderDelegate::FolderDelegate(QAbstractItemView *parent)
- : QItemDelegate(parent),
- _parent(parent),
- _scrollBar(parent ? parent->verticalScrollBar() : 0),
- m_showStatus(true)
-{
-}
-
-FolderDelegate::FolderDelegate(QWidget *parent)
- : QItemDelegate(parent),
- _parent(parent),
- _scrollBar(0),
- m_showStatus(true)
-{
-}
-
-void FolderDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
-{
- const_cast<FolderDelegate*>(this)->init(option, index);
- QItemDelegate::paint(painter, option, index);
-}
-
-void FolderDelegate::drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &originalRect, const QString &text) const
-{
- static const int smoothListScrollBarWidth = 6;
-
- // Reduce the available width by the scrollbar size, if necessary
- QRect rect(originalRect);
- if (_scrollBar && _scrollBar->isVisible())
- rect.setWidth(rect.width() - _parent->style()->pixelMetric(QStyle::PM_ScrollBarExtent));
- else if (!_scrollBar)
- rect.setWidth(rect.width() - smoothListScrollBarWidth);
-
- int tw = 0;
- if (!_statusText.isEmpty()) {
- QFontMetrics fontMetrics(option.font);
- tw = fontMetrics.width(_statusText);
- }
-
- QRect textRect(rect);
- textRect.setWidth(rect.width() - tw);
- QItemDelegate::drawDisplay(painter, option, textRect, text);
-
- if (tw) {
- static const int margin = 5;
-
- QRect statusRect = option.direction == Qt::RightToLeft
- ? QRect(0, rect.top(), tw + margin, rect.height())
- : QRect(rect.left()+rect.width()-tw-margin, rect.top(), tw, rect.height());
- if(m_showStatus)
- painter->drawText(statusRect, Qt::AlignCenter, _statusText);
- }
-}
-
-void FolderDelegate::drawDecoration(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QVariant &decoration) const
-{
- if (!rect.isValid())
- return;
-
- // If we have an icon, we ignore the pixmap
- if (decoration.type() == QVariant::Icon) {
- QIcon icon = qvariant_cast<QIcon>(decoration);
-
- QIcon::Mode mode(QIcon::Normal);
- if (!(option.state & QStyle::State_Enabled))
- mode = QIcon::Disabled;
-
- QIcon::State state(option.state & QStyle::State_Open ? QIcon::On : QIcon::Off);
- icon.paint(painter, rect, option.decorationAlignment, mode, state);
- }
-}
-
-QSize FolderDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
-{
- // Ensure that we use the full width for our item
- QSize base(QItemDelegate::sizeHint(option,index));
- return QSize(qMax(base.width(), option.rect.width()), base.height());
-}
-
-bool FolderDelegate::showStatus() const
-{
- return m_showStatus;
-}
-
-void FolderDelegate::setShowStatus(bool val)
-{
- m_showStatus = val;
-}
-
-void FolderDelegate::init(const QStyleOptionViewItem &option, const QModelIndex &index)
-{
- _statusText = index.data(FolderModel::FolderStatusRole).value<QString>();
-
- Q_UNUSED(option)
-}
-
-