Commit Graph

83 Commits

Author SHA1 Message Date
30e4a7ee5e Issue #3112 - Missing mnemonics. 2019-08-05 20:06:50 +00:00
ff7ca87c09 app: GtkAction -> GAction madness part two
Change all action callbacks so they can be invoked by a GAction:

- add GimpActionCallback typedef:
  void (* cb) (GimpAction*, GVariant*, gpointer)
- change all action callbacks to the GimpActionCallback signature
- add "gimp-activate" and "gimp-change-state" signals to GimpAction,
  with the same signature as the resp. GAction signals
- remove all other custom action signals and only use the new
  GimpAction signals
- pass around appropriate GVariants containing booleans, int32,
  strings
- badly hack around to force a GimpProcedure pointer into a
  uint64 variant
- remove all G_CALLBACK() casts from all action callbacks,
  they all have the same signature now

(cherry picked from commit 3b6b3fc189)
2019-07-04 01:32:18 +02:00
417d0dccd7 app: start porting away from GtkAction and friends
Step one: get rid of all those deprecation warnings that make
it hard to see any other warnings:

- add a lot of dummy API to GimpAction, GimpActionGroup, GimpUIManager
  etc. which simply forwards to the deprecated GTK functions, they
  will all go away again later
- rename GimpAction to GimpActionImpl
- add interface GimpAction that is implemented by all action classes,
  creates a common interface and allows to remove some duplicated
  logic from GimpToggleAction and GimpRadioAction, and at the same
  time adds more features

(cherry picked from commit 86e07c16b5)

Merged to gimp-2-10 to keep the diff to master as small as possible
2019-07-02 14:57:45 +02:00
Ell
23ae869f21 app: remove "Edit -> Fade..."
This commit completely removes the "Edit -> Fade..." feature,
because...

- The main reason is that "fade" requires us to keep two buffers,
  instead of one, for each fadeable undo step, doubling (or worse,
  since the extra buffer might have higher precision than the
  drawable) the space consumed by these steps.  This has notable
  impact when editing large images.  This overhead is incurred even
  when not actually using "fade", and since it seems to be very
  rarely used, this is too wasteful.

- "Fade" is broken in 2.10: when comitting a filter, we copy the
  cached parts of the result into the apply buffer.  However, the
  result cache sits after the mode node, while the apply buffer
  should contain the result of the filter *before* the mode node,
  which can lead to wrong results in the general case.

- The same behavior can be trivially achieved "manually", by
  duplicating the layer, editing the duplicate, and changing its
  opacity/mode.

- If we really want this feature, now that most filters are GEGL
  ops, it makes more sense to just add opacity/mode options to the
  filter tool, instead of having this be a separate step.

(cherry picked from commit ed7ea51fb7)
2018-12-27 11:45:11 -05:00
a88c0ffb93 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
9e77a0f88b Add default keyboard shortcut for Paste in Place, Ctrl+Alt+V, that matches Inkscape's one 2017-12-05 21:07:56 +03:00
d680c5453f app: fix typo in a translatable string 2017-11-12 19:14:36 +01:00
f12d0d8c29 Bug 789764 - Please add Paste In Place feature
Add "In Place" variants for all sorts of pasting:

- extend the GimpPasteType enum with IN_PLACE values
- add the needed actions and menu items
- merge the action callbacks into one, taking an enum value as parameter
- refactor the pasting code in gimp-edit.c into smaller functions

We probably have too menu items in the "Edit" menu now, needs to be
sorted out.
2017-11-12 18:41:05 +01:00
54683840e3 app: rename GimpTool::get_undo_desc() and ::get_redo_desc()
to ::can_undo() and ::can_redo(). They still return description
strings and the new naming is slightly off :) but get_undo_desc() will
be needed for something else soon, and half of the time the functions
are indeed used to check whether there are undo/redo staps at all.
2017-07-04 20:43:28 +02:00
dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
91e861adcc libgimpwidgets, *: deprecating stock IDs for good, part one...
Remove all stock items added since 2.8, restore accidentially removed
ones, and rename the newly added GIMP_STOCK_* defines to GIMP_ICON_*.

(will move to having GIMP_ICON_* defines instead of magic hardcoded
strings for all icons).
2017-02-28 19:31:27 +01:00
9f9307edcb app: color manage the new color tag color areas 2016-10-30 18:05:57 +01:00
3ed4b3bbec app: add "paste as new layers" for the list of named buffers
and globally reorder "paste as new layer" before "paste as new image"
so it's next to "paste" and "paste into".
2016-09-20 20:43:01 +02:00
08513f50f8 app: paste as new layer if the target layer can't be modified
Which happens on layer groups and locked drawables.
2016-09-19 12:36:11 +02:00
557965e593 app, menus: rename everything "paste as new" to "paste as new image"
Actions, functions, variables, help IDs. Also added user profile
migration code for importing old menurc files.
2016-09-19 12:15:39 +02:00
6c674e973c app, libgimp*, plug-ins, icons: revert icon names into freedesktop...
... standard icon names and GTK+ icon names as second choice.
We should only use GIMP specific icon names as last resort, when there
is no standard or GTK+ names dedicated to the function.
This is made possible thanks to commit 3cc77b0.

s/gimp-document-recent/document-open-recent/
s/gimp-indent/format-indent-more/
s/gimp-next/go-next/
s/gimp-previous/go-previous/
s/gimp-save/document-save/
s/gimp-save-as/document-save-as/
s/gimp-revert/document-revert/
s/gimp-open/document-open/
s/gimp-document-recent/document-open-recent/
s/gimp-quit/window-close/ ou s/gimp-quit/application-exit/
s/gimp-warning/dialog-warning/
s/gimp-edit-clear/edit-clear/

s/gimp-justify-.*/gtk-justify-.*/
s/gimp-font/gtk-select-font/
s/gimp-color-palette/gtk-select-color/
s/gimp-cancel/gtk-cancel/
2016-09-03 15:49:29 +02:00
0ae2422c77 icons: Bug 759904
patch: replace "edit-copy" by "gimp-clipboard" (or GIMP_STOCK_CLIPBOARD)

gimp/app/actions/palettes-actions.c:  { "palettes-copy-location", "edit-copy",
gimp/app/actions/mypaint-brushes-actions.c:  { "mypaint-brushes-copy-location", "edit-copy",
gimp/app/actions/vectors-actions.c:  { "vectors-copy", "edit-copy",
gimp/app/actions/dynamics-actions.c:  { "dynamics-copy-location", "edit-copy",
gimp/app/actions/tool-presets-actions.c:  { "tool-presets-copy-location", "edit-copy",
gimp/app/actions/edit-actions.c:  { "edit-copy", "edit-copy",
gimp/app/actions/patterns-actions.c:  { "patterns-copy-location", "edit-copy",
gimp/app/actions/documents-actions.c:  { "documents-copy-location", "edit-copy",
gimp/app/actions/brushes-actions.c:  { "brushes-copy-location", "edit-copy",
gimp/app/actions/gradients-actions.c:  { "gradients-copy-location", "edit-copy",

patch: replace "edit-copy" by "gimp-duplicate" (or GIMP_STOCK_DUPLICATE)

gimp/app/actions/edit-actions.c:  { "edit-named-copy", "edit-copy", duplicate
gimp/app/actions/text-tool-actions.c:  { "text-tool-copy", "edit-copy", duplicate
2016-06-10 13:50:46 +02:00
312691312d icons: Bug 759904
add
gimp-shred

patch: replace "edit-clear" by "gimp-shred" (or GIMP_STOCK_SHRED)

gimp/app/actions/documents-commands.c:                                    "edit-clear",
gimp/gimp/app/actions/edit-actions.c:  { "edit-undo-clear", "edit-clear",
gimp/app/actions/documents-actions.c:  { "documents-clear", "edit-clear",
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("edit-clear", shred

add
gimp-edit-clear

patch: replace "edit-clear" by "gimp-edit-clear" (or GIMP_STOCK_EDIT_CLEAR)

gimp/app/actions/text-editor-actions.c:  { "text-editor-clear", "edit-clear",
gimp/app/actions/edit-actions.c:  { "edit-clear", "edit-clear",
gimp/app/actions/error-console-actions.c:  { "error-console-clear", "edit-clear",
gimp/app/actions/text-tool-actions.c:  { "text-tool-clear", "edit-clear",
gimp/app/widgets/gimptextstyleeditor.c:  image = gtk_image_new_from_icon_name ("edit-clear", GTK_ICON_SIZE_MENU);
gimp/app/dialogs/preferences-dialog.c:  button = prefs_button_add ("edit-clear",


patch
gimpicons.c
gimpicons.h

update
icon-list.mk
2016-06-10 13:50:45 +02:00
ef78897c67 app: set a color config on color areas created from menu actions
and set a GimpContext on the actions so they can find the config.
2016-05-28 03:01:37 +02:00
425748dab0 libgimpbase, *: rename GimpFillType values: GIMP_FOO_FILL -> GIMP_FILL_FOO
Change all users accordingly and add compat enum values and compat
constants to script-fu and pygimp.
2014-06-03 01:11:32 +02:00
65a65947d9 app, libgimp: replace GTK_STOCK_FOO by icon names
unless it's a stock ID used for an action button, will address that
later.
2014-05-11 22:49:22 +02:00
8320381885 app: add untested infrastructure for tool-internal undo/redo
Add virtual functions GimpTool::undo(), ::redo(), ::get_undo_desc()
and ::get_redo_desc() and corresponding wrappers in tool_manager.

Make the edit-undo and edit-redo actions check tool undo/redo first
before invoking image undo/redo.
2013-05-12 19:51:52 +02:00
579d894778 app: turn GimpDrawable::apply_region() into ::apply_buffer()
and GimpDrawableUndo.src2_tiles into applied_buffer.
2012-05-02 17:46:11 +02:00
3066a8228a app: use <primary> instead of <control> in accelerator strings
but generically change it back to <control> for GTK+ < 2.24.7.
This enables using the Command modifier on OSX,
2011-09-16 22:59:58 +02:00
10b4155b95 app: never make Edit -> Buffers -> Paste Named insensitive
because it simply opens the buffers dockable, which is always
possible.
2011-04-28 01:56:37 +02:00
61025c6023 Bug 624824 - use gtk-image-menu-item-set-always-show-image on some menu items
Always show icons for:

- Fill FG/BG/Pattern
- Rotate
- Recently opened
- Open images
2011-04-02 15:38:55 +02:00
09c897262e Move all undo-related members to GimpImagePrivate
Also add some new API to access them.
2010-02-04 20:06:49 +01:00
a3558e3cb8 Remove GIMP_OBJECT() casts when calling gimp_object_get_name() 2009-08-31 22:47:18 +02:00
02903d6970 Use gimp_item_is_content_locked() instead of gimp_item_get_lock_content()
Use the new API whenever we want to determine the item's effective
lock state (whether we can write to the item's content or not). Use
gimp_item_get_lock_content() only in code that actually deals with
*this* item's locked state, which is only the PDB wrappers and GUI to
modify the flag on the item itself.
2009-08-29 15:27:04 +02:00
85c6af5d42 Separate checks for "writable" from "is group" when setting sensitivity 2009-08-29 12:51:58 +02:00
7262e45df9 Made modifying actions insensitive when the active item is locked
Use the term "writable" in the code as a shortcut for "there is an
active item and it is not locked".
2009-08-20 17:11:31 +02:00
907971bab3 Bug 563966 - Edit - Copy _Visible Named tooltip can be improved
Mention "what is visible" in the tooltip for edit-named-copy-visible.
2009-06-11 13:41:05 +02:00
e148dfd6a2 Bug 576909 – "_Paste" and "_Paste as" have the same mnemonic
2009-03-27  Sven Neumann  <sven@gimp.org>

	Bug 576909 – "_Paste" and "_Paste as" have the same mnemonic

	* app/actions/edit-actions.c: resolved colliding mnemonics.


svn path=/trunk/; revision=28223
2009-03-27 19:25:12 +00:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
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
2009-01-17 22:28:01 +00:00
ff6bde0a88 also use the translation context for the tooltips.
2008-12-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: also use the translation
	context for the tooltips.

	* app/actions/*.c: added translation context to all tooltips. 
Also
	improved some tooltips while I was on it.


svn path=/trunk/; revision=27757
2008-12-04 10:32:20 +00:00
74e76f2c6a added an extra parameter for the translation context to all
2008-12-03  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: added an extra parameter for
	the translation context to all gimp_action_group_add methods.

	* app/actions/*.c: added a translation context to all action
	labels. Also unified and improved the labels and tooltips in a 
few
	places.


svn path=/trunk/; revision=27754
2008-12-03 15:27:42 +00:00
5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
bc75eec6fc formatting.
2008-09-17  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c (edit_actions_update): formatting.


svn path=/trunk/; revision=26979
2008-09-17 21:54:53 +00:00
97b36969a1 removed double "the" from translatable string. Fixes bug #552127.
2008-09-13  Michael Schumacher  <schumaml@cvs.gnome.org>

	* app/actions/edit-actions.c (edit_actions): removed double "the"
	from translatable string. Fixes bug #552127.

svn path=/trunk/; revision=26941
2008-09-13 20:03:29 +00:00
7ee3d7f448 app/actions/edit-commands.[ch] added new action "edit-paste-as-new-layer".
2008-08-07  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-commands.[ch]
	* app/actions/edit-actions.c: added new action
	"edit-paste-as-new-layer".

	* app/widgets/gimphelp-ids.h: added new help-id.

	* menus/image-menu.xml.in: added the new action.


svn path=/trunk/; revision=26424
2008-08-07 16:25:46 +00:00
1c7a427e61 app/actions/layers-actions.c added new action "layers-new-from-visible".
2008-08-07  Sven Neumann  <sven@gimp.org>

	* app/actions/layers-actions.c
	* app/actions/layers-commands.[ch]: added new action
	"layers-new-from-visible".

	* app/widgets/gimphelp-ids.h: added new help-id.

	* menus/layers-menu.xml
	* menus/image-menu.xml.in: added the new action.

	* app/actions/edit-actions.c: improved the blurb for
	"edit-copy-visible".


svn path=/trunk/; revision=26421
2008-08-07 15:53:15 +00:00
1bf5911cfa added mnemnic for "edit-paste-as-new" menu item.
2008-04-09  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c (edit_actions): added mnemnic for
	"edit-paste-as-new" menu item.

svn path=/trunk/; revision=25429
2008-04-09 11:10:12 +00:00
e173c6facb add "File/New" submenu and an "Acquire" placeholder inside it. Removed
2008-04-09  Michael Natterer  <mitch@gimp.org>

	* menus/image-menu.xml.in: add "File/New" submenu and an "Acquire"
	placeholder inside it. Removed "File/Acquire". Removed the "Xtns"
	menu.

	* app/plug-in/plug-in-menu-path.[ch] (plug_in_menu_path_map):
	add "menu_label" parameter and add support for mapping around
	individual menu items while preserving their translation and
	mnemonics. Add mappings for the known menus from "Xtns" and map
	them to "File/New".

	Map everything else in "Xtns" to "Filters/Extensions".

	* app/plug-in/gimppluginmanager-menu-branch.c
	(gimp_plug_in_manager_add_menu_branch): pass the menu_label so
	menu branches can be mapped with their translation.

	* app/plug-in/gimppluginprocedure.c
	(gimp_plug_in_procedure_add_menu_path): pass NULL because mapping
	menu items which have no submenu makes no sense and is redundant.

	* app/actions/image-actions.c: remove the "Xtns" menu action.

	* app/actions/file-actions.c: add action for the "File/New" menu
	and removed the "File/Acquire" action.

	* app/actions/edit-actions.c: rename "Paste as New" to
	"From Clipboard".

	* menus/image-menu.xml.in: add the "From Clipboard" action to the
	"File/New" menu.


svn path=/trunk/; revision=25427
2008-04-09 10:48:01 +00:00
3aa5feb324 removed default keyboard shortcuts from actions that work with named
2008-02-24  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c: removed default keyboard shortcuts
	from actions that work with named buffers. Use Ctrl-Shift-V as 
the
	default keyboard shortcut for "Paste As New Image" and
	Ctrl-Shift-C for "Copy Visible".


svn path=/trunk/; revision=24954
2008-02-24 14:23:24 +00:00
a5d10b2ff0 renamed gimp_image_active_drawable() to gimp_image_get_active_drawable().
2007-07-19  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: renamed gimp_image_active_drawable() to
	gimp_image_get_active_drawable().

	* app/[lots of files]
	* tools/pdbgen/pdb/paths.pdb
	* tools/pdbgen/pdb/image.pdb: changed accordingly.

svn path=/trunk/; revision=22958
2007-07-19 14:59:51 +00:00
6fd436f9cb app/actions/dialogs-actions.c app/actions/dock-actions.c
2007-03-31  Michael Natterer  <mitch@gimp.org>

	* app/actions/dialogs-actions.c
	* app/actions/dock-actions.c
	* app/actions/edit-actions.c
	* app/actions/file-actions.c
	* app/actions/help-actions.c
	* app/actions/layers-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tools-actions.c
	* app/actions/vectors-actions.c
	* app/actions/view-actions.c
	* app/actions/window-actions.c: add many missing action tooltips
	and fixed some broken/inconsistent ones. Sorry for the big string
	change but the inconsistenties were just too big to ship 2.4 like
	that.


svn path=/trunk/; revision=22204
2007-03-31 11:38:47 +00:00
45f53ad8cd changed "undo-editor-popup" to "undo-popup". This was forgotten in the fix
2006-12-18  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c (edit_actions): changed
	"undo-editor-popup" to "undo-popup". This was forgotten in the
fix
	for #345251. Fixes bug #386960.
2006-12-18 20:33:10 +00:00
04ef165e77 plugged a tiny memleak.
2006-12-12  Sven Neumann  <sven@gimp.org>

	* app/actions/edit-actions.c (edit_actions_update): plugged a tiny
	memleak.
2006-12-12 13:58:43 +00:00
41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
e634d4d718 Added "Edit -> Fade" which allows to modify the paint mode and opacity of
2006-10-21  Michael Natterer  <mitch@gimp.org>

	Added "Edit -> Fade" which allows to modify the paint mode and
	opacity of the last drawable operation (fill, plugins etc.).
	Started from a patch by Bill Skaggs. Fixes bug #170707.

	* app/base/base-enums.[ch] (enum GimpLayerModeEffects): register
	the values REPLACE_MODE, ERASE_MODE and ANTI_ERASE_MODE with
	the type system.

	* app/widgets/gimppropwidgets.[ch]
	* app/widgets/gimpwidgets-constructors.[ch]: added "gboolean
	with_replace_modes" to the paint mode menu constructors.

	* app/tools/gimppaintoptions-gui.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimplayertreeview.c: pass with_replace_modes = FALSE.

	* app/core/gimpdrawableundo.[ch]: added members which keep tiles,
	paint mode and opacity of the pasted pixels.

	* app/core/gimpimage-undo.[ch] (gimp_image_undo_get_fadeable):
	returns a GimpUndo suitable for a fade operation, or NULL.

	* app/core/gimp-edit.[ch] (gimp_edit_fade): implements the actual
	fade by undoing the last operation and then re-applying the pixels
	with different paint mode and opacity.

	* app/core/gimpdrawable-combine.c: store the pasted pixels in
	the GimpDrawableUndo.

	* app/actions/edit-actions.c
	* app/actions/edit-commands.[ch]: action and callback for fade.

	* app/dialogs/Makefile.am
	* app/dialogs/fade-dialog.[ch]: the fade dialog.

	* app/widgets/gimphelp-ids.h: the fade help ID.

	* menus/image-menu.xml.in: added a menu entry in "Edit".
2006-10-21 18:46:49 +00:00