NOISSUE Various changes from multiauth that are unrelated to it
This commit is contained in:
parent
161dc66c2c
commit
3a8b238052
65 changed files with 2661 additions and 333 deletions
133
logic/AbstractCommonModel.cpp
Normal file
133
logic/AbstractCommonModel.cpp
Normal file
|
@ -0,0 +1,133 @@
|
|||
/* Copyright 2015 MultiMC Contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "AbstractCommonModel.h"
|
||||
|
||||
BaseAbstractCommonModel::BaseAbstractCommonModel(const Qt::Orientation orientation, QObject *parent)
|
||||
: QAbstractListModel(parent), m_orientation(orientation)
|
||||
{
|
||||
}
|
||||
|
||||
int BaseAbstractCommonModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
return m_orientation == Qt::Horizontal ? entryCount() : size();
|
||||
}
|
||||
int BaseAbstractCommonModel::columnCount(const QModelIndex &parent) const
|
||||
{
|
||||
return m_orientation == Qt::Horizontal ? size() : entryCount();
|
||||
}
|
||||
QVariant BaseAbstractCommonModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (!hasIndex(index.row(), index.column(), index.parent()))
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
const int i = m_orientation == Qt::Horizontal ? index.column() : index.row();
|
||||
const int entry = m_orientation == Qt::Horizontal ? index.row() : index.column();
|
||||
return formatData(i, role, get(i, entry, role));
|
||||
}
|
||||
QVariant BaseAbstractCommonModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||
{
|
||||
if (orientation != m_orientation && role == Qt::DisplayRole)
|
||||
{
|
||||
return entryTitle(section);
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
bool BaseAbstractCommonModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||
{
|
||||
const int i = m_orientation == Qt::Horizontal ? index.column() : index.row();
|
||||
const int entry = m_orientation == Qt::Horizontal ? index.row() : index.column();
|
||||
const bool result = set(i, entry, role, sanetizeData(i, role, value));
|
||||
if (result)
|
||||
{
|
||||
emit dataChanged(index, index, QVector<int>() << role);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
Qt::ItemFlags BaseAbstractCommonModel::flags(const QModelIndex &index) const
|
||||
{
|
||||
if (!hasIndex(index.row(), index.column(), index.parent()))
|
||||
{
|
||||
return Qt::NoItemFlags;
|
||||
}
|
||||
|
||||
const int entry = m_orientation == Qt::Horizontal ? index.row() : index.column();
|
||||
if (canSet(entry))
|
||||
{
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEnabled;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||
}
|
||||
}
|
||||
|
||||
void BaseAbstractCommonModel::notifyAboutToAddObject(const int at)
|
||||
{
|
||||
if (m_orientation == Qt::Horizontal)
|
||||
{
|
||||
beginInsertColumns(QModelIndex(), at, at);
|
||||
}
|
||||
else
|
||||
{
|
||||
beginInsertRows(QModelIndex(), at, at);
|
||||
}
|
||||
}
|
||||
void BaseAbstractCommonModel::notifyObjectAdded()
|
||||
{
|
||||
if (m_orientation == Qt::Horizontal)
|
||||
{
|
||||
endInsertColumns();
|
||||
}
|
||||
else
|
||||
{
|
||||
endInsertRows();
|
||||
}
|
||||
}
|
||||
void BaseAbstractCommonModel::notifyAboutToRemoveObject(const int at)
|
||||
{
|
||||
if (m_orientation == Qt::Horizontal)
|
||||
{
|
||||
beginRemoveColumns(QModelIndex(), at, at);
|
||||
}
|
||||
else
|
||||
{
|
||||
beginRemoveRows(QModelIndex(), at, at);
|
||||
}
|
||||
}
|
||||
void BaseAbstractCommonModel::notifyObjectRemoved()
|
||||
{
|
||||
if (m_orientation == Qt::Horizontal)
|
||||
{
|
||||
endRemoveColumns();
|
||||
}
|
||||
else
|
||||
{
|
||||
endRemoveRows();
|
||||
}
|
||||
}
|
||||
|
||||
void BaseAbstractCommonModel::notifyBeginReset()
|
||||
{
|
||||
beginResetModel();
|
||||
}
|
||||
void BaseAbstractCommonModel::notifyEndReset()
|
||||
{
|
||||
endResetModel();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue