1. 22 Apr, 2016 1 commit
  2. 10 Jan, 2016 1 commit
  3. 12 Sep, 2015 1 commit
  4. 11 Dec, 2014 1 commit
  5. 29 Jun, 2014 1 commit
  6. 15 May, 2014 1 commit
  7. 07 Feb, 2014 1 commit
  8. 05 Feb, 2014 1 commit
  9. 04 Feb, 2014 2 commits
  10. 22 Jan, 2014 1 commit
  11. 29 Oct, 2013 1 commit
  12. 15 Oct, 2013 1 commit
    • Ryan Lortie's avatar
      GtkActionMuxer: store primary accels · 3f8c2355
      Ryan Lortie authored
      Reuse the existing infrastructure in GtkActionMuxer for propagation of
      accelerator information: in particular, what accel label ought to appear
      on menu items for a particular action and target.
      
      This is a good idea because we want accels to travel along with the
      actions that they're tied to and reusing GtkActionMuxer will allow us to
      do that without creating another hierarchy of a different class for the
      sole purpose of filling in accel labels on menu items.
      
      Doing it this ways also allows those who copy/paste GtkActionMuxer to
      insert the accels for themselves.
      
      Add a new method on the GtkActionObserver interface to report changes.
      
      This patch introduces a new concept: "action and target" notation for
      actions.  This format looks like so:
      
        "'target'|app.action"
      
      or for non-targeted actions:
      
        "|app.action"
      
      and it is used over a number of possible alternative formats for some
      good reasons:
      
       - it's very easy to get a nul-terminated action name out of this format
         when we need it, by using strrchr('|') + 1
      
       - we can also get the target out of it using g_variant_parse() because
         this function takes a pointer to a 'limit' character that is not
         parsed past: we use the '|' for this
      
       - it's extremely easy to hash on this format (just use a normal string
         hash) vs. attempting to hash on a string plus a GVariant
      
      A close contender was to use detailed action strings here, but these are
      not used for two reasons:
      
       - it's not possible to easily get the action name or target out of the
         strings without more work than the "action and target" format
         requires
      
       - we still intend to use detailed action strings on API (since they are
         a lot nicer to look at) but detailed action strings can be given in
         non-canonical forms (eg: 'foo::bar' and 'foo("bar")' are equivalent)
         so we'd have to go through a normalisation step anyway.  Since we're
         doing that already, we may as well convert to a more convenient
         internal format.
      
      This new "action and target" format is going to start appearing in a lot
      more places as action descriptions are introduced.
      
      I suspect that nobody is using '|' in their action names, but in case I
      am proven wrong, we can always switch to using something more exotic as
      a separator character (such as '\x01' or '\xff' or the like).
      3f8c2355
  13. 13 May, 2013 2 commits
    • Jasper St. Pierre's avatar
      action stuff: Introspection fixes · 6030ba48
      Jasper St. Pierre authored
      6030ba48
    • Ryan Lortie's avatar
      action stuff: stop abusing GLib's namespace · 6c49cd0e
      Ryan Lortie authored
      Rename our internal GActionMuxer, GActionObserver and GActionObservable
      classes and interfaces to have names in our own namespace.
      
      These classes were originally intended for GIO but turned out to be too
      special-purpose to be useful there, so we never made them public API but
      have just been copying them around (without bothering to properly rename
      them).  Now that other people will be copying them out of Gtk, it's even
      more important to prevent this namespace abuse from spreading further.
      6c49cd0e
  14. 20 Aug, 2012 1 commit
    • Lars Uebernickel's avatar
      GActionMuxer: add support for parent muxers · d1c458f9
      Lars Uebernickel authored
      If a muxer does not contain an action group with the given prefix, chain
      up to the "parent" muxer to look for it.
      
      This initial implementation is rather inefficient.  It will lead to
      changes on action groups associated with parent muxers being broadcast
      to all children (regardless of if anybody there is interested or not).
      An optimised version will follow soon.
      d1c458f9
  15. 29 Jun, 2012 1 commit
    • Ryan Lortie's avatar
      GActionMuxer: disconnect group signals on finalize · 6e11c310
      Ryan Lortie authored
      The signals for the action group were being disconnected when the action
      group was explicitly removed from the GActionMuxer but the same was not
      being done when it was finalized.
      
      This means that a change in the state of an action group that used to be
      associated with a finalized GActionMuxer would result in a crash.  This
      would happen for stateful application actions after closing a window.
      6e11c310
  16. 30 Mar, 2012 1 commit
  17. 27 Feb, 2012 1 commit
  18. 19 Dec, 2011 3 commits