MailTransport

transporttreeview.cpp
1/*
2 SPDX-FileCopyrightText: 2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#include "transporttreeview.h"
8#include "transportmodel.h"
9#include "transportsortproxymodel.h"
10#include "transporttreedelegate.h"
11#include <QHeaderView>
12
13using namespace MailTransport;
14TransportTreeView::TransportTreeView(QWidget *parent)
15 : QTreeView(parent)
16 , mTransportSortProxyModel(new TransportSortProxyModel(this))
17{
18 setAlternatingRowColors(true);
19 setSelectionMode(SingleSelection);
20 setContextMenuPolicy(Qt::CustomContextMenu);
21 setSelectionBehavior(QAbstractItemView::SelectRows);
22 setRootIsDecorated(false);
23 setSortingEnabled(true);
24 setAllColumnsShowFocus(true);
25 header()->setSectionsMovable(false);
26 header()->setSectionResizeMode(QHeaderView::ResizeToContents);
27
28 auto model = new MailTransport::TransportModel(this);
29
30 model->setShowDefault(true);
31 mTransportSortProxyModel->setSourceModel(model);
32 setModel(mTransportSortProxyModel);
33
34 setEditTriggers(DoubleClicked);
35 setColumnHidden(MailTransport::TransportModel::TransportIdentifierRole, true);
36 setColumnHidden(MailTransport::TransportModel::DefaultRole, true);
37 setColumnHidden(MailTransport::TransportModel::ActivitiesRole, true);
38 setItemDelegateForColumn(MailTransport::TransportModel::NameRole, new TransportTreeDelegate(this));
39 setUniformRowHeights(true);
40}
41
42TransportTreeView::~TransportTreeView() = default;
43
44TransportActivitiesAbstract *TransportTreeView::transportActivitiesAbstract() const
45{
46 return mTransportSortProxyModel->transportActivitiesAbstract();
47}
48
49void TransportTreeView::setTransportActivitiesAbstract(TransportActivitiesAbstract *activitiesAbstract)
50{
51 mTransportSortProxyModel->setTransportActivitiesAbstract(activitiesAbstract);
52}
53
54TransportSortProxyModel *TransportTreeView::transportSortProxyModel() const
55{
56 return mTransportSortProxyModel;
57}
58
59#include "moc_transporttreeview.cpp"
T qobject_cast(QObject *object)
CustomContextMenu
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 17 2024 11:49:02 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.