[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/3.5/kdewebdev/quanta/components/tableeditor
From: Andras Mantia <amantia () kde ! org>
Date: 2005-11-07 10:10:51
Message-ID: 1131358251.080097.22803.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 478611 by amantia:
Fix some other merging related table editor bugs spotted by Jens.
M +16 -7 tableeditor.cpp
--- branches/KDE/3.5/kdewebdev/quanta/components/tableeditor/tableeditor.cpp \
#478610:478611 @@ -907,17 +907,19 @@
setCellText(m_dataTable, i, j, tagContent((*it2).node));
m_dataTable->item(i, j)->setEnabled(true);
(*it2).node->tag->deleteAttribute("colspan");
+ (*it2).node->tag->deleteAttribute("rowspan");
}
j++;
}
i++;
}
+ QValueList<TableNode*> updatedMainNodes;
QValueList<QValueList<TableNode> >::Iterator it2 = m_tableTags->at(m_row);
for (QValueList<TableNode>::Iterator it3 = (*it2).begin(); it3 != (*it2).end(); \
++it3) { if ((*it3).merged)
{
TableNode *mainTableNode = \
&((*m_tableTags)[(*it3).mergedRow][(*it3).mergedCol]);
- if (mainTableNode->node)
+ if (mainTableNode->node && !updatedMainNodes.contains(mainTableNode))
{
int rowspan = mainTableNode->node->tag->attributeValue("rowspan", \
true).toInt(); rowspan--;
@@ -925,6 +927,7 @@
mainTableNode->node->tag->editAttribute("rowspan", \
QString("%1").arg(rowspan)); else
mainTableNode->node->tag->deleteAttribute("rowspan");
+ updatedMainNodes.append(mainTableNode);
}
}
delete (*it3).node;
@@ -953,6 +956,7 @@
setCellText(m_dataTable, i, j, tagContent((*it2).node));
m_dataTable->item(i, j)->setEnabled(true);
(*it2).node->tag->deleteAttribute("colspan");
+ (*it2).node->tag->deleteAttribute("rowspan");
}
j++;
}
@@ -960,17 +964,22 @@
}
if (m_col == -1)
m_col = m_dataTable->numCols() - 1;
+ QValueList<TableNode*> updatedMainNodes;
for (QValueList<QValueList<TableNode> >::Iterator it = m_tableTags->begin(); it != \
m_tableTags->end(); ++it) { QValueList<TableNode>::Iterator it2 = (*it).at(m_col);
if ((*it2).merged)
{
TableNode *mainTableNode = \
&((*m_tableTags)[(*it2).mergedRow][(*it2).mergedCol]);
- int colspan = mainTableNode->node->tag->attributeValue("colspan", \
true).toInt();
- colspan--;
- if (colspan > 1)
- mainTableNode->node->tag->editAttribute("colspan", \
QString("%1").arg(colspan));
- else
- mainTableNode->node->tag->deleteAttribute("colspan");
+ if (mainTableNode->node && !updatedMainNodes.contains(mainTableNode))
+ {
+ int colspan = mainTableNode->node->tag->attributeValue("colspan", \
true).toInt(); + colspan--;
+ if (colspan > 1)
+ mainTableNode->node->tag->editAttribute("colspan", \
QString("%1").arg(colspan)); + else
+ mainTableNode->node->tag->deleteAttribute("colspan");
+ updatedMainNodes.append(mainTableNode);
+ }
}
delete (*it2).node;
newNum--;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic