diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-02-10 00:03:07 +0100 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2022-02-12 16:03:37 +0000 |
commit | 1777a42aefe95975139685c30e8b2a852675828b (patch) | |
tree | 27f7de717a4f1513889a9c73038a4b38fe5a5865 | |
parent | e26ea4e6d1a0641a24d6182f244a028de0eb608d (diff) | |
download | gnome-control-center-1777a42aefe95975139685c30e8b2a852675828b.tar.gz |
wacom: Update/unbreak calibrator
It got to a building state in the GTK4 port, but was broken at
runtime. Update event handlers and builder objects so it works again.
-rw-r--r-- | panels/wacom/calibrator/calibrator-gui.c | 43 | ||||
-rw-r--r-- | panels/wacom/calibrator/calibrator.css | 10 | ||||
-rw-r--r-- | panels/wacom/calibrator/calibrator.ui | 75 |
3 files changed, 45 insertions, 83 deletions
diff --git a/panels/wacom/calibrator/calibrator-gui.c b/panels/wacom/calibrator/calibrator-gui.c index afe309917..dfa262774 100644 --- a/panels/wacom/calibrator/calibrator-gui.c +++ b/panels/wacom/calibrator/calibrator-gui.c @@ -79,10 +79,11 @@ calib_area_finish_idle_cb (CalibArea *area) static void set_success (CalibArea *area) { - GtkWidget *stack; + GtkWidget *stack, *image; stack = GTK_WIDGET (gtk_builder_get_object (area->builder, "stack")); - gtk_stack_set_visible_child_name (GTK_STACK (stack), "page1"); + image = GTK_WIDGET (gtk_builder_get_object (area->builder, "success")); + gtk_stack_set_visible_child (GTK_STACK (stack), image); } static void @@ -179,11 +180,11 @@ on_gesture_press (GtkGestureClick *gesture, } static gboolean -on_key_release_event (GtkWidget *widget, - guint keyval, - guint keycode, - GdkModifierType state, - CalibArea *area) +on_key_release (GtkEventControllerKey *controller, + guint keyval, + guint keycode, + GdkModifierType state, + CalibArea *area) { if (area->success || keyval != GDK_KEY_Escape) return GDK_EVENT_PROPAGATE; @@ -192,20 +193,6 @@ on_key_release_event (GtkWidget *widget, return GDK_EVENT_STOP; } -static gboolean -on_focus_out_event (GtkWidget *widget, - GdkEvent *event, - CalibArea *area) -{ - if (area->success) - return FALSE; - - /* If the calibrator window loses focus, simply bail out... */ - calib_area_notify_finish (area); - - return FALSE; -} - static void on_clock_finished (CcClock *clock, CalibArea *area) @@ -260,6 +247,7 @@ calib_area_new (GdkDisplay *display, CalibArea *calib_area; GdkRectangle rect; GtkGesture *click; + GtkEventController *key; g_return_val_if_fail (callback, NULL); @@ -303,18 +291,10 @@ calib_area_new (GdkDisplay *display, calib_area->calibrator.geometry = rect; g_signal_connect (calib_area->window, - "key-release-event", - G_CALLBACK (on_key_release_event), - calib_area); - g_signal_connect (calib_area->window, "close-request", G_CALLBACK (on_close_request), calib_area); g_signal_connect (calib_area->window, - "focus-out-event", - G_CALLBACK(on_focus_out_event), - calib_area); - g_signal_connect (calib_area->window, "notify::fullscreened", G_CALLBACK (on_fullscreen), calib_area); @@ -325,6 +305,11 @@ calib_area_new (GdkDisplay *display, G_CALLBACK (on_gesture_press), calib_area); gtk_widget_add_controller (calib_area->window, GTK_EVENT_CONTROLLER (click)); + key = gtk_event_controller_key_new (); + g_signal_connect (key, "key-released", + G_CALLBACK (on_key_release), calib_area); + gtk_widget_add_controller (calib_area->window, key); + gtk_window_fullscreen_on_monitor (GTK_WINDOW (calib_area->window), monitor); gtk_widget_show (calib_area->window); diff --git a/panels/wacom/calibrator/calibrator.css b/panels/wacom/calibrator/calibrator.css index cf5fcedc2..462c766c8 100644 --- a/panels/wacom/calibrator/calibrator.css +++ b/panels/wacom/calibrator/calibrator.css @@ -26,14 +26,14 @@ } @keyframes target-enabled-animation { - 0% { background-size: 0px } - 90% { background-size: 120px } - 100% { background-size: 100px } + 0% { background-size: 0px; } + 90% { background-size: 120px; } + 100% { background-size: 100px; } } @keyframes target-disabled-animation { - 0% { background-size: 100px } - 100% { background-size: 0px } + 0% { background-size: 100px; } + 100% { background-size: 0px; } } #calibrator #target:not(disabled) { diff --git a/panels/wacom/calibrator/calibrator.ui b/panels/wacom/calibrator/calibrator.ui index 81b0ee11b..f2fc2c564 100644 --- a/panels/wacom/calibrator/calibrator.ui +++ b/panels/wacom/calibrator/calibrator.ui @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <interface> - <requires lib="gtk+" version="3.20"/> + <requires lib="gtk" version="4.0"/> <object class="GtkWindow" id="window"> <property name="name">calibrator</property> - <child> + <property name="child"> <object class="GtkStack" id="stack"> <property name="transition_duration">0</property> <child> <object class="GtkGrid"> - <property name="row_homogeneous">True</property> - <property name="column_homogeneous">True</property> + <property name="row_homogeneous">1</property> + <property name="column_homogeneous">1</property> <child> <object class="GtkBox"> <property name="orientation">vertical</property> @@ -22,48 +22,48 @@ <child> <object class="GtkBox" id="box1"> <property name="orientation">vertical</property> - <property name="vexpand">True</property> + <property name="vexpand">1</property> </object> </child> <child> - <object class="CcClock" id="clock" /> + <object class="CcClock" id="clock"/> </child> <child> <object class="GtkBox" id="box2"> <property name="orientation">vertical</property> - <property name="vexpand">True</property> + <property name="vexpand">1</property> <child> <object class="GtkRevealer" id="title_revealer"> <property name="transition_duration">300</property> - <child> + <property name="child"> <object class="GtkLabel"> <property name="name">title</property> - <property name="label" translatable="yes">Screen Calibration</property> + <property name="label" translatable="1">Screen Calibration</property> </object> - </child> + </property> </object> </child> <child> <object class="GtkRevealer" id="subtitle_revealer"> <property name="transition_duration">300</property> - <child> + <property name="child"> <object class="GtkLabel"> <property name="name">subtitle</property> - <property name="label" translatable="yes">Please tap the target markers as they appear on screen to calibrate the tablet.</property> + <property name="label" translatable="1">Please tap the target markers as they appear on screen to calibrate the tablet.</property> </object> - </child> + </property> </object> </child> <child> <object class="GtkRevealer" id="error_revealer"> <property name="transition_type">crossfade</property> <property name="transition_duration">500</property> - <child> + <property name="child"> <object class="GtkLabel"> <property name="name">error</property> - <property name="label" translatable="yes">Mis-click detected, restarting…</property> + <property name="label" translatable="1">Mis-click detected, restarting…</property> </object> - </child> + </property> </object> </child> </object> @@ -71,12 +71,11 @@ </object> </child> <child> - <object class="GtkEventBox" id="target1"> + <object class="GtkImage" id="target1"> <property name="name">target</property> <property name="width_request">100</property> <property name="height_request">100</property> - <property name="visible_window">True</property> - <property name="sensitive">False</property> + <property name="sensitive">0</property> <layout> <property name="column">0</property> <property name="row">0</property> @@ -86,12 +85,11 @@ </object> </child> <child> - <object class="GtkEventBox" id="target2"> + <object class="GtkImage" id="target2"> <property name="name">target</property> <property name="width_request">100</property> <property name="height_request">100</property> - <property name="visible_window">True</property> - <property name="sensitive">False</property> + <property name="sensitive">0</property> <layout> <property name="column">6</property> <property name="row">0</property> @@ -101,12 +99,11 @@ </object> </child> <child> - <object class="GtkEventBox" id="target3"> + <object class="GtkImage" id="target3"> <property name="name">target</property> <property name="width_request">100</property> <property name="height_request">100</property> - <property name="visible_window">True</property> - <property name="sensitive">False</property> + <property name="sensitive">0</property> <layout> <property name="column">0</property> <property name="row">6</property> @@ -116,12 +113,11 @@ </object> </child> <child> - <object class="GtkEventBox" id="target4"> + <object class="GtkImage" id="target4"> <property name="name">target</property> <property name="width_request">100</property> <property name="height_request">100</property> - <property name="visible_window">True</property> - <property name="sensitive">False</property> + <property name="sensitive">0</property> <layout> <property name="column">6</property> <property name="row">6</property> @@ -130,35 +126,16 @@ </layout> </object> </child> - <child> - <object class="GtkRevealer"> - <property name="transition_type">none</property> - <property name="transition_duration">0</property> - <layout> - <property name="column">0</property> - <property name="row">0</property> - <property name="column-span">8</property> - <property name="row-span">8</property> - </layout> - </object> - </child> </object> - <layout> - <property name="name">page0</property> - </layout> </child> <child> - <object class="GtkImage"> + <object class="GtkImage" id="success"> <property name="pixel_size">300</property> <property name="icon_name">emblem-ok-symbolic</property> </object> - <layout> - <property name="name">page1</property> - <property name="position">1</property> - </layout> </child> </object> - </child> + </property> </object> <object class="GtkSizeGroup"> <property name="mode">vertical</property> |