Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
fontsearchmodel.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2020 Twilight
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15*/
16
21
22#include <pse-db/fontsdb.h>
25#include "./fontsearchmodel.h"
26
28{
29 this->search = search;
30 connect(search, &FontSearch::fontCountChanged, this, &FontSearchModel::onDataChange);
31}
32
33int FontSearchModel::rowCount(const QModelIndex& parent) const
34{
35 // Not a tree, just a list, there's no parent
36 Q_UNUSED(parent)
37
38 // Return list count
39 return search->getFontCount();
40}
41
42QVariant FontSearchModel::data(const QModelIndex& index, int role) const
43{
44 // If index is invalid in any way, return nothing
45 if (!index.isValid())
46 return QVariant();
47
48 if (index.row() >= search->getFontCount())
49 return QVariant();
50
51 // Return array index to lookup font data
52 if (role == IndRole)
53 return search->fontAt(index.row())->getInd();
54
55 // All else fails, return nothing
56 return QVariant();
57}
58
59QHash<int, QByteArray> FontSearchModel::roleNames() const
60{
61 QHash<int, QByteArray> roles;
62
63 roles[IndRole] = "fontInd";
64
65 return roles;
66}
67
68void FontSearchModel::onDataChange()
69{
70 // I'm not about to code in a way to figure out every little data piece change
71 beginResetModel();
72 endResetModel();
73}
virtual QVariant data(const QModelIndex &index, int role) const override
Row+role value.
virtual QHash< int, QByteArray > roleNames() const override
Role -> QML name.
FontSearchModel(FontSearch *search)
virtual int rowCount(const QModelIndex &parent) const override
Row count.
A chainable filter ("finder") over the font glyphs.
Definition fontsearch.h:40