[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jun 17 13:00:13 UTC 2021
vcl/unx/gtk3/gtkinst.cxx | 71 +++++++++++++++++++++++++++++------------------
1 file changed, 45 insertions(+), 26 deletions(-)
New commits:
commit f60b29636ee332d144b8f92fdd30fccd9b0d4d47
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jun 17 11:14:14 2021 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Jun 17 14:59:18 2021 +0200
gtk4: implement setting grid row/col/width
as used in e.g. font features dialog
Change-Id: I558e52b2a1ccc471673613b63b42599db7c00ac5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117374
Tested-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index b7c315e84abd..e093c127198f 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -3448,60 +3448,71 @@ public:
virtual void set_grid_left_attach(int nAttach) override
{
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkContainer* pParent = GTK_CONTAINER(gtk_widget_get_parent(m_pWidget));
- gtk_container_child_set(pParent, m_pWidget, "left-attach", nAttach, nullptr);
+ GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
+#if GTK_CHECK_VERSION(4, 0, 0)
+ int row, width, height;
+ gtk_grid_query_child(GTK_GRID(pParent), m_pWidget, nullptr, &row, &width, &height);
+ g_object_ref(m_pWidget);
+ gtk_grid_remove(GTK_GRID(pParent), m_pWidget);
+ gtk_grid_attach(GTK_GRID(pParent), m_pWidget, nAttach, row, width, height);
+ g_object_unref(m_pWidget);
#else
- (void)nAttach;
+ gtk_container_child_set(GTK_CONTAINER(pParent), m_pWidget, "left-attach", nAttach, nullptr);
#endif
}
virtual int get_grid_left_attach() const override
{
gint nAttach(0);
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkContainer* pParent = GTK_CONTAINER(gtk_widget_get_parent(m_pWidget));
- gtk_container_child_get(pParent, m_pWidget, "left-attach", &nAttach, nullptr);
- return nAttach;
+ GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_grid_query_child(GTK_GRID(pParent), m_pWidget, &nAttach, nullptr, nullptr, nullptr);
#else
- GtkGrid* pParent = GTK_GRID(gtk_widget_get_parent(m_pWidget));
- gtk_grid_query_child(pParent, m_pWidget, &nAttach, nullptr, nullptr, nullptr);
- return nAttach;
+ gtk_container_child_get(GTK_CONTAINER(pParent), m_pWidget, "left-attach", &nAttach, nullptr);
#endif
+ return nAttach;
}
virtual void set_grid_width(int nCols) override
{
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkContainer* pParent = GTK_CONTAINER(gtk_widget_get_parent(m_pWidget));
- gtk_container_child_set(pParent, m_pWidget, "width", nCols, nullptr);
+ GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
+#if GTK_CHECK_VERSION(4, 0, 0)
+ int col, row, height;
+ gtk_grid_query_child(GTK_GRID(pParent), m_pWidget, &col, &row, nullptr, &height);
+ g_object_ref(m_pWidget);
+ gtk_grid_remove(GTK_GRID(pParent), m_pWidget);
+ gtk_grid_attach(GTK_GRID(pParent), m_pWidget, col, row, nCols, height);
+ g_object_unref(m_pWidget);
#else
- (void)nCols;
+ gtk_container_child_set(GTK_CONTAINER(pParent), m_pWidget, "width", nCols, nullptr);
#endif
}
virtual void set_grid_top_attach(int nAttach) override
{
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkContainer* pParent = GTK_CONTAINER(gtk_widget_get_parent(m_pWidget));
- gtk_container_child_set(pParent, m_pWidget, "top-attach", nAttach, nullptr);
+ GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
+#if GTK_CHECK_VERSION(4, 0, 0)
+ int col, width, height;
+ gtk_grid_query_child(GTK_GRID(pParent), m_pWidget, &col, nullptr, &width, &height);
+ g_object_ref(m_pWidget);
+ gtk_grid_remove(GTK_GRID(pParent), m_pWidget);
+ gtk_grid_attach(GTK_GRID(pParent), m_pWidget, col, nAttach, width, height);
+ g_object_unref(m_pWidget);
#else
- (void)nAttach;
+ gtk_container_child_set(GTK_CONTAINER(pParent), m_pWidget, "top-attach", nAttach, nullptr);
#endif
}
virtual int get_grid_top_attach() const override
{
gint nAttach(0);
-#if !GTK_CHECK_VERSION(4, 0, 0)
- GtkContainer* pParent = GTK_CONTAINER(gtk_widget_get_parent(m_pWidget));
- gtk_container_child_get(pParent, m_pWidget, "top-attach", &nAttach, nullptr);
- return nAttach;
+ GtkWidget* pParent = gtk_widget_get_parent(m_pWidget);
+#if GTK_CHECK_VERSION(4, 0, 0)
+ gtk_grid_query_child(GTK_GRID(pParent), m_pWidget, nullptr, &nAttach, nullptr, nullptr);
#else
- GtkGrid* pParent = GTK_GRID(gtk_widget_get_parent(m_pWidget));
- gtk_grid_query_child(pParent, m_pWidget, nullptr, &nAttach, nullptr, nullptr);
- return nAttach;
+ gtk_container_child_get(GTK_CONTAINER(pParent), m_pWidget, "top-attach", &nAttach, nullptr);
#endif
+ return nAttach;
}
virtual void set_hexpand(bool bExpand) override
@@ -22217,11 +22228,15 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
rUIFile != "cui/ui/bitmaptabpage.ui" &&
rUIFile != "cui/ui/borderpage.ui" &&
rUIFile != "cui/ui/breaknumberoption.ui" &&
+ rUIFile != "cui/ui/charnamepage.ui" &&
rUIFile != "cui/ui/colorpage.ui" &&
rUIFile != "cui/ui/colorpickerdialog.ui" &&
rUIFile != "cui/ui/editdictionarydialog.ui" &&
+ rUIFile != "cui/ui/effectspage.ui" &&
rUIFile != "cui/ui/eventassigndialog.ui" &&
rUIFile != "cui/ui/eventassignpage.ui" &&
+ rUIFile != "cui/ui/fontfeaturesdialog.ui" &&
+ rUIFile != "cui/ui/fontfragment.ui" &&
rUIFile != "cui/ui/gradientpage.ui" &&
rUIFile != "cui/ui/hatchpage.ui" &&
rUIFile != "cui/ui/hangulhanjaadddialog.ui" &&
@@ -22256,6 +22271,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
rUIFile != "cui/ui/pickgraphicpage.ui" &&
rUIFile != "cui/ui/picknumberingpage.ui" &&
rUIFile != "cui/ui/pickoutlinepage.ui" &&
+ rUIFile != "cui/ui/positionpage.ui" &&
rUIFile != "cui/ui/qrcodegen.ui" &&
rUIFile != "cui/ui/scriptorganizer.ui" &&
rUIFile != "cui/ui/searchattrdialog.ui" &&
@@ -22268,6 +22284,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
rUIFile != "cui/ui/tipofthedaydialog.ui" &&
rUIFile != "cui/ui/toolbarmodedialog.ui" &&
rUIFile != "cui/ui/transparencytabpage.ui" &&
+ rUIFile != "cui/ui/twolinespage.ui" &&
rUIFile != "cui/ui/wordcompletionpage.ui" &&
rUIFile != "cui/ui/zoomdialog.ui" &&
rUIFile != "filter/ui/pdfgeneralpage.ui" &&
@@ -22386,6 +22403,8 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
rUIFile != "modules/swriter/ui/autotext.ui" &&
rUIFile != "modules/swriter/ui/bibliographyentry.ui" &&
rUIFile != "modules/swriter/ui/bulletsandnumbering.ui" &&
+ rUIFile != "modules/swriter/ui/characterproperties.ui" &&
+ rUIFile != "modules/swriter/ui/charurlpage.ui" &&
rUIFile != "modules/swriter/ui/columndialog.ui" &&
rUIFile != "modules/swriter/ui/columnpage.ui" &&
rUIFile != "modules/swriter/ui/editcategories.ui" &&
More information about the Libreoffice-commits
mailing list