Commit Graph

25994 Commits

Author SHA1 Message Date
Benjamin Otte
ab1906952e cellrenderertoggle: Change "indicator-size" handling
The following changes were done to (hopefully) achieve backwards
compatibility while allowing themes to change the size of the indicator.

(1) Deprecate the property.
(2) Change the default value of the property to 0. If it is not 0,
    use the property's value for the indicator size. This should make
    all programs that actually set it keep the size they set it to.
(3) If set to other values than 0, use min-width/min-height of the
    check/radio node to size the indicator. This allows themes to change
    the size.
(4) Fall back to the previous default size of 16px. This way themes that
    do not set the size keep the same behavior.
2016-02-16 02:53:34 +01:00
Benjamin Otte
3c0cd8aea4 win32 theme: Include the default win32 colors 2016-02-16 02:53:33 +01:00
Benjamin Otte
92fca23244 win32 theme: Always include the win32 theme
It's not very useful outside of Windows so far, but that will hopefully
change.
2016-02-16 02:53:33 +01:00
Lapo Calamandrei
a1cbcc18b3 Adwaita: stop using assets for treeview check/radio...
...the sizing is still off, waiting for Benjamin to add the magic,
probably the icon shadow is missing, not sure since it's blurry.
This needs to be reverted in case the sizing won't get fixed.
2016-02-16 02:14:02 +01:00
Lapo Calamandrei
d26801c923 Adwaita: correctly style arrows wrt tab position 2016-02-15 18:42:12 +01:00
Carlos Garnacho
aad3135e4c gdk: Add GdkDragCancelReason enum as argument to GdkDragContext::cancel
We should conform to a minimal set of reasons for the gtk side to emit
a better GtkDragResult than GTK_DRAG_RESULT_ERROR. This fixes the notebook
tab DnD feature, where we rely on GTK_DRAG_RESULT_NO_TARGET.

In the wayland side, unfortunately we can't honor either NO_TARGET nor
USER_CANCELLED, we don't know of the latter, so we could return false
positives on the former.

https://bugzilla.gnome.org/show_bug.cgi?id=761954
2016-02-15 18:35:51 +01:00
Benjamin Otte
1ee3df5161 cellrendertoggle: Draw background + frame for mark
Also compute padding and borders properly for the marks.
2016-02-15 18:17:11 +01:00
Benjamin Otte
46f46ed36e cellrenderertoggle: Split out a function 2016-02-15 18:17:11 +01:00
Lapo Calamandrei
1b1d6551c7 Adwaita: correct size for ssd titlebars
fixes https://bugzilla.gnome.org/show_bug.cgi?id=762032
2016-02-15 16:56:47 +01:00
Matthias Clasen
cb43af090b notebook: Fix a misplaced tab label
Sometimes default tab labels ("Page <n>") get created on-demand,
and in that case, we were forgetting to put them below the tab
node in the CSS node tree. The visible result of this is that the
heuristics for when to give notebooks background in Adwaita fail
in some cases. So, make sure to always place the label below the
tab node.
2016-02-15 10:38:13 -05:00
Lapo Calamandrei
1140a514ea Adwaita: notebook fixes
make the tab close button a tad bigger, use header 'paddings' in
place of 'tabs' margins for spacing.
2016-02-15 14:27:14 +01:00
Matthias Clasen
4e2674edbb Expand the docs for gtk_window_set_default_size()
Mention that this function should be used together with
gtk_window_get_size() when saving and restoring window sizes.
2016-02-15 08:23:12 -05:00
Matthias Clasen
e10f44e896 places sidebar: use a box
No need for a grid here. Patch by Timm Bäder.
2016-02-15 08:19:25 -05:00
Lapo Calamandrei
88c68f2eef Adwaita: sidebar background-color
it was covered by the contained list background, which is now
transparent.
2016-02-15 13:52:41 +01:00
Lapo Calamandrei
0b1aeceb6e Adwaita: no rounded corner for tiled backdrop windows
fixes https://bugzilla.gnome.org/show_bug.cgi?id=762067
2016-02-15 13:31:42 +01:00
Lapo Calamandrei
aed7ca1b3d Revert "Adwaita: no rounded corners for backdrop tiled windows"
This reverts commit aa4b385398.
Erroneusly pushed unfinished stuff...
2016-02-15 13:28:46 +01:00
Lapo Calamandrei
4d26640045 Adwaita: shortcutswindow fixes
use darker text and tweak the keycap vertical centering,
addresses https://bugzilla.gnome.org/show_bug.cgi?id=761778
2016-02-15 13:07:37 +01:00
Lapo Calamandrei
aa4b385398 Adwaita: no rounded corners for backdrop tiled windows
fixes https://bugzilla.gnome.org/show_bug.cgi?id=762067
2016-02-15 12:36:06 +01:00
Chun-wei Fan
0e9f24b5a4 gtk/gtkentry.c: Fix build on pre-C99
This file now uses nearbyint(), so include fallback-c89.c so that
compilers that don't provide the function will not get upset.
2016-02-15 17:22:00 +08:00
Chun-wei Fan
f3f3a1c750 Fix 'make dist' 2016-02-15 17:20:54 +08:00
Benjamin Otte
beb76936d9 cellrenderertoggle: Use "check" and "radio" names
... instead of just adding a style class.
2016-02-15 04:41:12 +01:00
Benjamin Otte
a4a158e885 win32 theme: Remove a bunch of workarounds that are no longer necessary 2016-02-15 04:41:12 +01:00
Benjamin Otte
b227d023f3 win32 theme: Draw checkmarks and radiomarks properly
Instead of drawing them as the background, use -gtk-icon-source.
Also size the marks properly.

Because Windows doesn't have indeterminate radio buttons, use a
cross-fade between checked and unchecked radiomark instead. But
unlike previously, use CSS cross-fade() syntax to draw it.
2016-02-15 04:41:12 +01:00
Benjamin Otte
de38435921 cssimagecrossfade: Fix order of images when parsing/printing
The syntax is cross-fade(<percentage> <end>, <start>), not the
other way around. That's because the percentage refers to the end image.
2016-02-15 04:41:12 +01:00
Benjamin Otte
f425b5549c win32: Add support for -gtk-win32-part-width/height to CSS
It's unused by now, but I want it for min-width of checks/radios.
2016-02-15 04:41:12 +01:00
Benjamin Otte
b43844f9f9 win32 theme: Don't set the color on *
Instead, set it on .background, so it gets inherited everywhere.
2016-02-15 04:41:12 +01:00
Benjamin Otte
6d909018f7 win32 theme: Use same spinner as Adwaita 2016-02-15 04:41:12 +01:00
Benjamin Otte
3597baf272 win32: Update color handling to recent GtkWin32Theme changes 2016-02-15 04:41:12 +01:00
Benjamin Otte
a1617c6d6d win32: Canonicalize theme-name before adding to hash table
This way, we get rid of du0plicates.
2016-02-15 04:41:12 +01:00
Benjamin Otte
d584e22e02 win32: Add gtk_win32_theme_parse()
So all places can use this function instead of parsing things themselves.
2016-02-15 04:41:12 +01:00
Benjamin Otte
3b19db425e css: Add a number value handling win32 sizes 2016-02-15 04:41:12 +01:00
Lapo Calamandrei
915fe87a62 Adwaita: fix treeview dnd column headers 2016-02-14 22:30:32 +01:00
Lapo Calamandrei
54b378b3df Adwaita: flatten up search bars and inline toolbars 2016-02-14 21:48:31 +01:00
Lapo Calamandrei
f1b34a719e Adwaita: image-button sizing fix 2016-02-14 21:07:11 +01:00
Matthias Clasen
3c9a63bcb1 Adwaita: Fix a padding problem in action bars
Padding adds up. A selector like "actionbar box" matches any box
inside an actionbar, so nested boxes accumulate more and more
padding. The intention clearly was to just give padding to the
topmost box that is the direct child of the actionbar's revealer.

https://bugzilla.gnome.org/show_bug.cgi?id=762036
2016-02-14 14:54:49 -05:00
Lapo Calamandrei
601e762973 Adwaita: correct spacing for mixed buttons 2016-02-14 16:39:19 +01:00
Benjamin Otte
6edb420e51 paned: Fix drawing
Clip children to their window's size. That way no overdraw happens for
these widgets. But don't clip the handle.

We might in the future consider not clipping un-shrinkable children.

https://bugzilla.gnome.org/show_bug.cgi?id=762021
2016-02-14 16:10:07 +01:00
Benjamin Otte
88f0885638 paned: Use content allocation instead of widget allocation
We don't want to include padding and borders in our calculations
involving the handle.
2016-02-14 16:07:06 +01:00
Benjamin Otte
7e47418d0c paned: rtl-flip with the correct rectangle 2016-02-14 15:52:35 +01:00
Lapo Calamandrei
1bfbd23a0c Adwaita: don't set a border for drop targets
to avoid active drop targets to grow.
2016-02-14 14:44:57 +01:00
Lapo Calamandrei
bf45d06a79 Adwaita: scss cosmetic changes 2016-02-14 14:33:30 +01:00
Lapo Calamandrei
72db203672 Adwaita: fix scale popup button size 2016-02-14 14:21:01 +01:00
Michael Catanzaro
ea423318f1 Fix a typo 2016-02-13 22:15:07 -06:00
Lapo Calamandrei
7f2d4400ba Adwaita: try being smarter wrt extending buttons. 2016-02-14 02:35:28 +01:00
Lapo Calamandrei
adddd1a9eb Revert "Adwaita: remove an unneded selector."
This reverts commit 05dff4ccb0.
It was needed actually...
2016-02-14 01:20:02 +01:00
Lapo Calamandrei
05dff4ccb0 Adwaita: remove an unneded selector. 2016-02-14 00:34:29 +01:00
Lapo Calamandrei
12daac76d7 Adwaita: notebook arrow styling. 2016-02-14 00:25:04 +01:00
Benjamin Otte
93eec3e52f css: Implement transitions for numbers of different units
We now can transition from 10px to 100%.

Note that this requires a teensy tiny hack in
gtk_css_value_transition(), but so be it.
2016-02-13 04:49:08 +01:00
Benjamin Otte
0cda3ba3e8 calc: Allow subterms with '(' ')' bracketing
Some more tests included.
2016-02-13 04:49:08 +01:00
Benjamin Otte
63d1f80742 css: Add support for '*' and '/' to calc()
More tests are included.
2016-02-13 04:49:08 +01:00
Benjamin Otte
4a9fa1e750 css: Add API to handle order when printing calc()
Also, add some tests and update old ones to print calc() statements
correctly.
2016-02-13 04:49:08 +01:00
Benjamin Otte
65dd9da44a css: Add support for sums to calc()
This requires adding code to do math on number values:
  gtk_css_number_value_multiply()
and
  gtk_css_number_value_try_add()
were added to achieve that.

Some tests are included.
2016-02-13 04:49:08 +01:00
Benjamin Otte
cd6dc954f2 css: Add initial support for calc()
So far, calc() only supports literals, ie it's completely useless.
2016-02-13 04:49:08 +01:00
Benjamin Otte
a52ecd2be6 css: Add gtk_css_number_value_can_parse()
Use it instead of _gtk_css_parser_has_number().

We need that once we introduce calc() support.
2016-02-13 04:49:08 +01:00
Benjamin Otte
b246d55472 css: Turn number values into a virtual type
GtkCssNumberValue is now a base class for numbers.

Actual numbers are now implemented in GtkCssDimensionValue. The name is
borrowed from the CSS spec, so there.
2016-02-13 04:49:07 +01:00
Benjamin Otte
e2d966eda5 cssnumbervalue: Remove gtk_css_number_value_get_unit()
This is in preparation for calc(), as calc(50% - 5px) is valid CSS
but has 2 units. Instead, add a function to query a value's dimension
(so we can differentiate lengths from numbers) and add a function to
query if the value contains percentages.
2016-02-13 04:49:07 +01:00
Benjamin Otte
7b301fcece linear-gradient: Remove the hack using NUMBER
Instead, add a "side" member to the struct that keeps sides explicitly.
2016-02-13 04:49:07 +01:00
Benjamin Otte
0645425046 cssimageradial: Don't print 2 spaces 2016-02-13 04:49:07 +01:00
Matthias Clasen
51af70495a gadget: Be careful in geometry calculations
Margins can be negative, and if we are not careful, then
content+padding+margin can end up with negative dimensions,
which can upset pixman and others. This commit ensures
that a gadget will not request or draw boxes with negative
dimensions, and get_border_allocation and get_content_allocation
will not return boxes with negative dimensions.

This fixes a crash in the paned separator drawing code that
can be reproduced by setting separator padding to 0.

https://bugzilla.gnome.org/show_bug.cgi?id=759657
2016-02-12 22:26:04 -05:00
Matthias Clasen
71559c603e file chooser: Avoid nonworking search+save combinations
With the location entry up in the header bar in save mode, we can
end up with the search model being in use when the user types in
the location entry. In this case, we don't make the Save button
sensitive as we should.

Having two entries in the dialog is somewhat confusing anyway,
so just stop the search when the user starts typing in the location
entry.

https://bugzilla.gnome.org/show_bug.cgi?id=761757
2016-02-12 22:05:40 -05:00
Matthias Clasen
811a9b21c1 file chooser: Use the right model when getting the selection
We don't need to make assumptions about which model is currently
used since gtk_tree_selection_get_selection hands us the model.

https://bugzilla.gnome.org/show_bug.cgi?id=761757
2016-02-12 20:35:26 -05:00
Matthias Clasen
4c37719639 Adwaita: Insensitive notebook arrows
Just make insensitive notebook arrows gray until better
styling appears.

https://bugzilla.gnome.org/show_bug.cgi?id=761716
2016-02-12 18:24:20 -05:00
Matthias Clasen
102b3bfddf paned: Draw handle before children 2016-02-12 18:10:02 -05:00
Matthias Clasen
48d7219296 paned: Don't overdraw
When moving children 'off', we can't allow them to draw outside
the paned allocation, so clip when drawing.

https://bugzilla.gnome.org/show_bug.cgi?id=761903
2016-02-12 15:02:34 -05:00
Jakub Steiner
eb90c4f9ed Adwaita: make popovers less 1995
- use regular bgcolor
2016-02-12 14:38:03 +01:00
Carlos Garcia Campos
170cb01675 Revert "Remove _gtk_box_get_children"
This reverts commit 572e9a0402.

_gtk_box_get_children was not doing exactly the same than
gtk_container_get_children does, because the latter uses the forall
implementation of GtkBox that takes into account the children pack mode while
the former just iterated the list of children. This broke the order of
the buttons in a GtkButtonBox when they were packaged with PACK_END.
2016-02-12 13:29:21 +01:00
Matthias Clasen
452d25b13d placessidebar: Increase padding
This should bring us back to the look of 3.18.

https://bugzilla.gnome.org/show_bug.cgi?id=761791
2016-02-11 22:51:35 -05:00
Colomban Wendling
a47d9a7b65 treeview: Make sure the editing widget's top left is always visible
https://bugzilla.gnome.org/show_bug.cgi?id=761838
2016-02-11 22:41:58 -05:00
Matthias Clasen
32804e098e Adwaita: Don't grow flat entries
Entries in treeviews and similar embedded situations don't really
work well if their height is forced to be big. Take out the min-height
for these.

https://bugzilla.gnome.org/show_bug.cgi?id=761686
2016-02-11 22:36:07 -05:00
Caolán McNamara
85b44a3e20 cannot not -> must
https://bugzilla.gnome.org/show_bug.cgi?id=761826
2016-02-11 22:18:26 -05:00
Matthias Clasen
56ba81530a placesview: Fix some minor issues
Make the button not grow too big, and ensure that the actionbar
has a background.

https://bugzilla.gnome.org/show_bug.cgi?id=761792
2016-02-11 22:16:33 -05:00
Matthias Clasen
23d2f2d0e1 Adwaita: tone down treeview separators 2016-02-11 22:03:47 -05:00
John Ralls
3bf1151051 Fix Quartz clipboard image retrieval.
It does no good to iterate through a series of mime types to call a
function when the eventually-called function,
_gtk_quartz_get_selection_data_from_pasteboard() in this case, gives the
wrong answer and stops the iteration on all but one especially if that
one isn't first.

The one is "image/tiff" and the quartz pasteboard function will return
any image type Quartz knows about for it, so lose the iteration and use
only "image/tiff".
2016-02-11 14:00:47 -08:00
Lapo Calamandrei
1bd0431ab2 Adwaita: fix bogus selector...
...ruining the indeterminate check animation
2016-02-11 18:38:31 +01:00
Lapo Calamandrei
460aa64c58 Adwaita: animate check and radios 2016-02-11 18:27:25 +01:00
Matthias Clasen
bb15c53966 notebook: fix arrow states
Some code was confusing 0 with ARROW_NONE, causing us to not properly
update the state of the arrow gadgets.
2016-02-11 06:47:28 -05:00
Benjamin Otte
f5d4fb1a0b inspector: Don't use unused variables
Windows-specific refactorings broke this.
2016-02-11 04:14:56 +01:00
Benjamin Otte
88b7dfdb1e win32: Move init code into windows-specific code
Avoids warnings about undefined functions on non-windows.
2016-02-11 04:14:28 +01:00
Benjamin Otte
4dfbaccd67 win32 theme: Add a GtkWin32Theme object
This object wraps a HTHEME and takes care of recreating it on theme changes.
2016-02-11 03:44:48 +01:00
Benjamin Otte
1519801878 win32: Capture WM_THEMECHANGED
We're not doing anything useful with it yet. This will follow in the coming commits.
2016-02-11 03:44:48 +01:00
Benjamin Otte
99153ed585 win32: Remove XP-specific code
We don't support XP anymore.
2016-02-11 03:44:48 +01:00
Benjamin Otte
a620a1d688 win32: Remove unused functions / header includes 2016-02-11 03:44:48 +01:00
Benjamin Otte
9efb275a13 filechoosernativewin32: Remove unused variables 2016-02-11 03:44:47 +01:00
Benjamin Otte
dda959332f imcontextsimple: Remove unused variable on win32 2016-02-11 03:44:47 +01:00
Benjamin Otte
ce8a98e21b win32 theme: Get rid of deprecated style properties
That's pretty easy, because we can just delete them. The theme is broken either way.
2016-02-11 03:44:47 +01:00
Benjamin Otte
9c700b2bc6 win32 theme: Replace pseudoclasses with undeprecated ones 2016-02-11 03:44:47 +01:00
Benjamin Otte
93ecb1d187 win32 theme: Do a quick'n'dirty search/replace
Try to replace the old style names with then new style names.

The theme is still entirely way too broken. But at least one can see something.
2016-02-11 03:44:47 +01:00
Benjamin Otte
76e56c5038 win32: Stop using _gdk_display global in device code
Use gdk_device_get_display() instead.
2016-02-11 03:44:47 +01:00
Benjamin Otte
ccbfa64d67 win32embedwidget: Mark deprecated sections 2016-02-11 03:44:47 +01:00
Benjamin Otte
ccc7e3058c filechoosernativewin32: Silence gcc 2016-02-11 03:44:47 +01:00
Benjamin Otte
068f8a3da1 filechoosernativewin32: Add missing return type
Looks like a line accidentally was deleted there.
2016-02-11 03:44:47 +01:00
Benjamin Otte
117e303b44 filechoosernativewin32: Define MSC_VER at top of file
The headers we include might include windows headers which define _MSC_VER already.
2016-02-11 03:44:47 +01:00
Benjamin Otte
0ea9131ff7 printoperation-win32: Silence gcc 2016-02-11 03:44:47 +01:00
Benjamin Otte
573f51cb29 mountoperation: Silence gcc
Also, printf()ing a GPid should be forbidden.
2016-02-11 03:44:47 +01:00
Benjamin Otte
1d980192fa immodule: Stop gcc from complaining 2016-02-11 03:44:47 +01:00
Timm Bäder
becfd18b07 overlay: set css name 2016-02-10 14:03:56 +01:00
Timm Bäder
bdd182f38c frame: Set border gadget state after creating it 2016-02-10 14:03:39 +01:00
Timm Bäder
c44364f1d1 spinbutton: Free the gadget in finalize 2016-02-10 12:30:35 +01:00
Timm Bäder
8ea573b473 css node tree: Fix crash
This function would return "" whenever the state of the css node was
unset, causing a crash when selecting the css node tree from the
sidebar.
2016-02-10 12:28:32 +01:00
Matthias Clasen
a3a5cf1087 text view: Improve tag pointer tracking
A problem that has been observed in polari is that links in tags
are clickable all the way into the margin. This problem is caused
by gtk_text_view_get_iter_at_position ignoring the return value
of pango_layout_xy_to_index. Instead, pass it back as a boolean
return value. This is technically an API break, but we've allowed
ourselves to change return types from void to gboolean before.
2016-02-10 00:01:54 -05:00
Rui Matos
019dab7c38 gtkmagnifier: Avoid a crash if the inspected widget is finalized
If the inspected widget is finalized and we then try to disconnect
from its signals we'll crash.

https://bugzilla.gnome.org/show_bug.cgi?id=761775
2016-02-09 15:35:17 +01:00
Timm Bäder
1331b60029 A few more documentation fixes 2016-02-09 08:05:16 +01:00
Timm Bäder
c5369356e8 Various documentation fixes
Always have Since: annotations at the very bottom, use the correct
ClassName::signal-name/ClassName:property-name syntax, fix a few typos
in type names, wrong function names, non-existing type names, etc.
2016-02-08 22:56:52 +01:00
Rico Tzschichholz
76fedc1882 gtk: Fix some return-values annotations (transfer none/full) 2016-02-08 14:03:55 +01:00
Matthias Clasen
dc407dbc8f inspector: Avoid crash in magnifier
We can't use gtk_widget_draw on widgets that are not allocated.
2016-02-08 09:34:24 +01:00
Timm Bäder
486a0a467d image: _get_style_context never returns NULL 2016-02-07 19:16:26 +01:00
Timm Bäder
ded745a4b9 Make gtk_icon_helper_invalidate private 2016-02-07 19:16:26 +01:00
Timm Bäder
0bd6c48315 Add and use gtk_icon_helper_invalidate_for_change 2016-02-07 19:16:26 +01:00
Timm Bäder
0c80210685 iconhelper: Save whether the surface is symbolic 2016-02-07 19:16:26 +01:00
Timm Bäder
0ec4c76d8f stylepropertyimpl: Use GTK_CSS_AFFECTS_SYMBOLIC_ICON
Things like color affect symbolic icons, but not colored icons, while
other css properties like -gtk-icon-effect affect colored icons, but not
symbolic ones.
2016-02-07 19:16:26 +01:00
Timm Bäder
2d8db26cbf csstypes: Add GTK_CSS_AFFECTS_SYMBOLIC_ICON 2016-02-07 19:16:26 +01:00
Timm Bäder
d3a0dfe81a cssstylechange: Add helper function to print change
So I don't have to print both styles to the console, paste them both
into a file and then run diff on the 2 files anymore.
2016-02-07 19:16:26 +01:00
Timm Bäder
2902063f24 iconhelper: Un-duplicate some code 2016-02-07 19:16:26 +01:00
Timm Bäder
c360b5fb49 Remove more unnecessary redraws
The call to gtk_widget_set_state_flags immediately before these already
queues a redraw/allocate/resize in case they have to be queued.
2016-02-07 19:16:26 +01:00
Matthias Clasen
667069cff2 Adwaita: No rounded corners for fullscreen
If the theme has rounded corners for fullscreen, we don't tell the
window manager that we are now fully opaque, which then makes things
less efficient than they should be.

https://bugzilla.gnome.org//show_bug.cgi?id=761571
2016-02-07 18:00:29 +01:00
Matthias Clasen
af64a60466 box gadget: Fix allocation without baseline
When we don't get a baseline passed in, we want to basically
center the children inside the allocation. There was an attempt
in the code to do 'internal baseline alignment', but it had the
side effect of moving the contents to the top when we don't get
a baseline passed in. Remove it for now, this needs some more
infrastructure to do properly.

https://bugzilla.gnome.org/show_bug.cgi?id=761363
2016-02-07 15:08:56 +01:00
Matthias Clasen
c3c01d8cbc level bar: Document buildable syntax 2016-02-07 11:43:13 +01:00
Matthias Clasen
ccd8c76ff2 level bar: Fix offset behavior
We had some odd special-casing for the lowest and highest offset
that did not quite work. The new rule is simple: If the value
is between offset n-1 and n, it gets the style for offset n.

https://bugzilla.gnome.org/show_bug.cgi?id=761416
2016-02-06 16:43:45 +01:00
Matthias Clasen
1a71579b61 level bar: Improve documentation
The docs were not explaining at all what happens to existing
level offsets when the min- or max-value of a level bar are
changed.
2016-02-06 16:19:13 +01:00
Matthias Clasen
8776bb5324 level bar: Make the full offset official
We are adding 3 offsets, not just two. Add a define for the
third one, and mention it in the docs.
2016-02-06 16:11:17 +01:00
Benjamin Otte
d48d3b359c cssselector: Remove type references
We don't use types anymore.
2016-02-05 23:47:48 +01:00
Benjamin Otte
e8fca5bbbe cssmatcher: Remove type argument from name matcher
We no longer use types when matching names.
2016-02-05 23:43:05 +01:00
Benjamin Otte
fe6d4cbdf5 inspector: Drop type name from node list
It's not used anymore in the CSS, so people don't need to see it.
2016-02-05 19:31:47 +01:00
Benjamin Otte
0c12601208 cssimageradial: Only allow at "<position>" after other props
Don't allow syntax like
  at top left circle
but follow the spec about requiring the at <position> right before the
comma.

This is porbably because
  circle at 10px 10px
could be interpreted as
  circle 10px at 10px
with the now disallowed syntax, too.

Test included.
2016-02-05 19:31:47 +01:00
Benjamin Otte
982da040b2 cssimageradial: Only emit one error for wrong position
Test included.
2016-02-05 19:31:47 +01:00
Benjamin Otte
5444442974 css: Convert numbers with GTK's dpi
Don't hardcode 96 for dpi, but instead use the value of the -gtk-dpi
property (that mirrors the GdkScreen's dpi if it wasn't set explicitly).

This makes these values scale when the large font setting in
control-center is enabled.
2016-02-05 14:52:09 +01:00
Benjamin Otte
e35e6abbb2 css: Properly convert em, ex and rem to pixels
The previous code converted to pt.
2016-02-05 14:52:09 +01:00
Lapo Calamandrei
56b1b08bb8 Adwaita: darker background for popovers 2016-02-05 14:11:30 +01:00
Matthias Clasen
61307deaf7 levelbar: Make discrete levelbars behave as before
During the gadget conversion, the drawing of discrete levelbars
was unintentionally changed to draw a wide trough but narrow
blocks, which does not look great. So go back to the previous
way of drawing things.

https://bugzilla.gnome.org/show_bug.cgi?id=761428
2016-02-05 11:53:50 +01:00
Matthias Clasen
339023dee5 Fix indentation
gcc 6 complains about this.
2016-02-05 11:42:28 +01:00
Timm Bäder
680ec087ab switch: Don't queue draws after setting state flags 2016-02-04 20:00:21 +01:00
Benjamin Otte
0e7691c12e css: Add rem unit
Good luck, Lapo.
2016-02-04 19:37:44 +01:00
Benjamin Otte
f7ec9c98ef widget: Set a css name
Now selecting a widget by class name no longer works.

This is probably most relevant for users outside of GTK that want to
style their own widgets. Those widgets should now either add their own
style classes (if they want to adjust existing CSS) or use
gtk_widget_class_set_css_name() themselves (if they want to get rid of
all "upstream" styling).
2016-02-04 17:27:03 +01:00
Timm Bäder
35cd0be468 Range: Group all three gestures
And reset the grab_location in the ::released handler of the multipress
gesture.

Previously, when leaving fine-tune mode, the ::released handler of the
multipress gesture would call stop_scrolling, which calls
range_grab_remove and resets the grab_location. The ::drag-end handler
is executed after that, and only unsets priv->in_drag if the
grab_location is MOUSE_OUTSIDE, which it never was, since the ::released
handler already reset it. This lead to priv->in_drag being set even
though no dragging was in progress anymore, which e.g. made shift
pressed after leaving the fine-tune mode entering it again.

https://bugzilla.gnome.org/show_bug.cgi?id=761402
2016-02-04 17:08:30 +01:00
Руслан Ижбулатов
4a49d8d14f Don't do remote checks on NULL files
Calling _gtk_file_consider_as_remote() with a NULL argument
results in warnings being thrown.

Note that query->priv->location being NULL is a state that does
not seem to be invalid by itself.

This could happen if you do search-as-you-type in a filechooser,
which has a filter that does not match anything *and* the current
"place" selected is "Recent".

https://bugzilla.gnome.org/show_bug.cgi?id=761552
2016-02-04 15:57:35 +00:00
Matthias Clasen
3756d92367 Move private widget path functions away
We don't put private functions in public headers anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=761339
2016-02-04 15:19:51 +01:00
Benjamin Otte
8d515409c6 win32: Get rid of XP theme
XP is not supported anymore. And we can massively simplify the win32
theme if we don't have to support 2 versions.
2016-02-04 14:25:46 +01:00
Benjamin Otte
7d4bf49cff win32: Delete classic theme
Well, actually, stop adding an extra version of raleigh
2016-02-04 14:23:08 +01:00
Benjamin Otte
27901c7794 build: Don't break windows build
Hardcode the existing files instead of doing a for loop and attempting
string-fudging magic.
2016-02-04 14:19:51 +01:00
Lapo Calamandrei
6cdca1e124 Adwaita: removed some old cruft from _drawing.scss
resulting in a nice number of non working selectors ditched.
2016-02-04 14:14:59 +01:00
Benjamin Otte
b783670820 inspector: Don't hardcode builtin themes
Insteead, enumerate the resources that are available. Fixes windows
themes not being listed in the inspector.
2016-02-04 13:35:21 +01:00
Benjamin Otte
d0fd7990c3 cssprovider: Change location of builtin themes
Instead of
  /org/gtk/libgtk/theme/$THEME-$VARIANT.css
look at
  /org/gtk/libgtk/theme/$THEME/gtk-$VARIANT.css
and that way mirror the directory layout of real themes.
2016-02-04 13:35:21 +01:00
Timm Bäder
6bc096d748 actionbar: Remove unnecessary map/unmap implementations
These just do what the default implementations do anyway.
2016-02-04 13:32:34 +01:00
Timm Bäder
641e703882 statusbar: Remove unused include 2016-02-04 13:32:34 +01:00
Timm Bäder
572e9a0402 Remove _gtk_box_get_children
It's doing exactly the same thing as gtk_container_get_children.
2016-02-04 13:32:34 +01:00
Timm Bäder
2929621d05 colorswatch: Remove unused constant 2016-02-04 13:32:34 +01:00
Benjamin Otte
c95087c70a entry: queue an allocate when pulsing
We need to reposition the progress gadget and that's done during
allocation.
2016-02-04 12:25:13 +01:00
Alberts Muktupāvels
7ac337a9af gtksettings: fix critical warning
Commit 5186aeb90f introduced critical
warning - g_value_copy: assertion 'g_value_type_compatible (...)' failed.

https://bugzilla.gnome.org/show_bug.cgi?id=761381
2016-02-04 11:45:50 +02:00
Benjamin Otte
9708ecdd5b composetable: Fix gcc warnings 2016-02-03 23:06:53 +01:00
Benjamin Otte
be6f65a08e immodule: Use correct sign for function prototype 2016-02-03 22:53:22 +01:00
Benjamin Otte
429bec54e5 entry: Turn progress node into a gadget 2016-02-03 22:53:22 +01:00
Benjamin Otte
3316d69abb entry: Simplify drawing code 2016-02-03 22:53:22 +01:00
Lapo Calamandrei
207a842bfd Adwaita: fix headerbar spinbutton size
fixes https://bugzilla.gnome.org/show_bug.cgi?id=761484
2016-02-03 18:32:51 +01:00
Matthias Clasen
0bcd8603eb print dialog: Fix layout preview drawing
Use the CSS name paper for this as well, and make sure Adwaita
sets a color that makes the text visible in the dark theme as well.
2016-02-03 16:07:51 +01:00
Lapo Calamandrei
a0363e5f0a Adwaita: notebook with hidden header style fix
the stack styling is applied only when there is a header, hence
when the stack node is not the notebook only child, should cure
https://bugzilla.gnome.org/show_bug.cgi?id=760996
2016-02-03 15:23:17 +01:00
Lapo Calamandrei
f734db1604 Adwaita: fix vertical spinbutton style
correct sizing and workaround disabled entry text colors.
2016-02-03 15:03:39 +01:00
Carlos Garcia Campos
feabf35371 notebook: Do not reorder tabs after a grab notify if there isn't an ongoing reorder operation
This broke in f535251507 that removed
during_reorder in favor of using the current operation, but removed the
check from gtk_notebook_stop_reorder().
2016-02-02 19:02:53 +01:00
Alberts Muktupāvels
5186aeb90f gtksettings: reset property to correct default value
https://bugzilla.gnome.org/show_bug.cgi?id=76138
2016-02-02 18:15:07 +02:00
Benjamin Otte
bfb727d37e entry: Draw progress in the right place 2016-02-02 15:26:01 +01:00
Timm Bäder
6e2c551896 entry: Fix icon areas
Do the same thing we already do in gtk_entry_get_text_area.
2016-01-31 20:05:52 +01:00
Timm Bäder
033c6c82d0 widget: Annotate out params of _translate_coordinates as optional 2016-01-31 20:05:52 +01:00
Matthias Clasen
073f8bc44b gtk-builder-tool: Expand the preview command
Make the preview command parse options properly, turn the ID into
an --id=ID option, and add a --css=FILE option that allows to
specify a css file to use for previewing.

This is useful for e.g. previewing the reftest .ui files with
their corresponding .css.
2016-01-31 13:09:43 -05:00
Matthias Clasen
bc882a679d gtk-launch: Add --version
Support --version. Also improve the --help output cosmetically.
2016-01-31 12:11:58 -05:00
Matthias Clasen
836bd65408 gtk-builder-tool: Accept --help
Saying 'Failed to open file '--help' is not polite or smart.
Catch this case and show usage information.
2016-01-31 11:02:53 -05:00
Matthias Clasen
f793da54a9 file chooser: Avoid a crash
Since 39c2d12330,
priv->operation_mode == OPERATION_MODE_BROWSE no longer
guarantees that priv->browse_files_model is the current
model of the list - we are only switching the models after
loading the new directory. Avoid triggering the assertion
in show_and_select_files by checking if we have right model
before calling it.

https://bugzilla.gnome.org/show_bug.cgi?id=761209
2016-01-30 23:07:56 -05:00
Matthias Clasen
6f74de5331 Don't include the builtin sequence table in multiple places
The table is defined as static const guint16 [], so it really
should only be included in one source file.
2016-01-30 22:52:13 -05:00
Matthias Clasen
3c4f36f622 combobox: Avoid a misleading indentation
gcc 6 warns about this sort of thing. There were also some
stray ; here.
2016-01-30 22:50:54 -05:00
Matthias Clasen
7d16b8df29 treeview: Draw background when empty
We have a function we call for drawing the empty case, but
it only renders a focus rectangle. Make it draw the background
as well.

https://bugzilla.gnome.org/show_bug.cgi?id=761309
2016-01-30 18:31:30 -05:00
Timm Bäder
16726e31f0 colorchooserwidgeet: Reset the selected swatch when removing
Otherwise, priv->current points to garbage and subsequently leads to a
crash, e.g. when adding another custom color.
2016-01-30 23:02:06 +01:00
Matthias Clasen
dd322f715f Document gtk_parse_args limitations
Mention that some things won't work without a display
connection.
2016-01-30 16:11:03 -05:00
Matthias Clasen
bbe48d0624 Throw an error when a display is missing
Creating style context won't work without a display, so
give a clear error message and abort instead of segfaulting
later on.

https://bugzilla.gnome.org/show_bug.cgi?id=761332
2016-01-30 16:06:59 -05:00
Matthias Clasen
051b6071b7 Adwaita: Add symbolic png assets
And use them as fallback for the svg ones. This lets us
avoid a hard dependency on librsvg - the theme will work
without svg support.
2016-01-30 00:29:04 -05:00
Matthias Clasen
e54549502e icontheme: Avoid a crash
gtk_icon_info_new_for_file with a size of 0 would fail for
symbolic pngs because we ended up scaling with 0. Avoid this.
2016-01-30 00:29:04 -05:00
Matthias Clasen
2e4b1e72f4 css: Support the image() notation
This lets us do fallback in case an image format is not
supported, and also lets us provide solid-color images.
We don't support image fragment notations.

See ttps://www.w3.org/TR/css3-images/#image-notation

https://bugzilla.gnome.org/show_bug.cgi?id=761318
2016-01-30 00:29:04 -05:00
Matthias Clasen
0fe468c789 Emit an error if image loading fails
Instead of spamming stderr with g_warning, use the new
emit_error method of the GtkStyleProviderPrivate interface
to emit an error if loading an image fails.
2016-01-30 00:29:04 -05:00
Matthias Clasen
2c7fdf6432 CSS provider: Add a way to emit errors
Currently, GtkCssProvider can emit ::parsing-error only during
the actual parsing, although the documentation hints that it might
happen at other times.

This commit adds a emit_error method to the GtkStyleProviderPrivate
interface that will let us emit errors from the compute() implementations
as well, which can be useful (e.g. if an image fails to load).
2016-01-30 00:29:04 -05:00
Matthias Clasen
176e85ffe5 file chooser: Make Escape close the dialog
In some situations (no header bar, save mode), hitting Escape
would not do anything because the entry ate the key event.
Fix this by telling the entry to only handle Escape when there
is something to do, such as switching back to the path bar.

https://bugzilla.gnome.org/show_bug.cgi?id=761026
2016-01-29 19:12:51 -05:00
Matthias Clasen
b281c9d740 css image recolor: Load images at the proper scale
We should not hardcode a scale of 1, this leads to
pixellated upscaled images at scale=2, even if the source
is an svg. By passing the proper scale, we can load the
svg at the correct size.
2016-01-29 17:30:10 -05:00
Matthias Clasen
001598a821 icon theme: Improve loading of unthemed files
When creating icon info objects for unthemed files, we don't
really have a nominal size, so we pass 0 to mean 'load at
original size'. However, this is not what was happening.
To make this possible, add variants of some pixbuf loading
functions that take a scale factor instead of a desired size,
and use those when we don't have a nominal size.
2016-01-29 17:27:35 -05:00
Matthias Clasen
68edc67bde image: use GtkMisc padding again
This was lost in the gadget conversion.
Thankfully, the misc-alignment reftest catches this.
2016-01-29 13:44:45 -05:00
Lapo Calamandrei
fac5ed6165 Adwaita: reset padding on notebook tab close button 2016-01-29 18:09:28 +01:00
Lapo Calamandrei
813cc34857 Adwaita: fix border radius on #editor-color-sample 2016-01-29 17:48:45 +01:00
Lapo Calamandrei
31cc642288 Adwaita: notebook style rewrite 2016-01-29 17:17:47 +01:00
Matthias Clasen
7d75d5ec66 builder tool: Add a preview command
This was somewhat missing, and is easy to add.
2016-01-29 09:39:41 -05:00
Matthias Clasen
7fc0600f92 infobar: Don't expose implementation details
Only export the documented widgets as internal children.
2016-01-28 22:49:36 -05:00
Matthias Clasen
3014aab25c searchbar: Don't expose implementation details
The various boxes and the revealer here should not be exposed
as internal children for subclasses to use in their .ui files.
2016-01-28 22:47:28 -05:00
Matthias Clasen
0bf987c611 actionbar: Don't expose implementation details
The box and revealer here should not be exposed as internal
children for subclasses to use in their .ui files.
2016-01-28 22:39:31 -05:00
Matthias Clasen
a7489153b0 dialog: Stop exporting action_box
This was not meant as an internal child that subclasses
can refer to in their .ui files.

https://bugzilla.gnome.org/show_bug.cgi?id=761254
2016-01-28 22:36:27 -05:00
Matthias Clasen
3dce876555 print dialog: Stop using action_box in .ui
We can just use CSS margins nowadays to achieve the desired
appearance.
2016-01-28 22:29:30 -05:00
Matthias Clasen
a99c69fd6b label: fix a case of misleading indentation
gcc 6 complains aobut things like this.
2016-01-28 20:50:50 -05:00
Carlos Garnacho
0125aa0a41 gtkdnd: Fix deprecation compile warnings
Grabbing must stay a bit longer until all other backends than x11/wayland
catch up with GDK DnD, so ignore deprecation flags are used on those. The
uses of GdkDeviceManager can be entirely avoided though.
2016-01-28 12:50:49 +01:00
Christoph Reiter
27263f2387 label: use GtkMisc padding again
this was lost in the gadget conversion in a81267c28e

https://bugzilla.gnome.org/show_bug.cgi?id=760522
2016-01-28 11:04:48 +01:00
Matthias Clasen
79fb921ffc spin button: Document sizing peculiarities
Document that it is best to explicitly set width-chars and
max-width-chars to avoid surprises.

https://bugzilla.gnome.org/show_bug.cgi?id=727294
2016-01-27 23:30:25 -05:00
Matthias Clasen
03f4666994 composetable: Don't abort on unsupported escape sequences
People might put all sorts of gunk in their .XCompose file, in
the hope that XLib makes sense of it. Even if we don't make sense
of it, we shouldn't abort, but instead ignore the lines we can't
understand. Pointed out in
https://bugzilla.redhat.com/show_bug.cgi?id=1301254
2016-01-27 23:22:02 -05:00
Matthias Clasen
b8a0f3582b Update README.glade
Update the README.glade file to use current .ui file
names and locations as example.
2016-01-27 15:20:15 -05:00
Matthias Clasen
625f3e5f39 window: Always disconnect signal handlers
We connect to the titlebar widgets change notification regardless
whether it is internally created or not, so don't make the signal
handler disconnection conditional on that either.
2016-01-27 13:09:40 -05:00
Matthias Clasen
88c3456d2f assistant: Avoid tripping template tests
We need to unset the titlebar manually before chaining up
in destroy, otherwise we trigger the template invariant
checking - GtkWindow would eventually unset it, but too late
for the invariants checking code in gtk_widget_destroy.
2016-01-27 13:09:40 -05: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
Timm Bäder
299b32438d modelbutton: Use indicator state for button gadget if iconic 2016-01-27 16:34:22 +01:00
Krzesimir Nowak
09677f7331 entry: Fix a typo 2016-01-27 14:29:40 +01:00