Commit Graph

25491 Commits

Author SHA1 Message Date
Matthias Clasen
9f247e112b Deprecate cursor-color style properties
These have been replaced by CSS properties.
2016-01-08 07:33:20 -05:00
Matthias Clasen
9b86d6da2c Use the caret-color properties for drawing carets
Replace the cursor-color and secondary-cursor-color style
properties with the caret-color and -gtk-secondary-caret-color
CSS properties.

For the 'auto' value of these properties, we keep the same
behavior that we used to have when the style properties are
not explicitly set.
2016-01-08 07:33:20 -05:00
Matthias Clasen
fdba244c38 Add the caret-color CSS property
This property is defined in http://www.w3.org/TR/css3-ui/#caret-color.
We also add a -gtk-secondary-caret-color property, since GTK+ has
supported differently colored split cursors in the past. Unlike
CSS, we don't support the weakly defined auto keyword, and just
use currentColor as the initial value.
2016-01-08 07:33:20 -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
Olivier Fourdan
28f011eb05 wayland: prefer subsurface when possible
Quite a few applications use GTK_WINDOW_POPUP to create various
temporary windows and place then on screen. That works fine on X11 but
on Wayland there is no global coordinate system for regular surfaces.

If the application is using a gdk temp window and set a parent with
gtk_window_transient_for(), the gdk wayland backend has all it needs to
create a subsurface that can be placed at will by the application.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=759738
2016-01-08 10:33:26 +01:00
Timm Bäder
d85b3fc60d revealer: Propagate draw event 2016-01-08 09:38:32 +01:00
Timm Bäder
711ffd648e GtkPopover: Protect against transparent backgrounds
If the background is transparent, we can't use it for the input shape,
since that will be empty. Draw a box with rounded corners irectly
instead, in fully opaque black.

https://bugzilla.gnome.org/show_bug.cgi?id=759905
2016-01-08 09:14:03 +01:00
Matthias Clasen
a45b1d1e3c inspector: Sort themes in the various theme combos
It is nicer if the themes show up in a predictable order,
so sort them alphabetically.
2016-01-07 19:56:05 -05:00
Matthias Clasen
ec02f055ed inspector: Add HighContrastInverse to list of themes 2016-01-07 19:56:05 -05:00
Matthias Clasen
0e473a5f1c Rename HighContrast-dark to HighContrastInverse
For accessibility purposes, it is better to have this as a
separate theme than as a dark variant of the HighContrast theme.
2016-01-07 19:56:05 -05:00
Lapo Calamandrei
4925493e49 Adwaita: rounded corners on iconview selection 2016-01-08 01:39:16 +01:00
Lapo Calamandrei
c0275b508d Adwaita: fix calendar invisible selection 2016-01-08 01:39:16 +01:00
Matthias Clasen
5b3001b6d5 colorswatch: Fix the overlay
I misunderstood what the overlay is good for: We need to allocate
it the full size of the widget. since we are using it to render
a background gradient *over* the application-rendered color.

At the same time, save some 100 lines of code by using an icon
helper as gadget, instead of handling the icon manually.
2016-01-07 19:20:55 -05:00
Matthias Clasen
1b3bb244b6 color swatch: Fix up rendering
gtk_render_content_path is expecting the full box dimensions,
not just the content area. So, add the border before calling it.

Note it is still possible to have some separation between the
color and the border, by setting padding.
2016-01-07 18:38:31 -05:00
Daiki Ueno
f9e6ccd592 gtkbuilder: Install gettext ITS files
Recent gettext has a feature to allow consumer projects to supply their
own string extraction rules for XML files, in ITS format.

Gettext still ships the rule for *.ui, but it would be better
maintained in the upstream project.

https://bugzilla.gnome.org/show_bug.cgi?id=760202
2016-01-07 18:08:30 -05:00
Matthias Clasen
9e63e61b16 Implement transitions for radial gradients
This was missing in the initial implementation.
2016-01-07 16:30:19 -05:00
Matthias Clasen
a7e2a9d8d3 Don't interpolate between keywords
Transitioning between linear gradients like
linear-gradient(to top, yellow, green) and
linear-gradient(to left, yellow, green) was yielding
nonsensical results, with the gradient line jumping around
wildly. Fix this by falling back to stupid image interpolation
for these cases.
2016-01-07 16:13:26 -05:00
Timm Bäder
ca6d01a678 GtkCssGadget: Set valid clip values for invisible gadgets 2016-01-07 20:39:37 +01:00
Matthias Clasen
8ecba89991 color swatch: Remove a stray frame
When using a gadget, the border is free, no need to call
gtk_render_frame ourselves.
2016-01-07 14:08:26 -05:00
Timm Bäder
0b96b8a1ee GtkModelButton: Remove some margins
Now that we can use margins from css for this, remove the margins we set
in code and use css instead.
2016-01-07 19:37:18 +01:00
Timm Bäder
2f61bc1866 GtkModelButton: Remove always-zero variable 2016-01-07 19:37:18 +01:00
Eric Williams
bbfec07e06 Clarified the function docs for gtk_css_provider_load_from_data().
https://bugzilla.gnome.org/show_bug.cgi?id=760238
2016-01-06 22:42:37 -05:00
Timm Bäder
47afccb41b GtkListBox: Optimize _get_row_at_y a bit
Use g_sequence_lookup for a binary search over the rows.
2016-01-06 16:02:59 +01:00
Timm Bäder
a9d5fa4cfe GtkListBox: get_row_at_y can return NULL 2016-01-06 16:02:58 +01:00
Rico Tzschichholz
83fc4d591a HighContrast: Fix make dist 2016-01-06 15:21:22 +01:00
Matthias Clasen
f32362e82c HighContrast: Improve search bar appearance
Follow the generally white background we use everywhere else.
This is not perfect, we get double borders when the search bar
is shown, as can be seen in gtk3-widget-factory.
2016-01-05 22:33:20 -05:00
Matthias Clasen
aa9095ff72 HighContrast: Fix up action bar styling
Since HighContrast is not using different background colors
as much as Adwaita, we need to add borders to prevent things
from running into each other.
2016-01-05 22:22:47 -05:00
Matthias Clasen
643454147c HighContrast: Drop deprecated style properties 2016-01-05 20:39:16 -05:00
Matthias Clasen
56ca40996d HighContrast: Add a dark variant
This is just a quick experiment, and so I have another theme with
a dark variant to play with.
2016-01-05 19:25:06 -05:00
Matthias Clasen
474d6bec85 HighContrast: Add a missing unit 2016-01-05 16:54:40 -05:00
Matthias Clasen
907fade7d0 HighContrast: Fix sidebar borders 2016-01-05 16:53:03 -05:00
Matthias Clasen
39b76ec082 HighContrast: Fix checkboxes in selected context
Set a proper color so checks and radios don't disappear on the
black selection background.
2016-01-05 14:37:22 -05:00
Matthias Clasen
9ebb63c71f HighConstast: Some fixes for treeview headers 2016-01-05 14:19:58 -05:00
Matthias Clasen
d60fe93937 HighContrast: Keep spinbuttons from resizing on hover 2016-01-05 13:42:57 -05:00
Matthias Clasen
37ab99d1d2 HighContrast: Fix checks and radios 2016-01-05 13:42:57 -05:00
Matthias Clasen
c25b8e25f5 HighContrast: Some menu fixes 2016-01-05 13:42:57 -05:00
Matthias Clasen
fd57a552cf HighContrast: paned fixes
Mostly copied from Adwaita.
2016-01-05 13:42:57 -05:00
Cosimo Cecchi
0f3f2e7f9c HighContrast: more combobox fixes
Taken from Adwaita.
2016-01-05 10:01:54 -08:00
Paolo Borelli
c4996873dc docs: try to clarify widget_get_state_flags vs context_get_state 2016-01-05 18:46:56 +01:00
Matthias Clasen
4a9c6777a7 HighContrast: Some combobox fixes
Mostly copied from Adwaita.
2016-01-04 23:52:28 -05:00
Matthias Clasen
d17f89f6bf HighContrast: Fix frame styling 2016-01-04 23:45:13 -05:00
Matthias Clasen
a11c30d0df HighContrast: fix up color chooser theming
Mostly copied from Adwaita.
2016-01-04 23:28:32 -05:00
Matthias Clasen
32177aa03b HighContrast: Fix up stackswitcher
Copy Some of the more recent additions from Adwaita.
2016-01-04 22:08:53 -05:00
Matthias Clasen
c110ffcb1a HighContrast: No blue spinners
Spinners are drawing backgrounds now, so setting a blue
background color is pretty distracting.
2016-01-04 21:35:55 -05:00
Matthias Clasen
f63e8edec6 Make sure icons update on theme change
Gadgets don't connect to style-changed for widget nodes, and
GtkImage uses its widget node for the icon helper. The visible
effect of this is that symbolic icons don't change color when
switching to the dark variant of Adwaita.

Fix this by manually invalidating the icon helper.
2016-01-04 21:32:19 -05:00
Cosimo Cecchi
637ade656a levelbar: loop over all block gadgets to determine min size
Instead of just picking the first. This is because the theme might set a
border on only one of them, like the HighContrast theme does.
2016-01-04 18:14:33 -08:00
Cosimo Cecchi
183bcb41ec levelbar: fix parameter confusion
We're always interested in the minimum size.
2016-01-04 17:56:50 -08:00
Cosimo Cecchi
beeefa1629 HighContrast: update to use -gtk-outline-radius 2016-01-04 17:50:24 -08:00
Cosimo Cecchi
bc66c0c31e HighContrast: update to use :hover 2016-01-04 17:49:41 -08:00
Cosimo Cecchi
2780865534 HighContrast: update to use :indeterminate 2016-01-04 17:48:59 -08:00
Cosimo Cecchi
b2b1b0e238 HighContrast: update to use :disabled 2016-01-04 17:46:43 -08:00
Matthias Clasen
f727ee5687 Implement CSS radial gradients
Implement parsing and drawing of radial gradients according to
http://www.w3.org/TR/css3-images/#radial-gradients.

Transitions are not implemented yet.
2016-01-04 13:59:24 -05:00
Christoph Reiter
f66191346c Mention GtkIconSize in all docs where the argument/return is annotated as taking an int instead of GtkIconSize
In https://bugzilla.gnome.org/show_bug.cgi?id=601425 the annotations
were changed to int as they not only take the predefined enum values
but also user defined values registered through gtk_icon_size_register()

As a result the typelib doesn't contain any information about
GtkIconSize for those arguments and the Python docstring only
shows the corresponding Python type "int".

This changes the argument docs to mention the type explicitly
so the Python doc generator can add a link to Gtk.IconSize
which contains the most useful predefined values.

https://bugzilla.gnome.org/show_bug.cgi?id=757411
2016-01-04 11:56:44 +01:00
Cosimo Cecchi
a009a50239 cssstyle: fix a compiler warning 2016-01-03 17:20:06 -08:00
Matthias Clasen
cfa0884165 Improve formatting of CSS style prints
Add a newline after CSS properties, so things don't run into
each other.
2016-01-03 17:05:16 -05:00
Matthias Clasen
2e921691d9 Redo CSS style printing
Drop the custom style printing implementation in gtkcssnode.c and
instead reuse the existing gtk_css_style_print function, extending
it a bit to suit our needs.

Instead of computing values, just recognize initial values by
having no CSS section. Also do away with the show-initial flag, and
just always filter out initial values. The flag can come back when
it is needed.
2016-01-03 15:36:48 -05:00
Matthias Clasen
0c52eca34c Move node printing to GtkCssNodeDeclaration
The node declaration has all the information we are printing
here (except for visibility). At the same time, redo the format
to print the information in selector format, and indicate
(in)visibility by enclosing the selector in square brackets.
2016-01-03 14:41:43 -05:00
Cosimo Cecchi
dcaffe369f cssnode: fix a compiler warning 2016-01-03 11:25:45 -08:00
Felix Riemann
daa08862ff shortcuts: Separate gestures in search results
Gestures where shown separately from other shortcuts in the search
results before. This restores that behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=760097
2016-01-03 17:07:23 +01:00
Felix Riemann
bd4b3091f6 shortcuts: Show icons and subtitles for gestures in search results
https://bugzilla.gnome.org/show_bug.cgi?id=760097
2016-01-03 17:07:23 +01:00
Matthias Clasen
1aeaa33e68 lockbutton: Fix up the template
I forgot to clean this up when switching to a stack.
2016-01-03 10:42:13 -05:00
Matthias Clasen
9c39232ab3 assistant: Drop unnecessary frame
We can just style the sidebar box itself, no need for an
extra frame widget.
2016-01-03 10:33:54 -05:00
Matthias Clasen
adfb76dc7e lockbutton: Use a stack
The previous way of manually juggling the visibility of the
labels doesn't work anymore, now that gadgets of invisible
widgets don't allocate space anymore.
2016-01-03 09:55:30 -05:00
Matthias Clasen
68edc47f6a Add a function to dump CSS nodes and styles
Add a gtk_style_context_to_string function that can serialize
a CSS node or tree of nodes, optionally including CSS properties
as well.

This will be useful in writing tests.
2016-01-03 09:19:30 -05:00
Cosimo Cecchi
a6624d803e infobar: remove unneeded gadget
It turns out we don't really need to use a separate gadget for the
infobar, if all we do is chaining up to the parent GtkBox which already
uses a gadget.
Just remove all the boilerplate.
2016-01-03 01:02:12 -08:00
Cosimo Cecchi
ef8a5fc542 window: remove unused variables 2016-01-03 00:54:16 -08:00
Cosimo Cecchi
424898e071 levelbar: consolidate code into single function 2016-01-03 00:45:43 -08:00
Cosimo Cecchi
a6e7e72d53 levelbar: port to use gadgets
We now use one gadget for the trough, and one for each block.
2016-01-03 00:45:43 -08:00
Cosimo Cecchi
971f1a9b31 levelbar: split out a function 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
feb741babf infobar: port to use a gadget 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
f246dc1c85 infobar: trivial code cleanups 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
d8b6dbd888 menubar: prefer early return 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
700286c6d8 menubar: port to use a gadget 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
96f10c0b72 menubar: use gtk_container_class_handle_border_width() 2016-01-03 00:44:05 -08:00
Cosimo Cecchi
4328a3a24b HighContrast: remove unused selector
There's no header-bar-separator style class.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
a9d07b6ec6 Adwaita: remove unused selector
There's no header-bar-separator style class.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
28911c595b HighContrast: update for separators deprecations
HighContrast still has a long way to go, but let's get at least
separators working again.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
7dacc7836f HighContrast: reparse theme
For some reason, this got accidentally changed in a previous commit.
This is just the output of running parse-sass.sh again.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
39beebd2cb win32: remove ineffective selector
That style property is deprecated, but the combobox does not have a
separator anymore.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
908deb1bdc widget: deprecate separator style properties
They're not used in GTK anymore. Also remove them from the default
theme.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
64a06adfc0 treeview: don't use wide-separators/separator-height
Those style properties are on their way out; instead, use min-height
with the separator style class to obtain the height.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
2eb7e6a85a treeview: prefer positive polarity in if block 2016-01-03 00:42:51 -08:00
Cosimo Cecchi
1f690ddbfa separator: don't read wide-separators style property
The notion of a separator being wide or not does not make sense when a
theme can set any CSS property on it, and
separator-width/separator-height are on their way out for
min-width/min-height.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
0740f23c77 menuitem: don't read wide-separators or separator-height
Separators inside menus are working completely through CSS since
GtkMenuItem has been ported to use a gadget.
Remove this unused code from here.
2016-01-03 00:42:51 -08:00
Cosimo Cecchi
eff8865ab1 separatortoolitem: don't use custom sizing/rendering
Instead, just rely on the CSS gadget; we can stop using wide-separators,
separator-height and separator-width, and at the same time deprecate the
space-size style property of GtkToolbar.
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
55e80f9379 separatortoolitem: trivial code cleanups 2016-01-03 00:41:32 -08:00
Cosimo Cecchi
ea25985b67 toolbar: deprecate GtkToolbarSpaceStyle and space-style style property
This is completely unused already.
2016-01-03 00:41:32 -08:00
Cosimo Cecchi
48596090af toolbar: port to use a gadget 2016-01-03 00:41:32 -08:00
Cosimo Cecchi
d64304997f toolbar: use gtk_container_handle_border_width() 2016-01-03 00:41:32 -08:00
Cosimo Cecchi
10c222649e toolbar: trivial code cleanup 2016-01-03 00:41:32 -08:00
Felix Riemann
6df8bc2e1a GtkBindings: Fix CSS key in example docs
gtk-key-bindings was renamed to -gtk-key-bindings in d267b8e0.

https://bugzilla.gnome.org/show_bug.cgi?id=760082
2016-01-03 02:04:11 -05:00
Christoph Reiter
6d77b9f316 gtkwindow: fix first allocation size
67ab00e01e removed the fake configure code in gtk_window_show() and
replaced it with a simple gtk_widget_realize(). The initial allocation
code in realize() only allocates the natural size or the last requested
size which now no longer is set, resulting in a too small first allocation.

This builds a configure request to compute the allocation size instead
which includes default size, CSD etc..

This problem could be seen in case of a GtkPaned in a GtkWindow with a
default size set and the pane position set as well. The first allocation
would be the natural size of the GtkPaned which would clamp the pane
position if too larg. Only the second allocation would fill the parent
window using the now wrong pane position.

https://bugzilla.gnome.org/show_bug.cgi?id=759705
2016-01-02 22:12:12 -05:00
Matthias Clasen
e93d64e4c3 Revert "Revert "window: Remove suspicious branch""
This reverts commit 2438a06d54.

See https://bugzilla.gnome.org/show_bug.cgi?id=759705
2016-01-02 22:12:12 -05:00
Cosimo Cecchi
6322b1f647 levelbar: fix a crash
We should not try to access a block with an index that exceeds the
number of blocks in the widget.
2016-01-02 18:44:07 -08:00
Matthias Clasen
8109520d4e separator toolitem: Respect ::draw property
This was lost when I converted the widget to use a gadget.

https://bugzilla.gnome.org/show_bug.cgi?id=760018
2016-01-02 20:55:37 -05:00
Cosimo Cecchi
0401146896 spinbutton: fix a typo 2016-01-02 15:31:23 -08:00
Cosimo Cecchi
664bbe12ba menuitem: move chaining up to draw inside gadget
This is more consistent with what other widgets do.
2016-01-02 15:31:21 -08:00
Timm Bäder
3758762119 GtkImage: Simplify _set_from_icon_name
We don't need to strdup icon_name since that will happen in
_gtk_icon_helper_set_icon_name anyway.
2016-01-02 15:46:45 +01:00
Christoph Reiter
558fb1ecdd gtkdnd-quartz: fix gtk_drag_begin_internal
gtk_drag_begin_internal was changed to take a GtkImageDefinition
instead of a GtkIconHelper. This adjusts the quartz variant
accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=759607
2016-01-01 15:05:23 +01:00
Alberts Muktupāvels
a90926c7f0 gtkheaderbar: update window buttons also on realize
After bb34db6 _gtk_header_bar_update_window_buttons function is
called before application menu is set. This caused regression -
app menu button is initially hidden.

https://bugzilla.gnome.org/show_bug.cgi?id=756618
2016-01-01 15:55:37 +02:00
Руслан Ижбулатов
a8ae549ed0 Fix include path for gtkiconfactoryprivate.h 2015-12-30 21:57:29 +00:00
Руслан Ижбулатов
91bb91dbb9 Fix to compile for C libraries with no flockfile
Also use MS variant of flockfile, if available
(requires MSVCRT compatible with MSVCR90 or newer).
2015-12-30 21:57:29 +00:00
Cosimo Cecchi
f357ef5610 scrolledwindow: add missing deprecation flag 2015-12-30 10:44:12 -08:00
Cosimo Cecchi
354eb5678b menuitem: fix a crash when reserve_indicator is TRUE
In that case, code expects an arrow gadget to be present but we're not
creating it in every occurrence.
Fix it by ensuring there will be an arrow gadget when reserve_indicator
is TRUE.
2015-12-29 18:31:10 -08:00
Cosimo Cecchi
3740c7f092 toolitem: fix a copy/paste typo 2015-12-29 16:33:53 -08:00
Cosimo Cecchi
79c045ed80 scrolledwindow: port to use a gadget 2015-12-29 13:51:06 -08:00
Cosimo Cecchi
7c0f0e882a scrolledwindow: deprecate scrollbars-within-bevel style property
These days all the themes set it to TRUE, and it's not clear what
happens with overlay scrollbars...
2015-12-29 13:51:06 -08:00
Cosimo Cecchi
09835b4c39 viewport: don't render a background over the bin window
GtkViewport currently tries to draw a background over the bin window.
The feature is a bit broken at the moment, as it does not take into
account padding that might have been set on the GtkViewport, but in
general it does not seem very useful, and goes somewhat against the CSS
box model where every widget/gadget is responsible to draw its own
background. For a fix, we could either have the viewport gain a "bin"
gadget, or we could stop drawing the background.

As it isn't clear that there are any users of this feature, stop drawing
the background; a client can achieve the same effect by drawing the
background on the widget inside the viewport itself.
2015-12-29 13:50:19 -08:00
Cosimo Cecchi
5daede51f7 viewport: port to use a gadget
This will get us margin support, among other things, and simplifies the
code.
2015-12-29 13:50:19 -08:00
Cosimo Cecchi
71d7b10dad viewport: trivial code cleanup 2015-12-29 13:50:19 -08:00
Cosimo Cecchi
a37129fd60 viewport: use gtk_container_class_handle_border_width()
No need to do this manually.
2015-12-29 13:50:19 -08:00
Benjamin Otte
acbff85402 gadget: Handle visibility
As GtkCssNode has the visibility concept, it makes sense to mirror it in
gadgets.

Do what visibility does in widgets: Hidden gadgets can't be drawn or
allocated and request a 0x0 size.

Note that just like widgets, gadget visibility must not be changed in
size request, allocate or draw handlers.

GtkWidget::child-visible has no equivalent yet, code will have to
emulate that manually.
2015-12-29 13:48:58 -08:00
Matthias Clasen
9950764f12 Drop deprecated pango-utils api
Copy the few parsing functions we need.
2015-12-29 08:09:23 -05:00
Ben Iofel
1e1af62bee Raleigh: Don't use deprecated pseudo classes 2015-12-28 20:30:51 -08:00
Matthias Clasen
31e97b33e1 Set ID on css node right away
Previously, the ID was only set on the CSS node as a side-effect
of calling gtk_widget_get_style_context. This was showing up
in CSS style tests as nodes lacking their IDs.
2015-12-28 23:18:06 -05:00
Matthias Clasen
0042f9b414 Fix a comment 2015-12-28 22:37:33 -05:00
Matthias Clasen
e71f7d713e Add a transfer annotation
This was confusing me momentarily, so add an explicit annotation.
2015-12-28 22:37:22 -05:00
Matthias Clasen
ba1636be87 statusicon: Avoid criticals
The code handles the possibility of pixbuf being NULL, but
after b411c31832 we must be
prepared for surface already being NULL. Pointed out by
Albert Muktupāvels,

https://bugzilla.gnome.org/show_bug.cgi?id=759917
2015-12-28 10:27:08 -05:00
Matthias Clasen
e8ba058396 checkbutton: Update state initially
Without this, the check node starts out without the :dir(ltr)
state, at least.
2015-12-28 10:24:02 -05:00
Matthias Clasen
eb09bee492 css: Deprecate :sorted pseudo class
This was used with regions in GtkTreeView, and is not used
anymore, so deprecate it.
2015-12-27 18:37:19 -05:00
Matthias Clasen
f3069d7e94 css: Redo the pseudo class deprecation warnings
Putting the deprecated class behind the official variant does
not work for the case of :focus and :focused - we were matching
:focus and leave a dangling 'ed'. So, put the deprecated classes
before the official variant, and explicitly mark them as deprecated.
2015-12-27 17:32:11 -05:00
Matthias Clasen
8bfbb2c103 Cosmetic change 2015-12-26 21:42:10 -05:00
Matthias Clasen
80a91722e5 inspector: Don't leak weak references
These come back to bite us when the inspector is no longer around
at the end of the program.

https://bugzilla.gnome.org/show_bug.cgi?id=759768
2015-12-26 21:42:10 -05:00
Matthias Clasen
787f600d33 inspector: Remove some dead code
Since commit bffeae6203, the
tree path is not used for anything useful anymore, so do away
with it entirely.
2015-12-26 21:42:10 -05:00
Руслан Ижбулатов
1f154f576a Fix a surface leak
Was introduced as part of b79a187d47.
Results in memory leaks (and GDI objects leaks on W32).
2015-12-27 02:02:19 +00:00
Carlos Soriano
5404e124b6 gtkframe: format fix 2015-12-26 20:52:53 +01:00
Carlos Soriano
79b6d48983 gtkframe: remove unused variable
And fix the compiler warning
2015-12-26 20:52:31 +01:00
Matthias Clasen
26d8688cb4 Redo the CSS docs
Split the CSS docs off from the GtkCssProvider docs and
give them their own chapter. Among other things, this commit
introduces more or less complete definitions of the syntax for
the supported selectors, a complete list of all supported
properties, and definitions for their values. This includes
documentation for GTK+-specific properties such as -gtk-icon-source.
2015-12-25 22:58:52 -05:00
Matthias Clasen
b3dbf3f41c Drop the :dnd syntax altogether
This was only introduced a few weeks ago. We don't need to keep
this around, now that we support the proper CSS syntax.
2015-12-25 22:58:28 -05:00
Matthias Clasen
39b4efb24e Adwaita: Don't use deprecated pseudo classes 2015-12-25 22:58:28 -05:00
Matthias Clasen
c998fae5ac Add deprecation warnings for pseudo states
Emit a deprecation error in the cases where we have
a CSS name for a custom pseudo class.
2015-12-25 22:58:28 -05:00
Matthias Clasen
158dbbc88f Use CSS syntax for drop highlighting
I hadn't noticed the :drop() pseudo state in the CSS4 Selectors
spec when I added this a while ago. This commit renames
GTK_STATE_FLAG_DND to GTK_STATE_FLAG_DROP_ACTIVE and adds
:drop(active) as equivalent to the :dnd pseudo state.
2015-12-25 22:58:28 -05:00
Matthias Clasen
b3c1454dcc Add docs for GtkCssSection 2015-12-25 22:58:28 -05:00
Lapo Calamandrei
81da0b86f3 Adwaita: fix notebook close button 2015-12-24 00:02:12 +01:00
Lapo Calamandrei
157276b455 Adwaita: use min-height/width for entry and button sizing 2015-12-23 20:35:06 +01:00
Lapo Calamandrei
08f928a4ea Adwata: fix switch slider border clash 2015-12-23 18:57:04 +01:00
Florian Müllner
e20826fe03 label: Deny drag gesture when not selectable
We don't actually do anything when the label is not selectable
except for consuming the event, which breaks for instance titlebar
drags with labels that contain links. Simply deny the gesture in
that case to allow the event to bubble up normally.

https://bugzilla.gnome.org/show_bug.cgi?id=759798
2015-12-23 14:07:00 +01:00
Chun-wei Fan
c0bc0a9ac2 gtkcssnumbervalue.c: Include fallback-c89.c to fix build
... on older Visual Studio versions, where isinf() is not available, and
copy the isinf() implementation from gdk/fallback-c89.c to
gtk/fallback-c89.c.
2015-12-23 19:23:17 +08:00
Matthias Clasen
b6d287aab5 widget: Be safe against windows losing their frame clock
gdk_widget_get_frame_clock can return NULL. In particular,
this can happen when the drag window is destroyed at the end
of a DND operation. Handle this gracefully when it happens.
2015-12-22 23:57:06 -05:00
Alberts Muktupāvels
8ffa8b3a49 gtksettings: notify after property reset 2015-12-23 05:55:47 +02:00
Matthias Clasen
d92111256f fix printing of numbers
We should be printing infinite, not inf.
2015-12-22 22:29:22 -05:00
Matthias Clasen
6b497bcf81 Trivial changes 2015-12-22 22:29:22 -05:00
Cosimo Cecchi
efb8e5bd43 menuitem: don't use content allocation to resize the GdkWindow
This is a fallout from the gadget conversion.
2015-12-22 15:36:00 -08:00
Matthias Clasen
ad87ebb5e7 Adwaita: Adapt to previous commit
Rename all outline*radius properties to -gtk-outline*radius.
2015-12-22 16:19:18 -05:00
Matthias Clasen
f61b7ba797 Prefix outline radius CSS properties
These are not in any CSS specifications, so mark them as GTK+
additions by giving them a -gtk prefix. The old names still work.
2015-12-22 16:18:10 -05:00
Matthias Clasen
2d6ce0da08 Add some docs to GtkIcon 2015-12-22 15:03:15 -05:00
Matthias Clasen
5f330418ae Add some docs to GtkBuiltinIcon 2015-12-22 15:03:15 -05:00
Cosimo Cecchi
a5a5091555 stylecontext: fix gtk-doc comment syntax 2015-12-22 11:56:23 -08:00
Cosimo Cecchi
22c9169883 Adwaita: don't set deprecated style property 2015-12-22 11:53:07 -08:00
Matthias Clasen
c8206ca698 Adwaita: Fix app-notification theming
The way to disable the frame border has changed.
2015-12-22 13:53:43 -05:00