1. 03 Dec, 2020 1 commit
  2. 17 Nov, 2020 2 commits
  3. 05 Aug, 2020 1 commit
    • Jonas Ådahl's avatar
      gdk/toplevel: Negotiate surface size via a compute-size signal · 2ff74eb6
      Jonas Ådahl authored
      GTK will not up front know how to correctly calculate a size, since it
      will not be able to reliably predict the constraints that may exist
      where it will be mapped.
      
      Thus, to handle this, calculate the size of the toplevel by having GDK
      emitting a signal called 'compute-size' that will contain information
      needed for computing a toplevel window size.
      
      This signal may be emitted at any time, e.g. during
      gdk_toplevel_present(), or spontaneously if constraints change.
      
      This also drops the max size from the toplevel layout, while moving the
      min size from the toplevel layout struct to the struct passed via the
      signal,
      
      This needs changes to a test case where we make sure we process
      GDK_CONFIGURE etc, which means we also needs to show the window and
      process all pending events in the test-focus-chain test case.
      2ff74eb6
  4. 29 Jul, 2020 1 commit
  5. 26 Jul, 2020 1 commit
    • Emmanuele Bassi's avatar
      a11y: Allow setting the role post-construction · 82664003
      Emmanuele Bassi authored
      Some widgets have different roles after they are constructed, so we need
      to allow changing the role defined by the class. We should still avoid
      setting a role after the GtkATContext has been created.
      82664003
  6. 24 Jul, 2020 1 commit
  7. 26 Jun, 2020 1 commit
  8. 17 Jun, 2020 1 commit
    • Matthias Clasen's avatar
      Stop using GTestDBus · 1b265a79
      Matthias Clasen authored
      It is causing tests to timeout when libraries we are using
      leak bus connections, and it turns out our tests run fine
      without a session bus.
      1b265a79
  9. 11 Jun, 2020 1 commit
  10. 06 Jun, 2020 1 commit
    • Matthias Clasen's avatar
      Add GtkPropertySelection · d1509971
      Matthias Clasen authored
      This is a selection model that stores the selection
      state in a boolean property of the items, and thus
      persists across reordering and similar changes.
      
      Fixes: #2826
      d1509971
  11. 03 Jun, 2020 1 commit
  12. 30 May, 2020 3 commits
    • Matthias Clasen's avatar
      Add GtkDropDown · 371dab51
      Matthias Clasen authored
      This is a simple drop down control using list models.
      371dab51
    • Matthias Clasen's avatar
      columnview: Add sorting · 66500a68
      Matthias Clasen authored
      This is a somewhat large commit that:
      
      - Adds GtkColumnViewSorter
      This is a special-purpose, private sorter implementation which sorts
      according to multiple sorters, allowing each individual sorter to be
      inverted. This will be used with clickable column view headers.
      
      - Adds a read-only GtkColumnView::sorter property
      The GtkColumnView creates a GtkColumnViewSorter at startup that it uses
      for this property.
      
      - Adds a writable GtkColumnViewColumn::sorter property
      This allows defining per-column sorters. Whenever an application sets a
      sorter for a column, the header becomes clickable and whenever
      a header is clicked, that column's sorter is prepended to the list of
      sorters, unless it is already the first sorter, in which case we invert
      its order. No column can be in the list more than once.
      66500a68
    • Benjamin Otte's avatar
      columnview: Add listitems for the columns · 87363435
      Benjamin Otte authored and Matthias Clasen's avatar Matthias Clasen committed
      They are not aligned in columns yet, but they do exist.
      87363435
  13. 28 May, 2020 1 commit
  14. 05 May, 2020 1 commit
  15. 26 Mar, 2020 4 commits
    • Emmanuele Bassi's avatar
      Turn GtkShortcutAction into a GObject · 6e8c7871
      Emmanuele Bassi authored and Matthias Clasen's avatar Matthias Clasen committed
      Just like we did for GtkShortcutTrigger.
      
      This allows language bindings to properly deal with all the actions.
      6e8c7871
    • Emmanuele Bassi's avatar
      Turn GtkShortcutTrigger into an object · 457b6657
      Emmanuele Bassi authored and Matthias Clasen's avatar Matthias Clasen committed
      The lightweight inheritance mechanism used for GtkShortcutTrigger is not
      going to be usable by bindings, because boxed types cannot have derived
      types.
      
      We could use GTypeInstance and derive everything from that, like
      GParamSpec, but in the end shortcuts are not really a performance
      critical paths, unlike CSS values or render nodes.
      457b6657
    • Benjamin Otte's avatar
      shortcut: Add GtkShortcutAction · cd0332aa
      Benjamin Otte authored and Matthias Clasen's avatar Matthias Clasen committed
      Similar to GtkShortcutTrigger, GtkShortCutAction provides all the
      different ways to activate a shortcut.
      
      So far, these different ways are supported:
      
       - do nothing
       - Call a user-provided callback
       - Call gtk_widget_activate()
       - Call gtk_widget_mnemonic_activate()
       - Emit an action signal
       - Activate an action from the widget's action muxer
      cd0332aa
    • Matthias Clasen's avatar
      shortcut: Add GtkShortcutTrigger · 6d452f1e
      Matthias Clasen authored
      Triggers are meant to describe how to trigger a shortcut.
      So far only a keyval + modifiers trigger exists.
      6d452f1e
  16. 19 Mar, 2020 3 commits
  17. 02 Mar, 2020 1 commit
    • Benjamin Otte's avatar
      droptarget: Redo · a411959c
      Benjamin Otte authored
      This is a huge reorganization of GtkDropTarget. I did not know how to
      split this up, so it's unfortunately all one commit.
      
      Highlights:
      
      - Split GtkDropTarget into GtkDropTarget and GtkDropTargetAsync
        GtkDropTarget is the simple one that only works with GTypes and offers
        a synchronous interface.
        GtkDropTargetAsync retains the full old functionality and allows
        handling mime types.
      
      - Drop events are handled differently
        Instead of picking a single drop target and sending all DND events to
        it, every event is sent to every drop target. The first one to handle
        the event gets to call gdk_drop_status(), further handlers do not
        interact with the GdkDrop.
        Of course, for the ultimate GDK_DROP_STARTING event, only the first
        one to accept the drop gets to handle it.
        This allows stacking DND event controllers that aren't necessarily
        interested in handling the event or that might decide later to drop
        it.
      
      - Port all widgets to either of those
        Both have a somewhat changed API due to the new event handling.
        For the ones who should use the sync version, lots of cleanup was
        involved to operate on a sync API.
      a411959c
  18. 19 Feb, 2020 1 commit
    • Matthias Clasen's avatar
      icontheme: Update the api · 66307f00
      Matthias Clasen authored
      Add properties, and use string arrays instead of lists.
      
      Among other things, this renames gtk_icon_theme_list_icons
      to gtk_icon_theme_get_icon_names.
      
      Fixes: #2410
      66307f00
  19. 14 Feb, 2020 1 commit
  20. 06 Feb, 2020 1 commit
  21. 04 Feb, 2020 1 commit
    • Alexander Larsson's avatar
      tests: Initialize dbus before gtk · 008eb041
      Alexander Larsson authored
      These days initilizing gtk may create a connection to the sesson bus,
      so we have to initialize GTestDBus before initalizing gtk, or we'll
      use the address of the "real" session bus (and remember that in the
      global).
      
      To further muck things up, g_test_dbus_up() resets important env
      vars like DISPLAY and XDG_RUNTIME_DIR, which we have to re-set.
      008eb041
  22. 12 Dec, 2019 1 commit
    • Benjamin Otte's avatar
      builder: Add GtkBuilderScope · f8a7f30a
      Benjamin Otte authored
      GtkBuilderScope is an interface that provides the scope that a builder
      instance operates in.
      It creates closures and resolves types. Language bindings are meant to
      use this interface to customize the behavior of builder files, in
      particular when instantiating templates.
      
      A default implementation for C is provided via GtkBuilderCScope (to keep
      with the awkward naming that glib uses for closures). It is derivable on
      purpose so that languages or extensions that extend C can use it.
      
      The reftest code in fact does derive GtkBuilderCScope for its own scope
      implementation that implements looking up symbols in modules.
      
      gtk-widget-factory was updated to use the new GtkBuilderCScope to add
      its custom callback symbols.
      So it does it different from gtk-demo, which uses the normal way of
      exporting symbols for dlsym() and thereby makes the 2 demos test the 2
      ways GtkBuilder uses for looking up symbols.
      f8a7f30a
  23. 15 Oct, 2019 2 commits
  24. 28 May, 2019 1 commit
    • Matthias Clasen's avatar
      Rename surface constructors · d2951d3a
      Matthias Clasen authored
      We want to use a gdk_surface_new_popup for popups,
      and align the constructor names with the surface
      types, so rename
      
      gdk_surface_new_popup -> gdk_surface_new_temp
      gdk_surface_new_popup_full -> gdk_surface_new_popup
      
      The temp surface type will disappear eventually.
      d2951d3a
  25. 02 Apr, 2019 1 commit
    • Emmanuele Bassi's avatar
      Remove GtkLayout · 447dfc02
      Emmanuele Bassi authored
      The need of a specialised fixed layout container that can be placed into
      a GtkScrolledWindow ceased to exist once GtkScrolledWindow gained the
      ability to automatically interpose a GtkViewport when adding a child
      that does not implement GtkScrollable.
      
      All the other justifications that led to the existence of GtkLayout as a
      separate widget from GtkFixed have been largely made irrelevant in the
      20 years since its inception.
      447dfc02
  26. 26 Mar, 2019 1 commit
    • Emmanuele Bassi's avatar
      Skip all LayoutChild when testing · fc33bf2d
      Emmanuele Bassi authored
      GtkLayoutChild instances are created on demand once we have a widget, a
      GtkLayoutManager, and a child widget. This makes testing their creation
      fairly tricky.
      
      Let's skip them, for the time being.
      fc33bf2d
  27. 21 Feb, 2019 1 commit
  28. 19 Feb, 2019 1 commit
  29. 13 Feb, 2019 1 commit
  30. 16 Sep, 2018 1 commit
  31. 29 Jun, 2018 1 commit
    • Daniel Boles's avatar
      testsuite/gtk/defaultvalue: Actually build...& fix · ca94ff10
      Daniel Boles authored
      It looks like this got dropped during the move from autotools and never
      restored. I can see why, since making it work wasn't a hugely fun task!
      
      Notes on some less then obvious details:
       * PlacesSidebar is private now and didn't seem to be to be particularly
         easy to adapt to, so this moves to checking for it by name, not TYPE.
         I couldn't find a (fast) better way; if you know how, please clean up
       * added 2 casts to avoid warnings from the new type-propagating ref()
       * GdkClipboard and GdkContentProvider need some properties dodged
       * GtkToolItemGroup is gone
       * fixed indentation and used TypeName:property-name syntax in a print()
      ca94ff10