git-svn-id: svn://db.shs.com.ru/libs@231 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2017-05-29 10:56:01 +00:00
parent 63d55df859
commit b8ff28ab82
12 changed files with 194 additions and 72 deletions

View File

@@ -73,7 +73,7 @@ int CDKItemModel::columnCount(const QModelIndex &parent) const {
}
Qt::ItemFlags CDKItemModel::flags(const QModelIndex &index) const {
Qt::ItemFlags CDKItemModel::flags(const QModelIndex & index) const {
if (!index.isValid()) return 0;
Qt::ItemFlags f = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
CDKItem * item = getItem(index);
@@ -89,13 +89,15 @@ Qt::ItemFlags CDKItemModel::flags(const QModelIndex &index) const {
}
bool CDKItemModel::setData(const QModelIndex &index, const QVariant &value, int role) {
bool CDKItemModel::setData(const QModelIndex & index, const QVariant &value, int role) {
if (role == Qt::CheckStateRole && index.column() == 4) {
CDKItem * item = getItem(index);
if (item->type_ == CDKItem::ItemCDType) {
CDType t = K.section(item->buildPath())[item->index_];
if (t.type() == "b") {
bool result = item->setData(index.column(), PI2QString(PIString::fromBool(value.toBool())));
QModelIndex rin(CDKItemModel::index(index.row(), 3, index.parent()));
emit dataChanged(rin, rin);
return result;
}
}
@@ -103,7 +105,11 @@ bool CDKItemModel::setData(const QModelIndex &index, const QVariant &value, int
if (role != Qt::EditRole) return false;
CDKItem * item = getItem(index);
bool result = item->setData(index.column(), value);
if (result) emit dataChanged(index, index);
if (result) {
QModelIndex rin(CDKItemModel::index(index.row(), 3, index.parent()));
emit dataChanged(rin, rin);
emit dataChanged(index, index);
}
return result;
}
@@ -237,6 +243,7 @@ QVariant CDKItem::value(CDType t, int role) const {
bool CDKItem::setData(int column, const QVariant &value) {
if ((column == 3 || column == 4) && type_ == ItemCDType) {
K.section(buildPath())[index_].setValue(Q2PIString(value.toString()));
K.calculate();
return true;
}
return false;

View File

@@ -49,7 +49,7 @@ signals:
void KReceiveFailed();
void KReceiveSucceed();
void messageStatus(QString msg);
void busyStatusChanged(bool bisy);
void busyStatusChanged(bool busy);
void _qcdk_sendFailed(); // PRIVATE
void _qcdk_sendSucceed(); // PRIVATE