Commit Graph

2096 Commits

Author SHA1 Message Date
Michael Natterer 7be12ec523 app: add gimp_xml_parser_parse_gfile() 2014-07-01 02:29:30 +02:00
Michael Natterer a665c30823 app: gimp_spin_button_new() -> gtk_spin_button_new() 2014-06-21 22:39:37 +02:00
Michael Natterer 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
Michael Natterer bbf01ebabf libgimpwidgets, app: add gdk_screen_get_monitor_workarea()
to the gimp3migration hack and use it where appropriate, so in the
gtk3-port branch windows will not overlap with docks, panels etc.
2014-05-19 14:37:32 +02:00
Michael Natterer 8be52f6aa7 app, libgimp*: pass translated blurbs to GIMP_CONFIG_INSTALL_PROP_FOO()
instead of passing N_()-strings; and remove gettext() calls on these
strings when using them. Reduces complexitx, and fixes double- and
untranslated strings. Also enables to treat properties of GIMP and
GEGL objects the same way, which was totally broken before.
2014-05-14 23:34:01 +02:00
Michael Natterer 9675d1b077 app: remove obsolete Gimp parameter from prefs_get_pixbufs() 2014-05-12 23:36:50 +02:00
Michael Natterer 033719bfa2 icons, themes, app: move the preferences images into the icon theme 2014-05-12 03:24:09 +02:00
Michael Natterer 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
Michael Natterer 0d2d1c3752 app: port most of app's GUI from stock IDs to icon names
There is still quite some stock ID rendering around, stay tuned...
2014-05-07 15:30:38 +02:00
Michael Natterer 9ed5b3f45e app: port GimpAction and friends to icon names 2014-05-06 23:47:38 +02:00
Michael Natterer 5ae6f2b8c0 app: try a named icon in the open-location dialog, seems to work :) 2014-05-06 22:45:45 +02:00
Michael Natterer 7cdede6dec app: rename gimp_get_screen_resolution() to get_monitor_resolution()
Add a "monitor" parameter and return something reasonable, instead
of a useless resolution average of all the screen's monitors. Also
require a screen to be passed now.
2014-05-02 23:58:14 +02:00
Michael Natterer 7f23fbec34 app: add screen and monitor to all display and image window constructors
so they appear on the proper monitor as well.
2014-05-02 20:21:41 +02:00
Michael Natterer e19ded379b app: don't call create_display() in image_new_from_template()
No other gimpimage-new function calls it; instead, call it in
image_new_from_template()'s callers.
2014-05-02 15:38:26 +02:00
Michael Natterer 843866e7e7 app: make things behave more reasonable with multiple monitors
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.
2014-05-02 03:01:23 +02:00
Michael Natterer 22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
João S. O. Bueno bb172b52c8 Implements Title bar codes for Layer dimensions
Implements codes %x, %y and %X, %Y to display
a layer's size in title and status bars
for image windows.
Addresses request at bug #728493
2014-04-21 00:30:49 -03:00
Michael Natterer 3abb84022a app: enable image new's resolution chain button only if xres == yres 2014-04-18 18:43:32 +02:00
Michael Natterer a8592e7352 app: only enable the resolution chain button if xres and yres are the same 2014-04-18 17:57:02 +02:00
Michael Natterer 1ade034c49 app: move "show paint tool cursor" logic from GimpBrushTool to GimpPaintTool
Now all paint tools (also ink and mypaint brush) honor the setting and
can work without mouse cursor.
2014-04-12 12:54:08 +02:00
Michael Natterer 661317f74c libgimpwidgets: make using GimpColorProfileComboBox easier
If the passed dialog is a GimpColorProfileChooserDialog, handle its
"response" signal automatically and also destroy it when the combo box
is destroyed (before we leaked all dialogs). Remove the same callback
from all places using GimpColorProfileComboBox.
2014-04-04 17:09:54 +02:00
Michael Natterer 3f826d02fa libgimpwidgets: make GimpColorProfileComboBox use lcms
and improve gimp_color_profile_combo_box_set_active() to get the
profile's label from the ICC file if no label was provided. Simplifies
all its callers and removes code duplication.
2014-04-02 13:03:52 +02:00
Michael Natterer 80a71f1e50 app: use GDK_KEY_foo not GDK_foo in the action search dialog 2014-04-02 01:29:44 +02:00
Michael Natterer d7037650df libgimpcolor: add gimp_lcms_profile_get_label()
which returns a string meant to label the profile in the GUI, it's
either the profile's description, its model, or "(unnamed profile)" as
a fallback. Use the function instead of duplicating that logic
inconsistently and imcompletely all over the place.
2014-03-30 03:12:42 +02:00
Michael Natterer b4a2fa916c app: fix string leak in prefs_profile_combo_box_new() 2014-03-27 19:11:13 +01:00
Michael Natterer dc8a3e8de5 libgimpwidgets: remove gimp_color_profile_chooser_dialog_get_desc()
and port its only user (the prefs dialog) to the code all other users
of GimpColorProfileChooserDialog use.
2014-03-23 23:50:54 +01:00
Michael Natterer e69ea05102 app: remove some <unistd.h> and other includes
that were needed before we switched to using GLib APIs in these files.
2014-03-22 20:26:20 +01:00
Michael Natterer 9c7cd2508f app, libgimpwidgets: move GimpProfileChooserDialog to libgimpwidgets
and call it GimpColorProfileChooserDialog. Make libgimpwidgets
depend on lcms and make it query the profile directly.
2014-03-14 22:03:08 +01:00
Michael Natterer 5be611cad7 app: away with more action search window size code 2014-02-21 22:27:38 +01:00
Michael Natterer 3085eb8b1c app: further simplify action search window size management 2014-02-21 22:14:43 +01:00
Michael Natterer 73da55cced app: rename some action search functions to be more verbose 2014-02-21 21:10:39 +01:00
Michael Natterer 053ef96059 app: remove all window position fiddling from the action search dialog
Session management already does that.
2014-02-21 21:00:38 +01:00
Michael Natterer 9f3f4dcd72 app: remove a useless hbox from the action search dialog
and don't show it, that's done generically by GimpDialogFactory.
2014-02-21 20:30:30 +01:00
Michael Natterer d739d8ccd7 app: more clean up in the action search dialog 2014-02-19 22:28:33 +01:00
Michael Henning ecf8a15811 app: Do not use strsep() in action-search-dialog.c
It's not available on windows.
2014-02-19 10:58:09 -05:00
Jehan 16282063ef app: add action names as action search tooltips in unstable builds.
This is useful for debugging though current consensus is that the finale
user should not care about the technical name of an action.
I did also some minor code cleanup when setting up the model columns.
2014-02-19 14:25:36 +13:00
Michael Natterer 00348ffc0c app: more action search cleanup
- standard copyright headers
- use gtk_action_is_sensitive() not get_sensitive()
- formatting
2014-02-18 23:24:48 +01:00
Michael Natterer 36f87b5b2b app: clean up the new action search a bit
- order some stuff alphabetically and consistently
- move action from help-actions to dialogs-actions
- fix OS/X menu item fiddling (untested)
2014-02-18 20:10:24 +01:00
Jehan 5903e53d51 Bug 708174 - Improve the original search dialog patch.
Fix various bugs, improve code design and efficiency, change feature
name, update the feature up to our standards (now uses GIMP preferences,
session management, less overwhelming settings...).
Also now action history is tightly tied to GimpAction and logs all
action activation (however it activates, and the show_unavailable
parameter also applies to history).
Search algorithm greatly improved with basic tokenization, better
ordering, filtering, etc.
2014-02-18 19:13:03 +01:00
Srihari fc8f6c127f Bug 708174 - A text based intent driving tool for GIMP (Tito) 2014-02-18 19:13:03 +01:00
Michael Natterer 4d6640ff79 Bug 721249 - pdb.gimp_context_set_brush_size() dont't work
Port selection/path stroking to using the PDB-controllable
paint options that live in GimpPDBContext.

Change gimp_item_stroke()'s "use_default_values" boolean which was
introduced at a time where we had no better way by a GimpPaintOptions
parameter. If a non-NULL paint_options is passed (when called from the
PDB), use it for stroking; if NULL is passed, use the actual paint
tool options from the GUI (when called from the menus or the stroke
dialog). In the PDB wrappers, get the right paint options object from
the PDB context associated with the calling plug-in.
2014-02-06 23:26:53 +01:00
Daniel Sabo e9d3bf8f19 Improve Foreground Select tool's GUI
* Add a dialog with Preview, Apply, and Reset buttons instead of
  depending only on hidden keyboard shortcuts.
* Change default paint mode to Unknown.
* Disable engine list when there is only one engine available.
* Hide useless Anti-Alias toggle.
* Write to selection instead of the layer mask.
2013-12-13 12:20:19 -08:00
Elle Stone a4821914d3 Bug 720045 - Add black point compensation to Preferences/Color Management
Make black point compensation configurable separately for both proof
and display.
2013-12-09 02:23:31 +01:00
Jehan 4b14ed2e5e file-export* labels and actions renamed.
Follows updated save+export specification.
For renamed actions (file-export and file-export-to respectively to
file-export-as and file-export to mimick file-save*), menurc from
GIMP 2.8 will be correctly migrated.
2013-11-18 09:07:32 +13:00
Michael Natterer 25c4acbd15 app: always use <Primary>D for the shortcut in the quit dialog
(do not take it from the button's mnemonic)
2013-11-08 23:18:28 +01:00
Michael Natterer ca3440aa1e app: make quitting by keyboard shortcuts easier
This mitigates the pain of having to confirm quitting when images have
only be exported but not saved: Introduce a <Primary>D shortcut in the
quit dialog and tell about it using a hint label at the bottom, so
quitting with dirty images is now a matter of pressing <Primary>Q
<Primary>D which is much easier to memorize than <Primary>Q
<Mnemonic>D.
2013-11-08 22:46:10 +01:00
Michael Natterer beb184e395 app: show file:// uris as filename in the close and quit dialogs
and make the quit dialog's "Exported to foo" string easier to
translate by constructing the markup in a separate step.
2013-11-07 19:14:04 +01:00
Michael Natterer 936780676b app: make the "exported to foo" string in the quit dialog nicer 2013-11-07 12:49:03 +01:00
Michael Natterer 9fe3da2bf2 app: in the quit dialog, mention if the image has been exported
Install a cell_data_func for the dirty image list's text renderer abd
construct the label manually, using the same string and logic as in
the close dialog.
2013-11-07 11:35:48 +01:00
Michael Natterer aea161c9a5 app: also include <gegl.h> when we include "libgimpwidgets/gimpwidgets.h" 2013-11-01 22:28:18 +01:00
Jehan c7aa623a55 app: clean out a big bunch of leading tabs.
For some unknown reason, most calls to gimp_message_literal() were
indented with tabs.
2013-09-15 04:59:20 +12:00
Jehan 0df8ae52fb Bug 704065 - Snap default preferences are now settable in the preferences.
Along with this change, the snap preferences have been moved from
GimpDisplayConfig to GimpDisplayOptions, where it makes much more sense.
One of the consequences is that there is no need to duplicate these
values in GimpDisplayShell anymore to differenciate defaults and
current settings.
2013-08-27 23:31:22 +12:00
Michael Natterer b56145626e Bug 706221 - File/Save (As) dialog: add a link to the Export dialog...
...for Non-XCF files.

When the entered extension in save or export is on the other group,
add a link to the warning dialog which allows to jump directly to the
export or save dialog, with the same filename pre-entered.
2013-08-23 20:35:24 +02:00
Mikael Magnusson 6cb9ef6e38 app: add back needed NULL checks 2013-06-16 19:58:47 +02:00
Mikael Magnusson 0091645129 app: remove pointless NULL checks 2013-06-16 01:31:13 +02:00
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer 1cc9d7d7aa app: add "Use OpenCL" toggle to Prefs -> Environment
and configure GEGL accordingly. Let's see if it's really runtime
switchable :)
2013-06-01 23:04:03 +02:00
Michael Natterer 972b6ef78f app: add a list of filters to the layer options dialog (for debug purposes) 2013-04-16 20:29:18 +02:00
Michael Natterer 49fdaac07f app: add GimpPrefsBox, a helper widget for preferences and similar dialogs
and use it in the preferences dialog. Removes quite some code from
that insane file.
2013-03-10 19:49:59 +01:00
Michael Natterer ed4a818679 Bug 690912 - Problem with "Tool Options"
Add a translation context to the "Tool Options" string in the
preferences dialog.
2012-12-31 14:34:06 +01:00
Michael Natterer 5629070538 Bug 688547 - Paint tools: preference 'Show pointer for paint tools'...
Change labels and tooltips to say "brush tool" or "brush-based paint
tool" to make clear that only these are affected by the setting.
2012-12-12 00:22:52 +01:00
Jehan 5c6c55e50a Bug 685557 - fix closing and saving a new image.
Current implementation had 2 issues, fixed by this commit:
1/ after the file save dialog is closed, the image would not close.
2/ if you switched the visible tab before saving the new image, it
would save and close the visible tab, instead of the expected one.
2012-11-27 23:57:24 +09:00
Michael Natterer e97b1701ae app: get rid of "entered_filename" in file-open-dialog.c
it's always identical to "uri".
2012-11-17 18:11:42 +01:00
Michael Natterer a7223bbd2d Bug 352823 - Changing image mode discards text layer information
For conversions that have no dither options (like RGB -> GRAY or u8 ->
u16), always preserve text editability, for conversions that have
dither options (like RGB -> INDEXED or u16 -> u8), give the user the
choice whether to enable dithering.
2012-11-10 18:56:44 +01:00
Michael Natterer d4f85b24b1 Bug 687561 - Edit/Modules crashes immediately
Don't pass GTK_STOCK_CLOSE as response_id to
gtk_dialog_set_alternative_button_order(), it's GTK_RESPONSE_CLOSE.
2012-11-04 15:46:51 +01:00
Michael Natterer 20279d6fd6 Bug 682585 - Edit/Modules: pressing any key crashes gimp
Don't crash if module-dialog.c: dialog_select_callback() is called
without any selected list item.
2012-10-14 15:29:23 +02:00
Michael Natterer d4c72cd5ab Bug 595708 - WM_WINDOW_ROLE should be unique
Make the roles of toolbox, dock and image window unique by adding a
serial number, resulting in e.g. gimp-dock-1.
2012-10-07 18:16:35 +02:00
Michael Natterer 5b86b55e2a app: add gimp_gegl_get_op_enum_type() to get the GType of a gegl enum
and use it in convert-precision-dialog.c
2012-09-24 19:04:01 +02:00
Michael Natterer 0ca03e8827 app: add a "Convert Precision" dialog for choosing dithering options
Does absolutely nothing yet.
2012-09-23 23:47:28 +02:00
Michael Natterer d7588ba45c Bug 678358 - Add option to skip text layers when resizing the image
Add a "Resize text layers" toggle to the canvas size dialog, and
default to FALSE because this seems the desired behavior in most
cases.
2012-09-05 23:26:54 +02:00
Michael Natterer c6ba0ffbdf app/cursors/libgimpwidgets: bye bye stone age B&W bitmap cursors 2012-08-26 22:53:04 +02:00
Michael Natterer 77ab3271e3 Bug 663531 - Two new button on the Offset dialog for x/2 and y/2
Add buttons to offset by width/2 and height/2 separately. This rarely
used dialog's main purpose is making textures, and it doesn't hurt
if it does this a little better at the expense of a little clutter.
2012-08-25 20:34:27 +02:00
Michael Natterer b1acd93f5e Some formatting cleanup in the unified transform tool commits 2012-08-21 19:50:01 +02:00
Mikael Magnusson 99f9d4d219 transformtool: add old "new" unified transformation tool
This is the proof of concept code I wrote before gsoc, with very naive
behaviour and simple interface.
2012-08-20 15:22:21 +02:00
Mikael Magnusson f6f22ed431 Remove stray semicolons 2012-08-20 15:22:20 +02:00
Michael Henning 4929474ec3 Bug 681016 - GIMP Makes use of the non-windows friendly sleep function
Replace references to the function sleep with g_usleep.
sleep() isn't available on windows.
2012-08-02 00:41:52 +02:00
Michael Natterer fbb2afdf1d app: rename gimpimage-convert.[ch] to gimpimage-convert-type.[ch] 2012-06-26 14:38:33 +02:00
Michael Natterer 88571276e9 app: rename convert-dialog.[ch] to convert-type-dialog.[ch] 2012-06-26 13:43:04 +02:00
Michael Natterer 2f8d45611c Bug 677974 - GIMP suggests XCF as default export format
Only auto-add .xcf if it's a save (not an export) dialog, instead do
not auto-add anything and ask the user to enter an extension, that's
less mysterious than saving in the last-exported format which the user
maybe doesn't remember or want.
2012-06-12 22:33:47 +02:00
Michael Natterer 4dbe8cb547 app: some undeprecation 2012-06-12 00:30:47 +02:00
Michael Natterer 39c18e9a48 app: make file_save() aware of the difference between overwrite and export
by having two booleans "export_backward" and "export_forward" in the
api instead of just an "export" one that would destroy the "imported
from" state. This change fixes the state of the "Overwrite" menu item,
so it stays visible until the file got either saved or exported to
another filename.

This also reverts commit a4beeecf2b, so
Ctrl-S is always invokable even if invisible.
2012-05-18 18:57:58 +02:00
Michael Natterer 3f31d4df9d po: update POTFILES.in for the moved operations 2012-05-10 22:49:19 +02:00
Michael Natterer 20f3cba2b6 app: rename gimp_image_base_type() to gimp_image_get_base_type() 2012-05-07 21:57:33 +02:00
Michael Natterer e2c8a60665 app: remove the "confirm-on-close" preference
the warning dialog cannot be disabled any longer now.
2012-05-07 14:02:36 +02:00
Øyvind Kolås 1319ad65ce update translations 2012-05-06 03:46:09 +02:00
Michael Natterer 85bd6b0dd9 app: pass a format, not bpp, to gimp_viewable_get_dummy_pixbuf()
and add tons of <gegl.h> includes.
2012-05-02 17:51:08 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer 96357dbfd3 app: add infrastructure to invoke GEGL filters from a menu item
and for fun add pixelize and gaussian blur to Filters -> Blur.
2012-05-02 17:46:16 +02:00
Michael Natterer 579d894778 app: turn GimpDrawable::apply_region() into ::apply_buffer()
and GimpDrawableUndo.src2_tiles into applied_buffer.
2012-05-02 17:46:11 +02:00
Michael Natterer aa7e7c153c app: remove another bunch of one-line GtkTables 2012-03-12 20:12:11 +01:00
Ville Sokk 082d758a34 Bug 558795 - Using same quick mask color across sessions
Add configuration option for quick mask color.
2012-03-03 02:45:10 +01:00
malay.keshav 848460d9a5 about-dialog: Add ifdef GIMP_UNSTABLE around about_dialog_add_unstable_message() 2012-02-19 22:14:36 +05:30
malay.keshav 9bf7d9d08a Rename function (about_dialog_add_unstable_message) 2012-02-19 16:43:37 +05:30
Michael Natterer 8559a28fd4 app: don't mess with the dialog's sensitivity while checking the extension
so the same widget (e.g. the entry) stays focused after dismissing the
extension mismatch message dialog.
2012-02-14 12:18:34 +01:00
Massimo Valentini 39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Michael Natterer 9781aa65ea Bug 658467 - Replace g_format_size_for_display() by g_format_size()
Use g_format_size() instead of g_format_size_for_display() because
the latter is deprecated.
2011-11-30 23:37:55 +01:00
Michael Natterer bcb45524b7 Bug 657505 - Strange behaviour with SWM
when window positions aren't automatically saved.

Save "hide-docks" and "single-window-mode" in sessionrc instead of
gimprc, so a session layout is always saved either completely or not
at all. Also change "last-tip-shown" saving a bit so all three
session-saved gimprc properties are implemented the same.
2011-11-05 17:52:45 +01:00
Michael Natterer 1aa75af9bf app: fix indentation in dialogs-constructors.c 2011-10-09 17:46:00 +02:00
Mukund Sivaraman 29e7d032a3 app (file-save-dialog): Remove dead code and variables 2011-10-06 09:01:51 +05:30
Michael Natterer 3e336199b9 app: use gtk_box_new() 2011-09-30 11:29:11 +02:00
Alexia Death cd2a1a92fc app: Add configurable path for tool presets in preferences 2011-09-29 20:29:49 +03:00
Massimo Valentini 6095a9967f app: Use of GimpViewableDialog with a NULL viewable is depecrated!
Do not pass a NULL viewable to gimp_viewable_dialog_new as it warns
and call gtk_window_set_resizable (, FALSE) so the expander works.
2011-09-05 18:27:34 +02:00
Michael Natterer 351423a2ef app: put utility function in #ifdef HAVE_ICO_CODES in preferences-dialog.c 2011-09-02 00:14:21 +02:00
Michael Natterer 97c5a2817d app: s/GTK_IS_VBOX/GTK_IS_BOX/ to simplify the gtk3-port branch 2011-07-27 20:21:58 +02:00
Alexander Hämmerle 421ca4114e Bug 641187 - GIMP needs a left-handed cursor option
Add a cursor-handedness setting and flip the cursor when it's set to
left-handed.
2011-07-24 22:09:21 +02:00
Martin Nordholts 1aa91d0b0d app: Remove fixme
The code works and the comment was never meant to be pushed.
2011-07-03 21:24:22 +02:00
Martin Nordholts 42c2c747d8 Bug 603848 - Single-window mode is not properly session managed yet
Make GimpImageWindow implement GimpDockContainer and
GimpSessionManaged so that GIMP can be started in single-window mode.
2011-06-04 12:22:20 +02:00
Martin Nordholts b4ed281f9a app: Call gimp_session_info_aux_set_list() generically
gimp_session_info_aux_set_list() is not a per-GimpDialogRestoreFunc
thing.
2011-05-31 23:15:38 +02:00
Martin Nordholts 6fc587c643 app: Add GimpSessionManaged
Add a GimpSessionManaged interface to generalize
gimp_session_info_aux_get_list() and gimp_session_info_aux_set_list().
2011-05-31 23:15:14 +02:00
Martin Nordholts 10aa3921a0 app: Rememeber if image windows are opened
Rememeber if image windows are opened because we want the
gimp_session_info_restore() code to run for the single-image window
once that code is in place.
2011-05-28 16:18:34 +02:00
Martin Nordholts 396d5fd5e8 app: Add a 'restore_func' to GimpDialogFactoryEntry
In gimp_session_info_restore() there is code to create a dialog from a
session info. GimpSessionInfo lives in the widgets module. Thus we
can't add restoration code that depends on a higher level module. In
particular, we can't add code to restore docks in an GimpImageWindow
since GimpImageWindow lives in the display module. And we need such
code to be able to restore a single-window mode session.

Since dialogs are defined in the dialogs module, it makes sense to
also have the code that restores a dialog in that module.

So, add a 'restore_func' member to GimpRestoreDialogFunc of type
GimpRestoreDialogFunc and move the code there.
2011-05-27 21:55:41 +02:00
Michael Natterer 9aae53802f app: s/filepath/filename/ in order to avoid introducing new terminology 2011-05-20 19:06:57 +02:00
Martin Nordholts 091360fac4 app: For testing, support to override names of "sessionrc" and "dockrc"
Allow tests to specify specific sessionrc and dockrc files to use, so
they can share other files in the testing gimpdirc.
2011-05-18 21:11:07 +02:00
Martin Nordholts 7edf717bae app: Add image_window boolean to GimpDialogFactoryEntry
Add image_window boolean to GimpDialogFactoryEntry and rename
FOREIGN_NOT_HIDEABLE() to IMAGE_WINDOW(). We need to treat image
windows a bit special when we restore a single-window mode session.
2011-05-13 21:25:39 +02:00
Michael Natterer 3184c0f339 app: use g_object_bind_property() to set sensitivity here too 2011-05-11 11:43:19 +02:00
Michael Natterer c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
Michael Natterer 92d7c7d8d9 app: change about dialog role from "about-dialog" to "gimp-about" 2011-03-30 20:20:47 +02:00
Michael Natterer 927ce61ce1 app: use a data delete dialog in the tool options' preset delete menu 2011-03-24 21:54:40 +01:00
Michael Natterer 920d1a42e9 app: move the GimpData delete confirm dialog to its own files 2011-03-24 21:46:40 +01:00
Michael Natterer 33dd20750f Bug 645456 - Inconsistent window (role) naming scheme
"preferences" -> "gimp-preferences"
2011-03-21 21:49:08 +01:00
Michael Natterer fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Natterer fc7bd98d92 app: move all GimpStrokeOptions members to private 2011-03-05 21:00:28 +01:00
Michael Natterer 5b09e61c46 app: move all GimpTemplate members to private 2011-03-02 10:16:43 +01:00
Michael Natterer f0f94ba6a1 app: move all GimpTemplateEditor members to private 2011-03-01 11:50:16 +01:00
Michael Natterer 02477f5563 Bug 625167 - Problem exporting floating selections from within layer groups
Add "gboolean merge_active_group" to gimp_image_merge_visible_layers()
and pass FALSE from the PDB wrapper so plug-in invoked layer merging
always acts on the toplevel container as it did in 2.6. Do the same
when opening an image as layer.

Also, added a "Merge within active group only" toggle to the merge
layers dialog and pass it down to the core, but default to TRUE here
so.
2011-02-14 09:45:59 +01:00
Martin Nordholts 6c6cf7a881 app: Move import and export URI updates to file_save()
We should handle import-URI and export-URI at a lower level so
e.g. the import URI is reset when gimp_dnd_xds_save_image() is
used.

This change also simplifies unit testing.
2011-02-02 22:31:27 +01:00
Martin Nordholts 1702822720 app: Fix copy-paste error in file-save-dialog.c
Fix what must have been a copy-paste error, we can not want to set
GIMP_FILE_SAVE_LAST_URI_KEY after we have exported.
2011-02-02 22:31:27 +01:00
Martin Nordholts 366cddc856 app: gimp_image_get/set_imported/exported/save_a_copy_uri()
Add more proper core API for GimpImage URI management.
2011-02-02 22:28:46 +01:00
Martin Nordholts 8d61a61c0e app: Remove GIMP_FILE_EXPORT_TO_URI_KEY
Remove GIMP_FILE_EXPORT_TO_URI_KEY which is always identical to
GIMP_FILE_EXPORT_URI_KEY.
2011-02-02 22:28:46 +01:00
Martin Nordholts ab5bd03a9c Show maintainers after creators in About-dialog
It makes sense to show maintainers after creators in the About-dialog,
do that.
2011-01-27 18:52:00 +01:00
Martin Nordholts 285a42eef3 app: Calculate number of creators in about dialog 2011-01-27 18:52:00 +01:00
Michael Natterer fcaf202b52 app: leftover code was setting the sensitivity of an unrelated label 2010-11-27 23:42:28 +01:00
Michael Natterer 8f991c5950 app: make the brush, pattern etc selecing boxes more compact
by integrating their label instead of requiring one externally. This
way we get rid of some more labels in the tool options. Also clean up
tool options further (add more spin scales, and some general
reordering and spacing cleanup).
2010-11-02 14:05:47 +01:00
Michael Natterer 79f0f5639b Don't use gtk_container_add() for adding to GtkBoxes
because the packing options are different for GtkH/VBox and GtkBox
itself which is now instantiable. Instead, always use
gtk_box_pack_start() and specify expanding explicitely.
2010-10-30 14:57:56 +02:00
Michael Natterer 186b037f94 app: formatting 2010-10-29 10:33:57 +02:00
Michael Natterer 0829e5b028 app: simplify how the colormap editor sets FG/BG colors
Set the FG/BG on the widget's own context and remove the "selected"
signal and its callback in dialogs-constructors.c
2010-10-28 03:09:53 +02:00
Michael Natterer f46122b862 app: add lots of accessors to GimpPalette
and use them all over the place instead of directly accessing the struct.
2010-10-27 14:36:44 +02:00
Martin Nordholts cc7755f876 Port stuff to gimp_item_is_text_layer()
Port stuff to gimp_item_is_text_layer() instead of
gimp_drawable_is_text_layer(). Nevermind the previous commit, it
should never have been pushed...
2010-10-05 07:39:00 +02:00
Martin Nordholts 49a0be731e app: s/gimp_drawable_is_text_layer/gimp_item_is_text_layer/g 2010-10-05 07:12:30 +02:00
Mukund Sivaraman c83294f4ce Minor coding style fix 2010-09-30 01:56:02 +05:30
Nils Philippsen c9b03ef8ff app: use last git commit year for copyright label 2010-09-28 15:07:45 +02:00
Michael Natterer 9942d5f692 app: draw the about dialog's animated string with cairo, not gdk_draw_layout() 2010-07-27 18:01:34 +02:00
Michael Natterer 8b31211639 Fix the bulid after GtkNotebookPage got deprecated in gtk-2-22
In all GtkNotebook::switch_page() callbacks, simply replace
GtkNotebookPage* by gpointer.
2010-07-16 15:24:25 +02:00
Michael Natterer e7b16c8634 app: run dispose manually on the dialog factory before unrefing it
Because some of the dialogs the factory creates add a reference to
it, creating a cycle; so simply unrefing it doesn't do anything.
2010-06-24 18:38:17 +02:00
Martin Nordholts f6781d15c4 Bug 565459 - newly opened images are put into the background
When we are going to open new image windows, unset the transient
window. We don't need it since we will use gdk_window_raise() to
keep the dialog on top. And if we don't do it, then the dialog
will pull the image window it was invoked from on top of all the
new opened image windows, and we don't want that to happen.

Patch heavily inspiried by hack from Massimo Valentini.

Also add a manual test case for the fix. (I don't think there is GTK+
API to automate it).
2010-06-23 20:17:44 +02:00
Martin Nordholts 2431740492 app: Explain gdk_window_raise() in file-open-dialog.c 2010-06-23 19:58:01 +02:00
Michael Natterer 72bcb72c44 app: rename gimp_template_create_image() to gimp_image_new_from_template()
and move it from gimptemplate.c to gimpimage-new.c
2010-06-05 22:42:00 +02:00
Michael Natterer c75bab37d3 app: remove useless #includes 2010-05-30 18:08:55 +02:00
Michael Natterer a2c70822d4 Use accessors from GTK+ 2.20 instead of using sealed members directly 2010-04-19 19:21:07 +02:00
Michael Natterer 430b0e5517 app: add a GimpContext parameter to all functions which create GimpData
and pass a context whereever needed. Fix up gimp_tool_preset_new()
to actually make a copy of the context's active tool's options.
2010-04-05 13:26:31 +02:00
Michael Natterer efed2bf623 app: some cleanup and fixes in the tool preset infrastructure 2010-04-04 13:58:55 +02:00
Alexia Death 29f7fe87b0 Base infra for tool presets. 2010-04-03 21:06:15 +03:00
Martin Nordholts 0c4409c897 app: Session manage empty- and single-image window separately
Session manage empty- and single-image window separately. So when
starting up, the default 2.6 UI is the same. But when enabling
single-window mode, the image window will become much larger then the
empty-image window. These conceptually different windows will then
from that point be session managed separately: switching mode switches
size of the image window.
2010-03-13 16:35:57 +01:00
Aurimas Juška 9e2723d390 app: Revert add flags for multiple selection support
Don't add additional constructor argument.
2010-03-11 18:24:56 +02:00
Aurimas Juška 13b172b675 app: Add flags for multiple selection support
Multiple item selection is disabled by default and
currently enabled only for data views.
2010-03-07 18:59:28 +02:00
Michael Natterer 1aeb315ecf undef GTK_DISABLE_DEPRECATED in many places which undef GSEAL_ENABLE
because the widget flag access macros (e.g. GTK_WIDGET_REALIZED) are
now deprecated in GTK+ master.
2010-03-06 23:14:29 +01:00
Martin Nordholts 11b1300b6f app: Introduce gimp_dialog_factory_get_singleton()
Instead of including dialogs/dialogs.h everywhere, introduce
gimp_dialog_factory_get_singleton(). The dialog factory singleton is
still initialized by dialogs.c though.

Right now the assumption is that we never will have another dialog
factory instance around. There were so many problems before when we
had four of them, so let's just keep one of them around.
2010-02-28 23:23:24 +01:00
Martin Nordholts 947e28596f app: Remove gimp_dialog_factory_from_name()
We only have one dialog factory now, and
gimp_dialog_factory_from_name() doesn't provide compile-time type
safety, so use global_dialog_factory directly instead.
2010-02-28 20:02:45 +01:00
Martin Nordholts ea6efc3885 app: Make Recently Used Docks work with GIMP 2.6 dockrc files
In GIMP 2.6 dockrc did not contain the factory entries for the session
infos, so set that up manually if needed. Also take the opportunity to
add a copyright notice to dialogs.c since tha file is almost rewritten
by now...
2010-02-20 13:05:16 +01:00
Martin Nordholts c3619fb85c app: Merge "toplevel" and "display" factories
Merge "toplevel" and "display" factories so that we only have one
dialog factory. This allows us to get rid of a lot of special casing.
2010-02-20 10:58:29 +01:00
Martin Nordholts 993d2df338 app: Make hideability a per entry rather than per dialog factory thing 2010-02-20 10:32:50 +01:00
Martin Nordholts 8b458fb591 app: Merge "toplevel" and "dock" dialog factories
Merge "toplevel" and "dock" dialog factories. The end goal is to have
only one dialog factory.
2010-02-20 09:28:26 +01:00
Michael Natterer 10ff2733ff app: add missing include 2010-02-19 23:42:45 +01:00
Michael Natterer d967852cd7 app: turn the input devices dialog into a session managed toplevel
It works exactly as the keyboard shortcuts dialog now and has its own
menu entry: Edit -> Input Devices.
2010-02-19 20:13:26 +01:00
Michael Natterer 56fabf760e app: add "gimp" property needed for next step 2010-02-12 23:36:38 +01:00
Michael Natterer c6bbeda444 app: get rid of GtkInputDialog, also brings us closer to XI2
Added two new widgets, GimpDeviceInfoEditor, which is an editor/view
widget for GimpDeviceInfo, and GimpDeviceEditor, which is an editor
widget for all devices. Both are pretty much ugly right now and look a
lot like the old GtkInputDialog, but are at least internally cleaned
up and easily changable code and ui wise. Consider this a completely
intermediate state.

Also cleaned up GimpDeviceInfo so it's possible to have a proper
view on it, and did the needed changes to the preferences dialog
to use the new stuff.
2010-02-12 15:46:07 +01:00
Martin Nordholts 1093462ae9 app: Merge 'global_toolbox_factory' into 'global_dock_factory'
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.
2010-01-20 18:29:54 +01:00
Martin Nordholts 66197c5d11 app: global_dock_window_factory -> global_dock_factory
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.
2010-01-19 22:40:06 +01:00
Martin Nordholts 56a8cb68a8 app: Have dialog factory entries for the dock windows
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
2010-01-19 22:24:17 +01:00
Martin Nordholts 408c22b79e app: Use the dialog factory for creating docks
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.
2010-01-17 00:00:19 +01:00
Martin Nordholts 08078ca79c app: Remove gimp_dialog_factory_set_put_in_dockables()
Instead of having gimp_dialog_factory_set_put_in_dockables() with all
the cruft that leads to we can use the 'dockable' member on
GimpDialogFactoryEntry. This is a general strategy that the code base
is being moved in: try to keep information per-entry rather than
per-factory.
2010-01-16 19:43:33 +01:00
Martin Nordholts 2527955c21 app: Copy 'dockable' member in gimp_dialog_factory_register_entry()
Copying 'dockable' for a dialog factory entry was forgotten in
gimp_dialog_factory_register_entry().
2010-01-16 19:35:34 +01:00
Martin Nordholts deb07e812d app: Introduce gimp_dialog_factory_set_put_in_dockables()
Change gimp_dialog_factory_set_constructor() to
gimp_dialog_factory_set_put_in_dockables() order to narrow the
interface a bit. We can make both
gimp_dialog_factory_set_put_in_dockables() and the
GimpDialogConstructor typedef internal this way.

The main reason we do this is because we want to get rid of a
dependency on factory->p->new_dock_func. Eventually we want to
construct docks just like we construct other widgets in the factory,
so new_dock_func will be removed.

Also improve readability of code such as making it explicit that
gimp_dialog_factory_put_in_dockable_constructor() is just an extended
version of gimp_dialog_factory_default_constructor().
2010-01-16 17:54:56 +01:00
Martin Nordholts 7e5224f828 app: Add and use gimp_dock_window_new() 2010-01-06 11:35:25 +01:00
Sven Neumann d2804b48fb app: add GimpLanguageComboBox and use it from the Preferences dialog 2010-01-05 22:30:16 +01:00
Martin Nordholts a7cb4742c5 app: Correct a comment regarding dock window factory 2009-12-20 20:30:16 +01:00
Martin Nordholts 90d7ffde1a app: Make all GimpDialogFactory members private
Add necessary trivial API that allows us to make remaining
GimpDialogFactory instance members private, and make them private.
2009-12-20 20:21:26 +01:00
Martin Nordholts 8699511bbd app: global_dock_window_factory -> global_dock_factory
With GimpDock not being a toplevel any longer, it makes more sense to
name global_dock_factory global_dock_window_factory. Do that.
2009-12-20 14:41:02 +01:00
Martin Nordholts b237e9343e app: dialogs_toolbox_get() -> dialogs_toolbox_new() 2009-12-19 12:33:27 +01:00
Martin Nordholts a0ffbd17b1 app: Continue cleanup of macro definitions in dialogs/dialogs.c
Move all macros definitions at the top and decorate struct
initialization values with the corresponding member names. Also do
some whitespace adjustments.
2009-12-19 11:26:10 +01:00
Martin Nordholts 5f03cf20d7 app: Improve readability of macros in dialogs/dialogs.c
As a workaround for not using C99, specify struct member names with
comments instead.
2009-12-19 10:36:05 +01:00
Martin Nordholts 5819c3c83a app: Have an "Export" button, not "Save", in export dialogs 2009-12-06 08:58:44 +01:00
Martin Nordholts 1bf84999e4 Move the Image Selection Menu to GimpDockWindow
Move the Image Selection Menu from GimpMenuDock to
GimpDockWindow. That is, if a dock window contains many docks then
they will share the same Image Selection Menu.

To do this we need to move around quite a bit of code. Move the
"context", "dialog-factory" and "ui-manager" properties from GimpDock
to GimpToolbox, GimpMenuDock doesn't need it any longer. Turn the
GimpDock getters for these properties into wrappers that go to the
GimpDockWindow properties. In some places, most notably GimpToolbox
construction, we use the GimpToolbox values of these properties, but
most of the time it works fine to just use the GimpDockWindow
properties. GimpDock::setup() and set/get_aux_info() have also been
moved to GimpDockWindow since the only aux info for docks was for the
image selection menu.

Also, we don't bother porting gimp_menu_dock_destroy() to
GimpDockWindow, but we leave the code around. If this is a problem, it
will show.
2009-12-05 21:21:24 +01:00
Michael Natterer 0b712fb4e5 GtkInputDialog is deprecated now, so #undef GTK_DISABLE_DEPRECATED
Finally the reason needed to reimplement this beast in a proper way in
GIMP.
2009-10-19 10:11:45 +02:00
Michael Natterer 52dd01fdef Change user-visible strings from "Dynamics" to "Paint Dynamics"
Because "Dynamics" doesn't mean anything by itself. Didn't add the
"Paint" where the context is clear, like in the dynamics dialog
context menu.
2009-10-18 13:03:40 +02:00
Alexia Death 210a4b5044 Merge resolution 2009-10-17 21:42:02 +03:00
Michael Natterer fa21f2da5b Build with GSEAL_ENABLE and #undef it where accessors are missing 2009-10-17 19:03:24 +02:00
Martin Nordholts eb6bef33e4 Use gtk_widget_set_visible()
In places where the pattern

  if (show)
    gtk_widget_show (widget);
  else
    gtk_widget_hide (widget);

is used, change to

  gtk_widget_set_visible (widget, show);

Also do some other minor cleanups.
2009-10-17 15:07:34 +02:00
Michael Natterer c856c16d17 There is this concept called alphabetic order... 2009-10-11 15:35:52 +02:00
Michael Natterer 8e285ba014 Add prefs UI for "dynamics-path" and "global-dynamics" 2009-10-11 01:42:23 +02:00
Alexia Death 11d6219776 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-10 10:23:25 +03:00
Michael Natterer 639194aac5 Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:06 +02:00
Michael Natterer 00ce057226 Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Michael Natterer f34cdad2bc Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Alexia Death ac111be15d Added dynamics list and some infrastructure. still ont 100% tho 2009-10-09 20:25:07 +03:00
Alexia Death 88e7d5396d Merge commit 'origin/master' into soc-2009-dynamics 2009-10-07 19:42:04 +03:00
Michael Natterer c5b856f16f Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
Michael Natterer ac98c2c234 Use gimp_display_get_shell() instead of directly accessing it 2009-10-04 19:56:39 +02:00
Michael Natterer 31a41c2b3d Use gimp_display_shell_present() instead of gtk_window_present() 2009-10-04 19:27:58 +02:00
Alexia Death e75d44c77c Merge commit 'origin/master' into soc-2009-dynamics 2009-09-28 20:30:17 +03:00
Martin Nordholts c7b8a67cfd app: Don't kill the toolbox window when removing the last dockbook
Add a "allow-dockbook-absence" property to the GimpDockWindow which is
set to TRUE for the dock window for the toolbox so that it is not
kiled when the last dockbook is removed.
2009-09-27 14:15:03 +02:00
Martin Nordholts 9106c75b14 app: Remove temporary GimpDockWindow property prefixes
With GimpDock and GimpDockWindow being separate they can share
property names.
2009-09-26 16:25:30 +02:00
Martin Nordholts 4f7693acf0 app: Make GimpDock a GtkVBox
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()
2009-09-26 16:21:10 +02:00
Alexander Jones 3af6b2ea3c Bug 593501 - Canvas Size dialog defaults to fixed aspect ratio
Default to non-fixed aspect ratio in Canvas Size dialog. It doesn't
make sense to deault to fixed aspect ratio here.
2009-09-20 20:25:32 +02:00
Alexia Death be78fe3b1d Merge commit 'origin/master' into soc-2009-dynamics 2009-09-20 14:32:32 +03:00
Martin Nordholts 4ab58d2e77 app: Have only one GimpDialogFactoryEntry member in GimpSessionInfo
Simplify the code a bit by replacing the 'toplevel_entry' and
'dockable_entry' members in GimpSessionInfo with a single
'factory_entry'. We compensate for this by adding a 'dockable'
gboolean to GimpDialogFactoryEntry.
2009-09-20 12:24:41 +02:00
Martin Nordholts e1faf82e7d Get rid of toolbox-window-hint, use dock-window-hint instead
Since the toolbox no longer is the main window with a menu, use the
same hint for the toolbox (which actually is a dock) as for the other
docks.
2009-09-09 23:37:38 +02:00
Michael Natterer a3558e3cb8 Remove GIMP_OBJECT() casts when calling gimp_object_get_name() 2009-08-31 22:47:18 +02:00
Martin Nordholts 957cf2cfa9 app: Always use gimp_object_get_name()
Begin to consider GimpObject::name as private and always use
gimp_object_get_name(). Change gimp_object_get_name() to take an
untyped pointer so we don't have to do so awfully many casts. There is
a runtime check for the type inside the function anyway.
2009-08-29 12:41:29 +02:00
Alexia Death d2143b8886 Merging master to current state 2009-08-21 19:26:05 +03:00
Martin Nordholts 6e483e95b2 Remove web-browser gimprc option
The web-browser plug-in uses gtk_show_uri() now.
2009-08-08 15:26:34 +02:00
Martin Nordholts 2591d7e368 app: Don't use plug-in-web-browser in About Dialog
The GtkAboutDialog is implemented with a GtkLinkButton which uses
gtk_show_uri(). We don't need to add any hooks.
2009-08-08 14:43:33 +02:00
Michael Natterer a53d4566da Use GIMP_IMAGE_ACTIVE_PARENT instead of a NULL parent in all obvious places 2009-08-03 22:30:36 +02:00
Michael Natterer c4075975bf Bring parent items to the public API in the core
* app/core/gimpimage.[ch]: make the parent parameter public in
add_layer(), add_layers(), add_channel() and add_vectors().

* app/vectors/gimpvectors-import.[ch]: add parent parameters to
  the vectors import functions.

* app/core/gimpchannelundo.[ch]
* app/core/gimplayerundo.[ch]
* app/vectors/gimpvectorsundo.[ch]
* app/core/gimpimage-undo-push.[ch]: remember the parent item when
  removing layers, channels and vectors.

* app/actions/channels-commands.c
* app/actions/debug-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/widgets/gimptoolbox-dnd.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/vectors.pdb: pass NULL as parent item to above
  functions and add FIXMEs all over the place because there is some
  more hacking needed to make adding with index = -1 (on top of the
  current item) work again.

* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c
* app/pdb/vectors-cmds.c: regenerated.

* app/core/gimpimage-duplicate.c: duplicate the original image's
  tree structure in the copy.

* app/widgets/gimpitemtreeview.[ch]: add parent to GimpAddItemFunc,
  add utility function gimp_item_tree_view_get_drop_index() which
  figures where to add something dropped to an item tree.

* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly, using above
  new GimpItemTreeView API.
2009-08-03 19:21:51 +02:00
zhenfeng zhao ce1212f5bb Add context parameter back to gimp_dynamics_editor_new. 2009-08-03 11:54:32 -03:00
zhenfeng zhao 4da7c67406 Debug dynamics editor, and solve many bugs. 2009-08-02 17:18:09 -03:00
zhenfeng zhao 1b0c3595c3 Adjust dynamics editor codes and its function call in dialogs-constructor. 2009-08-02 15:57:53 -03:00
Michael Natterer 72cfe6c701 Use gimp_image_get_channels() instead of image->channels 2009-08-02 13:03:52 +02:00
Stephen Griffiths 6a41c872f6 app: Make GimpToolEditor changes cancellable
Allow the user to cancel rearrangements of tool order and visibility
in Preferences. See enhancement request/bug #500930.
2009-08-01 16:27:34 +02:00
zhenfeng zhao 441d287008 Fix menu issues.
actions/dynamics-editor-actions.c
   dialogs/dialogs-constructors.c
   ../menus/dialogs-menuitems.xml
   ../menus/image-menu.xml.in
2009-07-31 05:39:46 -03:00
Alexia Death 7d3f1f0a68 Now lets add the dockable it opens. Now gimp_dynamics_editor_new needs to be implemented to actually have stuff in the dockable. 2009-07-30 20:59:08 +03:00
zhenfeng zhao 8480477f9d Further changes to make dynamics editor and its menu.
actions/Makefile.am
   actions/actions.c
   dialogs/dialogs-constructors.c
   dialogs/dialogs-constructors.h: further change on menu work.

   actions/dynamics-editor-actions.c
   actions/dynamics-editor-actions.h (new files): add actions for dynamics.
2009-07-30 11:55:17 -03:00
zhenfeng zhao 03e91b64f4 Add menu item for dynamics dockable (menu bits)
actions/actions.c
   actions/dialogs-actions.c
   dialogs/dialogs-constructors.c
   menus/menus.c
   menus/plug-in-menus.c
   pdb/makefile.msc
   ../etc/ps-menurc
   ../menus/Makefile.am
   ../menus/dialogs-menuitems.xml: add dynamics editor.

   ../menus/dynamics-editor-menu.xml: (new file)
2009-07-28 16:52:53 -03:00
Martin Nordholts 4572cb9e74 app: Add the GimpToolEditor to preferences
Add the new GimpToolEditor to the Toolbox tab in preferences, which is
a more natural place to have this. See bug #500930.
2009-07-22 00:21:32 +02:00
Stephen Griffiths c53113d0cc app: Remove Tools dockable
Remove the Tools dockable. The toolbox will be configured from the
Toolbox page in preferences instead. This is part of the fix for
bug #500930.
2009-07-22 00:21:31 +02:00
Martin Nordholts c6818c5710 app: Remove transient-docks gimprc setting
Remove the transient-docks setting for gimprc. What GIMP tried to
accomplish with this enabled is much better accomplished by the window
manager with the docks set to the 'Utility window' window hint. See
discussion in bug #322577.
2009-07-21 17:12:34 +02:00
Martin Nordholts b2b2b41e62 Get rid of artificial compiler warnings
Get rid of artificial compiler warnings generated with the #warning
directive. They pollute the build output and don't work as incentives
for fixing stuff.
2009-07-20 12:47:59 +02:00
Michael Natterer 6fd729cfb6 Remove the possibility to disable mnemonics (bug #120034)
There is GtkSettings:gtk-enable-mnemonics: now, so there is no
reason to do the same in GIMP:

* app/config/gimpguiconfig.[ch]: turn "menu-mnemonics" into a dummy.

* app/dialogs/preferences-dialog.c: remove its GUI.

* app/widgets/gimpactionfactory.[ch]
* app/widgets/gimpactiongroup.[ch]: remove infrastructure for disabling
  menu mnemonics.

* app/actions/actions.c: bye bye glue code.
2009-07-18 17:51:04 +02:00
Michael Natterer 997111bf0a Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
Martin Nordholts 1e7fd6cd27 app: Only show contributors for 2.8 in the about dialog 2009-07-12 12:48:05 +02:00
Martin Nordholts c181f4eb05 app: Add and use gimp_image_is_dirty() 2009-07-03 21:11:21 +02:00
Martin Nordholts 631e128ddd app: Forget import source after saving as XCF
Forget the import source after save. We interpret a save as that the
user is not interested in being able to quickly export back to the
original any longer. The effect of this is that if we have an
'Overwrite' menu item, it becomes insensitive and set to 'Export to'.
2009-07-02 22:17:36 +02:00
Sven Neumann 6742ebc949 app: don't call gimp_ui_manager_update() directly
gimp_ui_manager_update() should not be called directly. Instead call
gimp_image_flush() after doing changes that need to be reflected in
the menus.
2009-05-17 11:02:31 +02:00
Martin Nordholts c03c93ba44 app: Don't bother asking for overwrite if the extension is invalid 2009-05-16 13:02:55 +02:00
Martin Nordholts c23370c3af app: Emit the GimpImage::exported signal when image is exported 2009-05-16 13:02:55 +02:00
Martin Nordholts 2fcf33db5d app: Don't reset save-a-copy URI on URI change 2009-05-16 13:02:55 +02:00
Martin Nordholts 11e5ecc5ca app: Update 'Export to' to the most recent export URI
When an image have been successfully exported we shall set the 'Export
to' URI to the target URI.
2009-05-16 13:02:54 +02:00
Martin Nordholts 72bc3aeed3 app: Remember last export URI for each image 2009-05-16 13:02:54 +02:00
Martin Nordholts 64f7d9b93b app: Improve save and export error messages 2009-05-16 09:48:13 +02:00
Martin Nordholts 10226ae453 app: Show the Export Image dialog on File -> Export...
Create a export dialog constructor in the dialog factory and invoke it
on File -> Export
2009-05-16 09:48:12 +02:00
Martin Nordholts 0971d61fc4 app: Add an 'export' mode to the file save dialog 2009-05-16 09:48:12 +02:00
Martin Nordholts 3025dac653 app: Introduce and use GimpFileChooserAction
Introduce and use GimpFileChooserAction in the core so that we can
differentiate Save from Export later.
2009-05-16 09:48:12 +02:00
Martin Nordholts f10bf1d7fd app: Fix save overwrite logic for files with added extensions
When the user specifies a filename in the save dialog, make sure the
overwrite confirmation is not shown if the filename will be
altered. It doesn't make sense to ask for permission to overwrite a
file that will never be overwritten.
2009-05-15 19:41:13 +02:00
Martin Nordholts 8033f4c0d5 app: Fix potential memory leak in save dialog code
Fix potential memory leak in save dialog code with a new helper function
file_save_dialog_get_uri(). We must free zero-length strings.
2009-05-15 19:41:13 +02:00
Martin Nordholts 9c2aae1281 app: Update name of file_save_dialog_save_image() parameter
Rename file_save_dialog_save_image() parameter save_a_copy to
change_saved_state since that is the semantics it has now.
2009-05-06 17:09:31 +02:00
Martin Nordholts a0d9f6e57e app: Rename file_save() parameter save_a_copy to change_saved_state
Rename file_save() parameter save_a_copy to change_saved_state since
that is the semantics it has now.
2009-05-06 15:03:30 +02:00
Martin Nordholts edac194b23 app: Move save-on-copy URI remembering to the appropriate place
The Save a copy-URI shall only be remembered when the URI has been
entered through the dialog, so move it from file_save() to
file_save_dialog_response(). This is a preparation for the future
where we need to pass TRUE to save_a_copy without the URI being
remembered.
2009-05-04 21:04:37 +02:00
Martin Nordholts 82d327a550 Revert "app: Move last-save URI management to file_save()"
This reverts commit f6cd700dd6. We
can't save the last-save-URI on such a low level.
2009-05-03 09:29:04 +02:00
Martin Nordholts f6cd700dd6 app: Move last-save URI management to file_save()
Move the logic to remember the URI of the last saved file from
file_save_dialog_response() to the more central place file_save().
2009-05-03 08:45:19 +02:00