summaryrefslogtreecommitdiffstats
path: root/vcl/unx/gtk3/gtk3gtkinst.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/gtk3/gtk3gtkinst.cxx')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx23
1 files changed, 18 insertions, 5 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 13b957dff0f2..dbb4320f7024 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2116,15 +2116,28 @@ public:
enable_notify_events();
}
- virtual void insert(int pos, const OUString& rId, const OUString& rText) override
+ virtual void insert(int pos, const OUString& rId, const OUString& rText, const OUString& rImage) override
{
disable_notify_events();
GtkTreeIter iter;
gtk_list_store_insert(m_pListStore, &iter, pos);
- gtk_list_store_set(m_pListStore, &iter,
- 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
- 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(),
- -1);
+ if (rImage.isEmpty())
+ {
+ gtk_list_store_set(m_pListStore, &iter,
+ 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
+ 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(),
+ -1);
+ }
+ else
+ {
+ assert((rImage == "dialog-warning" || rImage == "dialog-error") && "unknown stock image");
+
+ gtk_list_store_set(m_pListStore, &iter,
+ 0, OUStringToOString(rText, RTL_TEXTENCODING_UTF8).getStr(),
+ 1, OUStringToOString(rId, RTL_TEXTENCODING_UTF8).getStr(),
+ 2, OUStringToOString(rImage, RTL_TEXTENCODING_UTF8).getStr(),
+ -1);
+ }
enable_notify_events();
}