1. 11 Jul, 2018 1 commit
  2. 20 May, 2018 2 commits
  3. 20 May, 2016 1 commit
  4. 03 May, 2014 1 commit
  5. 02 May, 2014 1 commit
    • Michael Natterer's avatar
      app: make things behave more reasonable with multiple monitors · 843866e7
      Michael Natterer authored
      There is now a preference option that determines whether windows
      should be opened on the same monitor as before. It should be disabled
      when the machine gets monitors plugged/unplugged dynamically ("laptop")
      and enabled when there is a static multi-monitor setup ("wokstation").
      This is merely the current simplistic policy on top of the newly added
      underlying infrastructure:
      
      - pass integer monitor numbers around in all places where we already
        pass around a GdkScreen. Pass the "current" monitor to these changed
        APIs, where "current" is either the monitor where the action-triggering
        widget is, or if that is unavailable the monitor where the mouse is.
      
      - add gimp_widget_get_monitor() in order to easily get to the monitor,
        just like gtk_widget_get_screen().
      
      - add screen and monitor parameters in some places that were missed
        before.
      
      - in sessionrc, save all window positions relative to the window's
        monitor, and save the monitor separately, if it's not the screen's
        primary monitor.
      
      - when restoring window positions, use the stored monitor when the new
        prefs options says so (use the screen's primary monitor if there is
        no stored monitor), otherwise use current monitor that is now passed
        around.
      843866e7
  6. 15 Jun, 2013 1 commit
  7. 20 Feb, 2012 1 commit
    • Michael Natterer's avatar
      app: don't rely on gtk_container_remove() to always destroy the child · fbd746f9
      Michael Natterer authored
      Instead, either destroy the child instead of removing it, or remove
      *and* destroy it in cases where the remove() api on the "parent"
      doesn't match GTK+'s parent/child relation (like with all our dock
      widgets). We can't rely on remove() to implicitly detstroy, because
      there might be arbitrary other code holding references, such as
      accessibility modules and whatnot. Most likely fixes unclear crashes
      in accessibility code and other crashes we blamed GTK+ for.
      fbd746f9
  8. 31 May, 2011 1 commit
  9. 19 May, 2011 1 commit
    • Martin Nordholts's avatar
      app: Add the concept of 'side' of a dock · 2d5ffd4f
      Martin Nordholts authored
      Add GimpDockContainer::get_dock_side() and write that info in the
      sessionrc file. In single-window mode, a dock can be either on the
      left or right side of the image window. In a dock window however, the
      side concept doesn't apply ('side' has nothing to do with what column
      a dock is in in a GimpDockColumns)
      2d5ffd4f
  10. 13 May, 2011 3 commits
  11. 12 May, 2011 1 commit
  12. 21 Apr, 2011 1 commit
    • Martin Nordholts's avatar
      app: GimpSessionInfoDock::identifier -> dock_type · f75f6177
      Martin Nordholts authored
      Rename GimpSessionInfoDock::identifier to dock_type, because it isn't
      really an identifier; there might be several instance with dock_type
      being "gimp-dock". This is a preparation for adding an actual
      'identifier' member.
      f75f6177
  13. 17 Mar, 2011 1 commit
  14. 07 Mar, 2011 1 commit
  15. 16 May, 2010 1 commit
    • Martin Nordholts's avatar
      app: Make tooltips in the toolbox work again · d7dc2dc1
      Martin Nordholts authored
      We need to be able to pass a GimpUIManager to
      gimp_dialog_factory_dialog_new(), so make that possible. Also make
      sure to set ui_manager in gimp_dialog_factory_dialog_new_internal()
      when we create both a dock window and a dock, so tooltips works in
      toolboxes created from scratch.
      d7dc2dc1
  16. 20 Jan, 2010 1 commit
    • Martin Nordholts's avatar
      app: Merge 'global_toolbox_factory' into 'global_dock_factory' · 1093462a
      Martin Nordholts authored
      Get rid of 'global_toolbox_factory' and manage everything dock-related
      with 'global_dock_factory'. The whole of 'global_toolbox_factory' was
      a big special-case and getting rid of it makes it easier to extend the
      session management with e.g. single-window mode dock functionality.
      
      To get rid of 'global_toolbox_factory' we, roughly, have to
       * Replace 'global_toolbox_factory' with 'global_dock_factory'
         everywhere. We can also get rid of lots of code that did special
         things for the "toolbox" factory.
       * Make the use or interaction with the toolbox explicit in some
         places. For example, a function gimp_dock_window_has_toolbox() has
         been introduced.
       * Make GimpSessionInfoDock have an 'identifier' parameter so we can
         differentiate between the "gimp-dock" and "gimp-toolbox" dock
         types.
      1093462a
  17. 19 Jan, 2010 2 commits
    • Martin Nordholts's avatar
      app: global_dock_window_factory -> global_dock_factory · 66197c5d
      Martin Nordholts authored
      Rename back global_dock_window_factory to
      global_dock_factory. Renaming to global_dock_window_factory was done
      under the assumption that there would be a separate factory that would
      create non-toplevel dockables, but I don't expect this to happen in
      the forseeable future.
      66197c5d
    • Martin Nordholts's avatar
      app: Have dialog factory entries for the dock windows · 56a8cb68
      Martin Nordholts authored
      Let dock windows have proper GimpDialogFactory entries. This allows us
      to get rid of a lot of ugly mostly duplicated code. This also makes us
      ready the merge the dock window and toolbox factories which will soon
      be done. A few things should be noted:
      
       * We adjust the wrap box aspect ratio in the toolbox to avoid having
         the toolbox dock window explode
      
       * We make sure that we still can handle sessionrc files from GIMP 2.6
         and older
      56a8cb68
  18. 16 Jan, 2010 1 commit
    • Martin Nordholts's avatar
      app: Use the dialog factory for creating docks · 408c22b7
      Martin Nordholts authored
      Instead of having one dock constructor per dialog factory, put entries
      for the normal dock and the toolbox dock in the dock window
      factory. To do this we also need to merge the dock and normal dialog
      constructors into one function protptype.
      
      This takes us one step closer to be able to merge the
      global_dock_window_factory and the global_toolbox_factory into one.
      
      The long term goal: Support multi-column dock windows with one of the
      docks being the toolbox. In this situation we can't have the toolbox
      dock created by a separate dialog factory, that is too messy.
      408c22b7
  19. 06 Dec, 2009 1 commit
    • Martin Nordholts's avatar
      app: Session manage multi-column dock windows · 34ad9dad
      Martin Nordholts authored
      Introduce GimpSessionInfoDock and session manage multi-column dock
      windows. We are still backwards compatible with sessionrc, the only
      difference is that a "session-info" entry now can have multiple "dock"
      entries.
      
      Also make ond dock window multi-column in the regression test
      app/tests/test-session-management.c and adjust positions and image
      selection menus a bit.
      34ad9dad
  20. 05 Dec, 2009 1 commit
  21. 01 Dec, 2009 1 commit
  22. 26 Sep, 2009 1 commit
    • Martin Nordholts's avatar
      app: Make GimpDock a GtkVBox · 4f7693ac
      Martin Nordholts authored
      Make GimpDock be a GtkVBox instead of a GimpDockWindow. This means we
      can now put a GimpDock anywhere, including inside an image window.
      
      In order to do this we need to:
      
       * Separate dock and dock window creation in the dialog factory and
         add a couple of new dock window constructors
      
       * Change gimp_dialog_factory_dock_new() to not only create a dock,
         but also create a dock window and then combine those two
      
       * Change the dock constructor to take a GimpUIManager since they
         depend on that during their construction. We get the ui manager
         from the dock window, but we can't create the dock *inside* the
         dock window, we have to add the dock later. So we create the dock
         window first and then pass its ui manager to the dock constructors
      
       * Make some other minor adaptions, mostly with
         gimp_dock_window_from_dock() and gimp_dock_window_get_dock()
      4f7693ac
  23. 20 Sep, 2009 1 commit
  24. 17 Jan, 2009 1 commit
    • Michael Natterer's avatar
      Change licence to GPLv3 (and to LGPLv3 for libgimp). · d9b5207a
      Michael Natterer authored
      2009-01-17  Michael Natterer  <mitch@gimp.org>
      
      	* all files with a GPL header and all COPYING files:
      
      	Change licence to GPLv3 (and to LGPLv3 for libgimp).
      
      	Cleaned up some copyright headers and regenerated the parsers in
      	the ImageMap plugin.
      
      
      svn path=/trunk/; revision=27913
      d9b5207a
  25. 04 Jan, 2009 1 commit
    • Martin Nordholts's avatar
      Make instance members private. · 7c964523
      Martin Nordholts authored
      * app/widgets/gimpdock.[ch]: Make instance members private.
      
      (gimp_dock_get_context)
      (gimp_dock_get_dialog_factory)
      (gimp_dock_get_dockbooks)
      (gimp_dock_get_main_vbox)
      (gimp_dock_get_vbox)
      (gimp_dock_get_id): New getters.
      
      * app/actions/actions.c
      * app/actions/dockable-actions.c
      * app/actions/dockable-commands.c
      * app/actions/windows-actions.c
      * app/menus/windows-menu.c
      * app/widgets/gimpdialogfactory.c
      * app/widgets/gimpdock.c
      * app/widgets/gimpdock.h
      * app/widgets/gimpdockable.c
      * app/widgets/gimpdockbook.c
      * app/widgets/gimpdockseparator.c
      * app/widgets/gimpimagedock.c
      * app/widgets/gimpmenudock.c
      * app/widgets/gimpsessioninfo-book.c
      * app/widgets/gimpsessioninfo-dock.c
      * app/widgets/gimpsessioninfo-dockable.c
      * app/widgets/gimptoolbox-color-area.c
      * app/widgets/gimptoolbox-dnd.c
      * app/widgets/gimptoolbox-image-area.c
      * app/widgets/gimptoolbox-indicator-area.c
      * app/widgets/gimptoolbox.c: Use new getters.
      
      svn path=/trunk/; revision=27881
      7c964523
  26. 28 Jun, 2008 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpactionview.c app/widgets/gimpblobeditor.c · f53ed53c
      Michael Natterer authored
      2008-06-28  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpactionview.c
      	* app/widgets/gimpblobeditor.c
      	* app/widgets/gimpbrushfactoryview.c
      	* app/widgets/gimpbrushselect.c
      	* app/widgets/gimpcellrendererdashes.c
      	* app/widgets/gimpcellrendererviewable.c
      	* app/widgets/gimpcolorbar.c
      	* app/widgets/gimpcoloreditor.c
      	* app/widgets/gimpcolorframe.c
      	* app/widgets/gimpcomponenteditor.c
      	* app/widgets/gimpcontainerbox.c
      	* app/widgets/gimpcontainergridview.c
      	* app/widgets/gimpcontainerpopup.c
      	* app/widgets/gimpcontainertreeview.c
      	* app/widgets/gimpcurveview.c
      	* app/widgets/gimpdasheditor.c
      	* app/widgets/gimpdatafactoryview.c
      	* app/widgets/gimpdock.c
      	* app/widgets/gimpdockable.c
      	* app/widgets/gimpdockseparator.c
      	* app/widgets/gimpfgbgeditor.c
      	* app/widgets/gimpfgbgview.c
      	* app/widgets/gimpgradienteditor.c
      	* app/widgets/gimphandlebar.c
      	* app/widgets/gimphistogrambox.c
      	* app/widgets/gimphistogramview.c
      	* app/widgets/gimpitemtreeview.c
      	* app/widgets/gimpmenudock.c
      	* app/widgets/gimpmessagebox.c
      	* app/widgets/gimppaletteview.c
      	* app/widgets/gimpscalebutton.c
      	* app/widgets/gimpsessioninfo-book.c
      	* app/widgets/gimpsessioninfo-dock.c
      	* app/widgets/gimpsettingseditor.c
      	* app/widgets/gimpstrokeeditor.c
      	* app/widgets/gimptemplateeditor.c
      	* app/widgets/gimptemplateview.c
      	* app/widgets/gimpthumbbox.c
      	* app/widgets/gimptoolbox.c
      	* app/widgets/gimptooloptionseditor.c
      	* app/widgets/gimptoolview.c
      	* app/widgets/gimpuimanager.c
      	* app/widgets/gimpviewabledialog.c
      	* app/widgets/gimpviewrenderervectors.c
      	* app/widgets/gimpwidgets-utils.c: use accessors instead of
      	accessing members of GTK+ widgets directly.
      
      
      svn path=/trunk/; revision=26008
      f53ed53c
  27. 14 May, 2008 1 commit
    • Michael Natterer's avatar
      remove widget member from struct GimpSessionInfoBook. Return the created · 9ca46cca
      Michael Natterer authored
      2008-05-14  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpsessioninfo-book.[ch]: remove widget member from
      	struct GimpSessionInfoBook. Return the created GimpDockbook from
      	restore().
      
      	* app/widgets/gimpsessioninfo-dock.c (restore): use the returned
      	book instead of the struct member.
      
      
      svn path=/trunk/; revision=25658
      9ca46cca
  28. 13 May, 2008 1 commit
    • Michael Natterer's avatar
      Made session info serialization independent from widgets so it can be used · 5766498f
      Michael Natterer authored
      2008-05-14  Michael Natterer  <mitch@gimp.org>
      
      	Made session info serialization independent from widgets so it can
      	be used on stored dock layouts which are not open:
      
      	* app/widgets/gimpsessioninfo-book.[ch]
      	* app/widgets/gimpsessioninfo-dock.[ch]
      	* app/widgets/gimpsessioninfo-dockable.[ch]: add from_widget()
      	functions which return newly allocated session info structs.
      	Changed serialize() functions to take these structs instead of
      	widgets. Changed deserialize() functions to return the structs
      	instead of appending them to lists in their parent structs. Don't
      	free anything in restore().
      
      	* app/widgets/gimpsessioninfo-aux.[ch]
      	(gimp_session_info_aux_serialize): take a GList of aux_info
      	instead of a widget.
      
      	* app/widgets/gimpsessioninfo.[ch]: add new functions get_info()
      	which collects above session info details from dialogs and
      	clear_info() which clears that info. Call clear_info() from
      	finalize(). Don't free anything in restore().
      
      	* app/widgets/gimpdialogfactory.c
      	(gimp_dialog_factories_save_foreach): collect the session info
      	detials from the dialogs before serializing because serialize()
      	doesn't know about the widget any longer. Clear the infos after
      	serializing.
      
      	(gimp_dialog_factories_restore_foreach): clear the session info
      	details after creating the dialogs because restore() doesn't clear
      	the info by itself any longer.
      
      
      svn path=/trunk/; revision=25657
      5766498f
  29. 12 Mar, 2008 1 commit
    • Michael Natterer's avatar
      app/actions/data-commands.c app/actions/debug-commands.c · bc9424a2
      Michael Natterer authored
      2008-03-12  Michael Natterer  <mitch@gimp.org>
      
      	* app/actions/data-commands.c
      	* app/actions/debug-commands.c
      	* app/actions/dockable-commands.c
      	* app/dialogs/stroke-dialog.c
      	* app/display/gimpdisplayshell-handlers.c
      	* app/gui/gui-message.c
      	* app/gui/gui.c
      	* app/tools/gimpforegroundselectoptions.c
      	* app/tools/gimpinkoptions-gui.c
      	* app/widgets/gimpcolordialog.c
      	* app/widgets/gimpcontainerpopup.c
      	* app/widgets/gimpcontainerview-utils.c
      	* app/widgets/gimpdock.c
      	* app/widgets/gimpdockable.c
      	* app/widgets/gimpsessioninfo-book.c
      	* app/widgets/gimpsessioninfo-dock.c
      	* app/widgets/gimptoolbox.c
      	* app/widgets/gimpunitcombobox.c
      	* app/widgets/gimpviewablebox.c
      	* libgimp/gimpexport.c
      	* libgimpmodule/gimpmodule.h
      	* libgimpwidgets/gimpenumwidgets.c
      	* libgimpwidgets/gimpframe.c
      	* libgimpwidgets/gimpoldwidgets.c
      	* libgimpwidgets/gimpwidgets.c
      	* plug-ins/MapObject/mapobject_ui.c
      	* plug-ins/common/papertile.c
      	* plug-ins/common/sinus.c
      	* plug-ins/flame/flame.c
      	* plug-ins/helpbrowser/gimpthrobber.c
      	* plug-ins/script-fu/scheme-wrapper.c
      	* plug-ins/script-fu/script-fu-console.c: use accessors instead of
      	accessing GtkBin.child and GtkPaned.child1,2 directly.
      
      
      svn path=/trunk/; revision=25095
      bc9424a2
  30. 25 May, 2007 1 commit
    • Michael Natterer's avatar
      app/widgets/gimpsessioninfoaux.[ch] app/widgets/gimpsessioninfobook.[ch] · 1a5cfac5
      Michael Natterer authored
      2007-05-25  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpsessioninfoaux.[ch]
      	* app/widgets/gimpsessioninfobook.[ch]
      	* app/widgets/gimpsessioninfodock.[ch]
      	* app/widgets/gimpsessioninfodockable.[ch]: renamed these...
      
      	* app/widgets/gimpsessioninfo-aux.[ch]
      	* app/widgets/gimpsessioninfo-book.[ch]
      	* app/widgets/gimpsessioninfo-dock.[ch]
      	* app/widgets/gimpsessioninfo-dockable.[ch]: ...to these.
      
      	* app/widgets/Makefile.am
      	* app/widgets/gimpcoloreditor.c
      	* app/widgets/gimpcursorview.c
      	* app/widgets/gimpdataeditor.c
      	* app/widgets/gimpdocked.c
      	* app/widgets/gimphistogrameditor.c
      	* app/widgets/gimpmenudock.c
      	* app/widgets/gimppaletteeditor.c
      	* app/widgets/gimpsessioninfo.c: changed accordingly.
      
      
      svn path=/trunk/; revision=22614
      1a5cfac5
  31. 24 May, 2007 2 commits
    • Michael Natterer's avatar
      app/widgets/gimpsessioninfo.[ch] app/widgets/gimpsessioninfoaux.[ch] · 736b651d
      Michael Natterer authored
      2007-05-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpsessioninfo.[ch]
      	* app/widgets/gimpsessioninfoaux.[ch]
      	* app/widgets/gimpsessioninfobook.[ch]
      	* app/widgets/gimpsessioninfodock.c
      	* app/widgets/gimpsessioninfodockable.[ch]: cleanup.
      
      
      svn path=/trunk/; revision=22606
      736b651d
    • Michael Natterer's avatar
      removed more code and cleaned up the API. · 2bf21338
      Michael Natterer authored
      2007-05-24  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpsessioninfo.[ch]: removed more code and cleaned
      	up the API.
      
      	* app/widgets/Makefile.am
      	* app/widgets/gimpsessioninfodock.[ch]: added the removed code here.
      
      	* app/widgets/gimpdialogfactory.c: changed accordingly.
      
      
      svn path=/trunk/; revision=22604
      2bf21338