1. 14 Oct, 2016 1 commit
  2. 22 Dec, 2014 1 commit
    • Ryan Lortie's avatar
      GtkMenuTracker: add hidden-when='macos-menubar' · 6b26664c
      Ryan Lortie authored
      Provide a mechanism for hiding the "Quit", "About" and "Preferences"
      menu items from the normal places in a traditional menubar layout (in
      the File and Edit menus) when the menu is being rendered in the Mac OS
      menubar.
      
      These items can already be found in the application menu.
      
      With this feature, applications can now define a single menu to use in
      all 'traditional' scenarios.
      
      Use this new attribute in Bloatpad.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=741610
      6b26664c
  3. 28 Apr, 2014 5 commits
  4. 18 Jan, 2014 1 commit
  5. 08 Jan, 2014 1 commit
    • Ryan Lortie's avatar
      GtkMenuTrackerItem: add an internal 'visible' flag · 2b1aa12f
      Ryan Lortie authored
      Add an internal API for checking if a GtkMenuTrackerItem is visible,
      along with a signal for reporting changes in that flag.  The item will
      become invisible in situations according to the new hidden-when=''
      attribute, which can be set to 'action-disabled' or 'action-missing'.
      
      This new flag doesn't actually do anything yet, and none of the
      consumers of GtkMenuTracker do anything with it (nor should they).  A
      followup patch will address the issue.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=688421
      2b1aa12f
  6. 13 May, 2013 1 commit
    • Ryan Lortie's avatar
      add GtkMenuTrackerItem · a4276a6c
      Ryan Lortie authored
      Add a new class, GtkMenuTrackerItem that represents a menu item, to be
      used with GtkMenuTracker.
      
      GtkMenuTracker's insert callback now works in terms of this new type
      (instead of passing reference to the model and an index to the item).
      
      GtkMenuShell now handles all of the binding tasks internally, mostly
      through the use of property bindings.  Having bindings for the label and
      visibility attributes, in partiular, will help with supporting upcoming
      extensions to GMenuModel.
      
      GtkModelMenu has been reduced to a helper class that has nothing to do
      with GMenuModel.  It represents something closer to an "ideal" API for
      GtkMenuItem if we didn't have compatibility concerns (eg: not emitting
      "activate" when setting toggle state, no separate subclasses per menu
      item type, supporting icons, etc.) Improvements to GtkMenuItem could
      eventually shrink the size of this class or remove the need for it
      entirely.
      
      Some GtkActionHelper functionality has been duplicated in
      GtkMenuTracker, which is suboptimal.  The duplication exists so that
      other codebases (such as Unity and gnome-shell) can reuse the
      GtkMenuTracker code, whereas GtkActionHelper is very much tied to
      GtkWidget.  Supporting binding arbitrary GtkWidgets to actions vs.
      supporting the full range of GMenuModel features for menu items turns
      out to be two overlapping but not entirely similar problems.  Some of
      the duplication (such as roles) can be removed from GtkActionHelper once
      Gtk's internal Mac OS menubar support is ported to GtkMenuTracker.
      
      The intent to reuse the code outside of Gtk is also the reason for the
      unusual treatment of the enum type introduced in this comment.
      
      This adds no new "public" API to the Gtk library, other than types that
      we cannot make private due to GType limitations.
      a4276a6c