2009-02-26 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_restore_callback): connect to changes of
the
"user-manual-online" gimprc property and kill the gimp-help
plug-in as it caches the location of the help pages.
* app/widgets/gimphelp.[ch]: added
gimp_help_user_manual_changed()
for this purpose.
svn path=/trunk/; revision=28073
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
2008-10-17 Sven Neumann <sven@sven>
* app/core/gimp.[ch]: added signal Gimp::image-opened to
announce
that an image has been loaded and a display was created for it.
* app/file/file-open.c (file_open_with_proc_and_display): call
gimp_opened() to emit the new signal.
* app/gui/dbus-service.xml
* app/gui/gimpdbusservice.[ch]: propagate the 'opened' signal to
listeners of the "org.gimp.GIMP.UI" DBus service.
* app/gui/gui-unique.c: formatting.
svn path=/trunk/; revision=27297
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-09-30 Sven Neumann <sven@gimp.org>
* app/gui/splash.c: don't make the upper label bold. This change
compensates for the smaller width of the new splash screen.
svn path=/trunk/; revision=27089
2008-09-30 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added
gimp_pango_layout_set_scale().
* app/gui/splash.c: set a smaller font size on the lower label.
svn path=/trunk/; revision=27088
2008-09-25 Sven Neumann <sven@gimp.org>
* app/core/gimp.[ch]: added a 'restored' flag to the Gimp object
and set it in gimp_real_restore(). Added method
gimp_is_restored().
* app/gui/gui.c: call gui_unique_init() in gui_init() instead of
that later in gui_restore_after_callback(). By doing so we start
our DBus service (or message proxy window on Win32) much earlier
in the start process, thus reducing the time frame where two
instances of gimp can be launched.
* app/gui/gui-unique.c
* app/gui/gimpdbusservice.c: wait handling the queued file-open
requests until gimp is fully restored.
* app/gui/splash.c (splash_update): only run one iteration of
the
main loop. Doing it in a while loop can cause us to get stuck if
the gimp-unique service already added an idle handler.
svn path=/trunk/; revision=27049
2008-09-10 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c (gui_unique_win32_exit): Destroy the proxy
window here so that gimp_unique_win32_open() in app/unique.c won't
find it. This is important especially in a developer version where
the debug output window might be left open and the proxy window
still existing for a long time after the GTK+ main loop of the
GIMP GUI has finished. Thanks to Michael Schumacher for pointing
this out.
There is still a small race window here after GIMP has begun
closing down its GUI in gui_exit_callback() and before the proxy
window has gone away. If another GIMP starts during that interval,
it will find the proxy window and send it a message, which will
then either be ignored, or the proxy window will have been
destroyed before it gets the message. Let's ignore that. There is
a much wider time window during which multiple GIMP instances may
be started during GIMP startup anyway.
svn path=/trunk/; revision=26917
2008-09-10 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c: gui_unique_win32_message_handler() can be
static. Include file/file-open.h for file_open_from_command_line()
declaration. Fix copy/paste glitch in gui_unique_exit().
svn path=/trunk/; revision=26916
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.[ch]: changed refcounting and fixed a
bug that I had introduced with the latest changes.
svn path=/trunk/; revision=26391
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.[ch]: keep a queue of D-Bus requests
and
work on them one after another instead of handling them all in
parallel. Complements the fix for bug #546426.
svn path=/trunk/; revision=26386
2008-08-05 Sven Neumann <sven@gimp.org>
* app/gui/gimpdbusservice.c: open the files from an idle
handler.
Opening a file may take a while (in particular if it involves
asking the user for input) and we need to respond to the D-Bus
call before it times out.
svn path=/trunk/; revision=26370
2008-07-21 Michael Natterer <mitch@gimp.org>
* app/gui/splash.c
* plug-ins/common/*.c: don't use gtk_box_pack_start_defaults(),
it got deprecated in GTK+ trunk.
svn path=/trunk/; revision=26252
2008-07-13 Sven Neumann <sven@gimp.org>
* app/widgets/Makefile.am
* app/widgets/gimpdbusservice.[ch]
* app/widgets/dbus-service.xml: removed here ...
* app/gui/Makefile.am
* app/gui/gimpdbusservice.[ch]
* app/gui/dbus-service.xml: ... and moved here.
(gimp_dbus_service_activate): raise the first display instead of
the toolbox.
* app/gui/gui-unique.c (gui_unique_win32_idle_open): same change
here, raise the display instead of the toolbox.
* app/unique.c: changed accordingly.
svn path=/trunk/; revision=26184
2008-07-13 Sven Neumann <sven@gimp.org>
* app/unique.c
* app/gui/gui-unique.c: on Win32, if the gimp binary is started
without filenames, raise the toolbox, just as we do in the DBus
code path.
svn path=/trunk/; revision=26183
2008-07-11 Tor Lillqvist <tml@novell.com>
* app/gui/gui-unique.c: Include <windows.h> on Windows.
(gui_unique_win32_init): Drop unused variable.
svn path=/trunk/; revision=26125
2008-07-11 Sven Neumann <sven@gimp.org>
* app/unique.c
* app/gui/gui-unique.[ch]: merged code from bug #410439 to
provide
builtin gimp-win-remote functionality for Win32. This is
untested
and most probably doesn't even compile.
svn path=/trunk/; revision=26120
2008-07-11 Sven Neumann <sven@gimp.org>
* app/gui/Makefile.am
* app/gui/gui-unique.[ch]: new files providing functionality to
ensure a unique GUI instance of GIMP. Code split out of gui.c.
* app/gui/gui.c: changed accordingly.
svn path=/trunk/; revision=26119
2008-05-16 Michael Natterer <mitch@gimp.org>
Implement the presistent menu of recently closed docks, still
somewhat hackish but fully functional. Fixes bug #132744.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]
* menus/image-menu.xml.in: remove the menu items that were
creating the hardcoded preconfigured docks.
* app/dialogs/dialogs.[ch]: add GimpContainer of recently closed
docks and API to load and save it.
* app/gui/session.c: call the recent dock load and save functions.
* app/widgets/gimpsessioninfo.[ch]: implement the GimpConfig interface
and (de)serialize via proper interface methods.
* app/gui/session.c
* app/widgets/gimpdialogfactory.c: use the GimpConfig API
to (de)serialize session infos and added the code that was
formerly in the info's (de)serialize functions but didn't belong
there.
* app/widgets/gimpaction.[ch]: add "max-width-chars" property and
set it on proxy menu item labels.
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]
* app/menus/windows-menu.c: add actions and menu of recently
closed docks and code to restore the dock when the menu items are
selected. Use above new action property to ensure a minimum
width of the menu.
* app/widgets/gimpmenudock.c: use '-' instead of '|' for
separating notebooks in the window title. Menu items don't like '|'.
* app/widgets/gimpdock.c: removed the confirmation dialog when
closing docks and simply add them to the recent docks container.
This code is totally misplaced and will move to another file soon.
svn path=/trunk/; revision=25671
2008-05-10 Michael Natterer <mitch@gimp.org>
Start changing the "Dialogs" menu to "Windows", still incomplete.
Addresses bug #309707.
* app/actions/Makefile.am
* app/actions/windows-actions.[ch]
* app/actions/windows-commands.[ch]: new files which currently
hold the "show toolbox" action and callback and new code which
maintains automatically generated actions for accessing (raising)
all open images.
* app/actions/actions.c: register the new "windows" action group.
* app/actions/dialogs-actions.c
* app/actions/dialogs-commands.[ch]: remove "show toolbox"
action and callback and also the action for the "Disalogs" menu.
* app/menus/Makefile.am
* app/menus/windows-menu.[ch]: new files which create and destroy
the menu items for the image window actions.
* app/menus/menus.c: register the "windows" action group with
all UI managers that have the "dialogs" action group.
* app/menus/image-menu.c (image_menu_setup): call
windows_menu_setup().
* app/gui/gui.c: s/dialogs_show_toolbox/windows_show_toolbox/g
* menus/image-menu.xml.in: some minor s/dialogs/windows/
and add the "Images" submenu.
svn path=/trunk/; revision=25623
2008-04-10 Sven Neumann <sven@gimp.org>
* app/display/gimpstatusbar.[ch]
(gimp_statusbar_progress_message):
improved the check if the message can be shown in the statusbar.
Do not show messages that don't fit into the given space.
* app/gui/gui-message.c (gui_message_error_dialog): if there's
already an error dialog associated with a progress, then use it.
svn path=/trunk/; revision=25461
2008-04-09 Sven Neumann <sven@gimp.org>
* app/core/gimpcontainer.[ch]: added new methods
gimp_container_get_{first,last}_child().
* app/actions/file-actions.c (file_actions_close_all_update)
* app/dialogs/layer-add-mask-dialog.c (layer_add_mask_dialog_new)
* app/dialogs/palette-import-dialog.c (palette_import_image_callback)
* app/gui/gui-vtable.c (gui_get_empty_display):
* app/widgets/gimpmenudock.c (gimp_menu_dock_image_changed): use
the new GimpContainer methods.
* app/core/gimpundostack.c: use the new GimpContainer methods and
cleaned up the code.
svn path=/trunk/; revision=25426
2008-04-05 Sven Neumann <sven@gimp.org>
* app/display/gimpdisplay.[ch]: added new function
gimp_display_close() which decides if gimp_display_delete() or
gimp_display_empty() needs to be called.
* app/display/gimpdisplay-foreach.[ch]: added new function
gimp_displays_close() and removed the 'do_quit' parameter from
gimp_displays_delete().
* app/gui/gui.c (gui_exit_callback): changed accordingly.
* app/display/gimpdisplayshell-close.c: removed
gimp_display_shell_really_close() and call gimp_display_close()
instead.
* app/display/gimpdisplayshell.c (gimp_display_shell_empty):
moved
code to update the ui managers here.
* app/actions/file-commands.c (file_save_cmd_callback)
(file_close_cmd_callback)
* app/dialogs/file-save-dialog.c (file_save_dialog_response)
* app/dialogs/quit-dialog.c (quit_close_all_dialog_response):
close displays instead of deleting them.
* app/gui/gui-vtable.c (gui_display_delete): call
gimp_display_close().
svn path=/trunk/; revision=25377
2008-03-29 Michael Natterer <mitch@gimp.org>
* app/gui/gui-vtable.c (gui_display_create): remove temporary
"object" variable, it's prefectly fine to say GIMP_DISPLAY() on a
NULL pointer.
svn path=/trunk/; revision=25305
2008-03-28 Mukund Sivaraman <muks@mukund.org>
Fixes for some Sparse reported issues in app, libgimp*/
* app/gui/gui-vtable.c: Included <gdk/gdkx.h>
* libgimp/gimpprocview.c: author, date, copyright are pointers.
* libgimpwidgets/gimpcolorprofilestore.c: Last argument of
g_scanner_scope_add_symbol() is a pointer.
svn path=/trunk/; revision=25293
2008-03-27 Sven Neumann <sven@gimp.org>
Preparing for a revamp of the "Tip of the Day" feature:
* app/config/gimpguiconfig.[ch]: removed "show-tips" property.
* app/gui/gui.[ch]: removed gui_post_init() as it's only purpose
was
to show the tips dialog.
* app/app.c: changed accordingly.
* app/dialogs/tips-dialog.c: removed some stuff that we are not
going to need any longer.
svn path=/trunk/; revision=25265
2008-03-27 Sven Neumann <sven@gimp.org>
Properly pass the focus from the core to plug-in dialogs:
* libgimpbase/gimpprotocol.[ch]: added a user_time member to the
GimpConfig struct. Bumped the protocol version to 0x0012.
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_user_time() to get the
timestamp of the last user interaction.
* app/plug-in/gimppluginmanager-call.c
(gimp_plug_in_manager_call_run): pass the timestamp to in the
GimpConfig message.
* libgimp/gimp.[ch]:
* libgimp/gimp.def: added method to access the timestamp as set
in the config message.
* libgimp/gimpui.c (gimp_ui_init): construct a fake startup ID and
set the DESKTOP_STARTUP_ID environment variable.
svn path=/trunk/; revision=25263
2008-03-27 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_init): disable automatic startup
notification.
(gui_restore_after_callback): notify the display enviroment that
the application has finished loading.
* app/gui/splash.c: no need to deal with startup notification
here
any longer.
svn path=/trunk/; revision=25254
2008-03-25 Sven Neumann <sven@gimp.org>
* app/core/gimp-gui.[ch]
* app/gui/gui-vtable.c: added gimp_get_empty_display() to the vtable.
* app/file/file-open.c (file_open_from_command_line): use the
empty display as progress window when opening an image from the
command-line or via the DBus interface.
svn path=/trunk/; revision=25219
2008-03-25 Sven Neumann <sven@gimp.org>
* app/gui/gui.c (gui_restore_after_callback): focus the image
window after all docks have been created.
* app/widgets/gimpdock.c (gimp_dock_init): unset focus-on-map on
all dock windows.
* app/widgets/gimpdialogfactory.c
(gimp_dialog_factories_show_foreach): removed the focus hacks here
as they are not any longer needed.
svn path=/trunk/; revision=25216