Commit Graph

19845 Commits

Author SHA1 Message Date
William Jon McCann
0a1d276f4f docs: don't use <type> tags
Use # syntax where appropriate.
2014-01-28 00:21:26 -05:00
Matthias Clasen
05655c5bfa Trivial typo fix 2014-01-27 23:30:38 -05:00
Matthias Clasen
9d9a60c466 Paper dialog: Use baseline alignment
This improves the positioning of the labels wrt to the spin
buttons.
2014-01-27 23:30:37 -05:00
Matthias Clasen
3e67b57396 Print dialog: Use baseline alignment in page setup tab
Based on a patch from
https://bugzilla.gnome.org/show_bug.cgi?id=722722
2014-01-27 23:30:37 -05:00
Nikita Churaev
40ccb8e79c Fix vertical alignment of labels in "Paper" section of the print dialog
https://bugzilla.gnome.org/show_bug.cgi?id=722722
2014-01-27 23:30:37 -05:00
William Jon McCann
bf35c77f14 docs: use () instead of <function> tags 2014-01-27 23:08:08 -05:00
William Jon McCann
4a2043cbd2 docs: don't use footnotes
Temporarily remove documentation for keybinding signals for
GtkFileChooserDefault until we can find a way to add them
properly.
2014-01-27 22:32:24 -05:00
Matthias Clasen
3d17e3f88c GtkPlacesSidebar: Stop drives that can be stopped
Removable USB drives or memory sticks should be powered down
when the eject button is pressed. For this, we need to call
g_drive_stop() instead of g_drive_eject(), provided the drive
can be stopped.

https://bugzilla.gnome.org/show_bug.cgi?id=723121
2014-01-27 21:53:49 -05:00
Matthias Clasen
04e8d9fa5e GtkPlacesSidebar: Fix two copy-paste errors
Sadly, this means the code can have never been tested :-(
2014-01-27 21:53:49 -05:00
Matthias Clasen
2783395eae GtkPlacesSidebar: Remove to FIXMEs
It doesn't hurt to just add the ref here, as the FIXME suggests.
2014-01-27 21:53:49 -05:00
William Jon McCann
4872ee75e6 docs: don't use structfield tags 2014-01-27 19:59:58 -05:00
William Jon McCann
22586ea7c2 docs: use #*-struct instead of <structname> 2014-01-27 19:59:55 -05:00
Marek Kasik
8418e6422f printing: Enable search through locations in printers list
Add printer_compare() function for comparing printers according
to their names and locations. It is possible to search by multiple
keys separated by space or tabulator using logical conjunction.

Based on patch by William Hua.

https://bugzilla.gnome.org/show_bug.cgi?id=692931
2014-01-27 16:40:43 +01:00
Lionel Landwerlin
ed447eba08 widget: emit synthesized crossing event with correct device position
https://bugzilla.gnome.org/show_bug.cgi?id=704456
2014-01-27 13:25:55 +00:00
Marek Kasik
f17b36dc02 printing: Show "Replace" button when printing to existing file
Use gtk_dialog_add_button() which adds the button to
the message dialog correctly and uses gtk_widget_show() on it.
2014-01-27 11:12:48 +01:00
Ignacio Casal Quinteiro
62fe7ca077 win32: scale slider with marks was off by 2 pixels 2014-01-27 09:43:17 +01:00
Matthias Clasen
9347d27040 Use suggested-action style
When using header bars, make the default button in
GtkDialog use the suggested-action style.
2014-01-26 10:44:18 -05:00
Matthias Clasen
86972cee30 Revert "resources: Make Raleigh the real name of the theme"
This reverts commit 6fa703b506.

This did not work after all - we're trying to load the theme
css by its name, and the alias makes that not work.
2014-01-25 14:02:52 -05:00
Matthias Clasen
0e9a245e0f GtkGrid: fix property installation
The previous commit was misapplied.
2014-01-25 13:49:27 -05:00
David Schleef
26b4fc65b9 window: add note about window references
https://bugzilla.gnome.org/show_bug.cgi?id=665928
2014-01-24 23:53:13 -05:00
Javier Jardón
65ce9a523a gtkgrid: Use g_object_class_install_properties() and g_object_notify_by_pspec()
https://bugzilla.gnome.org/show_bug.cgi?id=634793
2014-01-24 22:55:09 -05:00
Javier Jardón
a2637160e3 gtkaccelgroup: Use g_object_class_install_properties() and g_object_notify_by_pspec() 2014-01-24 22:46:30 -05:00
Christian Dywan
dcf41924fe Clarify documentation of GtkAboutDialog::logo
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=636594
2014-01-24 22:43:51 -05:00
Matthias Clasen
5034920f78 Deprecate gtk_widget_get_root_window
The root window is a fairly X-centric concept, and it
really has no place in the GtkWidget API. Plus, this
is a rarely-used one-line convenience function with
poor documentation.
2014-01-24 20:16:34 -05:00
Matthias Clasen
e1d9974537 Drop internal uses of gtk_widget_get_root_window
This function is just a one-line convenience function that
is about to be deprecated.
2014-01-24 20:16:33 -05:00
William Jon McCann
6fd7e547c5 notebook: don't use a null page 2014-01-24 18:41:22 -05:00
Matthias Clasen
1bc1302af0 Respect 12/24-hour clock setting in the file chooser
Based on a patch by Garrett Regier in bug 699224.
2014-01-24 18:05:26 -05:00
Garrett Regier
e4be589448 Use GDateTime in the file chooser
Signed-off-by: Garrett Regier <garrett@yorba.org>

https://bugzilla.gnome.org/show_bug.cgi?id=699224
2014-01-24 18:05:26 -05:00
William Jon McCann
66f8026622 notebook: add a style class when the child tab is reorderable 2014-01-24 17:27:27 -05:00
Cosimo Cecchi
22bcd62e2e aboutdialog: make use-header-bar override work from bindings
Instead of setting "use-header-bar" from gtk_about_dialog_new(),
override its default value by inspecting the properties at constructor()
time. This makes it work from bindings as well, since they don't use the
convenience C constructor.

https://bugzilla.gnome.org/show_bug.cgi?id=722574
2014-01-24 15:50:36 -05:00
Matthias Clasen
6e96111d9f GtkHeaderBar: try harder to find the best window icon
GtkWindow has 4 (!) APIs for setting window icons, and we
have to try them all in the right order to find the right
icon. This commit makes it so, and keeps the icon list
manipulation inside gtkwindow.c by adding a private API
for getting a single icon at the right size.

https://bugzilla.gnome.org/show_bug.cgi?id=722515
2014-01-24 15:40:37 -05:00
William Jon McCann
3437f83ff3 notebook: add a style for prelighted labels 2014-01-24 13:15:44 -05:00
Ignacio Casal Quinteiro
bfcc6c015e win32: set color for scale marks 2014-01-24 18:27:43 +01:00
Ignacio Casal Quinteiro
f7a3d54a76 win32: add margin to scale trough 2014-01-24 17:57:59 +01:00
Ignacio Casal Quinteiro
b4ff954218 win32: add more width to the slider to not cut it when using marks 2014-01-24 17:30:28 +01:00
William Jon McCann
974e930fb8 Use a define for the default theme name 2014-01-24 08:08:34 -05:00
William Jon McCann
6fa703b506 resources: Make Raleigh the real name of the theme
And make gtk-default.css an alias to it.
2014-01-24 07:55:00 -05:00
Matthias Clasen
b011192111 Add an #ifdef to shut gtk-doc up
gtk-doc complains that the stock macros are deprecated,
but not in an #ifdef block. So add one.
2014-01-23 21:09:24 -05:00
Matthias Clasen
f4831df8ff Fix gtkenums doc section 2014-01-23 21:09:24 -05:00
Matthias Clasen
fec0116493 Slight rewording of some docs 2014-01-23 21:09:24 -05:00
Matthias Clasen
41944337af Trivial formatting fix 2014-01-23 21:09:24 -05:00
William Jon McCann
4a11acdc8c resources: move resources into a subdirectory 2014-01-23 21:04:59 -05:00
William Jon McCann
0426abd3c6 Improve docs for focus-line-pattern 2014-01-23 16:58:18 -05:00
William Jon McCann
b617b003ef Use 16px as default button and small toolbar icon sizes
https://bugzilla.gnome.org/show_bug.cgi?id=350190
2014-01-23 11:51:51 -05:00
Yosef Or Boczko
773e40ca7b docs: Add more a reference in GtkHeaderBar 2014-01-23 18:29:31 +02:00
Jakub Steiner
2eedebce19 stock icons: print icons no longer fuzzy
- improve legibility by aligning to the grid
- less dramatic stroke around application-exit
2014-01-23 16:05:55 +01:00
Carlos Garnacho
090a4f0af3 window: add missing return
A branch in the if/else if/else was missing a return, that was
unintended.
2014-01-22 20:50:33 +01:00
Carlos Garnacho
8595a38145 magnifier: Fix compiler warning 2014-01-22 20:50:33 +01:00
Carlos Garnacho
074e17e100 popover: Don't overdraw background
It was only done so the background would connect visually to the popover
tail, but then it brings aliasing issues when the border is drawn over the
background. Instead, overdraw the tail, so it also fills the gap left by
the border.
2014-01-22 18:32:16 +01:00
Carlos Garnacho
eb2c1242fe popover: Update child visibility when scrolling happens
If pointing_to starts falling outside of the parent scrollable allocation,
the popover will be automatically hidden, and shown back again when
pointing_to scrolls back to visibility.
2014-01-22 17:10:07 +01:00
Carlos Garnacho
8d3439db61 popover: Track parent scrollable adjustments
This makes sure popovers follow the relative_to widget if it is
contained within a GtkScrollable.
2014-01-22 17:10:07 +01:00
Carlos Garnacho
9fe26a93eb texthandle: Update child visibility of handles within scrollables
If the rect a handle points to starts falling outside of the parent
scrollable allocation, the handle will be automatically hidden, and
shown again when the rectangle is visible too.
2014-01-22 17:10:07 +01:00
Carlos Garnacho
328404795b texthandle: Track parent scrollable adjustments
This makes sure texthandles follow the parent if it is contained within a
GtkScrollable.
2014-01-22 17:10:07 +01:00
Carlos Garnacho
360d5f04c0 texthandle: ensure handles are recreated on parent hierarchy changes
This ensures the handles come out right even if the parent widget is
reparented to a different toplevel.
2014-01-22 17:10:07 +01:00
Carlos Garnacho
81f13232d8 popover: fix g-i warning 2014-01-22 17:10:07 +01:00
Carlos Garnacho
d0c74dc288 popover: Fix documentation blurb
The grabbing behavior is no longer exclusively controlled by the caller,
mention gtk_popover_set_modal().
2014-01-22 17:10:07 +01:00
Carlos Garnacho
834ad653ea texthandle: Use GtkWindow private popover API. 2014-01-22 17:10:07 +01:00
Carlos Garnacho
5f667b5820 popover: use GtkWindow private popover API 2014-01-22 17:10:07 +01:00
Carlos Garnacho
168227165d window: Make popover window private 2014-01-22 17:10:07 +01:00
Carlos Garnacho
889a280979 window: Use GList to store popover structs
When all popovers are removed on destroy(), if a popover is nested into
(eg. with relative_to within) another popover, the removal of one can
lead to the other being removed while the hashtable is being iterated,
which would lead to undefined behavior in further iterations.

Then, use a GList to store popovers, iterating can be made more resilient
on these situations, and unless on pathological cases there's not going
to be as many of those popovers as to cause performance decreases at the
times those are iterated.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
5bb259bc6a textview: Set GTK_STYLE_CLASS_OSD on text selection popovers 2014-01-22 17:10:06 +01:00
Carlos Garnacho
65edb10243 entry: Set GTK_STYLE_CLASS_OSD on text selection popovers 2014-01-22 17:10:06 +01:00
Carlos Garnacho
649004ce43 popover: Do not set GTK_STYLE_CLASS_OSD directly
That's up to the caller, popovers are by design not only meant to
have that role.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
462e7f0de1 popover: Fix allocation of CSS margins
that was forgotten about, leaving no room for theme shadows that'd
make popovers look less flat.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
69182c03fb popover: Flip popovers positioning on left/right on RTL.
If widgets have GTK_TEXT_DIRECTION_RTL, popovers being positioned
on GTK_POS_LEFT/RIGHT will default to appearing on the other side
too.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
a3b3b4621c window: Remove popovers on dispose() before unsetting focus.
The popovers may return keyboard grabs to previous widgets, so if
called after unsetting the focus, the window may be left with a
dangling GtkWidget that would cause crash at later dispose() calls.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
d105a3a36a entry: Improve positioning of touch selection magnifier
Always show completely above or below entry to avoid covering
content, and limit horizontal position so it doesn't overflow
to the right.
2014-01-22 17:10:06 +01:00
Matthias Clasen
ea0a1e31a7 Implement wfh functions
With only get_preferred_width and get_preferred_height implemented,
we end up calling the GtkBin height_for_width implmementation, which
knows nothing about the margins and paddings that GtkPopover needs.
As a result, a listbox added to a popover was getting cut off
at the bottom.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
e8fa9e1851 popover: Remember last focused widget on the toplevel when a popover is shown
This is so the previously focused widget can regain focus when a modal popover
is dismissed.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
1d495cbafd popover: Add a "modal" boolean property to GtkPopover
This property is TRUE by default, when a popover is modal, it
will automatically set a GTK+ grab on the popover, and grab
the keyboard focus into the popover.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
31042fe95f popover: Fix memory management of popovers
Popovers are strange in the sense that they aren't attached to a
parent directly, they rely on the relative_to widget so the toplevel
is shared, and when they have a parent, it is the toplevel itself,
not relative_to. This also means that there are conditions where the
popover loses it's parent, so they must survive unparenting.

The previous code would be floating the last reference as soon as the
parent is gone, but it was non-obvious who'd own that reference. So
fix this situation by granting the ownership of popovers to their
relative_to widget, an extra reference may be held by the toplevel
when the popover has a parent, but the popover object will be
guaranteed to be alive as long as the parent lives.

This way, memory management of popovers is as hidden from the user
as regular widgets within containers are, users are free to call
gtk_widget_destroy() on a popover, but it'd eventually become
destructed when relative_to is.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
342c23da23 popover: Implement keyboard focus behavior
When a popover is focused, the focus is forwarded so the first
child what would get the focus actually gets it. Also, implement
correct focus chain, so the keyboard focus stays within the popover
when navigating with keyboard.
2014-01-22 17:10:06 +01:00
Carlos Garnacho
bd5490ad62 texthandle: Fix arguments in ::style-updated callback 2014-01-22 17:10:06 +01:00
Carlos Garnacho
36abb4b829 gtkmain: Let windows handle WM-related events before delivering to the grab_widget
This makes it possible to move/resize client-side decorated windows that are
otherwise obscured by a GTK+ grab somewhere else, either a popover within the
window itself or a modal dialog above the window.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
bfc87a315d entry: Show a GtkMagnifier popover on touch selection 2014-01-22 17:10:05 +01:00
Carlos Garnacho
4a8a2286e1 texthandle: Remove relative_to API
It's unused now, GtkTextHandle uses widget coordinates.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
844c6b8951 texthandles: Use GtkWindow popovers API
This offers the same behavior, but GDK_WINDOW_TEMP windows aren't used
anymore, involving less translations from/to root coordinates, plus no
glitches in having handles snap to content as windows move.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
db9e1d36d0 window: Keep track of popover children mapped status
In order to maintain visibility of the GdkWindow that's the parent window
of the popover widget.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
ace25368b1 window: Add gtk_window_get_popover_position()
A getter to complement the setter
2014-01-22 17:10:05 +01:00
Carlos Garnacho
7b9e060994 entry: Set use-underline in popover GtkToolButtons 2014-01-22 17:10:05 +01:00
Carlos Garnacho
d7acd29421 textview: Set use-underline in popover GtkToolButtons 2014-01-22 17:10:05 +01:00
Carlos Garnacho
3e6462c71b textview: Use GtkMagnifier on touch selection
The magnifier renders the area covered by the finger, making it easier to follow
the text being selected.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
61ab302c75 Add GtkMagnifier
This is a private widget that takes another widget on construction, and is able
to render parts of it, possibly at a different magnification level.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
15d7d5b31f pixelcache: check whether cached surface and cairo_t scales match 2014-01-22 17:10:05 +01:00
Carlos Garnacho
bb7ef098c4 popover: Add documentation 2014-01-22 17:10:05 +01:00
Carlos Garnacho
4d12d85919 popover: Honor GtkContainer::border-width
The border width is now set around the contained widget.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
7c10fc5580 popover: remove GTK+ grab (if any) on unmap
If there is a GTK+ grab on the popover, ensure that it's removed when it's
unmapped. If no GTK+ grab was performed on the popover, this function will
do nothing.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
b4805f7076 popover: listen harder on the widget being pointed to
Hierarchy, size allocation and widget visibility are now listened
to in order to update the popover state accordingly.
2014-01-22 17:10:05 +01:00
Carlos Garnacho
caeb896096 Introduce GtkPopover
Now that the GtkBubbleWindow object has been cleaned up and made
more generic, rename it as GtkPopover and make it public.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
8a661b8786 bubblewindow: Remove popup/popdown() APIs
Those functions aren't as useful anymore, hiding/showing can be
controlled by setting the widget visibility, and grabbing can be
achieved by performing a GTK+ grab.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
8384ef961e entry: Avoid bubblewindow popup/popdown API
Besides setting all positioning properties at once, popup() would just
show the widget, so do that directly after just updating the position.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
1813c8391c textview: Avoid bubblewindow popup/popdown API
Besides setting all positioning properties at once, popup() would just
show the widget, so do that directly after just updating the position.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
49277953d3 bubblewindow: Point to the entire widget area by default
This way pointing_to is not fully needed, unless you're pointing
to an specific rectangle within the widget, passing NULL would unset
the region too.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
617f23b7eb bubblewindow: check the border-radius when rendering the bubble tail. 2014-01-22 17:10:04 +01:00
Carlos Garnacho
d55f39d26d bubblewindow: Improve overflow cases
If the bubble window doesn't fit into one direction, it must
lay at the other side of the pointed_to rectangle.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
923da6a8b8 bubblewindow: Make it relative to GtkWidget coordinates
GdkWindows are gone now from the API, the pointed_to rectangle
is from now on relative to the widget allocation. GtkTextView
and GtkEntry were updated to adapt to this change.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
e506f67c9b bubblewindow: Remove grab API
This is not as necessary now that bubble windows are popovers, if
a modal behavior is wanted on popover contents, a GTK+ grab on the
popover widget will suffice.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
12b0033266 bubblewindow: Turn into a GtkWindow popover
This way GtkBubbleWindows are rendered on top of all window content, without
the need of a GDK_WINDOW_TEMP window.
2014-01-22 17:10:04 +01:00
Carlos Garnacho
85a19c894f window: Add lowlevel popovers API
Popovers are transient floating widgets that are confined to the
window space. These have their own GdkWindow that is set on top
of the regular window contents, so they can be used for popup menu
alike UIs with custom popup/popdown/grabs behavior.
2014-01-22 17:10:04 +01:00
William Jon McCann
89a51bd15d docs: fix improper description of GtkTreeModel "rows-reordered" iter
https://bugzilla.gnome.org/show_bug.cgi?id=698398
2014-01-22 01:21:27 -05:00
William Jon McCann
798d53c7fd docs: use correct syntax for signals 2014-01-21 23:20:38 -05:00
William Jon McCann
61a59bd390 docs: don't use property syntax for style properties 2014-01-21 23:20:38 -05:00
William Jon McCann
e24d1626a5 docs: mark gtkdoc blocks as private for internal only API 2014-01-21 23:20:38 -05:00
William Jon McCann
93138e96c1 docs: don't reference nonexisting type in docs 2014-01-21 23:20:38 -05:00
William Jon McCann
5a4a99a97f docs: fix links to docs 2014-01-21 22:40:55 -05:00
William Jon McCann
ce2c3eb4c4 docs: fix docs link 2014-01-21 22:40:55 -05:00
William Jon McCann
6644b60999 docs: don't reference api that doesn't exist 2014-01-21 22:40:55 -05:00
William Jon McCann
889ba7abf8 docs: don't refer to NO_WINDOW as type 2014-01-21 22:40:55 -05:00
William Jon McCann
a8a080fc06 docs: fix dnd docs links 2014-01-21 22:40:55 -05:00
William Jon McCann
529dafdf0b docs: don't use signal syntax for properties 2014-01-21 22:40:55 -05:00
William Jon McCann
00f15b863e docs: don't use property syntax for child properties 2014-01-21 22:40:55 -05:00
William Jon McCann
c6e1b2513e docs: fix links in builder docs 2014-01-21 22:40:55 -05:00
William Jon McCann
7c1b573209 docs: fix signal link syntax 2014-01-21 22:40:55 -05:00
Nikita Churaev
de4959ca47 Use symbolic icon for file chooser
https://bugzilla.gnome.org/show_bug.cgi?id=722642
2014-01-21 21:10:07 -05:00
Nikita Churaev
2082e0e399 Remove the use of stock icons from widget templates
https://bugzilla.gnome.org/show_bug.cgi?id=722642
2014-01-21 21:10:07 -05:00
Matthias Clasen
11f0813e40 GtkActionBar: Fix center widget visibility handling
This is the same fix that was applied to GtkHeaderBar
recently. Adding a child widget should not make it
visible as a side-effect.
2014-01-21 20:22:14 -05:00
William Jon McCann
72be6c494a Make GTK_TREE_SORTABLE_*_SORT_COLUMN_ID defines instead of enum
This allows it to be more easily documented.
2014-01-21 19:48:41 -05:00
William Jon McCann
a7a9c14677 docs: remove duplicate member 2014-01-21 18:57:41 -05:00
William Jon McCann
0b23877ca6 docs: fix duplicate symbols in docs 2014-01-21 18:57:41 -05:00
William Jon McCann
8068766270 docs: don't use property syntax to link to vfuncs 2014-01-21 18:57:40 -05:00
William Jon McCann
c6ef6e6e5c docs: remove broken link to docs 2014-01-21 18:57:40 -05:00
William Jon McCann
6bf71d13c3 docs: fix function link 2014-01-21 18:57:40 -05:00
William Jon McCann
5cdfd15522 docs: remove obsolete references 2014-01-21 18:57:40 -05:00
William Jon McCann
9cfa3ba1f6 docs: fix typo in argument list 2014-01-21 18:57:40 -05:00
William Jon McCann
9fdc185813 docs: fix link to gdk docs 2014-01-21 18:57:40 -05:00
William Jon McCann
ae3fbdb15a docs: don't use type syntax on things that aren't 2014-01-21 18:57:40 -05:00
William Jon McCann
4c54810730 docs: don't refer to types that don't exist 2014-01-21 18:57:40 -05:00
William Jon McCann
7eb8577e3e docs: fix selections documentation link 2014-01-21 18:57:40 -05:00
William Jon McCann
6b29ab55a1 docs: fix see also link 2014-01-21 18:57:40 -05:00
William Jon McCann
e87bfcf76d docs: fix function name link 2014-01-21 18:57:39 -05:00
William Jon McCann
3dce57780e docs: don't try to link to funcs 2014-01-21 18:57:39 -05:00
William Jon McCann
5db8aac181 docs: fix property links 2014-01-21 18:57:39 -05:00
William Jon McCann
950df32ee3 docs: fix function name link 2014-01-21 18:57:39 -05:00
William Jon McCann
517198d7de docs: fix type link 2014-01-21 18:57:39 -05:00
William Jon McCann
984d377f3e docs: fix typo in function name 2014-01-21 18:57:39 -05:00
William Jon McCann
a8fd1f671c docs: don't refer to removed properties 2014-01-21 18:57:39 -05:00
William Jon McCann
f8a78e6f59 docs: fix typo in argument type 2014-01-21 18:57:39 -05:00
William Jon McCann
d8c91fd706 docs: remove links that don't exist 2014-01-21 18:57:39 -05:00
William Jon McCann
4292f2f958 docs: fix typo in function name 2014-01-21 18:57:39 -05:00
William Jon McCann
84dca6cc86 docs: don't try to link vfuncs 2014-01-21 18:57:39 -05:00
William Jon McCann
1f1a02b91f docs: don't use property syntax for style properties 2014-01-21 18:57:39 -05:00
William Jon McCann
e629a6b739 docs: fix name of function 2014-01-21 18:57:39 -05:00
William Jon McCann
13ace3ef33 docs: fix name of function to use for baseline alignment 2014-01-21 18:57:38 -05:00
William Jon McCann
8fb1335d69 docs: don't refer to NO_WINDOW flag 2014-01-21 18:57:38 -05:00
William Jon McCann
6a2190809e docs: don't use properties syntax for style properties 2014-01-21 18:57:38 -05:00
William Jon McCann
b1c31af18f docs: don't refer to TOPLEVEL flag 2014-01-21 18:57:38 -05:00
William Jon McCann
0d93930749 docs: refer to :has-focus property instead of HAS_FOCUS flag 2014-01-21 18:57:38 -05:00
William Jon McCann
255d6b9cd8 docs: fix typo in function name 2014-01-21 18:57:38 -05:00
William Jon McCann
c402c3343b docs: fix link to resource files overview 2014-01-21 18:57:38 -05:00
William Jon McCann
0a16518bcf docs: fix links to print api 2014-01-21 18:57:38 -05:00
William Jon McCann
ce941736da docs: use correct signal name in docs 2014-01-21 18:57:38 -05:00
William Jon McCann
4a767e86e8 docs: don't link to child properties like properties 2014-01-21 18:57:38 -05:00
William Jon McCann
609a58dcf0 docs: don't try to link to vfuncs 2014-01-21 18:57:38 -05:00
William Jon McCann
650d25cdaf docs: add GTK_TREE_SORTABLE_*_COLUMN_ID to docs 2014-01-21 18:57:38 -05:00
William Jon McCann
1d7d6997e8 docs: fix typo 2014-01-21 18:57:37 -05:00
William Jon McCann
98a5d3234d docs: fix link to DND info 2014-01-21 18:57:37 -05:00
William Jon McCann
48a11f99a2 docs: fix typo in function name 2014-01-21 18:57:37 -05:00
William Jon McCann
e4d87c86b4 docs: fix typo in argument type 2014-01-21 18:57:37 -05:00
William Jon McCann
fe40ed436f docs: fix typo in argument syntax 2014-01-21 18:57:37 -05:00
William Jon McCann
f27d820aef docs: fix typo in property name 2014-01-21 18:57:37 -05:00
William Jon McCann
8e421623e6 docs: don't use properties syntax for child props 2014-01-21 18:57:37 -05:00
William Jon McCann
701651a0a5 docs: don't use properties syntax for child properties 2014-01-21 18:57:37 -05:00
William Jon McCann
9717e75ffe docs: there is no homogeneous property on bbox 2014-01-21 18:57:37 -05:00
William Jon McCann
c788b72768 docs: fix typo in property syntax 2014-01-21 18:57:37 -05:00
William Jon McCann
0b4ea6ea1b docs: fix typo in property name 2014-01-21 18:57:37 -05:00
William Jon McCann
01018e019b docs: don't use property syntax for child properties 2014-01-21 18:57:37 -05:00
William Jon McCann
dbcd452062 docs: fix use-header-bar property link 2014-01-21 18:57:37 -05:00
William Jon McCann
bc03314a06 docs: fix GtkBuilder typename 2014-01-21 18:57:37 -05:00
Volker Sobek
60c8277afb docs: fix typo
Correct the last occurrence of 'explicitely'.
2014-01-21 22:19:27 +01:00
William Jon McCann
5f37b081cf docs: fix docs for GtkIconLookupFlags 2014-01-21 13:33:47 -05:00
William Jon McCann
ed284234c9 docs: add docs for GtkTextAppearance 2014-01-21 13:33:47 -05:00
William Jon McCann
0192bb386c docs: fix docs for ActionBar 2014-01-21 13:33:47 -05:00
William Jon McCann
059f6d8a1f docs: add docs for GtkPageRange 2014-01-21 13:33:46 -05:00
William Jon McCann
0db5d93884 docs: add docs for some printing enums 2014-01-21 13:33:46 -05:00
William Jon McCann
212f6cef5e docs: add docs for GtkIconSize 2014-01-21 13:33:46 -05:00
William Jon McCann
1c5120eeec docs: add docs for GtkStockItem 2014-01-21 13:33:46 -05:00
William Jon McCann
06a619e642 docs: add docs for GtkScrollType and GtkScrollStep 2014-01-21 13:33:46 -05:00
William Jon McCann
59d35e3e51 docs: add docs for GtkPathPriorityType and GtkPathType 2014-01-21 13:33:46 -05:00
William Jon McCann
5366a21334 docs: add docs for GtkPrintPages and GtkPageSet 2014-01-21 13:33:46 -05:00
William Jon McCann
c2bd435203 docs: add docs for GtkIM*Style 2014-01-21 13:33:46 -05:00
William Jon McCann
ab41ef518a docs: add docs for GtkDirectionType and GtkDeleteType 2014-01-21 13:33:46 -05:00
William Jon McCann
75e3433d7b docs: add docs for GtkAccelFlags 2014-01-21 13:33:46 -05:00
William Jon McCann
1af6bd05dc docs: add docs for GtkRcFlags 2014-01-21 13:33:46 -05:00
William Jon McCann
b447ca7884 docs: add docs for GtkRcProperty 2014-01-21 13:33:46 -05:00
William Jon McCann
77f3f726e7 docs: add docs for GtkStyle 2014-01-21 13:33:45 -05:00
William Jon McCann
b28f04d6e9 docs: add docs for GtkCssProviderError 2014-01-21 13:33:45 -05:00
William Jon McCann
7b14899f4d docs: fix docs for GtkStyleProperties 2014-01-21 13:33:45 -05:00
William Jon McCann
f49e077c27 docs: add keys_changed signal to GtkWindowClass 2014-01-21 13:33:45 -05:00
William Jon McCann
2375148b04 docs: add docs for GtkTextDirection 2014-01-21 13:33:45 -05:00
William Jon McCann
2986456be1 docs: add docs for GtkWidgetHelpType 2014-01-21 13:33:45 -05:00
William Jon McCann
a2ba1789e1 docs: add docs for GtkWidgetAuxInfo 2014-01-21 13:33:45 -05:00
William Jon McCann
1763b94fb2 docs: add docs for GtkWidgetClass 2014-01-21 13:33:45 -05:00
William Jon McCann
badba59aac docs: add docs for GtkCellRendererAccelMode 2014-01-21 13:33:45 -05:00
William Jon McCann
224a8e1763 docs: add docs for GtkCellEditableIface 2014-01-21 13:33:45 -05:00
William Jon McCann
9f815edbf9 docs: add docs for GtkCellLayoutIface 2014-01-21 13:33:45 -05:00
William Jon McCann
4f8ae44594 docs: add docs for GtkTreeDragDestIface 2014-01-21 13:33:45 -05:00
William Jon McCann
094350df26 docs: add docs for GtkTreeDragSourceIface 2014-01-21 13:33:45 -05:00
William Jon McCann
a64ffa2958 docs: add docs for GtkTreeSortableIface 2014-01-21 13:33:45 -05:00
William Jon McCann
123fa640d2 docs: add docs for GtkTreeModelIface 2014-01-21 13:33:45 -05:00
William Jon McCann
39caa5cbb2 docs: fix docs for GtkIconTheme 2014-01-21 13:33:19 -05:00
William Jon McCann
0b5ee774e0 docs: add docs for GtkToolbarSpaceStyle 2014-01-21 13:33:19 -05:00
William Jon McCann
fad2031cea docs: add documentation for values of GtkTextWindowType 2014-01-21 13:33:19 -05:00
William Jon McCann
1ec4b0cff2 docs: add field descriptions for GtkTextAttributes 2014-01-21 13:33:19 -05:00
William Jon McCann
885d8df39c docs: add docs GtkTextBufferTargetInfo 2014-01-21 13:33:19 -05:00
William Jon McCann
339524ba0d docs: add field descriptions for GtkSettingsValue 2014-01-21 13:33:11 -05:00
William Jon McCann
34ea1919cf docs: document fields of GtkRecentFilterInfo 2014-01-21 12:41:16 -05:00
William Jon McCann
4fd6ce6a91 docs: add docs for GtkRecentChooserIface 2014-01-21 12:41:16 -05:00
William Jon McCann
cc7b5d0a57 docs: add missing flag 2014-01-21 12:41:16 -05:00
William Jon McCann
62b47774ea docs: add missing method 2014-01-21 12:41:16 -05:00
William Jon McCann
e8ba83825c docs: mark base interface as private 2014-01-21 12:41:16 -05:00
William Jon McCann
62d8baa215 docs: add missing docs for GtkAccelKey 2014-01-21 12:41:16 -05:00
William Jon McCann
33fc160cd2 docs: fill in some missing field descriptions 2014-01-21 12:41:16 -05:00
William Jon McCann
f1475c0852 docs: mark some enums values as deprecated 2014-01-21 12:41:16 -05:00
William Jon McCann
0a416c7559 docs: avoid ambiguous return tags 2014-01-21 12:41:16 -05:00
William Jon McCann
498345ffe1 docs: fix docs for out params 2014-01-21 12:41:16 -05:00
William Jon McCann
2054166c34 docs: don't use gtkdoc style for regular comments 2014-01-21 12:41:16 -05:00
Steve Frécinaux
49bf3cdba8 GtkStack: add gtk_stack_get_child_by_name()
This new method allows getting a widget from a GtkStack when we know its
name, and will also return NULL if there is no widget going by that
name.

Usage example would be to check if a child with a given name exists
before calling gtk_stack_set_visible_child_name().

https://bugzilla.gnome.org/show_bug.cgi?id=722588
2014-01-21 09:35:22 +01:00
William Jon McCann
29f2578cca docs: add docs for GtkTargetPair 2014-01-20 15:18:21 -05:00
William Jon McCann
add1ca00f4 docs: add Gtk*Class docs
https://bugzilla.gnome.org/show_bug.cgi?id=81006
2014-01-20 12:31:21 -05:00
William Jon McCann
f3f7c385d9 Remove references to removed gtk_item_select api 2014-01-20 12:31:21 -05:00
Matthias Clasen
679883e098 Make sure title_bar_with is initialized
With a hidden custom title, we failed to initialize
the title_bar_width variables.
2014-01-18 17:58:44 -05:00
Matthias Clasen
7c08896384 path bar: Request enough natural width to fit all buttons
Otherwise, we are at the mercy of the container giving us
more space than we request, which does not always work.
2014-01-18 17:58:44 -05:00
Ryan Lortie
fdc66af5ce quartz: add a default application menu
When running on quartz, it is no longer expected for applications to
provide their own application menu.  Instead, they should simply ensure
that they provide "app.about", "app.preferences" and "app.quit" actions
(which many apps are already doing).

A default menu will be shown that looks like the one presented by all
other Mac OS applications, containing menu items for the above actions,
as well as the typical "Hide app", "Hide Others and "Show All" items and
the "Services" submenu.

If an application does explicitly set an application menu (via
gtk_application_set_app_menu()) then it will be respected, as before.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 23:14:20 -05:00
Ryan Lortie
3f1a413d0c extract-strings: support GMenu GtkBuilder markup
Add support for extracting strings from GMenu markup in GtkBuilder
files.

This means that we have to support translatable <attribute/> tags.

Unfortunately, <attribute> is also used by GtkTreeViewColumn and
GtkLabel for other purposes, and those other purposes use a value=''
(XML) attribute, so we must accept (and ignore) that in order not to
have errors.  Nothing will happen in those cases because they do not
also specify translatable='yes', so we ignore them.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:44:23 -05:00
Ryan Lortie
6da7b11ff6 application: new 'insert action group' private api
Add a new private API to GtkApplication akin to
gtk_widget_insert_action_group().

We'll use this to insert a few extra actions at the app level with a
separate namespace for the special items in the Mac OS application menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:40:50 -05:00
Ryan Lortie
5d63ee8e0e quartz menu: add a hack for application name
Add a private hack to allow the insertion of the name of the application
into the label of menu items.

If it appears in the label of any menu item, "%s" will be replaced with
the name of the application.

We will use this for the "Hide myapp", "Quit myapp" and "About myapp"
labels typically found on Mac OS programs.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:37:04 -05:00
Ryan Lortie
ceeef03004 quartz menu: add special items
Add support for the "Hide app", "Hide Others" and "Show All" special
items and for the "Services" submenu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 22:37:04 -05:00
Volker Sobek
a4d69e7f14 docs/comments: Fix spelling of 'explicitly'
This replaces all occurrences of 'explicitely' with 'explicitly'. Only
code comments and gtk-doc statements are affected.

https://bugzilla.gnome.org/show_bug.cgi?id=722429
2014-01-18 03:47:46 +01:00
Ryan Lortie
ea0ede201e GtkMenuTracker: add 'special' items
Allow the possibility for items to be marked with a special attribute and
expose this via GtkTrackerMenuItem.  For internal use only.

We will use this to implement the special 'Hide', 'Hide Others' and 'Show All'
items and the 'Services' submenu in the Mac OS application menu.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 20:32:55 -05:00
Ryan Lortie
e70f506e83 quartz menu: change sensitivity approach
By default, Mac OS scans menus as they are opened, updating the
sensitivity of each item in the menu.

The current code in gtkapplication-menu-quartz disables this behaviour,
preferring to manually control the sensitivity of each item in the menu
(when told by the tracker that it has changed internally).

Change the way that this works to more closely follow the usual Mac OS
regime.

This will allow us to construct a typical "application menu" on Mac OS
containing the items that are typically found there ("Hide", "Hide
Others", "Show All", "Services") and have the OS automatically update
their sensitivity.

https://bugzilla.gnome.org/show_bug.cgi?id=720552
2014-01-17 20:29:31 -05:00
Matthias Clasen
b73d291086 header bar: Make it possible to have no title
Add a custom title had the side-effect of showing the widget.
That is not right, adding children and managing their visibility
should be independent. The headerbar size allocation code also
made the assumption that a custom title is always visible.

With these changes, GtkHeaderBar should be usable in situations
where the centering functionality is not required, and it is
important to freely pack content at both ends, such as in nautilus.

https://bugzilla.gnome.org/show_bug.cgi?id=722340
2014-01-17 19:52:29 -05:00
Matthias Clasen
dc749c5a27 mount operation: Use headerbar
Make GtkMountOperation use a headerbar for its dialog
when desired.
2014-01-17 17:52:08 -05:00
William Jon McCann
066810ac00 recent chooser dialog: Use headerbar
Make the recent chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
bf14a334f4 file chooser dialog: Use headerbar
Make the file chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
b0caf23977 custom paper dialog: Use headerbar
Make the custom paper dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
f2d6ed3290 page setup dialog: Use headerbar
Make the page setup dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
bb951fe783 print dialog: Use headerbar
Make the print dialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
dfaa4857f5 app chooser: Use headerbar
Use a GtkHeaderBar in the app chooser dialog when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
9c443b4a3c color chooser: Use headerbar
Make GtkColorChooserDialog use a headerbar when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
3eb2430a98 font dialog: Use headerbar
Make the font chooser dialog use a headerbar
when desired.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
William Jon McCann
a70f8f44b4 about dialog: Use headerbar
Use a GtkHeaderBar for the credits and about buttons.

It makes less sense here than in other places to go back to
the buttons on the bottom, considering we only have a close
button, so we always use a header bar.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:08 -05:00
Matthias Clasen
54b1419952 dialog: Show the action area when needed
If we find that widgets are being added to the action area,
we should show it. Also warn in this situation.
2014-01-17 17:52:08 -05:00
Matthias Clasen
106bcc7f5e Make it possible to set use-header-bar from a setting
This commit introduces a private convenience API that derived
dialogs can call in their instance init. This is necessary to
make the setting work as intended in the face of 3rd party
dialogs derived e.g. from GtkFileChooserDialog, which are
created with g_object_new.
2014-01-17 17:52:08 -05:00
Matthias Clasen
3701de14a1 Add a setting for dialog headers
This setting will let us keep traditional appearance
of dialogs on platforms where this is expected.
The new setting is called gtk-dialogs-use-header, backed
by the Gtk/DialogsUseHeader xsetting.
2014-01-17 17:52:08 -05:00
William Jon McCann
f69de3c14a message dialog: Center text
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
William Jon McCann
a3b423ce5b message dialog: Don't show images
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
c42b39a9db message dialog: Allow action area to extend to the edge
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
38d8fdab80 message dialog: Don't use headerbar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
de90d5a4f8 dialog: Add style classes
These will be used in subsequent commits to better style
message dialogs.
2014-01-17 17:52:07 -05:00
William Jon McCann
9640eccd14 dialog: Add a headerbar
This change makes it possible for GtkDialog to pack
its action widgets into a header bar, instead of the
traditional action area. This change is controlled
by the use-header-bar construct-only property.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
25e6ba48e7 Update all internal users of alternative button order
We'll keep this code around for now to not regress
on Windows, but avoid deprecation warnings.
2014-01-17 17:52:07 -05:00
William Jon McCann
57139820c9 dialog: Mark alternate button order as deprecated
This feature was never implemented 100% correct, and
does not apply to action buttons in header bars.

https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
Matthias Clasen
3d354026ca file chooser: Clean up direct action area interaction 2014-01-17 17:52:07 -05:00
Matthias Clasen
abe29dd188 Update all internal users of gtk_dialog_get_action_area
Some of these should be revisited and fixed. For now,
just avoid the deprecation warnings.
2014-01-17 17:52:07 -05:00
Matthias Clasen
32a2901294 dialog: Mark gtk_dialog_get_action_area as deprecated
Direct access to the action area by applications makes it much more
difficult to make changes to GtkDialog. Therefore, deprecate this
function.
2014-01-17 17:52:07 -05:00
Matthias Clasen
1258eadd75 button box: Set linked style for extend
This is needed for proper styling of the new extend-placement
in button boxes.
2014-01-17 17:52:07 -05:00
William Jon McCann
00326d3362 Add an expand button box type
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:07 -05:00
William Jon McCann
8db2ba425a window: Allow unsetting custom titlebar
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:06 -05:00
William Jon McCann
24aa40ed35 headerbar: Set a minimum size for the title
https://bugzilla.gnome.org/show_bug.cgi?id=720059
2014-01-17 17:52:06 -05:00
Paolo Borelli
4adc072952 Use gtk_window_close for gtk_dialog_close
We manually synthethized the delete event, but now we have the
corresponding method in GtkWindow
2014-01-17 19:24:27 +01:00
Debarshi Ray
a5ff70f949 widget: Add deprecation annotations for {get,set}_margin_{left,right}
Fallout from 9921bec63a
2014-01-17 18:03:52 +01:00
Paolo Borelli
609ddec1f8 Always return FALSE from the notebook leave_notify handler
As discussed on IRC with Benjamin, this should not make much
difference in practice, but it is more correct
2014-01-14 20:29:46 +01:00
Paolo Borelli
84b44dd2ac Readd line removed by mistake in the previous commit 2014-01-14 20:23:52 +01:00
Paolo Borelli
4a3f21b693 Prelight notebook tab
Set the prelight state when hovering a notebook tab with the mouse.

https://bugzilla.gnome.org/show_bug.cgi?id=711233
2014-01-14 20:18:54 +01:00
Ryan Lortie
bc3867eb85 GtkApplicationWindow: give up on handling dispose
Stop trying to deal with "theoretical possibilities".

We can't possibly continue to be a faithful GActionGroup implementation
across dispose because dispose has a side effect of removing everyone's
signal handlers.

The code that we ran after the dispose chainup to do all of the fancy
signal emulation was therefore dead.  The test that aimed to verify this
was buggy itself due to an uninitialised variable, so really, it never
worked at all.

We keep the re-ordering of the chainup from the original commit to avoid having
trouble with GtkActionMuxer and keep the checks in place that will prevent an
outright segfault in the case that someone else tries to use the interface
post-dispose.

https://bugzilla.gnome.org/show_bug.cgi?id=722189
2014-01-14 10:41:35 -05:00
Bastien Nocera
587f993444 treemodelfilter: Fix typo in API docs 2014-01-14 15:02:59 +01:00
Mike Gorse
e529dfe949 A11y: Fix text functions for table cells
Keep the PangoLayout around, and refresh in update_cache.

https://bugzilla.gnome.org/show_bug.cgi?id=707729
2014-01-13 23:51:26 -05:00
Cosimo Cecchi
197785744b window: add an is-maximized property to GtkWindow
With proper notifications, plus an accessor method for that state. This
allows client to just listen to notify::is-maximized instead of tracking
window-state-event.

https://bugzilla.gnome.org/show_bug.cgi?id=698786
2014-01-13 23:13:37 -05:00
Matthias Clasen
1691bb741d Don't implement popup_menu in GtkWindow
This leads to disastruous results, since each menu is itself
in a GtkWindow, so holding down the menu key leads to a neverending
cascade of menus on top of menus.

https://bugzilla.gnome.org/show_bug.cgi?id=722106
2014-01-13 22:59:59 -05:00
John Lindgren
7a411eb6dd Fix memory leak in GtkTreeViewAccessible
https://bugzilla.gnome.org/show_bug.cgi?id=722030
2014-01-13 22:30:38 -05:00
Yosef Or Boczko
d0787765bc Add separator before "Always on Top" to the CSD window
https://bugzilla.gnome.org/show_bug.cgi?id=722076
2014-01-13 22:25:24 -05:00
Matthias Clasen
0de1173600 Fix a memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=722029
2014-01-13 22:22:29 -05:00
Benjamin Otte
cd184b0f40 themingengine: Don't draw 0px borders
Theming code gets confused when computing the spacing for 0px wide dots
and then divides by 0. And then cairo complains and stops drawing
anything forever out of spite and then we end up with a single color
screen.

https://bugzilla.gnome.org/show_bug.cgi?id=721800
2014-01-14 03:38:04 +01:00
Matthias Clasen
6718a21b1c Add move and resize to the csd window menu
With the previous commit, these operations can be implemented
now.
2014-01-12 22:25:20 -05:00
Matthias Clasen
2232430a5a Redo csd window-dragging
The window-dragging code had a number of issues: The code was
starting a drag on every button press, never bothering to cancel
them. This leads to the odd hand cursor occurring between the two
clicks to maximize. We relied on GDK's multi-click detection, which
gives us triple-clicks when we really want sequences of double-clicks.
Lastly, we didn't propery restrict double-click handling to the primary
button, so e.g. if you had a window on an empty workspace, double-right
click on the titlebar would maximize it, which is not intended.

This commit solves all three problem by a doing our own double-click
detection, and only starting a drag when the pointer goes out of
'double-click range'. We change the way dragging is implemented for
menubars and toolbars to just letting events bubble up, so they
get the same behaviour as the titlebar. To make this work, we
have to select for pointer motion events in a few more places.
2014-01-12 22:25:19 -05:00
Andika Triwidada
0a768d274d Changed obsolete FSF portal addresses to web address
Fixed https://bugzilla.gnome.org/show_bug.cgi?id=721530
2014-01-12 19:56:49 +07:00
Jasper St. Pierre
8a1fb19e88 gtkwindow: Rename get_decoration_size => get_shadow_width 2014-01-10 12:10:33 -05:00
Ignacio Casal Quinteiro
99ee1875ab gtkapplication: add missing annotation for set_accels_for_action 2014-01-10 15:19:05 +01:00
Alexander Larsson
664fe89f6e GtkTextView: Fix scrolling of added children
The behaviour of gtk_text_view_add_child_in_window() used to be
quite broken. It scrolled with the window during scrolling, then
jumped to the absolute position when the widget resized. Furthermore,
in 3.10 we broke the first feature, making it always be fixed.

The "proper" way to handle this is to always follow scrolling. This
is what the only user so far (gedit) wants, and if you want some
kind of overlay you should use GtkOverlay instead.

So, this changes the behaviour to something that is internally consistent
and works. I.e. all added widgets scroll with the textview as needed.

https://bugzilla.gnome.org/show_bug.cgi?id=711826
2014-01-10 12:08:52 +01:00
Ryan Lortie
7291d3e780 Simplify GtkActionHelper
Now that the last GMenuModel-based user of GtkActionHelper is gone, we
can substantially simplify it.

https://bugzilla.gnome.org/show_bug.cgi?id=721836
2014-01-08 18:21:26 -05:00
William Hua
649ff84d91 Use GtkMenuTracker for Quartz backend.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-08 18:16:05 -05:00
William Hua
2a109250d5 Move get_key_equivalent() to gdk quartz utils.
https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-08 17:42:19 -05:00
Ryan Lortie
d31bf779bb GtkMenuTracker: fix hidden-when='' vs. separators
Ensure that adding hidden-when='' to a menu item does not produce an
extra separator item as a side effect.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:31:16 -05:00
Ryan Lortie
2112af719a GtkMenuTracker: remove hidden items from the menu
Modify the tracker so that it manages the visibility of
GtkMenuTrackerItem by issuing insert and remove callbacks to the
user of the tracker.

This works by treating the GtkMenuTrackerItem as a virtual section which
contains 1 item when the item is visible and 0 items when it is hidden.

For efficiency reasons, we only employ this trick in the case that the
item has a hidden-when='' attribute set on it.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:21:19 -05:00
Ryan Lortie
2b1aa12f01 GtkMenuTrackerItem: add an internal 'visible' flag
Add an internal API for checking if a GtkMenuTrackerItem is visible,
along with a signal for reporting changes in that flag.  The item will
become invisible in situations according to the new hidden-when=''
attribute, which can be set to 'action-disabled' or 'action-missing'.

This new flag doesn't actually do anything yet, and none of the
consumers of GtkMenuTracker do anything with it (nor should they).  A
followup patch will address the issue.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:21:18 -05:00
Ryan Lortie
8efb1404cb GtkMenuTracker: rework action removal a bit
Refactor the code in the action observer remove function in order to
make way for the (efficient) handling of hiding of the item in the case
that hidden-when='' is given.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:21:18 -05:00
Ryan Lortie
8256b88eb1 GtkMenuTrackerItem: small logic tweak
Strictly speaking, can_activate should always be set back to FALSE when
the action disappears from the muxer (since we can't activate it
anymore) but we forgot to do that.

This 'bug' could never cause a problem because 'can_activate' is never
directly queried for anything at all and the item would get marked
insensitive anyway.  As soon as the action was re-added, can_activate
would be recalculated based on the new action before anything else could
happen.

All the same, this should be cleared here.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:21:18 -05:00
Ryan Lortie
fb14a78271 GtkMenuTracker: cache result of hash lookup
Remove a hash lookup from the separator sync logic (which is run every
time we change a menu).  Instead, we do the lookup when creating the
section and cache the result.

This refactor will also help us in a future commit to add support for
hiding menu items based on missing actions.

https://bugzilla.gnome.org/show_bug.cgi?id=688421
2014-01-08 14:21:17 -05:00
Ignacio Casal Quinteiro
75ef6096c1 colorbutton: fix crash when destroying the colorbutton from the color-set signal 2014-01-08 14:38:33 +01:00
Alexander Larsson
d07913840a PixelCache: Ensure clean cairo_t state in draw
This adds save/restore calls to the clear-to-transparent call in
the pixel cache, to avoid changing the default color of the
cairo_t. It also removes a call set_operator call that is no longer
necessary (it was trying to manually restore the state).

https://bugzilla.gnome.org/show_bug.cgi?id=721480
2014-01-08 10:48:56 +01:00
William Hua
fd13713230 GtkIconInfo: add gtk_icon_info_is_symbolic()
https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-08 02:10:14 -05:00
Ryan Lortie
146f3a988d gtkapplication-quartz: clean up inhibit code
When testing with bloatpad, the existing inhibit code seems not to be
working at all.  Replace it with a cleaner and simpler version that
works.

https://bugzilla.gnome.org/show_bug.cgi?id=720551
2014-01-07 23:08:45 -05:00
Ryan Lortie
2fd307fdb3 Fix GtkApplicationWindow action group implementation
GtkApplicationWindow frees its internal action group on dispose for the
usual reasons: to avoid the possibility of reference cycles caused by
actions referring back to the window again.

Unfortunately, if it happens to be inside of a GtkActionMuxer at the
time that it is disposed, it will (eventually) be removed from the muxer
after it has been disposed.  Removing an action group from a muxer
involves a call to g_action_group_list_actions() which will crash
because the internal action group to which we normally delegate the call
has been freed.

A future patch that reworks the quartz menu code will introduce a use of
GtkActionMuxer in a way that causes exactly this problem.

We can guard against the problem in a number of ways.

First, we can avoid the entire situation by ensuring that we are removed
from the muxer before we destroy the action group.  To this end, we
delay destruction of the action group until after the chain-up to the
dispose of GtkWindow (which is where the window is removed from the
GtkApplication).

Secondly, we can add checks to each of our GActionGroup and GActionMap
implementation functions to check that the internal action group is
still alive before we attempt to delegate to it.

We have to be careful, though: because our _list_actions() call will
suddenly be returning an empty list, people watching the group from
outside will have expected to see "action-removed" calls for the
now-missing items.  Make sure we send those. but only if someone is
watching.

https://bugzilla.gnome.org/show_bug.cgi?id=710351
2014-01-07 19:29:05 -05:00
Matthias Clasen
3efd0b2874 GtkActionBar: Just leave the center widget as NULL, initially
No need to construct a box that gets thrown away later.
Plus, this fixes the defaultvalue test for GtkActionBar.
2014-01-07 16:16:52 -05:00
Matthias Clasen
b39f094b21 Fix order of pack-end widgets
https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
William Jon McCann
e72aca055d Add GtkActionBar
A widget intended to offer contextual actions for a given view.
It allows packing children into the start or end as well as offering
a single centered child box.

https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
Matthias Clasen
c3e91c7031 GtkHeaderBar: Fix positioning of pack-end widgets
This makes the positioning of pack-start and pack-end
widgets symmetric.
2014-01-06 23:37:18 -05:00
Federico Mena Quintero
9538bc6221 filechooser: Document the settings XML 2014-01-06 17:16:16 -06:00
Matthias Clasen
2602372401 Be more careful when parsing gtk-decoration-layout
When the string is empty, breaking it at : will not give
us two tokens, and we were parsing garbage, leading to crash.
https://bugzilla.gnome.org/show_bug.cgi?id=721635
2014-01-06 17:07:21 -05:00
William Jon McCann
4b1838bde6 Fix positioning of up menu button popup
Use the menu allocation instead of the request size.

https://bugzilla.gnome.org/show_bug.cgi?id=720939
2014-01-06 12:44:59 -05:00