diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-02-12 13:24:21 +0100 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2022-02-12 16:03:37 +0000 |
commit | 6756710996476345669fc3bc1d95db75be939eb8 (patch) | |
tree | 5015e6bc0bad550af58265f44ebca3fa82d0eda9 | |
parent | ec5ad4d3e4a465b09d45fc09c51f3ba3a219b67f (diff) | |
download | gnome-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.c | 27 |
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)); |