diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-05-24 16:25:06 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-05-24 20:39:30 +0200 |
commit | d2a8cd8333e07f681a42093f5d694107516a1d46 (patch) | |
tree | 7c84436cd0b53d4530e540af06ec1a9a57ecb003 | |
parent | 39bfafa73a327da2f9fc753e7f4dc10eca2dec78 (diff) |
gtk4: restore IconView
sans popup-menu for now
Change-Id: I5708b8f11d8ee50bba974174a2e3cfdb128d0486
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116068
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/unx/gtk3/gtkinst.cxx | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 16d4ceeeafb5..af03ba45899e 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -3913,7 +3913,6 @@ namespace return load_icon_from_stream(*xMemStm); } -#if !GTK_CHECK_VERSION(4, 0, 0) GdkPixbuf* getPixbuf(const VirtualDevice& rDevice) { Size aSize(rDevice.GetOutputSizePixel()); @@ -3971,7 +3970,6 @@ namespace #endif return pixbuf; } -#endif GtkWidget* image_new_from_virtual_device(const VirtualDevice& rImageSurface) { @@ -10853,8 +10851,6 @@ public: } -#if !GTK_CHECK_VERSION(4, 0, 0) - namespace { @@ -10871,6 +10867,7 @@ namespace } }; +#if !GTK_CHECK_VERSION(4, 0, 0) gboolean foreach_find(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, gpointer data) { Search* search = static_cast<Search*>(data); @@ -10935,10 +10932,12 @@ namespace } } } +#endif } namespace { +#if !GTK_CHECK_VERSION(4, 0, 0) gint default_sort_func(GtkTreeModel* pModel, GtkTreeIter* a, GtkTreeIter* b, gpointer data) { comphelper::string::NaturalStringSorter* pSorter = static_cast<comphelper::string::NaturalStringSorter*>(data); @@ -10978,31 +10977,34 @@ namespace return -1; } +#endif -struct GtkInstanceTreeIter : public weld::TreeIter -{ - GtkInstanceTreeIter(const GtkInstanceTreeIter* pOrig) - { - if (pOrig) - iter = pOrig->iter; - else - memset(&iter, 0, sizeof(iter)); - } - GtkInstanceTreeIter(const GtkTreeIter& rOrig) - { - memcpy(&iter, &rOrig, sizeof(iter)); - } - virtual bool equal(const TreeIter& rOther) const override + struct GtkInstanceTreeIter : public weld::TreeIter { - return memcmp(&iter, &static_cast<const GtkInstanceTreeIter&>(rOther).iter, sizeof(GtkTreeIter)) == 0; - } - GtkTreeIter iter; -}; + GtkInstanceTreeIter(const GtkInstanceTreeIter* pOrig) + { + if (pOrig) + iter = pOrig->iter; + else + memset(&iter, 0, sizeof(iter)); + } + GtkInstanceTreeIter(const GtkTreeIter& rOrig) + { + memcpy(&iter, &rOrig, sizeof(iter)); + } + virtual bool equal(const TreeIter& rOther) const override + { + return memcmp(&iter, &static_cast<const GtkInstanceTreeIter&>(rOther).iter, sizeof(GtkTreeIter)) == 0; + } + GtkTreeIter iter; + }; -class GtkInstanceTreeView; + class GtkInstanceTreeView; } +#if !GTK_CHECK_VERSION(4, 0, 0) + static GtkInstanceTreeView* g_DragSource; namespace { @@ -13777,6 +13779,8 @@ IMPL_LINK_NOARG(GtkInstanceTreeView, async_stop_cell_editing, void*, void) end_editing(); } +#endif + namespace { class GtkInstanceIconView : public GtkInstanceWidget, public virtual weld::IconView @@ -13789,7 +13793,9 @@ private: gint m_nIdCol; gulong m_nSelectionChangedSignalId; gulong m_nItemActivatedSignalId; +#if !GTK_CHECK_VERSION(4, 0, 0) gulong m_nPopupMenu; +#endif ImplSVEvent* m_pSelectionChangeEvent; DECL_LINK(async_signal_selection_changed, void*, void); @@ -13908,7 +13914,9 @@ public: , m_nSelectionChangedSignalId(g_signal_connect(pIconView, "selection-changed", G_CALLBACK(signalSelectionChanged), this)) , m_nItemActivatedSignalId(g_signal_connect(pIconView, "item-activated", G_CALLBACK(signalItemActivated), this)) +#if !GTK_CHECK_VERSION(4, 0, 0) , m_nPopupMenu(g_signal_connect(pIconView, "popup-menu", G_CALLBACK(signalPopupMenu), this)) +#endif , m_pSelectionChangeEvent(nullptr) { m_nIdCol = m_nTextCol + 1; @@ -14186,7 +14194,9 @@ public: g_signal_handler_disconnect(m_pIconView, m_nItemActivatedSignalId); g_signal_handler_disconnect(m_pIconView, m_nSelectionChangedSignalId); +#if !GTK_CHECK_VERSION(4, 0, 0) g_signal_handler_disconnect(m_pIconView, m_nPopupMenu); +#endif } }; @@ -14198,8 +14208,6 @@ IMPL_LINK_NOARG(GtkInstanceIconView, async_signal_selection_changed, void*, void signal_selection_changed(); } -#endif - namespace { class GtkInstanceSpinButton : public GtkInstanceEditable, public virtual weld::SpinButton @@ -19465,16 +19473,11 @@ public: virtual std::unique_ptr<weld::IconView> weld_icon_view(const OString &id) override { -#if !GTK_CHECK_VERSION(4, 0, 0) GtkIconView* pIconView = GTK_ICON_VIEW(gtk_builder_get_object(m_pBuilder, id.getStr())); if (!pIconView) return nullptr; auto_add_parentless_widgets_to_container(GTK_WIDGET(pIconView)); return std::make_unique<GtkInstanceIconView>(pIconView, this, false); -#else - (void)id; - return nullptr; -#endif } virtual std::unique_ptr<weld::EntryTreeView> weld_entry_tree_view(const OString& containerid, const OString& entryid, const OString& treeviewid) override @@ -19656,10 +19659,11 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString& if (rUIFile != "cui/ui/hyphenate.ui" && rUIFile != "cui/ui/percentdialog.ui" && rUIFile != "cui/ui/signatureline.ui" && - rUIFile != "sfx/ui/querysavedialog.ui" && rUIFile != "cui/ui/tipofthedaydialog.ui" && + rUIFile != "sfx/ui/querysavedialog.ui" && rUIFile != "sfx/ui/licensedialog.ui" && rUIFile != "svt/ui/javadisableddialog.ui" && + rUIFile != "svx/ui/fontworkgallerydialog.ui" && rUIFile != "modules/smath/ui/alignmentdialog.ui" && rUIFile != "modules/smath/ui/fontsizedialog.ui" && rUIFile != "modules/smath/ui/savedefaultsdialog.ui" && |