Skip to content

Commit 4d839dd

Browse files
author
mhugent
committed
Fixed a problem with checkboxes in the legend
git-svn-id: http://svn.osgeo.org/qgis/trunk@5638 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 986ea53 commit 4d839dd

File tree

5 files changed

+5
-20
lines changed

5 files changed

+5
-20
lines changed

src/gui/qgsbookmarks.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ void QgsBookmarks::initialise()
8787
{
8888
QString name = QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 1));
8989
// sqlite3_bind_parameter_index(ppStmt, "name"));
90-
QgsDebugMsg("Bookmark name: " + name.toLocal8Bit().data());
90+
//QgsDebugMsg("Bookmark name: " + name.toLocal8Bit().data());
9191
Q3ListViewItem *lvi = new Q3ListViewItem(lstBookmarks, name);
9292
// set the project name
9393
lvi->setText(1, QString::fromUtf8((const char *)sqlite3_column_text(ppStmt, 2)));

src/legend/qgslegend.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,9 +1265,6 @@ QDomNode QgsLegend::nextDomNode(const QDomNode& theNode)
12651265

12661266
void QgsLegend::insertItem(QTreeWidgetItem* move, QTreeWidgetItem* into)
12671267
{
1268-
#ifdef QGISDEBUG
1269-
qWarning("entering QgsLegend::insertItem");
1270-
#endif
12711268
QgsLegendItem* movedItem = dynamic_cast<QgsLegendItem*>(move);
12721269
QgsLegendItem* intoItem = dynamic_cast<QgsLegendItem*>(into);
12731270

src/legend/qgslegend.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ class QgsLegend : public QTreeWidget
162162
the given QgsLegendLayerFile */
163163
void setName(QgsLegendLayerFile* w, QString layerName);
164164

165+
void updateCheckStates(QTreeWidgetItem* item, Qt::CheckState state) {mStateOfCheckBoxes[item] = state;}
165166

166167
public slots:
167168

src/legend/qgslegendlayer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
***************************************************************************/
2020

2121
#include "qgsapplication.h"
22+
#include "qgslegend.h"
2223
#include "qgslegendlayer.h"
2324
#include "qgslegendlayerfile.h"
2425
#include "qgslegendlayerfilegroup.h"
@@ -230,6 +231,8 @@ void QgsLegendLayer::updateCheckState()
230231
{
231232
treeWidget()->blockSignals(true);
232233
setCheckState(0, theState);
234+
//notify the legend that the check state has changed
235+
legend()->updateCheckStates(this, theState);
233236
treeWidget()->blockSignals(false);
234237
}
235238
}

src/legend/qgslegendlayerfilegroup.cpp

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,23 +73,13 @@ QgsLegendItem::DRAG_ACTION QgsLegendLayerFileGroup::accept(const QgsLegendItem*
7373

7474
bool QgsLegendLayerFileGroup::insert(QgsLegendItem* newItem)
7575
{
76-
#ifdef QGISDEBUG
77-
qWarning("In QgsLegendLayerFileGroup::insert");
78-
#endif
7976
if ( newItem->type() == LEGEND_LAYER_FILE )
8077
{
8178
QgsLegendItem* oldItem = firstChild();
82-
//QgsLegendLayer* parentLegendLayer = dynamic_cast<QgsLegendLayer*>(parent());
8379

8480
if(!oldItem)//this item is the first child
8581
{
8682
insertChild(0, newItem);
87-
//update the icon and the check state of the new and the former legend layer
88-
//if(parentLegendLayer)
89-
//{
90-
// parentLegendLayer->updateIcon();
91-
// parentLegendLayer->updateCheckState();
92-
//}
9383
return true;
9484
}
9585
//there are already legend layer files
@@ -114,12 +104,6 @@ bool QgsLegendLayerFileGroup::insert(QgsLegendItem* newItem)
114104
if(newLayer->isSymbologyCompatible(*thelayer))
115105
{
116106
insertChild(childCount(), newItem);
117-
//update the icon and the check state of the new and the former legend layer
118-
//if(parentLegendLayer)
119-
//{
120-
// parentLegendLayer->updateIcon();
121-
// parentLegendLayer->updateCheckState();
122-
//}
123107
return true;
124108
}
125109
else

0 commit comments

Comments
 (0)