Commit Graph

2486 Commits

Author SHA1 Message Date
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 ddc1c1d22d app: #if 0 some debug code in gui/gui.c which I accidentially pushed 2014-05-07 21:32:09 +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 Henning 8e42cfa171 app: Fix build for OSX too.
This was broken in 7f23fbec34
This is similar to a25defa39e
2014-05-02 22:31:16 -04:00
Michael Natterer 8356003fa2 app: pass the startup monitor to displays opened from the copmmand line
Change gimp_get_display_name() to also return the screen, and its
implementation in the GUI to return the initial monitor during
startup. Retrieve that information in app.c using a weird callback
construct and pass the monitor to file_open_from_command_line().

Half-related, add screen and monitor parameters to GimpDisplayShell
and use these initial values for calculating the canvas's initial
extents.

The image windows still don't position themselves correctly though
because we have no mechanism for that whatsoever just yet, but we now
at least pass the needed monitor information to the right objects.
2014-05-03 00:54:20 +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 Henning a25defa39e app: Fix build for windows.
This was broken in 7f23fbec34
2014-05-02 17:51:43 -04:00
Michael Natterer 62257edb3e app: make sure the GUI appears on the same monitor as the splash
Manually figure the monitor where the pointer is and pass it to the
splash, the empty image window and to session_restore() explicly.
2014-05-02 21:16:17 +02:00
Michael Natterer 4bb63322d7 app: keep docks on the monitor in gimp_ui_configurer_move_docks_to_window()
and don't move them to the very left and right of the screen, which might
be on different monitors. Also clean up the function.
2014-05-02 21:16:17 +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 051374a1b6 app: add gimp_get_monitor_at_pointer()
and use it instead of duplicating that code several times.
2014-05-02 13:23:25 +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 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 2303ce910d Bug 725734 - Themes not alphabetized
qsort() the array returned by themes_list_themes().
2014-03-06 11:57:16 +01:00
su-v 1876333531 Bug 724782 - git master fails to build on OS X with gtk-mac-integration
Delete the re-inserted 'ige_mac_menu_add_app_menu_group()' function
call. GIMP has migrated to external gtk-mac-integration for the global
menubar integration - ige_mac_menu* functions are no longer available.
2014-02-21 19:49:38 +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
Jehan 2707cff890 app: update a comment for translators.
The current comment is technical and not meant for translators, but it
ends up in po file. Move it where it won't be extracted and add a real
comment for translators. Ideally this string should not be extracted by
xgettext, but it won't verify domains.
2013-12-14 10:26:55 +13:00
Jehan 735f00b886 Bug 679214 - widget direction set to system locale, not user-set lang
In particular a RTL-localized OS, where the user sets GIMP to a LTR lang
would still have a RTL UI (menus, etc.). And vice versa.
2013-12-11 13:14:09 +13:00
Michael Natterer 07e6dc1270 Bug 678043 - Single Window Mode does not remember hide docks option
If docks are hidden and single-window-mode is active, emit
"notify::hide-docks" manually on gimp->config in session_restore() so
GimpImageWindow syncs its state at the right time.
2013-11-21 23:00:44 +01:00
Daniel Sabo e56344294c app: Port to gtk-mac-integration
Replace deprecated Carbon APIs with Cocoa.

Includes code by:
Simone Karin Lehmann
Michael Natterer
Daniel Sabo
2013-11-10 18:22:01 +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 b2e40c4ca7 Bug 667169 - Single window mode: allow tabs position setting. 2013-10-11 23:16:29 +13:00
Jehan a129f84c68 Bug 704592 - only load language lists once at gui startup.
Improvements:
- setenv/getenv() are not thread-safe, hence they should be run only at
startup before any threading occurs.
- it is counter-productive to load the huge ISO-639 XML file each time
the user opens the Preferences dialog or the text tool options.
2013-07-28 04:46:52 +12:00
Michael Henning 3712a8df3e app: Use BUILT_SOURCES to make sure generated files are created first. 2013-07-21 21:26:17 -04:00
Jehan 8ef5fca062 app - call to keep the active shell in single window mode switch out of loop.
Small fix from commit 2697b29. This previous commit was working well, but
implied calling this method as many time as there are opened shells,
whereas once is enough.
2013-07-08 21:24:50 +09:00
Jehan 2697b29963 Bug 703738: when switching between multi and single window mode, keep the same active shell. 2013-07-07 23:52:38 +09: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 f5496f8df8 Bug 701038 - Errors when compiling for windows
Don't use #elifdef, apparently it's a gccism.
2013-05-26 17:02:20 +02:00
Michael Natterer c4460e846b Bug 622934 - Migrate from dbus-glib to glib's GDBus
Drop the glib-dbus dependency and port stuff to GDBus. Use it
unconditionally if not on Windows or OSX. It seels to work just like
before but I have no idea if everything is really correct.
2013-05-24 23:25:47 +02:00
Ville Skyttä 6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
Michael Natterer 568aa7a5b0 Bug 676667 - Splash image display in splash screen is delayed
Throw away the code that sets the splash image as window background
and always use GtkImage. Due to internal GDK changes since this code
was written, this is now the way to avoid any delay when showing the
image, for whatever reason.
2012-11-05 01:47:03 +01:00
Daniel Sabo c1786fe753 app: use an idle source to dispatch GTK menu events in ige-mac-menu
in order to work around the crashes in bug #673264 and bug #674108.
2012-05-27 19:02:55 +02:00
Daniel Sabo 7d62e8370a Bug 675875 - Gimp Quartz doesn't respond to file open events from finder
Add Carbon based apple events responder for kAEOpenDocuments
2012-05-16 22:59:13 +02:00
Michael Natterer 774b6e3c16 app: return a format, not image type from file_open_thumbnail()
create a dummy indexed format if neccessary, which can only be used
for checking with babl_format_is_palette(). Port the rest of
GimpImageFile from GimpImageType to Babl*.
2012-05-02 17:51:03 +02:00
Michael Natterer 3e119c5af7 libgimpcolor: add gimp_rgb[a]_set,get_pixel()
which converts from/to any pixel format using Babl. Added tons of
includes and CFLAGS now that libgimpcolor publically uses Babl.
2012-05-02 17:50:43 +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 531709c8db Depend on ATK 2.2.0, GTK+ 2.24.10, GdkPixbuf 2.24.1
And do some final NEWS adjustments for RC1
2012-04-03 00:53:04 +02:00
Michael Natterer 1556773582 app: don't set another scanner error after gimp_config_deserialize() failed
Setting errors on top of each other produces runtime warnings.
2012-03-30 10:09:14 +02:00
Michael Natterer 2414301799 Review the last few commits and apply some style fanaticism
some completely unrelated,
2012-02-07 20:36:55 +01:00
Massimo Valentini 39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
Michael Natterer 0a68527edc app: move the GimpWindowStrategy interface from display/ to widgets/ 2012-01-30 23:33:21 +01:00
Michael Natterer 325bce54a7 app: port dockable showing to using GimpWindowStrategy API
so it works right in SWM. Fixed actions/, tools/, and app/ for now.
2012-01-30 23:24:44 +01:00
Martin Nordholts 64d2dc122a app: Add and use gimp_dialog_factory_find_widget() 2012-01-10 19:47:52 +01:00
Michael Natterer d43b127484 app: move all prefs menu items to the mac application menu
and add a utility function that does the moving.
2011-12-18 01:24:29 +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 3673549257 Depend on lots of newer library versions
Gegl >= 0.1.8, Babl >= 0.1.6, Gdk-Pixbuf >= 1.24.0, Pango >= 1.29.4,
GLib >= 2.28.8, GTK+ 2.24.7

Which means depending on a gazillion of bug fixes, which means less
pain for GIMP 2.8 users, and less useless bugzilla traffic eating
developer resources.
2011-11-19 18:16:39 +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 3e336199b9 app: use gtk_box_new() 2011-09-30 11:29:11 +02:00