summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2022-02-12 13:24:21 +0100
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2022-02-12 16:03:37 +0000
commit6756710996476345669fc3bc1d95db75be939eb8 (patch)
tree5015e6bc0bad550af58265f44ebca3fa82d0eda9
parentec5ad4d3e4a465b09d45fc09c51f3ba3a219b67f (diff)
downloadgnome-control-center-6756710996476345669fc3bc1d95db75be939eb8.tar.gz
wacom: Make calibrator retrieve dimensions from window
So we can fullscreen on a monitor and forget.
-rw-r--r--panels/wacom/calibrator/calibrator-gui.c27
1 files changed, 23 insertions, 4 deletions
diff --git a/panels/wacom/calibrator/calibrator-gui.c b/panels/wacom/calibrator/calibrator-gui.c
index 31926c5e4..fd96882fc 100644
--- a/panels/wacom/calibrator/calibrator-gui.c
+++ b/panels/wacom/calibrator/calibrator-gui.c
@@ -238,6 +238,27 @@ cc_calib_area_finalize (GObject *object)
}
static void
+cc_calib_area_size_allocate (GtkWidget *widget,
+ int width,
+ int height,
+ int baseline)
+{
+ CcCalibArea *calib_area = CC_CALIB_AREA (widget);
+
+ calib_area->calibrator.geometry.width = width;
+ calib_area->calibrator.geometry.height = height;
+
+ /* reset calibration if already started */
+ reset (&calib_area->calibrator);
+ set_active_target (calib_area, 0);
+
+ GTK_WIDGET_CLASS (cc_calib_area_parent_class)->size_allocate (widget,
+ width,
+ height,
+ baseline);
+}
+
+static void
cc_calib_area_class_init (CcCalibAreaClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -245,6 +266,8 @@ cc_calib_area_class_init (CcCalibAreaClass *klass)
object_class->finalize = cc_calib_area_finalize;
+ widget_class->size_allocate = cc_calib_area_size_allocate;
+
g_type_ensure (CC_TYPE_CLOCK);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/wacom/calibrator/calibrator.ui");
@@ -326,7 +349,6 @@ cc_calib_area_new (GdkDisplay *display,
{
CcCalibArea *calib_area;
g_autoptr(GdkMonitor) monitor = NULL;
- GdkRectangle rect;
g_return_val_if_fail (callback, NULL);
@@ -341,9 +363,6 @@ cc_calib_area_new (GdkDisplay *display,
if (display == NULL)
display = gdk_display_get_default ();
monitor = g_list_model_get_item (gdk_display_get_monitors (display), n_monitor);
- gdk_monitor_get_geometry (monitor, &rect);
-
- calib_area->calibrator.geometry = rect;
gtk_window_fullscreen_on_monitor (GTK_WINDOW (calib_area), monitor);
gtk_widget_show (GTK_WIDGET (calib_area));