1. 22 May, 2021 1 commit
  2. 11 Mar, 2021 1 commit
  3. 30 Jul, 2020 1 commit
  4. 25 Jul, 2020 1 commit
  5. 06 Apr, 2020 1 commit
    • Matthias Clasen's avatar
      gdk: Redo key events · 0a96a483
      Matthias Clasen authored
      Add all of the keyboard translation results in the key event,
      so we can translate the keyboard state at the time the event
      is created, and avoid doing state translation at match time.
      
      We actually need to carry two sets of translation results,
      since we ignore CapsLock when matching accelerators, in
      gdk_event_matches().
      
      At the same time, drop the scancode field - it is only ever
      set on win32, and is basically unused in GTK.
      
      Update all callers.
      0a96a483
  6. 26 Mar, 2020 1 commit
  7. 19 Mar, 2020 2 commits
  8. 21 Feb, 2020 10 commits
    • Matthias Clasen's avatar
      gtk: Stop using GdkEventKey · 8823882f
      Matthias Clasen authored
      We should just use GdkEvent, instead of taking
      a GdkEventKey, and then cast it everywhere.
      8823882f
    • Matthias Clasen's avatar
      Bring back im context focus-in/out · 0c96b2d8
      Matthias Clasen authored
      The key controller still needs to track focus,
      in order to emit these signals when required.
      0c96b2d8
    • Matthias Clasen's avatar
      Split off GtkEventControllerFocus · 5a2f829a
      Matthias Clasen authored
      Split the focus tracking into a separate
      GtkEventControllerFocus, and change the API one more time.
      We are back to having ::focus-in and ::focus-out signals.
      
      Update all users.
      5a2f829a
    • Matthias Clasen's avatar
      wip: Add more information to crossing events · 89c3a7ab
      Matthias Clasen authored
      Add fields for direct descendents to GtkCrossingData,
      and populate them when emitting focus change events.
      
      Also add accessors for these fields to GtkEventControllerKey,
      and verify that they are set properly in the focus test.
      
      Not done yet: Do the same for pointer crossing events.
      89c3a7ab
    • Matthias Clasen's avatar
      events: reorganize getters · b1eaa502
      Matthias Clasen authored
      Restructure the getters for event fields to
      be more targeted at particular event types.
      
      Update all callers, and replace all direct
      event struct access with getters.
      
      As a side-effect, this drops some unused getters.
      b1eaa502
    • Matthias Clasen's avatar
      Strip const from GdkEvent · 31bf9da6
      Matthias Clasen authored
      Events are refcounted structs, and we generally don't
      pass these as const.
      31bf9da6
    • Matthias Clasen's avatar
      Explicitly pass the target to handle_event · e54e48f6
      Matthias Clasen authored
      Pass the event propagation target explicitly down to
      the event controllers. This is a step towards getting
      rid of gdk_event_set_target.
      e54e48f6
    • Matthias Clasen's avatar
      e3158a1b
    • Matthias Clasen's avatar
      New focus change handling · 23c67f8c
      Matthias Clasen authored
      Instead of relying on gdk's antiquated crossing events,
      create a new GtkCrossingData struct that contains the
      actual widgets, and a new event controller vfunc that
      expects this struct. This also saves us from making sense
      of X's crossing modes and details, and makes for a
      generally simpler api.
      
      The ::focus-in and ::focus-out signals of GtkEventControllerKey
      have been replaced by a single ::focus-change signal that
      takes GtkCrossingData as an argument. All callers have
      been updated.
      23c67f8c
    • Matthias Clasen's avatar
      Pass translated coordinates outside the event · dd251d85
      Matthias Clasen authored
      We want to make events readonly, so stop translating
      their coordinates and instead pass the translated
      coordinates separately, when propagating events.
      dd251d85
  9. 28 Jan, 2020 1 commit
  10. 07 Oct, 2019 2 commits
  11. 02 Jun, 2019 1 commit
    • Christian Hergert's avatar
      gtk: fix all uses of g_cclosure_marshal_generic · 41e373f1
      Christian Hergert authored
      This adds specific marshallers for all of the locations where a generic
      marshaller is being used. It also provides va_marshallers to reduce the
      chances that we get stack traces from perf going through ffi_call_unix64.
      
      This is forward ported from gtk-3-24.
      
      # Conflicts:
      #	gtk/gtkeventcontrollerkey.c
      #	gtk/gtkeventcontrollermotion.c
      #	gtk/gtkgesture.c
      #	gtk/gtkgesturemultipress.c
      41e373f1
  12. 13 May, 2019 1 commit
    • Matthias Clasen's avatar
      key controller: Don't eat modifier events · 91d6893f
      Matthias Clasen authored
      The key controller was consuming key events
      for modifier keys, for no entirely convincing
      reason, which leads to problems when somebody
      actually listens for those, such as the simple
      input method does for C-S-u processing.
      
      Closes: #1884
      91d6893f
  13. 31 Mar, 2019 1 commit
  14. 17 Mar, 2019 6 commits
  15. 20 Feb, 2019 1 commit
  16. 14 Dec, 2018 1 commit
  17. 02 Jul, 2018 1 commit
  18. 26 Jun, 2018 1 commit
  19. 25 Jun, 2018 1 commit
  20. 26 Apr, 2018 1 commit
  21. 05 Apr, 2018 4 commits