swift
applicationinfolistmodel.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <QModelIndex>
7 #include <QStandardItem>
8 #include <QStandardItemModel>
9 #include <QString>
10 #include <Qt>
11 #include <QtDebug>
12 #include <QtGlobal>
13 
15 #include "gui/models/columns.h"
16 
17 using namespace swift::misc;
18 
19 namespace swift::gui::models
20 {
21  CApplicationInfoListModel::CApplicationInfoListModel(QObject *parent)
22  : CListModelBase("ModelApplicationInfoListModel", parent)
23  {
24  m_columns.addColumn(CColumn::standardString("version", CApplicationInfo::IndexVersionString));
25  m_columns.addColumn(CColumn::standardString("OS", CApplicationInfo::IndexPlatformInfo));
26  m_columns.addColumn(CColumn::standardString("exe.path", CApplicationInfo::IndexExecutablePath));
27  m_columns.addColumn(CColumn("e.?", "existing?", CApplicationInfo::IndexExecutablePathExisting,
28  new CBoolIconFormatter("directory existing", "directory not existing")));
29  m_columns.addColumn(CColumn::standardString("data.path", CApplicationInfo::IndexApplicationDataPath));
30  m_columns.setWidthPercentages({ 20, 15, 30, 5, 30 });
31 
32  // default sort order
33  this->setSortColumnByPropertyIndex(CApplicationInfo::IndexVersionString);
34  m_sortOrder = Qt::DescendingOrder;
35  }
36 
38  {
39  this->update(CApplicationInfoList::fromOtherSwiftVersionsFromDataDirectories(reinit));
40  }
41 } // namespace swift::gui::models
void otherSwiftVersionsFromDataDirectories(bool reinit)
Filled from cache data directories.
Single column.
Definition: columns.h:26
static CColumn standardString(const QString &headerName, const swift::misc::CPropertyIndex &propertyIndex, int alignment=CDefaultFormatter::alignDefault())
Get a standard string object formatted column.
Definition: columns.cpp:57
void setWidthPercentages(const QList< int > &percentages)
Set the width percentages.
Definition: columns.cpp:211
void addColumn(const CColumn &column)
Add a column.
Definition: columns.cpp:100
virtual int update(const ContainerType &container, bool sort=true)
Update by new container.
virtual bool setSortColumnByPropertyIndex(const swift::misc::CPropertyIndex &propertyIndex)
Set column for sorting.
Models to be used with views, mainly QTableView.
Free functions in swift::misc.