gtk-mac-integration 2.0.0
- From: John Ralls <install-module master gnome org>
- To: FTP Releases <ftp-release-list gnome org>
- Subject: gtk-mac-integration 2.0.0
- Date: Thu, 27 Sep 2012 20:26:47 +0000 (UTC)
About gtk-mac-integration
=========================
Gtk-mac-integration provides an add-on library which Gtk+ applications
can use to better integrate themselves into the Mac user environment,
including placing their menus on the Mac's single menubar, adding
items to the Dock menu, and bouncing the Dock icon for notifications.
Gtk-mac-integration is licensed under the Gnu Lesser General Public
License, the same terms under whic Gtk+ is licensed.
ChangeLog
=========
John Ralls (22):
Change 'NSAlternate' to be used with GDK_MOD1_MASK, matching changes
in Gtk keyhandling.
initial conversion to gobject-introspectable structure
[Introspection] Remove bindings/python/gtk3_osxapplication, made
obsolete by gobject-introspection.
[Introspection] Change all instances of gtk_osxapplication to
gtkosx_application in python bindings.
[Introspection] Rename gtk_osxapplication files in python bindings to
gtkosx_application, part 1
[Introspection] Rename gtk_osxapplication files in python bindings to
gtkosx_application, part 2
[Introspection] Test-integration with introspection.
[Introspection] Change gtk_osxapplication to gtkosx_application in
python bindings
[Python] Adjust acinclude and bindings/python/Makefile.am for
introspection changes.
[Introspection] Rename the bundle functions from quartz_application
to gtkosx_application so that introspection can find them.
Fix up some documentation warnings
[Introspection] Final changes to configure & python Makefile
[Introspection] Fix up the test-introspection example so that it
works.
g_threads_init is deprecated in glib-2.31
Ignore introspection with Gtk2
Change namespace on create_cgimage_from_pixbuf
Fix naming conflict with gtkquartz-menu
Remove gtkosx_application_cleanup
Adjustments and fixes to 4620977
Julien Woillez (1):
Add support for icons in menus.
Richard Procter (1):
Fix object release issues found with Clang static analysis
Roy Liu (1):
Add the missing G_END_DECLS macro to gtkosxapplication.h
Changes from version gtk-mac-integration-1.0.0 to version gtk-mac-integration-1.0.1:
John Ralls (9):
Add to extra-dist the test data files accel_map and src/testui.xml
Strings: Fix error in install script.
Restore ige-mac-foo files
Rename ige-mac-foo files to gtk-mac-foo
Rename bindings/python/igemacintegration to
bindings/python/gtkmacintegration
Update internals of former ige-mac-foo files
strings: Fix the same error in the uninstall script.
Changes from version ige-mac-integration-0.9.8 to version gtk-mac-integration-1.0.0:
John Ralls (11):
Replace the single static emission_hook_id with stuffing the id for
each main menu as a qdata on the menu shell.
Remove the attempt to add the window title to the window menu.
Fix a dumb typo which prevented building with Gtk+2
Bug 56: Better French Translations, thanks to gegeweb
Add doap file for git.gnome.org
Rename the module from ige-mac-integration to gtk-mac-integration
Remove deprecations for Gtk-mac-integration release 1.0.0
More changes to reflect project name change
Make package work with "make dist"
Documentation updates for 1.0.0 Release
Changes from version ige-mac-integration-0.9.7 to version ige-mac-integration-0.9.8:
John Ralls (13):
Fix compile error with IGE_MAC_INTEGRATION defined.
Cleanup trailing whitespace.
Fix a warning about labels not being GObjects when there isn't a
label (when the menu item is a separator).
Bug #53: Force a double menubar switch to suppress a second system
menu icon (with no attached menu) from appearing in the menubar
when a new window is created after starting the main loop.
Force addition of the current window to the Window menu when a window
menu is passed in. This is mostly needed for for the first window;
the windows list gets created after the window, so it's not no the
list.
Test for adding a window after starting the main loop; a tailored
window menu is added to hold the command.
Add m4 to the ignore list.
Bug #52: Make Quartz accelerator handlers work in a gdk_threaded
application.
Move the "Bounce" binding from "o" to "u" so that it doesn't conflict
with File>Open.
Setup a new directory, bindings/python/gtk3_osxapplication for pygi
(replacing pygtk for gtk3), and for making it instead of
gtk_osxapplication if the gtk library is gtk3, Gtk-3.0.gir exists,
and pygobject-2.28 or better is present.
Add bindings which work with PyGI (replaced PyGtk).
Changes from version ige-mac-integration-0.9.6 to version ige-mac-integration-0.9.7:
John Ralls (7):
Cast to GNSMenuItem so that the setHidden method is found when
building for Tiger.
https://sourceforge.net/apps/trac/gtk-osx/ticket/41
Correct parameter number error in g_cclosure_marshal_BOOLEAN__STRING
Add test for openfile.
Revert e9a29d3d5ee06f88ce02b68a047e52b1e6f95f31. It turns out that
you _do_ need to call gtk_window_add_accel_group, even when using
GtkUIManager.
Fix key equivalents for Hide, Hide Others, and Minimize so that they
don't require <Shift>; not standard per the Apple HIG. Thanks to
Richard Proctor for pointing this out.
Clean up trailing whitespace in configure.ac
Changes from version ige-mac-integration-0.9.5 to version ige-mac-integration-0.9.6:
John Ralls (11):
Remove the semicolons from the macro definitions; they caused errors
when using the macros in the declaration section of a code block.
Add a "removeItem" call to GNSMenuItem (only needed because of the
inMenu and index member variables which exist when the target is
10.4)
Rework parent_set_emission_hook so that it returns immediately if
neither the old nor the new parent have registered cocoa menus. It
turns out that GtkComboBox uses a GtkMenu to keep its list, and
trying to sync that menu was a common (and expensive) occurence.
Restore cocoa_menu_item_connect to outside of not a separator; that
was the wrong solution. Instead, explicitly unhide the inserted
separated item in Cocoa.
Prevent reentry of signal emission in applicationShouldTermintate
Change keymask to reflect patch to gtk+ which maps NSCommandKeyMask
to GDK_META_MASK
test-integration: Enable BUILT_UI, fix a couple of compile errors for
that option, load an accelerator map file.
Add accel_map, used for test-integration.
Add protection against index being out of range when unhiding a menu
item.
Use gdkkeysyms-compat for versions of Gtk after 2.90.7
Changes from version ige_mac_integration-0.9.4 to version ige-mac-integration-0.9.5:
John Ralls (6):
Protect the creation of the static GtkOSXApplication pointer with a
GStaticMutex for thread safety.
Correct the modifier key mappings.
Move connect_menu_item call inside the "not a separator branch";
unattached separators (those inserted by
gtk_osxapplication_insert_app_menu_item in particular) were
disappearing because they couldn't successfully connect.
[#37] Deprecate gtk_osxapplication_add_app_menu_group() and
gtk_osxapplication_add_app_menu_item() in favor of the much
simpler gtk_osxapplication_insert_app_menu_item().
Update python gtk_osxapplication bindings to reflect API changes.
Richard Procter (1):
Make bundle functions "free"
Changes from version ige_mac_integration-0.9.3 to version ige_mac_integration-0.9.4:
Hamish Mackenzie (1):
Menu_event_handler_func: return eventNotHandledErr instead of calling
the next event (which EventManager will do when it gets the
eventNotHandledErr -- and if the next event returns it, then
EventManager would call it again, uselessly)
John Ralls (9):
Add clean and distclean targets in strings
Correct errors in Python detection script
Correct conceptual error in strings clean target: Delete the Makefile
for distclean, so that configure will create a new one. One can't
very well have a make target to make the makefile.
Enable building to gtk+-2.0 or gtk+-3.0
Replace deprecated function and macro calls to enable correct
operation in gtk+-3.0
No need to call gtk_window_add_accel_group with BUILT_UI;
GtkUIManager takes care of it for us.
Clean up the ifdefs, which had gotten borked for IGEMACINTEGRATION.
Corrected ifdef error which prevented test-integration from building
in GTKOSXAPPLICATION mode.
Changes from version ige_mac_integration-0.9.2 to version ige_mac_integration-0.9.3:
John Ralls (14):
Make bundle functions return duplicated gchar* instead of the const
gchar* pointing into the NSString object. This corrects some ugly
memory leaks.
Create an object autorelease pool. Corrects some memory issues if the
GtkOSXApplication object is created too early.
Wrap static strings for translation.
Test Response to WillTerminateNotification signal.
Add translations for menu labels
Use AC_CONFIG_FILES instead of the deprecated AC_OUTPUT().
Rename the english strings file to have the "en" suffix.
Install the strings files. They'll go to
$PREFIX/share/strings/foo.proj/GtkOSXApplication.strings (where
"foo" is the appropriate language code).
Move some code around to fix errors when BUILD_UI is undeffed.
Template accelerator map file for converting standard accelerators to
OSX-standard key equivalents.
Add pointer to the wiki page for more documentation.
Add standard key equivalents to selected menu items in Application
and Window menus.
Changes from version ige_mac_integration-0.9.1 to version ige_mac_integration-0.9.2:
John Ralls (12):
Add Paul Davis.
Restore the docs Makefiles to AC_OUTPUT, mysteriously deleted in a
merge.
Better memory management in the unlikely case that the various memory
items are changed.
Provide accessor for GtkMenuBar*
Change name of windowMenu to windowsMenu for consistency with
NSApplication function
Expose cocoa_menu_item_get as a public function.
Split setting up of the Help and Window menus as separate functions.
Additional required docs files... should have been added earlier.
Fix crash if help_menu or window_menu is no longer attached to the
menu bar.
Add "will terminate" signal to fully support applications that use
two-stage shutdown.
Make the creation of docs conditional on --enable-gtk-docs.
Changes from version ige_mac_integration-0.9.0 to version ige_mac_integration-0.9.1:
John Ralls (6):
Tiger compatibility fixes
Minor documentation errors
Change the return to shouldTerminate to NSTerminateCancel.
Add observation of NSApplicationWillTerminate and use that to clean
up.
Add the notification object to self->priv to ensure its orderly
destruction at shutdown.
Changes from version ige_mac_integration-0.8.6 to version ige_mac_integration-0.9.0:
John Ralls (144):
Fix ticket #13 (window focus). Thanks to Steffen Gutmann.
Add check for parent so menubars which aren't attached to windows
won't be connected to the window-switch callback. (Steffen
Gutmann)
h2defs.py moved from pygtk to pygobject
Add descriptive comments
Two windows for test-integration
Removed extraneous set_parent
Fixed the change icon path so that it's something that's guaranteed
to be available and so that it can be found (instead of being on
an absolute path from MacPorts).
Cocoa reimplimentation on ige-mac-menu from Paul Davis (Ardour).
Change license notice to allow distribution under later revisions of
LGPL.
Change further info URL from imendio to gtk-osx
Update copyright information
Rename and reorganize gtkapplication-quartz, rewrite GtkApplication
class as a GObject (from a Gtkmm C++) class.
Adjust Makefile.am to compile GtkApplication and related classes.
Upgrade to automake-1.10
Use GtkApplication menu functions instead of ige-mac-menu.
Split up overly-long gtkapplication_quartz.c into more manageable
(and object-specific) files.
Cleanup extra includes and put all exported functions together.
Invoke gtk_application_ready() before starting the event loop. This
tells NSApp that the menus are ready; leave it out and the menubar
isn't populated.
minor reformat for readability
Move, rather than skip, an existing NSMenuItem.
Use the saved app_menu instead of retrieving submenu 0.
Rename carbon_menu_item_add_submenu to cocoa_menu_item_add_submenu.
Oops!
Call [NSApplication sharedApplication] exactly once during
GtkApplication init, and use the global NSApp elsewhere.
Change GNSMenuItem to take a GClosure for its second argument instead
of a GtkMenuItem.
New ClosureData struct
New function cocoa_menu_item_add_action to take a closure and a
gpointer to other data so that an arbitrary two-parameter (one in
closure.data and one in the gpointer) function wrapped in a
closure can be used as a callback to the added CocoaMenuItem, for
use in menus that aren't changed with the window.
Change calls to [GNSMenuItem initWithTitle] to comply with new
signature.
Call g_cclosure_new_object_swap instead of g_cclosure_new
Change signature of gtk_application_add_app_menu_item to take a
label, closure, and data pointer instead of a menu_item.
Restore ige-mac-menu to the library for testing and
backwards-compatibility.
Create accelerators on the File menu to test accelerator function.
Renable testing two windows.
Add reminder for test coverage
Add explanitory comment about menu action callback
Set up defines for testing either no menu mangling, Carbon menu
mangling (IGEMACMENU) or Cocoa menu mangling (GTKAPPLICATION).
Allow cocoa_menu_get to be called (and to return NULL) if
cocoa_menu_connect hasn't yet been called.
Move the menubar from being owned by the GtkApplication (which limits
us to one menubar) to being owned by each window, since in Gtk
each window has its own menubar (or doesn't have one at all --
which might crash the application when the menuless window
receives focus.)
Restore the use of a menu item for gtk_application_add_app_menu_item,
because it turns out that while Carbon has only one App menu
shared among all menubars, Cocoa has one for every menubar.
Connect window_focus_cb to the signal.
Correct behavior of [GtkApplicationDelegate ApplicationShouldQuit],
signature and behavior of gtk_application_should_quit, and
comments about other AppDelegate functions.
Correct license from GPL to LGPL.
Move update_active, update_accel_closure, and _update_submenu from
carbon_menu_item_create to sync_menu_shell so that changes to
these things will be synchronized even if the menu itself isn't
changed.
Replace interface extension and direct call to [NSApp setAppleMenu:]
with indirect call
Comment out add_to_app_menu and add_to_window_menu
Fix forgotten parameter in g_print in gtk_application_should_load.
Modify add_to_menubar to take a position indicating where on the
menubar to add the new menu.
Modify create_app_menu to always insert the app menu at index 0.
Create a Window menu, always inserting it just to the left of the
Help menu if there is one, or on the end if there isn't.
Fix app_menu tracking
Fix Window menu to include the first-opened window.
Add signal handler to override gtk_widget_can_activate_accel for the
hidden menubar; makes menu accelerators work.
Add to the test program a GtkUIManager ui with actions instead of
menuitems doing the work.
Add some documentation and a guard to prevent calling
ige_mac_menu_sync() before ige_mac_menu_set_menubar();
Turn off debug messagesin cocoa_menu_item and gtkapplication_quartz
Suppress critical error message if cocoa_menu_get is called before
the quark is set.
Make the diagnostic signal handler messages DEBUG() macros.
UI file for test program GtkUIManager ui.
A little cleanup
Delete stray leftover from adding accelerators
Remove "in_event_menu_handler" Don't know why this was here, it
isn't used.
Force passing of windowless (read Apple) accelerators to the main
menu bar.
Remove cocoa_menu_item_add_action; it isn't needed.
Clean out debugging message
Provide menu-item hiding for Tiger (not tested) and enable it for
Leopard and later (tested).
Use Tiger menu item hiding.
Prettier formatting.
Provide for disabling of Quartz menu accelerator (aka keyEquivalents)
for apps which need to do their own.
Change the menu_item_activate callback to toggle the sensitiviy of
Edit>Copy rather than turn it off once.
Fix up the tests of accelerators so that they respond correctly to
changes from e.g., gtkrc files.
Provide test of disabling quartz key equivalents.
Separate state syncronization into a separate function, rename
cocoa_menu_item_active to cocoa_menu_item_checked, and provide
for setting checked menu items to "NSMixedState" when the
corresponding GtkCheckedMenuItem has its "inconsistent" property
set to true.
Provide for resyncing an already-set menubar.
Make the "action" instance variable private.
Fix errors in the Tiger menu-item-hiding code; now tested and working
properly.
Tidy up some word-wrapping
Clean up line endings
Add a Help item to the Help menu in BUILT_UI to force the Help menu
to be visible after the About menu item is moved.
Handle resync of an existing submenu
Add parameters with accessors for the 3 OSX special menus so that
their positions can be maintained.
Add a notUsed instance variable with manipulation so that
GNSMenuItems whose Gtk counterparts have been deleted
programmatically with signals disconnected can be identified and
removed.
Track osx-controlled special menus (Apple, Windows, and if needed,
Help) so that their positions can be adjusted after modifications
to the menubar.
Move menu_data_cb functions outside of the ifndef BUILT_UI block so
that they can be used with BUILT_UI
Add a button which adds/removes a new menu item to/from the menu bar
to test and demonstrate programmatic menu synchronization.
BUILT_UI only.
Change all instances of NSMenuItem in cocoa_menu_item.c to
GNSMenuItem to make sure that pointers don't get corrupted by
slicing.
Editorial cleanup and comments
Oops. Clean the submenu and return if there *isn't* a Gtk submenu,
not if there is!
Some safety improvements in cocoa_menu_item_add_submenu
Wrap ige_mac_menu_sync for python bindings
When syncronizing the main menu bar ensure that the Window menu gets
put back in the right place.
Provide for synchronizing deletion of menu items.
Provide a QUARTZ_HANDLERS macro to turn on allowing quartz to handle
keyboard accelerators.
Disconnect the old signal instead of ignoring the fact that the
coocoa_item has changed.
Don't do anything if the old item and new item match.
Comments for #endifs; it's getting pretty complicated!
Add dock menu support
Comments separating function prototypes by what they do.
Add comment indicating that ige-mac-image-utils does not need to be
rewritten to support 64-bit compilation.
Fix crasher from last change
Fix a typo, add some descriptive comments
Add a protective check against a null menu shell.
Repair a couple of minor typos in GtkApplicationDelegate.c
Finish dock functions in GtkApplication, and tests for same to
test-integration.c
Add bundle functions
GtkApplicationNotify emits signals instead of calling a hard-coded
function in GtkApplication.
Reconfigure GtkApplicationDelegate to use a signal for
applicationShouldTerminate.
Rename GtkApplication to GtkOSXApplication
Move the ige_mac_integration python bindings into their own directory
in preparation for creating gtkosxapplication bindings (also in
their own directory).
Fix m4 function IMENDIO_PYTHON_CHECK for codegen moving from pygtk to
pygobject.
Symbol changes to be compatible with pygobject-codegen
Modify makefiles and configure for moving the ige_mac_integration
wrapper to a subdirectory of bindings/python. Provide a makefile
for the gtkosxapplication binding.
Basic python wrapper for gtkosxapplication.
Rename bindings/python/gtkosxapplication to gtk_osxapplication to
work consistently with the wrapper module name.
Provide a signal for NSApplicationDelegate openFile:
Add compiled python and wrapper-intermediate files to ignore list.
Fix minor bug and remove testing comment.
Change comment type, because pygobject's h2defs pukes on C++-style.
Remove the menu item hide in gtk_osxapplication_add_app_menu_item.
Remove redundant hide command from cocoa_menu_item_sync_state.
(cocoa_menu_item_update_state handles hidden and sensitive
properties)
Rename cocoa_menu_item_sync_state to cocoa_menu_item_sync
Give gtk_application_sync_menubar a GtkOSXApplication* argument so
that h2defs.py will recognize it as a member function.
Correct marshaller arguments in NSApplicationOpenFile signal
creation.
Complete python bindings for GtkOSXApplication
Minor typo in AC_OUTPUT
PyGObject-codegen needs to see "self" to recognize a class method
Conditionally compile Carbon-dependent functions in 32-bit only.
Disable compilation of igemacintegration python bindings when
compiling for 64-bit is enabled.
Make gtk_osxapplication_dock_menu() appear private to Gtk-Doc by
renaming it _gtk_osxapplication_dock_menu()
Enable running Gtk-Doc to build documentation; update minimum version
to 1.11, the one in the current stable moduleset.
First pass at documentation.
Move the signal creation from gtk_osxapplication_init to
gtk_osxapplication_class_init.
Add the docs Makefiles so that docs get built
Add gtk-doc.make to distribution
Gtk-docs Makefile tweaks to get it working.
Documentation fixups.
Fix some documentation typos.
Change return type of gtk_osxapplication_get_bundle_info to gchar*
Finish Documentation
Update README
New version 0.9.0
Fix URL in README
Changes from version ige-mac-integration-0.8.5 to version ige_mac_integration-0.8.6:
John Ralls (10):
Provide separate menubars for different windows.
Corrected return type (and value) of window_focus event handler,
added window_delete event handler.
Better logging of parent-set events, synch_menu_shell startup.
Rename carbon_menu_create_item to carbon_menu_item_create, more
consistent with other function names
Decrement CarbonMenuItem index when it's only 1 high (i.e., after a
menu item deletion) instead of deleting and recreating the
MenuItem.
Destroy the Carbon Menu/MenuItem when freeing the
CarbonMenu/CarbonMenuItem that points to it.
Revert "Corrected return type (and value) of window_focus event
handler, added window_delete event handler."
Corrected return type, value of window_focus.
Clear the menubar when a window is deleted. Still have to manually
refocus to another window in the app, but this is a gtk+-quartz
problem, not a menu problem.
Changes from version ige-mac-integration-0.8.4 to version ige-mac-integration-0.8.5:
John Ralls (13):
Reformatted for better readability.
Rearranged some if blocks to reduce excessive indenting.
Extract method to carbon_menu_create_item
Prettier control of Debug printing.
Error detection and reporting for carbon calls
Clean up compile errors
Better, more concise logging
create carbon_menu_item_get_checked from carbon_menu_item_get (which
is returned to it's former form)
Use carbon_menu_item_get_checked where needed
Avoid adding CarbonMenuItems after errors
Better logging
Just increment the carbon_item->index after an insert instead of
trying to delete the menu item and get everything relinked.
Changes from version ige_mac_integration-0.8.0 to version ige-mac-integration-0.8.4:
John Ralls (3):
Added -DMAC_INTEGRATION
Updated URL in README
Download
========
http://download.gnome.org/sources/gtk-mac-integration/2.0/gtk-mac-integration-2.0.0.tar.xz (289K)
sha256sum: 44c6461e7b2b058bd4c9c7a28903e2a25fa5a5b1eeea49331c4fe7043a042436
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]