Sébastien Wilmet
f9ba55eaad
app: add missing g_returns
...
And have the g_returns in the same order as the function parameters.
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-12 20:32:49 +02:00
Sébastien Wilmet
ee58a52a61
app: minor code improvements
...
- use GDK_EVENT_PROPAGATE
- pass better zero-values to gtk_init(), since the parameters are
pointers.
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
1f87c1cc0b
app: improve code of extract_accels_from_menu()
...
sub_model is clearer than "m". And we don't use the key, so we can pass
NULL instead.
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
687d3eb48f
app: use g_set_object()
...
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
29971b0cc9
app: don't use deprecated function
...
gtk_application_add_accelerator() is deprecated, but was still used
inside IGNORE_DEPRECATIONS's.
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
399e8db336
app: improve doc of gtk_application_get_window_by_id()
...
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
40e40b7ffc
app: improve doc of gtk_application_set_accels_for_action()
...
When reading the API for the first time I didn't know what was the
"detailed" action name.
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:07 +02:00
Sébastien Wilmet
48afd8a5f0
app: avoid code duplication for setting accels
...
The implementation of the deprecated functions is now based on the
non-deprecated gtk_application_set_accels_for_action().
https://bugzilla.gnome.org/show_bug.cgi?id=764846
2016-04-10 16:54:06 +02:00
Sébastien Wilmet
6db7de3f7b
app: fix indentation
...
And add missing curly braces.
2016-04-09 18:54:42 +02:00
Sébastien Wilmet
b3dc473057
docs: trivial fixes in GtkApplication-related documentation
2016-04-09 09:45:33 +02:00
Timm Bäder
aeed695e26
gtkapplication: _get_app_menu can return NULL
2016-03-28 18:18:20 +02:00
Matthias Clasen
cb738bc201
Remove private clipboard api from public headers
2016-03-26 23:17:53 -04:00
Phillip Wood
934b3f6865
Document that GtkApplication loads gtk/menus-common.ui
...
Add a comment about the resource gtk/menus-common.ui to the
documentation of the other resources loaded by GtkApplication.
https://bugzilla.gnome.org/show_bug.cgi?id=761432
2016-02-18 14:11:14 +00:00
Phillip Wood
c38c3361ca
Document help overlay action name in GtkApplication
...
This means all the information needed to automatically load a
shortcuts window and create a menu item to show it is in one place.
https://bugzilla.gnome.org/show_bug.cgi?id=761431
2016-02-18 14:11:14 +00:00
Allison Ryan Lortie
0d109867d2
Tweak startup-notification after the first window
...
Presently, Gtk will only send a startup notification completion message
for the first window that is shown. This is not good for the case of
GtkApplication, where we are expected to participate in
startup-notification for all windows.
We have avoided this problem by manually emitting the startup complete
message from after_emit in GtkApplication.
Unfortunately, this causes problems for windows that are shown with a
delay. It is also a dirty hack.
The reason for the original behaviour is simple: there is a static
boolean in gtkwindow.c which controls it. We remove this.
Instead, clear the startup notification ID stored in GDK when sending
the completion message. GtkApplication will re-set this the next time
an event comes in which needs startup-notification handling. In the
non-GtkApplication case, newly shown windows will still not send the
message, since the cookie will have been cleared.
Finally, we remove the hack from GtkApplication's after_emit.
This will probably cause some regressions in terms of lingering startup
notification messages. The correct solution here is to always use
gtk_window_present(), including when merely opening a new document (with
a new tab, for example).
https://bugzilla.gnome.org/show_bug.cgi?id=690791
2016-01-27 18:14:40 +01:00
Matthias Clasen
0049be4e58
application: Protect against double shutdown
...
It is not something that can happen normally.
But if it does, we shouldn't crash.
https://bugzilla.gnome.org/show_bug.cgi?id=760680
2016-01-15 17:37:55 -05:00
Alberto Ruiz
496f0892fc
introspection: This patch fixes nullable return values fixes for the following symbols in gtk
...
gtk_accel_group_query
gtk_accel_group_from_accel_closure
gtk_accel_label_get_accel_widget
gtk_accessible_get_widget
gtk_actionable_get_action_name
gtk_app_chooser_get_app_info
gtk_app_chooser_button_get_heading
gtk_app_chooser_dialog_get_heading
gtk_application_get_window_by_id
gtk_assistant_get_nth_page
gtk_binding_set_find
gtk_builder_get_object
gtk_builder_lookup_callback_symbol
gtk_builder_get_application
gtk_button_get_image
gtk_cell_area_get_focus_from_sibling
gtk_cell_renderer_start_editing
gtk_cell_view_get_model
gtk_cell_view_get_displayed_row
gtk_clipboard_get_owner
gtk_container_get_focus_child
gtk_container_get_focus_vadjustment
gtk_container_get_focus_hadjustment
gtk_dialog_get_widget_for_response
gtk_drag_get_source_widget
gtk_drag_dest_get_target_list
gtk_drag_source_get_target_list
gtk_entry_completion_get_model
gtk_entry_completion_compute_prefix
gtk_expander_get_label_widget
gtk_file_chooser_get_filename
gtk_file_chooser_get_current_folder
gtk_file_chooser_get_uri
gtk_file_chooser_get_current_folder_uri
gtk_file_chooser_get_preview_widget
gtk_file_chooser_get_preview_file
gtk_file_chooser_get_preview_filename
gtk_file_chooser_get_preview_uri
gtk_file_chooser_get_extra_widget
gtk_file_chooser_get_filter
gtk_file_chooser_native_get_accept_label
gtk_file_chooser_native_get_cancel_label
gtk_file_filter_get_name
gtk_font_chooser_get_font_family
gtk_font_chooser_get_font_face
gtk_font_chooser_get_font
gtk_font_chooser_get_font_desc
gtk_font_chooser_get_font_map
gtk_frame_get_label
gtk_gesture_get_device
gtk_gesture_get_window
gtk_gl_area_get_error
gtk_header_bar_get_title
gtk_header_bar_get_subtitle
gtk_header_bar_get_custom_title
gtk_icon_info_get_filename
gtk_icon_view_get_path_at_pos
gtk_icon_view_get_model
gtk_image_get_pixbuf
gtk_image_get_animation
gtk_label_get_mnemonic_widget
gtk_label_get_attributes
gtk_check_version
gtk_menu_button_get_popup
gtk_menu_button_get_menu_model
gtk_menu_button_get_align_widget
gtk_menu_button_get_popover
gtk_menu_item_get_submenu
gtk_menu_item_get_accel_path
gtk_native_dialog_get_title
gtk_native_dialog_get_transient_for
gtk_notebook_get_nth_page
gtk_notebook_get_tab_label_text
gtk_notebook_get_menu_label
gtk_notebook_get_menu_label_text
gtk_notebook_get_group_name
gtk_notebook_get_action_widget
gtk_offscreen_window_get_surface
gtk_offscreen_window_get_pixbuf
gtk_paned_get_child1
gtk_paned_get_child2
gtk_places_sidebar_get_location
gtk_places_sidebar_get_nth_bookmark
gtk_plug_get_socket_window
gtk_popover_get_default_widget
gtk_progress_bar_get_text
gtk_recent_filter_get_name
gtk_recent_manager_lookup_item
gtk_settings_get_default
gtk_socket_get_plug_window
gtk_stack_sidebar_get_stack
gtk_stack_switcher_get_stack
gtk_style_context_get_section
gtk_style_context_get_parent
gtk_style_context_get_frame_clock
gtk_test_find_widget
gtk_text_buffer_get_mark
gtk_text_tag_table_lookup
gtk_text_view_get_tabs
gtk_text_view_toggle_cursor_visible
gtk_text_view_get_window
gtk_toolbar_get_nth_item
gtk_tool_button_get_label
gtk_tool_button_get_icon_name
gtk_tool_button_get_label_widget
gtk_tool_button_get_icon_widget
gtk_tool_palette_get_drop_item
gtk_tool_palette_get_drop_group
gtk_tree_model_filter_convert_child_path_to_path
gtk_tree_model_filter_convert_path_to_child_path
gtk_tree_model_sort_convert_child_path_to_path
gtk_tree_model_sort_convert_path_to_child_path
gtk_tree_view_get_column
gtk_tree_view_get_bin_window
gtk_tree_view_column_get_widget
gtk_tree_view_column_get_tree_view
gtk_widget_get_frame_clock
gtk_window_group_get_current_device_grab
GtkTextBufferSerializeFunc
2016-01-08 12:18:23 +00:00
Matthias Clasen
f6d9f9f93d
Add automatic help overlay support to GtkApplication
...
When the $(resource_prefix)/gtk/help-overlay.ui resource exists,
load a GtkShortcutsWindow from it for each GtkApplicationWindow,
and set up a win.show-help-overlay action with accels <Primary>F1
and <Primary>? to show it.
2015-10-21 15:33:09 -04:00
Emmanuele Bassi
707a071c66
app: Warn when trying to add windows on an inert instance
...
Application windows can only be added after the application has been
started.
https://bugzilla.gnome.org/show_bug.cgi?id=755954
2015-10-01 19:24:12 +01:00
Matthias Clasen
aff6835f1b
application: Be save against impl being NULL
...
We clear the impl in shutdown, so all callbacks that may
happen at a later time need to be prepared for this.
https://bugzilla.gnome.org/show_bug.cgi?id=755432
2015-09-23 14:38:08 -04:00
Matthias Clasen
66f0bdee0a
Intern all signal names beforehand
...
This avoids pointless allocations
2015-09-12 12:50:39 -04:00
Matthias Clasen
0585780de1
application: Convert to g_object_notify_by_pspec
...
This avoid pspec lookup overhead in g_object_notify.
2015-09-06 17:11:35 -04:00
Matthias Clasen
75f0146c69
application: Fix compiler warnings
...
Fix warnings due to -Wdeclaration-after-statement and -Wshadow.
2015-06-02 09:08:15 -04:00
Matthias Clasen
7db74e3aa9
GtkApplication: Fix some small doc formatting issues
2015-04-26 10:19:26 -04:00
Matthias Clasen
7603b52790
GtkApplication: Prevent more crashes around shutdown
...
gtk_application_shutdown clears the impl member, so all
callbacks, signal handlers, etc that might still be triggered
between a shutdown call and the return from the mainloop
better be prepared to deal with impl being NULL.
2015-04-10 08:04:53 -04:00
Matthias Clasen
c0ac3c3386
GtkApplication: avoid a crash
...
It can apparently happen that we get focus in events
on windows after gtk_application_shutdown() has been
called. Avoid an unnecessary crash in this case.
See
https://bugzilla.redhat.com/show_bug.cgi?id=1176339
2015-04-08 15:44:21 -04:00
Bastian Ilsø
9c49144cbe
Add reference to HowDoI and getting-started
2015-02-02 20:52:35 +01:00
Matthias Clasen
d55e3b25a7
Fix various compiler warnings
...
Mostly missing declarations and missing statics.
2014-09-05 21:21:49 -04:00
Paolo Borelli
db3a01b589
GtkApplication: fix annotation of get_menu_by_id
...
https://bugzilla.gnome.org/show_bug.cgi?id=735034
2014-08-19 18:28:19 +02:00
Ryan Lortie
7d81d0a3bb
Add gtk_application_get_actions_for_accel()
...
This counterpart to gtk_application_get_accels_for_action() lets you
find out if a particular accelerator has one or more actions associated
with it. This might be useful from an accelerator editor or plugin
system to prevent the the installation of conflicting accelerators.
https://bugzilla.gnome.org/show_bug.cgi?id=721367
2014-08-03 20:27:51 +02:00
Ryan Lortie
ffbfee0738
GtkApplication: load gtk/menus-common.ui resource
...
Allow the app to install a resource called gtk/menus-common.ui which
will always be loaded, regardless of which type of menus we are using.
https://bugzilla.gnome.org/show_bug.cgi?id=733925
2014-07-30 09:57:33 +02:00
Matthias Clasen
d1099b1759
Document gtk_application_get_menu_by_id
2014-07-07 19:44:39 -04:00
Ryan Lortie
4948516100
GtkApplication: document icon path setup
...
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:28 -04:00
Ryan Lortie
687a846923
GtkAppliation: setup icon theme resource path
...
If we have a resource base path for the application, set up an icon
theme search path based on it (within the default icon theme).
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:27 -04:00
Ryan Lortie
868ee07f49
GtkApplication: use resources for loading menus
...
Use the new ::resource-base-path property on #GApplication to attempt to
load the menu layout of the application.
We look first at gtk/menus-appmenu.ui or gtk/menus-traditional.ui
depending on the setting of gtk_application_prefers_app_menu(). Failing
that, we fall back to the common case of gtk/menus.ui (which should
always be given). This provides a convenient way for application
authors to provide a different set of menus, depending on the desktop
environment they find themselves in.
As is the intention with other resources, if the resource base path is
unset, nothing will be loaded. Additionally, if the expected files are not
found, it is not an error -- just nothing happens.
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-07 14:46:27 -04:00
Ryan Lortie
d3b34d3cf2
Add gtk_application_prefers_app_menu()
...
Applications can call this to determine if they should an app menu.
This will be %FALSE on desktop environments that do not have an
application menu like the one in gnome-shell. It is %FALSE on Windows
and Mac OS.
Applications are completely free to totally ignore this API -- it is
only provided as a hint to help applications that may be interested in
supporting non-GNOME platforms with a more native 'look and feel'.
https://bugzilla.gnome.org/show_bug.cgi?id=722092
2014-07-02 20:17:34 -04:00
Kalev Lember
750f6b9913
GtkApplication: Fix two muxer-related memory leaks
...
Drop the ref on the action muxer in finalize, and also make sure
shutdown() tears down the muxer setup done in startup().
When GtkApplication adds itself to a muxer, it causes the muxer to take
a ref on the GtkApplication. This has to be undone in shutdown() to make
sure the GtkApplication doesn't end up holding a ref on itself.
https://bugzilla.gnome.org/show_bug.cgi?id=730383
2014-05-25 10:49:27 +02:00
Matthias Clasen
1a6dd9fcd2
GtkApplication: implement the active-window property
...
This was apparently just forgotten.
First bug found by GtkInspector.
2014-05-10 22:04:26 -04:00
Matthias Clasen
7e8703918b
Small documentation fixes
...
Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=729461
2014-05-05 07:25:27 -04:00
Matthias Clasen
3e80ce39e1
GtkApplication: Clarify docs a bit
...
Explicitly mention how gtk_application_set_accels_for_action can
be used to remove all accelerators for an action.
https://bugzilla.gnome.org/show_bug.cgi?id=729451
2014-05-05 07:25:27 -04:00
Matthias Clasen
7d5bb09b88
Deprecate gtk_application_add_accelerator
...
The new gtk_application_set_accels_for_action api is more flexible
and better.
2014-04-06 02:13:06 -04:00
Murray Cumming
4ee775ebf9
docs: Tiny GtkApplication typo fixes.
2014-03-18 12:29:49 +01:00
William Jon McCann
a9ecde45ec
docs: don't show bloatpad images in the docs
...
They are too large and out of date.
2014-02-12 19:28:51 -05:00
Matthias Clasen
7f6a964c47
Docs: Remove all entities and turn off sgml mode
...
With all element markup gone, it is time to turn off
sgml mode, and get rid of entities as well.
2014-02-09 17:58:07 -05:00
William Jon McCann
13998c55e7
docs: use proper quotations instead of '*'
2014-02-07 14:22:39 -05:00
Ryan Lortie
974c843253
GtkApplication: install gtk option group
...
Install Gtk's GOptionGroup in GApplication just before commandline
arguments are parsed.
2014-02-06 17:42:33 +00:00
William Jon McCann
2a45418b67
docs: use proper quotes
2014-02-05 15:08:42 -05:00
William Jon McCann
b4d4ffcf38
docs: Don't use <xi:include>
2014-02-05 12:32:20 -05:00
William Jon McCann
bf7afa48f8
docs: replace all figures with headings and images
2014-02-04 17:20:43 -05:00
William Jon McCann
63e887e165
docs: replace all <examples> with markdown headings
2014-02-04 16:58:54 -05:00