Benjamin Otte
9e8e9a77b7
themingengine: Implement ridge and groove
2012-01-09 18:37:59 +01:00
Benjamin Otte
4ce34a8e13
themingengine: Redo color handling
...
Don't work on malloc()ed colors. Instead, use an array on the heap. This
makes it easier to copy the array.
2012-01-09 18:37:59 +01:00
Benjamin Otte
d21e7506e7
themingengine: Refactor drawing code
...
... and implement 'double' border-style as proof-of-concept.
2012-01-09 18:37:59 +01:00
Benjamin Otte
fbde62d8e7
css: border-style: hidden computes a 0 border
2012-01-09 18:37:59 +01:00
Benjamin Otte
de3111f1ff
API: Add all border styles from CSS 3
2012-01-09 18:37:59 +01:00
Benjamin Otte
fd3afa3606
styleproperty: Simplify code
...
Merge 1-line function into only caller
2012-01-09 18:37:59 +01:00
Paolo Borelli
c167b4129e
Also add border-{top|right|bottom|left} shorthands
2012-01-09 18:37:59 +01:00
Paolo Borelli
0120aaace5
Add the border css shorthand
2012-01-09 18:37:59 +01:00
Paolo Borelli
6525ed76e0
Rename parse_border
...
For consistency we will use this name for the boder shorthand.
2012-01-09 18:37:59 +01:00
Paolo Borelli
b8aea82743
Use the border-style subproperties for drawing
...
Use the newly introduced per-side property to draw frames.
2012-01-09 18:37:59 +01:00
Benjamin Otte
2c5a8420b5
Set border-width to 0 in compute function
...
This reverts commit c276f53796
and
implements the same feature using the compute function.
A nice side effect is that gtk_style_property_get_border() and
gtk_style_property_get("border") to the same thing now.
2012-01-09 18:37:58 +01:00
Paolo Borelli
e69f14cf2b
Add border-{top|left|bottom|right}-style properties
...
Add all the border-style subproperties and turn border-style itself in a
shorthand.
2012-01-09 18:37:58 +01:00
Benjamin Otte
066f3be659
themingengine: Remove an optimization
...
We optimize the case later on, so no need to do it here.
2012-01-09 18:37:58 +01:00
Benjamin Otte
0e48cc6dae
spinbutton: Pass the right size
...
We need a better diffrentiation between icon sizes - ie GtkIconSize vs
pixel size. Or more CSS.
2012-01-09 18:37:58 +01:00
Benjamin Otte
bbf5fe179d
background: Implement all options of background-repeat
2012-01-09 18:37:58 +01:00
Benjamin Otte
bc9373fb43
styleproperty: Parse all values for background-repeat
...
... and its component in the background property.
2012-01-09 18:37:58 +01:00
Benjamin Otte
181ac0280d
shorthand: Implement the 'background' shorthand
...
Weee, shorthands are now really trivial \o/
2012-01-09 18:37:58 +01:00
Benjamin Otte
a43553ab86
cssimage: Add _gtk_css_image_can_parse()
...
Looks at the first token of the stream to see if this looks like an
image declaration. If it does: return %TRUE.
2012-01-09 18:37:58 +01:00
Benjamin Otte
4b7ca9602d
background: Simplify background-repeat
...
It used to be a struct, now it's just an enum
2012-01-09 18:37:58 +01:00
Benjamin Otte
07aa7f6b20
css: Remove GtkCssBorderRadius
...
It's not used anymore.
2012-01-09 18:37:58 +01:00
Paolo Borelli
fee09e726f
Introduce _gtk_css_parser_try_length
...
This starts to introduce the proper API abstraction for when we will
support different units
2012-01-09 18:37:58 +01:00
Benjamin Otte
fce45757cb
borderimage: Change memory management
...
Making it a on-stack object simplifies things a lot.
2012-01-09 18:37:58 +01:00
Benjamin Otte
9b47a6a4e3
border-image: Remove pack/unpack functions
...
They are not used anymore. Also, it's no longer necessary to register
GtkBorderImage as a custom GType.
2012-01-09 18:37:58 +01:00
Benjamin Otte
96abf8c725
shorthand: Make border-image unget/settable
2012-01-09 18:37:57 +01:00
Benjamin Otte
f014d4f02e
shorthand: Don't require pack/unpack functions
...
When using G_TYPE_NONE as the shorthand's type, the property is not
gettable/settable using regular APIs, so it essentially doesn't exist.
As it should be.
2012-01-09 18:37:57 +01:00
Benjamin Otte
84bc280440
borderimage: Add _gtk_border_image_new_for_context()
...
and use it.
2012-01-09 18:37:57 +01:00
Benjamin Otte
cee05fbeb8
borderimage: Remove unused enums
2012-01-09 18:37:57 +01:00
Benjamin Otte
af8dd87867
styleproperty: Use a custom resolve function for colors
...
We want to make sure to fall back to the initial value of the property
if resolving fails.
This is kinda tricky, because the initial value itself might need
resolving, too.
2012-01-09 18:37:57 +01:00
Benjamin Otte
839b0f5317
css: Handle 'currentColor' special value
...
Computes to the value of the 'color' property, or when used on that
property, is treated as 'inherit'.
2012-01-09 18:37:57 +01:00
Benjamin Otte
84d294ee7f
stylecontext: NMake safe to call into during lookup
...
When resolving a lookup, we may want to query the current style context,
as in the next patch. This works now.
2012-01-09 18:37:57 +01:00
Benjamin Otte
6dfab12e1b
styleproperty: Change order for property registration
...
Some properties depend on other properties, handle those first.
2012-01-09 18:37:57 +01:00
Benjamin Otte
d021ed7c5e
win32: Remove GtkWin32ThemePart
...
Its job is done by GtkCssImage now.
2012-01-09 18:37:57 +01:00
Benjamin Otte
37b11b6c8a
borderimage: Convert to using GtkCssImage
2012-01-09 18:37:57 +01:00
Benjamin Otte
52af00686b
themingbackground: Convert to GtkCssImage
...
The conversion is incomplete and requires some work to account for
all the CSS crazies, like repeat modes and background-size.
2012-01-09 18:37:57 +01:00
Benjamin Otte
60b8b7a398
csslookup: Use the new gtk_style_context_peek_property()
2012-01-09 18:37:57 +01:00
Benjamin Otte
53b4fd69db
themingengine: Add _gtk_theming_engine_peek_property()
...
This is useful for getting at computed values and allows accessing
images before the code autoconverts them to a cairo pattern.
2012-01-09 18:37:57 +01:00
Benjamin Otte
2c8ef919ae
stylecontext: Add _gtk_style_context_peek_property()
...
This allows peeking at the computed value for a property. This is useful
for looking at GtkCssImage.
2012-01-09 18:37:56 +01:00
Benjamin Otte
a35df38443
theme: Apply background merging code
...
It was unused and untested and did not do at all what the CSS spec says.
2012-01-09 18:37:56 +01:00
Benjamin Otte
0bc170cd84
styleproperty: Convert background-image from pattern to GtkCssImage
2012-01-09 18:37:56 +01:00
Benjamin Otte
2bb899b5c0
cssimage: Add a few convenience functions
2012-01-09 18:37:56 +01:00
Benjamin Otte
cdd4ed6600
styleproperty: Use factored-out gradient parser
2012-01-09 18:37:56 +01:00
Benjamin Otte
2a6c168235
win32: Add a CssImage implementation
2012-01-09 18:37:56 +01:00
Benjamin Otte
f7eea0b86e
cssimage: Add GtkCssImageGradient
2012-01-09 18:37:56 +01:00
Benjamin Otte
8f42f8c554
win32: Export _gtk_win32_theme_part_create_surface()
2012-01-09 18:37:56 +01:00
Benjamin Otte
590b125ffc
win32: Export _gtk_win32_lookup_htheme_by_classname()
2012-01-09 18:37:56 +01:00
Benjamin Otte
950b95af40
cssimage: Improve new_parse() to select right image type
2012-01-09 18:37:56 +01:00
Benjamin Otte
38be9fe879
css: Add _gtk_css_parser_has_prefix()
2012-01-09 18:37:56 +01:00
Benjamin Otte
11ec705133
css: Add image implementation for urls
2012-01-09 18:37:56 +01:00
Benjamin Otte
b3389a017a
css: Add GtkCssImage class
...
Doesn't do anything yet, just exists.
2012-01-09 18:37:56 +01:00
Benjamin Otte
9181282d88
style: Remove GtkStylePropertyContext again
...
We need to solve this differently. I have no idea yet how, but I'll
invent something later.
This only affects win32 theming and that's broken anyway.
2012-01-09 18:37:56 +01:00
Benjamin Otte
32c8bbb575
styleproperty: Remove context arg from _gtk_style_context_query()
2012-01-09 18:37:56 +01:00
Benjamin Otte
a9d1be0bef
stylecontext: Remove GtkStylePropertyContext from pack funcs
2012-01-09 18:37:56 +01:00
Benjamin Otte
e8cb6f3165
styleproperty: Add compute_value vfunc
2012-01-09 18:37:55 +01:00
Benjamin Otte
c3d337312a
styleproperty: Move parse/print vfuncs to GtkCssStyleProperty
2012-01-09 18:37:55 +01:00
Benjamin Otte
22a65bcd82
styleproperty: Add a compute vfunc
2012-01-09 18:37:55 +01:00
Benjamin Otte
e87cf5d789
css: Redo value resolving
...
Instead of on-demand resolvage, we now resolve during lookup. The step
is done via
_gtk_css_style_property_compute_value()
which currently calls into
_gtk_css_style_compute_value()
That function has all the old resolving machinery.
The only part missing for now is the handling of win32 code. It will be
added back later.
2012-01-09 18:37:55 +01:00
Benjamin Otte
29382c1305
gradient: Allow resolving with contexts
2012-01-09 18:37:55 +01:00
Benjamin Otte
4576653006
stylecontext: Export _gtk_style_context_resolve_color()
...
We'll need it soon.
2012-01-09 18:37:55 +01:00
Benjamin Otte
f2dc63cc6a
css: Pass the real context to the CSS lookup
...
This will be necessary soon.
2012-01-09 18:37:55 +01:00
Benjamin Otte
91202ef497
styleproperty: Move pspec to GtkCssCustomProperty
...
It's only used there.
2012-01-09 18:37:55 +01:00
Benjamin Otte
3375dd2a5f
styleproperty: Move property_parse_func member
...
It belongs in GtkCssCustomProperty
2012-01-09 18:37:55 +01:00
Benjamin Otte
61042d155c
styleproperty: Add custom parser for custom properties
...
In particular, move the property_parse_func handling to
GtkCssCustomProperty exclusively.
2012-01-09 18:37:55 +01:00
Benjamin Otte
22e9588dad
styleproperty: Stop using pspecs
...
The pspec type is wrong most of the time anyway.
2012-01-09 18:37:55 +01:00
Benjamin Otte
799110b011
styleproperties: Don't validate values anymore
...
Pspecs are on their way out, so validation is, too.
2012-01-09 18:37:55 +01:00
Benjamin Otte
65f6925dd1
styleproperty: Don't use gtk_style_properties_register_property()
...
This would make the internal properties custom properties. And they are
not.
Also get rid of default initial values, we now specify the correct one
at all times.
2012-01-09 18:37:55 +01:00
Benjamin Otte
4b4792f65d
styleproperty: Make the register functin take varargs
...
.. for the initial value.
2012-01-09 18:37:55 +01:00
Benjamin Otte
09b25facb0
styleproperty: Don't register a property parse func
...
Nobody does that anymore.
2012-01-09 18:37:54 +01:00
Benjamin Otte
8bcfa6ef78
styleproperty: Move implementations to separate file
2012-01-09 18:37:54 +01:00
Benjamin Otte
2d46618e08
styleproperty: Let parse_value() initialize the value
...
... and document that behavior.
2012-01-09 18:37:54 +01:00
Benjamin Otte
70af2cb2e3
styleproperty: Move parse func
...
It's specific to GtKCssStyleProperty after all.
2012-01-09 18:37:54 +01:00
Benjamin Otte
47a27a00f5
shorthand: Remove old parse func support
...
It's not used anymore
2012-01-09 18:37:54 +01:00
Benjamin Otte
069cb74691
shorthand: Do font parsing the new way
2012-01-09 18:37:54 +01:00
Benjamin Otte
f6422513b1
shorthand: Update border-image parsing
...
Also update tests. None is not a valid value...
2012-01-09 18:37:54 +01:00
Benjamin Otte
a0606d513c
shorthand: Initialize unparsed values
...
All values that the parse funcs didn't parse are initialized to
'initial'.
2012-01-09 18:37:54 +01:00
Benjamin Otte
442040876a
shorthand: Move border-color to new parsing code
2012-01-09 18:37:54 +01:00
Benjamin Otte
cd4470cfd3
shorthand: Move border radius parsing to new parsing code
...
We also now properly allow assigning an integer value to the
border-radius property.
2012-01-09 18:37:54 +01:00
Benjamin Otte
8ab426e6d5
themingengine: Don't use GtkBorderRadius struct
...
use GtkBorderCornerRadius instead. Also, don't do NULL checks anymore,
the property is guaranteed to never return NULL.
2012-01-09 18:37:54 +01:00
Benjamin Otte
ea6a898344
styleproperty: Set a default value for border-*-radius
...
That way, we don't have to check if it is indeed set.
2012-01-09 18:37:54 +01:00
Benjamin Otte
fdb3abefc3
roundedbox: Use GtkCssBorderCornerRadius type
...
GtkCssBorderRadius is going away.
2012-01-09 18:37:54 +01:00
Benjamin Otte
13aac54d19
shorthand: Implement border parsing with new parse func
2012-01-09 18:37:54 +01:00
Benjamin Otte
148d8fbca8
shorthand: Allow registering a new parse func
2012-01-09 18:37:54 +01:00
Benjamin Otte
14994e3fc9
styleproperty: Remove _gtk_style_property_unpack()
...
The function is no longer needed in public API
2012-01-09 18:37:54 +01:00
Benjamin Otte
01548bfcbe
shorthand: Redo shorthand value parsing
...
The new approach does not need unpack functions anymore.
2012-01-09 18:37:53 +01:00
Benjamin Otte
e876d9fed5
styleproperty: Make parse_value() a vfunc
2012-01-09 18:37:53 +01:00
Benjamin Otte
4821e52cf2
styleproperty: Move pspec to GtkCssStyleProperty
...
shorthands don't use pspecs anymore.
2012-01-09 18:37:53 +01:00
Benjamin Otte
5ae00c3755
css: Use _gtk_style_property_get_value_type() where appropriate
2012-01-09 18:37:53 +01:00
Benjamin Otte
389531d15d
styleproperty: require property in _gtk_style_property_parse_value()
...
Other code uses _gtk_css_style_parse_value() instead now.
2012-01-09 18:37:53 +01:00
Benjamin Otte
30eb26087c
css: Feed sections to CSS lookup code
2012-01-09 18:37:53 +01:00
Benjamin Otte
79a171de0a
styleproperty: Make query() and assign() vfuncs
...
... and implement them in the 2 known subclasses.
2012-01-09 18:37:53 +01:00
Benjamin Otte
b904679a11
styleproperty: Move value printing to real properties
...
We can't print shorthands, so don't try.
In particular, I want to get away from shorthands being representable
using GValue, and this function kinda requires that.
2012-01-09 18:37:53 +01:00
Benjamin Otte
078fc725e0
css: Split generic parse/print functions out
...
It seems to be some sort of sport for me to split them out and merge
them back in...
2012-01-09 18:37:53 +01:00
Benjamin Otte
f5fafb18c9
css: 'transparent' is a valid color everywhere
2012-01-09 18:37:53 +01:00
Benjamin Otte
36e1bcac3c
css: No longer expose internal properties
...
... in gtk_style_properties_lookup_property(). Those properties will
soon stop having pspecs or even being gettable and settable, so better
not tell anyone about it.
2012-01-09 18:37:53 +01:00
Benjamin Otte
73a632a4ae
css: Handle custom properties in a custom object
...
This way we can also get rid of the hack where we required modifying the
pspec after creation, as the name is now a separate property.
2012-01-09 18:37:53 +01:00
Benjamin Otte
55a38f4746
shorthand: Remove a bunch of unused functionality
...
- The unset func is no longer used
- Shorthands can't be printed
- property_parse funcs and initial values aren't used
2012-01-09 18:37:53 +01:00
Benjamin Otte
674485a138
styleproperties: Implement unsetting directly
...
With subproperties, there's no need anymore for custom unset functions.
2012-01-09 18:37:53 +01:00
Benjamin Otte
341a738dc6
styleproperty: Move member variables
...
These variables are only relevant for style properties, but not for
shorthands, so put them there.
2012-01-09 18:37:53 +01:00
Benjamin Otte
d9c5d37e56
shorthand: shorthands can't be inherited
...
... so remove the flag handling.
2012-01-09 18:37:52 +01:00
Benjamin Otte
544d210a61
css: Move a bunch of functions
...
... from GtkStyleProperty to GtkCssStyleProperty.
2012-01-09 18:37:52 +01:00
Benjamin Otte
0a3ac5efbc
styleproperty: Move id handling
...
only real style properties can have an id, so let
GtkCssStylePropertyClass handle it.
2012-01-09 18:37:52 +01:00
Benjamin Otte
edb8bf4b1d
styleproperty: Add gtk_style_property_assign()
2012-01-09 18:37:52 +01:00
Benjamin Otte
c9dc9d5a88
styleproperties: Use _gtk_style_property_get_value_type()
...
... and check the case where the property is not get/settable.
2012-01-09 18:37:52 +01:00
Benjamin Otte
7a4bbc8f35
styleproperty: Add GtkStyleProperty::value-type
2012-01-09 18:37:52 +01:00
Benjamin Otte
7a76694780
styleproperty: Use _gtk_style_property_get_name()
2012-01-09 18:37:52 +01:00
Benjamin Otte
2128b356b2
shorthand: Add a property for all subproperties
2012-01-09 18:37:52 +01:00
Benjamin Otte
4383701e25
styleproperty: unconstify
...
GtkStyleProperty is a real GObject now, so treat it like one and don't
use const.
2012-01-09 18:37:52 +01:00
Benjamin Otte
a3a580d53e
styleproperty: Remove unuse args from register()
...
Those arguments are only relevant for shorthands.
2012-01-09 18:37:52 +01:00
Benjamin Otte
927b922208
styleproperty: Add custom registration func for shorthands
2012-01-09 18:37:52 +01:00
Benjamin Otte
d4344164ac
styleproperty: Move shorthand declarations to new file
2012-01-09 18:37:52 +01:00
Benjamin Otte
6b386dc574
styleproperty: border image is not a generic conversion thingy
2012-01-09 18:37:52 +01:00
Benjamin Otte
4e79ed7f4f
styleproperty: Add a name property
...
And move the properties array to GtkStylePropertyClass.
Also add some docs.
2012-01-09 18:37:52 +01:00
Benjamin Otte
81b2bb0ade
styleproperty: Get rid of _gtk_style_property_is_shorthand()
...
Use GTK_IS_CSS_SHORTHAND_PROPERTY() instead now that we have it.
2012-01-09 18:37:51 +01:00
Benjamin Otte
f9485241b1
styleproperty: Split into shorthand and real style properties
2012-01-09 18:37:51 +01:00
Benjamin Otte
78dc75a350
styleproperty: Make this an object
2012-01-09 18:37:51 +01:00
Benjamin Otte
3e24b5dbbe
styleproperty: Add _gtk_style_property_query()
...
This way, we only need to export one function, not 3.
2012-01-09 18:37:51 +01:00
Benjamin Otte
2573e72f49
styleproperties: Add _gtk_style_properties_peek_property()
2012-01-09 18:37:51 +01:00
Benjamin Otte
38e1c0a2d6
styleproperties: Remove unused function from private header
...
_gtk_style_properties_resolve_property() was added erroneously in
c09148ca09
but was never implemented.
2012-01-09 18:37:51 +01:00
Benjamin Otte
4da493402d
css: 'none' is not a value background-repeat
2012-01-09 18:37:51 +01:00
Benjamin Otte
6fdf6ba68f
css: Remove generic 'none' handling
...
Includes updated tests.
Who could have thought that our tests were broken. Ooops.
2012-01-09 18:37:51 +01:00
Benjamin Otte
7d353fbccf
win32: Fix CSS for 'none' value going away
...
We want colors to be 'transparent' and not 'none'.
2012-01-09 18:37:51 +01:00
Benjamin Otte
c77dba2767
styleproperty: Add custom 'none' handling
...
The generic 'none' handling needs to go, because 'none' is not a valid
value most of the time.
2012-01-09 18:37:51 +01:00
Benjamin Otte
57379adb3c
css: Add generic support for 'inherit' and 'initial'
...
CSS3 says they work for every property, so here we go.
2012-01-09 18:37:51 +01:00
Benjamin Otte
a6ac53e2a9
css: Change prototype of _gtk_css_selector_matches()
...
Passing the length of the widget path that is relevant is not necessary
anymore, it was only useful for inheritance. Instead, we now pass the
state flags and let the selector do the state matching for us.
2012-01-09 18:37:50 +01:00
Benjamin Otte
a3225fdd42
cssprovider: Remove has_inherit flag from rulesets
...
It's not used anymore
2012-01-09 18:37:50 +01:00
Benjamin Otte
40a7618d2a
cssprovider: Don't do inheritance anymore
...
Its' done in GtkCssLookup with the help of GtkStyleContext::parent now.
2012-01-09 18:37:50 +01:00
Benjamin Otte
fbedcdaf7d
css: Make CSS resolving work according to spec
...
See inline code comments taken from
http://dev.w3.org/csswg/css3-cascade/#cascade
This now respects the special values "inherit" and "initial" properly.
Note that those values cannot be parsed yet. This will be added in a
future commit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
5a815e2159
styleproperty: Add _gtk_style_property_get_initial_value()
2012-01-09 18:37:50 +01:00
Benjamin Otte
242893a031
css: Pass the parent context to _gtk_css_lookup_resolve()
...
This way, we can resolve inherit properties.
2012-01-09 18:37:50 +01:00
Benjamin Otte
0ac519e8a1
widget: Set parent style context
2012-01-09 18:37:50 +01:00
Benjamin Otte
b50d2b74d7
API: Add GtkStyleContext::parent
...
We need this for proper support of CSS inherit.
2012-01-09 18:37:50 +01:00
Benjamin Otte
aa4925480d
styleproperty: Pass initial value explicitly
2012-01-09 18:37:50 +01:00
Benjamin Otte
4d15186e67
css: Add GtkCssSpecialValue
2012-01-09 18:37:50 +01:00
Benjamin Otte
6dd50c6cca
css: Add some docs to GtkCssLookup
...
In particular, document which parts of the CSS value querying we're
doing here.
2012-01-09 18:37:50 +01:00
Benjamin Otte
ba5e7012b1
css: Redo StyleProvider interface
...
We now use the GtkStleProviderPrivate interface, which hopefully is
faster and more conformant to CSS. Long term, it definitely should be
both.
I would have liked to split this up into multiple commits, but couldn't
find a way.
2012-01-09 18:37:50 +01:00
Benjamin Otte
38a9b28a0e
styleproperties: Add a hacky function to redirect color lookups
...
This will soon be necessary.
FIXME: Make sure this gets removed again.
2012-01-09 18:37:49 +01:00
Benjamin Otte
c048aac1d9
symboliccolor: Add _gtk_symbolic_color_resolve_full()
2012-01-09 18:37:49 +01:00
Benjamin Otte
899a381d31
stylecontext: Separate properties by states
...
We don't want to mix states the wrong way. And the current approach does
that.
2012-01-09 18:37:49 +01:00
Benjamin Otte
a488d2184a
stylecontext: Pass state to style data lookup function
2012-01-09 18:37:49 +01:00
Benjamin Otte
cdb3f05bf1
css: Add _gtk_style_property_get_count()
2012-01-09 18:37:49 +01:00
Benjamin Otte
54d2b9dbc2
cssprovider: Keep a bitmask for the properties
...
That way we can easily tell wich properties are in use.
2012-01-09 18:37:49 +01:00
Benjamin Otte
eb38591c91
css: Add _gtk_style_property_get_id()
2012-01-09 18:37:49 +01:00
Benjamin Otte
f6cf447cad
styleproperty: Assign a unique id to every styleproperty
2012-01-09 18:37:49 +01:00
Benjamin Otte
eddd36d1d9
tests: Add tests for GtkBitmask
2012-01-09 18:37:49 +01:00
Benjamin Otte
45b9193290
gtk: Add GtkBitmask
...
The CSS code likes to have that very much.
2012-01-09 18:37:49 +01:00
Stefan Sauer
f7d3ca46f7
gtkscale: fix bogus compare func
...
The GtkScaleMark values are gdouble, a simple a-b compare func would fail for
values with the same integer value. This breaks the sorting and causes random
marker label placement.
2012-01-09 18:33:11 +01:00
Rui Matos
052c6e0681
scrolledwindow: Render the background so that it can be styled
2012-01-09 16:45:44 +00:00
Rui Matos
09979513b2
window: Stop setting state flags on the style context for drawing
...
This also removes setting the FOCUSED state flag when
gtk_window_has_toplevel_focus() since this effect can now be done with the new
WINDOW_UNFOCUSED flag instead which actually works better regarding X grabs
and modal windows.
2012-01-09 16:45:44 +00:00
Rui Matos
440663f3fe
treeview: Use the widget state flags as a base for drawing expanders
2012-01-09 16:45:44 +00:00
Rui Matos
2972236fdb
treeview: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
76485b8670
trayicon-x11: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
8bb0773535
toolitemgroup: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
4011326388
toolbar: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
a1f72eb06c
Revert "button: Stop setting state flags on the style context for drawing"
...
Setting state flags is actually needed here since this function is called by
GtkButton subclasses which add their specific state flags as a parameter.
This reverts commit e868b8d6ea
.
2012-01-09 16:45:44 +00:00
Rui Matos
2efa658a41
textdisplay: Use the widget state flags as a base for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
b203ea2f93
spinner: Stop setting state flags on the style context for drawing
2012-01-09 16:45:44 +00:00
Rui Matos
e9549a7514
spinbutton: Use the widget state flags as a base for drawing
2012-01-09 16:45:43 +00:00
Rui Matos
9118ccb02d
separator: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
95caabac03
scale: Stop setting state flags on the style context for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
b2f5959147
range: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rui Matos
6dd0bd5536
radiobutton: Use the widget state flags as a base for drawing
2012-01-09 16:31:11 +00:00
Rob Bradford
4007449a58
application: Correct the fallback definition for gtk_application_end_session
...
The function definition used a pointer to the enum value rather than the enum
itself.
This broke the build on platforms that don't have an implmentation of these
functions.
2012-01-09 15:09:27 +00:00
Ryan Lortie
cf2590d673
GtkButton: do not allow both types of actions
...
Only allow one of 'action-name' or 'related-action' to be set.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:10 +01:00
Ryan Lortie
88ec007b98
Add new GtkActionable interface
...
This is the interface for GtkWidgets that can be associated with an
action on a GtkAppicationWindow or associated GtkApplication.
It essentially features 'action-name' and 'action-target' properties
with some associated convenience API.
This interface is implemented by GtkButton and GtkToolButton.
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-09 15:02:06 +01:00
Murray Cumming
395bf54b8e
gtkmain.h: Used GDK_DEPRECATED
...
If we use just G_GNUC_DEPRECATED then it cannot be disabled by
an ifdef.
2012-01-09 14:20:49 +01:00
Matthias Clasen
69a529572d
Revert "GtkWindow: new API to store state in GSettings"
...
This reverts commit 730765de91
.
This needs more thought, committing it on the same day as filing
the bug was premature.
2012-01-09 00:53:53 -05:00
Matthias Clasen
2ef4621e05
Fix up symbol lists
2012-01-09 00:31:20 -05:00
Matthias Clasen
f3533e4fc2
Fix the gtk_application_end_session implementation
...
We were passing the wrong flags, causing the meaning of
the request_confirmation parameter to be inverted.
2012-01-08 02:16:26 -05:00
Matthias Clasen
d2ed87fbdc
Fix doc build
2012-01-07 21:47:42 -05:00
Matthias Clasen
f78696f3d0
GtkApplication: only allow quit_response when it make sense
...
This check was present in the OS X implementation, but it
makes sense in the D-Bus implementation as well.
2012-01-07 20:01:23 -05:00
Matthias Clasen
00d5214695
Remove some debug spew
2012-01-07 19:55:20 -05:00
Matthias Clasen
bb957e5389
GtkApplication: Add OS X implementation from EggSMClient
2012-01-07 19:52:14 -05:00
Paolo Borelli
7c8130dada
Change param name to make gtk-doc happy.
2012-01-07 18:06:59 +01:00
Benjamin Otte
f6d2f4fa8d
application: return a value
2012-01-07 15:56:26 +01:00
Martin Pitt
700a334d87
gtkapplication.c: Fix syntax error
...
Previous commit accidentally removed the closing } from
gtk_application_end_session(). Add it back to unbreak the build.
2012-01-07 10:04:18 +01:00
Matthias Clasen
916009b5d6
Add a trivial implementation of the new apis
...
For non-X11, this is just a placeholder until we get around
to moving the EggSMClient implementations over.
2012-01-07 03:20:56 -05:00
Matthias Clasen
48872705f0
Document the new apis
2012-01-07 03:20:56 -05:00
Matthias Clasen
3142d13972
Add gtk_application_end_session
...
This function allows applications to request that
the user session be ended by logout/shutdown/reboot.
2012-01-07 03:20:56 -05:00
Matthias Clasen
bdd7e15c84
GtkApplication: Add an inhibit api
...
This lets applications block logout and similar actions ahead
of time. Currently only implemented for D-Bus, but Windows has
very similar API since Vista.
2012-01-07 03:20:56 -05:00
Matthias Clasen
3133791302
GtkApplication: Add logout notification
...
This is fairly basic, allowing applications to learn when
the session manager is about to end the session, and possibly
block this. The only implementation at this point is using the
org.gnome.SessionManager D-Bus interface of gnome-session. It should
be straightforward to port the EggSMClient implementations for
Windows and OS X.
2012-01-07 03:20:56 -05:00
Ryan Lortie
730765de91
GtkWindow: new API to store state in GSettings
...
https://bugzilla.gnome.org/show_bug.cgi?id=667438
2012-01-06 16:18:48 -05:00
Ryan Lortie
d47c3ac9e4
GtkBuilder: support parsing GVariant properties
...
https://bugzilla.gnome.org/show_bug.cgi?id=667394
2012-01-06 16:18:48 -05:00
Zeeshan Ali (Khattak)
1996618569
gtkspinbutton: Don't hilight buttons when !editable
...
Don't hilight the buttons on mouse over when 'editable' property is set to
'FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=667229
2012-01-06 18:35:37 +02:00
Matthias Clasen
7df5cf2a3a
GtkApplication: Rename a member for clarity
...
'session' is a bit ambiguous (and GtkApplication may grow session
management support at some point), so rename the bus connection
to 'session_bus'.
2012-01-05 23:53:40 -05:00
Matthias Clasen
c74ac08143
Another attempt at fixing menu positioning corner cases
...
The code for moving the menu into monitor / workarea was duplicated,
once for the push-in scenario and once for without. The problem with
the second case is that we've stored the menu position before adjusting
it. That made us remember an out-of-monitor position that then later
triggered _another_ copy of this code in the size-request implementation.
Unify this to only have one copy of code, and only store the menu
position after adjusting it to be inside the monitor. This fixes both
statusicon menus that get popped up from the panel, outside the workarea,
to not have scroll arrows, and the gedit language menu which was not
placed in the monitor at all after the initial workarea commit.
As a side-effect of this change, we now make large scrolling menus
occupy the full height of the workarea. Before this change, we were
keeping either the top or bottom edge put while shrinking the menu
to fit in the monitor.
https://bugzilla.gnome.org/show_bug.cgi?id=667249
2012-01-05 23:30:41 -05:00
Benjamin Otte
00e84f1cdb
label: Avoid deprecation warning
2012-01-06 05:23:43 +01:00
Benjamin Otte
42d0a6de23
label: Actually mark visited labels as visited
...
A recalculate will clear the labels and compute them again, which will
clear the information if something was visited...
2012-01-06 05:23:43 +01:00
Benjamin Otte
d6bb8a63aa
label: Make attr_list_merge() use sane merging rules
...
Instead of "attribute with later start index wins, make sure the
attribute list that is merged from takes precedence. This now gives the
multiple attribute lists we use in the label an order:
1) gtk_label_set_attributes()
These attributes override everything. It's what the function's there
for after all.
2) markup of label
Other user-specified attributes come next.
3) attributes for links
When we apply custom attributes on parts of the text, we put them
last. We don't want to mess with what the user does. Also, we change
color and underline, so we usually have something to show.
2012-01-06 05:23:42 +01:00
Benjamin Otte
e78e4d8dd8
label: Rename variable
...
The effective attributes aren't that anymore. They're now just the
attributes from the parsed markup.
2012-01-06 05:23:42 +01:00
Benjamin Otte
f1c9a3e633
label: Don't excessively recalculate
...
We don't merge attributes anymore, so no need to call the function that
used to do this job.
2012-01-06 05:23:42 +01:00
Benjamin Otte
396b177e3b
label: Redo attribute application
...
- Don't compute link color attributes until layout creation
This is useful as a performance enhancement, because we don't have to
lookup the property after setting the text, so multiple markup sets
don't cost style lookups.
- Don't merge attrs into effective_attrs
We do this when applying link colors now. Keeping them separate allows
invalidating them separately.
2012-01-06 05:23:42 +01:00
Benjamin Otte
15ac572822
ilabel: Redo gtk_label_get_link_colors()
...
Don't pass out an allocated color, assign it instead. Gets rid of having
to call gdk_color_free() all the time.
2012-01-06 05:23:42 +01:00
Benjamin Otte
dd4df24382
label: Split out function that merges attr lists
2012-01-06 05:23:42 +01:00
Benjamin Otte
712d577531
label: Redo links parsing
...
Instead of getting confused by applied underline or color tags in the
regular markup, we store the link start/end when we actually parse the
text. As a bonus, we can avoid rescanning links when creating the
markup.
2012-01-06 05:23:42 +01:00
Benjamin Otte
18ce0b21a0
label: Move function into only caller
2012-01-06 05:23:42 +01:00
Benjamin Otte
fc37e2749c
API: Deprecate key snooping
...
You really shouldn't be doing this. If you have to, you can use
gdk_window_add_filter() or listen to raw events on XI2.
2012-01-06 05:23:42 +01:00
Benjamin Otte
0c8ecba7dc
a11y: Remove keysnooping support
...
As previously announced, key snooping is something that we should not
support in GTK. In particular because AT-SPI made every key press a
synchronous DBUS call / spawned a nested main loop with the key
snoopers. This breaks responsiveness, order of key presses and internal
consistency when the AT decides to remove key events.
2012-01-06 05:23:42 +01:00
Zeeshan Ali (Khattak)
43e29f7cbf
gtkspinbutton: Ignore keynav when !editable
...
Don't allow changing of value through keyboard when 'editable' property is
set to 'FALSE.
https://bugzilla.gnome.org/show_bug.cgi?id=667229
2012-01-06 05:45:46 +02:00
Benjamin Berg
b3e352f489
Improve PICKONE_* handling in GtkPrinterOptionWidget (bug #543520 )
...
This patch modifies GtkPrinterOptionWidget to support loading them
again. It also allows the user to enter values from the dropdown list
to select the item.
2012-01-06 00:20:42 +01:00
Matthias Clasen
f7fb2fbebd
Use the right icon-name for missing images
...
Patch by Erik van Pienbroek, bug 629878.
2012-01-05 14:07:04 -05:00
Marek Kasik
f1995f80e7
GtkPrintUnixDialog: Hide unused tabs
...
Don't show tabs which are empty. This is related to
the recent GtkTable -> GtkGrid conversion. (#663479 )
2012-01-05 13:17:46 +01:00