summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-10-18 12:38:47 +0300
committerAndrei Karas <akaras@inbox.ru>2012-10-18 12:38:47 +0300
commit9f89a15fbcaf3f24f4c941b7061979e424d6384a (patch)
tree20d4fcec6e56b2bc35c095918ecb0b1d7dcf9a18
parentf5c13fca3863b2871ac20f9937bce4eb45c4a94c (diff)
downloadplus-9f89a15fbcaf3f24f4c941b7061979e424d6384a.tar.gz
plus-9f89a15fbcaf3f24f4c941b7061979e424d6384a.tar.bz2
plus-9f89a15fbcaf3f24f4c941b7061979e424d6384a.tar.xz
plus-9f89a15fbcaf3f24f4c941b7061979e424d6384a.zip
Extend theming listbox with image.
New theme options: imagePadding - padding for image from left spacing - space between image and text
-rw-r--r--data/graphics/gui/listbox.xml2
-rw-r--r--src/gui/widgets/extendedlistbox.cpp10
-rw-r--r--src/gui/widgets/extendedlistbox.h2
3 files changed, 10 insertions, 4 deletions
diff --git a/data/graphics/gui/listbox.xml b/data/graphics/gui/listbox.xml
index 406213a2a..c1de64f2e 100644
--- a/data/graphics/gui/listbox.xml
+++ b/data/graphics/gui/listbox.xml
@@ -1,5 +1,7 @@
<skinset name="Default" image="window.png">
<widget type="Window">
<option name="padding" value="1" />
+ <option name="imagePadding" value="1" />
+ <option name="spacing" value="2" />
</widget>
</skinset>
diff --git a/src/gui/widgets/extendedlistbox.cpp b/src/gui/widgets/extendedlistbox.cpp
index 0acf66a65..eb1e93303 100644
--- a/src/gui/widgets/extendedlistbox.cpp
+++ b/src/gui/widgets/extendedlistbox.cpp
@@ -40,7 +40,9 @@
ExtendedListBox::ExtendedListBox(gcn::ListModel *const listModel):
ListBox(listModel),
- mRowHeight(13)
+ mRowHeight(13),
+ mImagePadding(mSkin ? mSkin->getOption("imagePadding") : 0),
+ mSpacing(mSkin ? mSkin->getOption("spacing") : 0)
{
}
@@ -88,10 +90,10 @@ void ExtendedListBox::draw(gcn::Graphics *graphics)
}
else
{
- g->drawImage(image, mPadding, y + (height - image->getHeight())
- / 2 + mPadding);
+ g->drawImage(image, mImagePadding, y + (height
+ - image->getHeight()) / 2 + mPadding);
graphics->drawText(mListModel->getElementAt(i),
- image->getWidth() + mPadding, y + textPos);
+ image->getWidth() + mImagePadding + mSpacing, y + textPos);
}
}
}
diff --git a/src/gui/widgets/extendedlistbox.h b/src/gui/widgets/extendedlistbox.h
index 87e4ffde0..f9563c6c4 100644
--- a/src/gui/widgets/extendedlistbox.h
+++ b/src/gui/widgets/extendedlistbox.h
@@ -48,6 +48,8 @@ class ExtendedListBox final : public ListBox
protected:
unsigned int mRowHeight;
+ int mImagePadding;
+ int mSpacing;
};
#endif