Skip to content

Commit 15c7901

Browse files
author
wonder
committed
Renderer properties: switched from list widget to a combo box with renderers
git-svn-id: http://svn.osgeo.org/qgis/branches/symbology-ng-branch@12134 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 6ffdd1a commit 15c7901

File tree

2 files changed

+46
-46
lines changed

2 files changed

+46
-46
lines changed

src/gui/symbology-ng/qgsrendererv2propertiesdialog.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@ QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog(QgsVectorLayer* lay
5151
if (!pix.load(iconPath, "png"))
5252
pix = QPixmap();
5353

54-
QListWidgetItem* item = new QListWidgetItem(QIcon(pix), m.visibleName(), listRenderers);
55-
item->setData(Qt::UserRole, name);
54+
cboRenderers->addItem(QIcon(pix), m.visibleName(), name);
5655
}
5756

57+
cboRenderers->setCurrentIndex(-1); // set no current renderer
58+
5859
// if the layer doesn't use renderer V2, let's start using it!
5960
if (!mLayer->isUsingRendererV2())
6061
{
@@ -63,15 +64,15 @@ QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog(QgsVectorLayer* lay
6364
}
6465

6566
// setup slot rendererChanged()
66-
connect(listRenderers, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(rendererChanged()));
67+
connect(cboRenderers, SIGNAL(currentIndexChanged(int)), this, SLOT(rendererChanged()));
6768

6869
// set current renderer from layer
6970
QString rendererName = mLayer->rendererV2()->type();
70-
for (int i = 0; i < listRenderers->count(); i++)
71+
for (int i = 0; i < cboRenderers->count(); i++)
7172
{
72-
if (listRenderers->item(i)->data(Qt::UserRole).toString() == rendererName)
73+
if (cboRenderers->itemData(i).toString() == rendererName)
7374
{
74-
listRenderers->setCurrentItem( listRenderers->item(i) );
75+
cboRenderers->setCurrentIndex(i);
7576
return;
7677
}
7778
}
@@ -85,13 +86,13 @@ QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog(QgsVectorLayer* lay
8586
void QgsRendererV2PropertiesDialog::rendererChanged()
8687
{
8788

88-
if (listRenderers->currentItem() == NULL)
89+
if (cboRenderers->currentIndex() == -1)
8990
{
9091
QgsDebugMsg("No current item -- this should never happen!");
9192
return;
9293
}
9394

94-
QString rendererName = listRenderers->currentItem()->data(Qt::UserRole).toString();
95+
QString rendererName = cboRenderers->itemData( cboRenderers->currentIndex() ).toString();
9596

9697
// get rid of old active widget (if any)
9798
if (mActiveWidget)

src/ui/qgsrendererv2propsdialogbase.ui

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,42 @@
1313
<property name="windowTitle">
1414
<string>Renderer settings</string>
1515
</property>
16-
<layout class="QGridLayout" name="gridLayout">
17-
<item row="0" column="0">
18-
<widget class="QListWidget" name="listRenderers">
19-
<property name="sizePolicy">
20-
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
21-
<horstretch>1</horstretch>
22-
<verstretch>0</verstretch>
23-
</sizepolicy>
24-
</property>
25-
<property name="editTriggers">
26-
<set>QAbstractItemView::NoEditTriggers</set>
27-
</property>
28-
<property name="showDropIndicator" stdset="0">
29-
<bool>false</bool>
30-
</property>
31-
<property name="iconSize">
32-
<size>
33-
<width>48</width>
34-
<height>48</height>
35-
</size>
36-
</property>
37-
<property name="spacing">
38-
<number>4</number>
39-
</property>
40-
<property name="viewMode">
41-
<enum>QListView::IconMode</enum>
42-
</property>
43-
</widget>
16+
<layout class="QVBoxLayout" name="verticalLayout_2">
17+
<item>
18+
<layout class="QHBoxLayout" name="horizontalLayout">
19+
<item>
20+
<widget class="QLabel" name="label_2">
21+
<property name="text">
22+
<string>Renderer:</string>
23+
</property>
24+
</widget>
25+
</item>
26+
<item>
27+
<widget class="QComboBox" name="cboRenderers"/>
28+
</item>
29+
<item>
30+
<spacer name="horizontalSpacer">
31+
<property name="orientation">
32+
<enum>Qt::Horizontal</enum>
33+
</property>
34+
<property name="sizeHint" stdset="0">
35+
<size>
36+
<width>40</width>
37+
<height>20</height>
38+
</size>
39+
</property>
40+
</spacer>
41+
</item>
42+
<item>
43+
<widget class="QPushButton" name="btnSymbolLevels">
44+
<property name="text">
45+
<string>Symbol levels</string>
46+
</property>
47+
</widget>
48+
</item>
49+
</layout>
4450
</item>
45-
<item row="0" column="1" rowspan="2">
51+
<item>
4652
<widget class="QStackedWidget" name="stackedWidget">
4753
<property name="sizePolicy">
4854
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
@@ -69,24 +75,17 @@
6975
</widget>
7076
</widget>
7177
</item>
72-
<item row="2" column="0" colspan="2">
78+
<item>
7379
<widget class="QDialogButtonBox" name="buttonBox">
7480
<property name="standardButtons">
7581
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
7682
</property>
7783
</widget>
7884
</item>
79-
<item row="1" column="0">
80-
<widget class="QPushButton" name="btnSymbolLevels">
81-
<property name="text">
82-
<string>Symbol levels</string>
83-
</property>
84-
</widget>
85-
</item>
8685
</layout>
8786
</widget>
8887
<tabstops>
89-
<tabstop>listRenderers</tabstop>
88+
<tabstop>cboRenderers</tabstop>
9089
<tabstop>btnSymbolLevels</tabstop>
9190
<tabstop>buttonBox</tabstop>
9291
</tabstops>

0 commit comments

Comments
 (0)