Matthias Clasen
bfa5d367b4
GtkCustomUnixPaperDialog: use an inline toolbar
...
This makes the dialog more similar to similar patterns,
e.g. in the file chooser.
2011-06-01 21:36:50 -04:00
Benjamin Otte
2e6bb2a0c9
Revert "css: Make font property a shorthand"
...
The hack in gtk_style_context_get_font() was causing segfaults in
combobox code. This is not acceptable and I'm not awake enough to fix
it, so just reverting until it's fixed sanely is easiest.
This reverts commit cf6bfbdb17
.
2011-06-02 02:31:44 +02:00
Benjamin Otte
a659143d55
docs: There is no font-name style property
...
It's "font"
2011-06-02 02:03:52 +02:00
Benjamin Otte
1845849596
styleproperty: Move resolving code
...
Also, resolving now always succeeds - if it doesn't we fall back to the
default value right here, instead of later.
2011-06-02 02:03:52 +02:00
Benjamin Otte
cc3afc7c0f
Revert "API: Add API to set style properties to be inherit"
...
Inheritance is now done using style property flags, so thereis no ned
anymore to clobber the pspec flags namespace.
Also, there is no need to expose this functionality in the public API
without exposing more of the styleproperty API.
This essentially reverts commit 9bfd3d2eec
.
2011-06-02 02:03:52 +02:00
Benjamin Otte
9f0e993b60
styleproperty: Use the new flags for inheritance
...
Instead of gtk_style_param_set_inherit()
2011-06-02 02:03:52 +02:00
Benjamin Otte
4feddc6190
styleproperty: Add flags
...
This allows to set a bunch of specific features, like inheritance in
here, without having to molest the psec.
2011-06-02 02:03:52 +02:00
Benjamin Otte
d59081310b
styleproperties: Rename enum value
...
I want to use that same enum value elsewhere.
2011-06-02 02:03:52 +02:00
Benjamin Otte
fd4ffbb6da
styleproperty: Add _gtk_style_property_is_inherit()
...
And use it instead of gtk_style_param_get_inherit()
2011-06-02 02:03:52 +02:00
Benjamin Otte
abeaad6166
stylecontext: Implement the color getters using the regular API
...
Has two benefits:
1) Less code
2) I can refactor things
2011-06-02 02:03:52 +02:00
Benjamin Otte
8f6efd00e7
themingengine: Improve junction handling code
...
As junctions just modify the border radius and we now have a per-corner
border-radius, we can just set the border-radius to 0 for those corners
and get the same effect.
2011-06-02 02:03:52 +02:00
Benjamin Otte
cf6bfbdb17
css: Make font property a shorthand
...
... and implement the CSS font properties:
- font-size
- font-style
- font-family
- font-weight
- font-variant
2011-06-02 02:03:52 +02:00
Benjamin Otte
8d77fcb2d5
styleproperty: Factor out the string print function
...
We print strings in lots of places.
2011-06-02 02:03:52 +02:00
Benjamin Otte
66396d2bab
styleproperty: Move default value setting to styleproperty.c
2011-06-02 02:03:52 +02:00
Benjamin Otte
914654901c
styleproperties: use property, not pspec as key
...
This allows calling functions on the style property from more places.
2011-06-02 02:03:52 +02:00
Benjamin Otte
0aa07c6fd6
cssprovider: Remove colors when resetting
2011-06-02 02:03:52 +02:00
Benjamin Otte
2bc0fca209
box: Add RTL support for sibling paths
...
We want the reverse path when the box is right-to-left.
2011-06-02 02:03:51 +02:00
Benjamin Otte
b1aa59d385
css: Don't infloop when resyncing over a slash
2011-06-02 02:03:51 +02:00
Benjamin Otte
beccec296b
css: We want to unescape backslashes, not slashes
2011-06-02 02:03:51 +02:00
Benjamin Otte
940cdb4a7f
stylecontext: Don't crash when colors are "none"
...
Instead, use their default value (pink).
2011-06-02 02:03:51 +02:00
Benjamin Otte
0d69d9558e
css: Match pseudo-classes for siblings
2011-06-02 02:03:51 +02:00
Benjamin Otte
cd838480eb
box: Add support for siblings in widget paths of box children
2011-06-02 02:03:51 +02:00
Benjamin Otte
bc9c43c1cb
box: Only emit pack-type notify if the pack type really changed
...
This is not very useful in itself, but the code reorg will be useful
once we do style invalidation.
2011-06-02 02:03:51 +02:00
Benjamin Otte
79de8e4d08
API: Add support for siblings to widget paths
2011-06-02 02:03:51 +02:00
Benjamin Otte
b669efa1a3
docs: Fix typo
2011-06-02 02:03:51 +02:00
Benjamin Otte
67fe600b2e
widgetpath: Factor out the element copy function
...
I'll need that function soon.
2011-06-02 02:03:51 +02:00
Benjamin Otte
f0e5b57699
widgetpath: Use ref/unref in boxed function
...
This way we avoid lots of copying when using widget paths as properties.
Keeping this as a separate patch so bugs where people were modifying a
structure they shouldn't are easily visible.
2011-06-02 02:03:51 +02:00
Benjamin Otte
03eb4c38c9
widgetpath: Make structure refcounted
...
I want to use widget paths in a way that make a lot more sense with a
refcounted structure. See the following patches.
2011-06-02 02:03:51 +02:00
Benjamin Otte
91602cca6e
themingengine: Add support for the border-radii
2011-06-02 02:03:51 +02:00
Benjamin Otte
90ff426396
css: Add all border-radius properties
...
Implement all border-radisu properties as specified by
http://www.w3.org/TR/css3-background/#the-border-radius
The end goal here is to get joined buttons to really look joined.
2011-06-02 02:03:51 +02:00
Benjamin Otte
812b32e9e5
styleproperty: Add a helper function for printing doubles
...
We will want to print doubles more often, so add a little helper
function for it. We cannot use printf() here, because we want English
locale output.
2011-06-02 02:03:51 +02:00
Benjamin Otte
97a07a79f3
styleproperty: Make keybindings use custom parse/print functions
...
We don't want to use it for GPtrArray.
2011-06-02 02:03:50 +02:00
Benjamin Otte
d14fbf3254
styleproperty: Allow passing in a parse func and a print func
...
It's not used yet, but it's now possible to specify a custom read or
write func.
2011-06-02 02:03:50 +02:00
Benjamin Otte
715674c45b
styleproperty: Rename ParseFunc and PrintFunc typedefs
...
Rename them to GtkStyleParseFunc and GtkStylePrintFunc, so we can export
them.
2011-06-02 02:03:50 +02:00
Benjamin Otte
d0e1e2b103
css: Move property parsing into styleproperty file
...
Just shuffles code around for parsing properties.
2011-06-02 02:03:50 +02:00
Benjamin Otte
5a42464547
css: Rename function to _gtk_style_property_parse_value()
...
... and take an optional style property as argument. This way, we can
allow custom parse functions for properties. The style property needs to
be optional so that we can use it for widget style properties, too.
2011-06-02 02:03:50 +02:00
Benjamin Otte
35488f5846
css: Rename struct variable
...
I want to add parse_func as something different soon.
2011-06-02 02:03:50 +02:00
Benjamin Otte
3e7f74c456
styleproperty: Change _css_value_to_string()
...
Name it _gtk_style_property_print_value() and actually pass it the style
property. This way, we can later change it to use custom print functions
for different style properties.
2011-06-02 02:03:50 +02:00
Benjamin Otte
02a9cb5bc0
css: Change to_string() to print()
...
It's preferrable to print to an existing GString instead of returning a
char* everywhere that needs to be freed later.
2011-06-02 02:03:50 +02:00
Benjamin Otte
a6daba5e78
API: Change semantics of gtk_container_get_child_path()
...
Include the child widget path in the returned path now. This allows
customizing the path of the current widgets - like adding flags to child
widgets (and maybe siblings in the future).
2011-06-02 02:03:50 +02:00
Benjamin Otte
b0616c8225
API: Add gtk_widget_path_append_for_widget()
...
Includes a bunch of header shuffling so we can use GtkWidget* in
gtkwidgetpath.h
2011-06-02 02:03:50 +02:00
Benjamin Otte
352569298a
notebook: Implement height_for_width and width_for_height getters
2011-06-02 00:07:25 +02:00
Benjamin Otte
4d78e9c8af
notebook: Rewrite size request function for wfh
2011-06-02 00:07:25 +02:00
Benjamin Otte
d7519e6ca2
notebook: Split out tabs size computation into its own function
2011-06-02 00:07:25 +02:00
Benjamin Otte
edd2f24b6e
notebook: Compute tab width in a simpler way
...
This code should be more obvious: The check only needs to check for
scrollable widgets, and only needs to compare to tab_width.
As a side note, for vis_pages == 1, tab_width will be smaller than
tab_max + stuff, so this code will not behave differently.
2011-06-01 21:57:45 +02:00
Benjamin Otte
86aefc2c31
notebook: Remove uneeded function declaration
2011-06-01 21:45:21 +02:00
Benjamin Otte
975f735fb7
notebook: Include arrow size in tab size computation
...
We don't want tabs to resize when a 2nd page is added, just because the
scroll arrows are now visible. And we do want the arrow size to be
included.
Note: Previosuly this code was never run, as the check
requisition->width < tab_width
was only run when tab_width wasn't computed, so was still equal to 0
(same for the height). So what this patch essentially does it add the
functionality of the if switch.
2011-06-01 17:46:22 +02:00
Matthias Clasen
1371a86fb1
GtkLabel: Make selection behave more similar to GtkEntry
...
For shift-clicks inside the selection, shrink the selection.
https://bugzilla.gnome.org/show_bug.cgi?id=353712
2011-06-01 01:08:13 -04:00
Matthias Clasen
4cd9009c57
Trivial NULL vs 0 confusion
2011-06-01 00:05:06 -04:00
Matthias Clasen
c56150ea5b
Fix an example
2011-05-31 23:50:13 -04:00
Matthias Clasen
2833cc2327
Change GtkTreePath to grow exponentially
...
To avoid quadratic behaviour when building up
paths by repeated appending indices. Bug 634491.
2011-05-31 22:10:58 -04:00
Matthias Clasen
906292541a
Add tests for GtkTreePath
2011-05-31 22:10:40 -04:00
Matthias Clasen
1c261fe2ae
GtkSearchEngineTracker: avoid an unused variable warning
2011-05-31 21:26:40 -04:00
Matthias Clasen
949125b56b
Make tracker search engine less verbose
...
Patch by Vincent Untz,
https://bugzilla.gnome.org/show_bug.cgi?id=642768
2011-05-31 20:50:42 -04:00
Matthias Clasen
0b9cd78017
Add annotations to gtk_css_provider_load_from_data
...
https://bugzilla.gnome.org/show_bug.cgi?id=646859
2011-05-31 20:37:43 -04:00
Matthias Clasen
5abadc6d95
GtkIconTheme: a small optimization
...
John Lindgren points out in bug 650202 that using judicious
use of g_key_file_has_key() can save some cycles in application
startup.
2011-05-31 20:29:53 -04:00
Matthias Clasen
0705474be6
GtkEntry: don't forget to disconnect idles
...
As pointed out by John Lindgren in bug 650114, GtkEntry forgets
to disconnect an idle source when the completion is set to NULL.
2011-05-31 20:11:28 -04:00
Alexander Saprykin
8d9f413c9b
gtkeditable.c: Remove unused variable in example code
...
https://bugzilla.gnome.org/show_bug.cgi?id=650167
2011-05-31 20:09:58 -04:00
Matthias Clasen
7ef362ec67
GtkEntryCompletion: add a sanity check
...
Patch by John Lindgren,
https://bugzilla.gnome.org/show_bug.cgi?id=650110
2011-05-31 20:07:14 -04:00
Diego Celix
7839c27e13
gtk/gtkcolorsel: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcolorsel.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:43 -04:00
Diego Celix
95fd3d708d
gtk/gtknotebook: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtknotebook.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:42 -04:00
Diego Celix
d291709ee7
gtkcustompaperunixdialog: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcustompaperunixdialog.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:41 -04:00
Diego Celix
ee18c5fef3
gtk/gtkfilechooserbutton: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfilechooserbutton.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:39 -04:00
Matthias Clasen
ab6e3366bc
GtkAppChooser: improve docs
...
Add a cross-reference to GContentType.
https://bugzilla.gnome.org/show_bug.cgi?id=650012
2011-05-31 20:00:50 -04:00
Matthias Clasen
8143ce69eb
GtkApplication: Add window-added/-removed signals
...
This is useful to let unrelated parts of an application (or
plugins) learn about the windows of an application. Based
on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=641087
2011-05-31 19:12:13 -04:00
Matthias Clasen
75390b2d60
Sort GtkApplication windows by most-recently-focused
...
Based on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=624539
2011-05-31 18:28:55 -04:00
Javier Jardón
fb9e4c2c37
all: avoid boxed structs copying where possible (and 2)
...
Use the GtkStyleContext accessors for boxed properties where possible,
to reduce allocations.
2011-05-31 19:18:11 +02:00
Javier Jardón
e5c7daa828
tests: avoid boxed structs copying where possible
...
Use the GtkStyleContext accessors for boxed properties where possible,
to reduce allocations.
2011-05-31 19:12:24 +02:00
Carlos Garnacho
20433efbfa
gtkcssprovider: Free shorthand border GValues in the right place
...
The call to gtk_border_free() within unpack_border() felt completely
in the wrong place, as the border actually pertains to the GValue
being unpacked. Plus, the GValue itself was also being leaked.
2011-05-30 19:29:22 +02:00
Carlos Garnacho
2c8e01dc80
gtkcssprovider: plug several leaks
...
In finalize(), clear all rulesets.
In parse_declaration(), Free the GValue under unhandled error situations.
In gtk_css_provider_load_internal(), Do not leak the file contents.
2011-05-30 19:26:28 +02:00
Carlos Garnacho
de4ca3ae13
gtkstyleproperty: Plug two leaks
...
In rgba_value_parse(), unref the symbolic color once we've resolved it.
In gradient_value_parse(), take the GtkGradient so we leave no dangling
references.
2011-05-30 19:21:42 +02:00
Carlos Garnacho
b68172b2c6
gtkstyleproperties: zero GValue out before using G_VALUE_COLLECT_INIT()
...
Fixes invalid reads in valgrind
2011-05-30 19:18:41 +02:00
Carlos Garnacho
747dc65c2c
gtkcssprovider: Use g_slice_dup() to copy GValues around
...
GValues stored in GtkCssRulesets are gslice managed, so don't
g_memdup() GValues from shorthand properties. This fixes
memory corruptions when reloading contents in a GtkCssProvider.
2011-05-30 19:13:36 +02:00
Benjamin Otte
3500063bc1
liststore: Replace macro with an inline function
...
Also remove a duplicate check in gtk_list_store_iter_is_valid().
gcc was complaining about "comparison always true" when using the macro.
2011-05-27 16:11:10 +02:00
Benjamin Otte
0b653abcd4
styleproperties: Remove unused priv variables
2011-05-27 16:11:10 +02:00
Benjamin Otte
c5af8c7e3a
treeview: Remove unused variables
...
... and all the code doing complex computations to assign values to
them.
2011-05-27 16:11:10 +02:00
Benjamin Otte
c1b2cbcf50
button: Remove unused variables
2011-05-27 16:11:10 +02:00
Benjamin Otte
d1a8d73871
css: Constify path argument to _css_selector_matches()
...
It should have been const all the time, but I assumed widgetpath code
wasn't properly const. PEBKAC.
2011-05-27 16:11:09 +02:00
Benjamin Otte
f4b7b287b9
widgetpath: Make includes absolute
...
Just like everywhere else
2011-05-27 16:11:09 +02:00
Benjamin Otte
f6ffd6df8a
menuitem: Remove unused variable
...
Seriously, can't people compile with -Werror? Broke with
5f2ef59d69
2011-05-27 16:11:09 +02:00
Benjamin Otte
7b94a6ff2f
styleproperty: Fix memleak in unpacking code
2011-05-27 16:11:09 +02:00
Benjamin Otte
f4e730e718
menuitem: Fix copy/paste error
...
Thanks to Kalev Lember for noticing this one.
2011-05-27 16:11:09 +02:00
Matthias Clasen
9fd0458f1c
Simplify GtkLockButton
...
Now it is actually just a button, which makes things simpler
and is closer to what the designers want.
2011-05-25 20:19:08 -04:00
Benjamin Otte
5f2ef59d69
menuitem: Position submenus properly
...
Now that we can actually query the menu's size, don't query the
preferred minimum size and hope it's correct, but use its actual size.
2011-05-25 04:49:12 +02:00
Benjamin Otte
067dc19177
menu: Realize window before positioning
...
We want the menu realized so we know the size it's allocating to itself.
And we need that size to position the menu properly.
This is best visible on right-to-left.
2011-05-25 04:48:20 +02:00
Benjamin Otte
8cfcb2c123
paned: More fixes to keep windows in sync with widgets
...
Fixes sidebar in evince not showing up. This was caused by the
visiblility of the widget changing and the paned not fixing its child
window's visibility accordingly.
2011-05-25 04:27:15 +02:00
Kjell Ahlstedt
2ebe1ef6f2
bgo#642929 - Don't infinite-loop in GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
...
If the user pressed Enter to confirm the file chooser while the filename entry
was empty, then gtk_file_chooser_default_should_respond() would go back and forth
between the cases for handling the filename entry and the file list.
2011-05-23 15:02:00 -05:00
Benjamin Otte
7de5a4e08d
cssprovider: Don't convert widget style properties to CSS
...
They are still CSS, so converting them is wrong.
2011-05-23 15:56:09 +02:00
Benjamin Otte
7836df29cb
cssprovider: Use right hash table when printing
...
If the CSS provider had widget style properties, printing them would
crash since 82b340f6f0
2011-05-23 15:56:09 +02:00
Benjamin Otte
97a8ff80cc
window: Only draw resize grip if its window exists
...
Don't rely on priv->resize_grip_visible as the code comment in the
variable declaration indicates.
This fixes warnings with GtkPlug, which can cause resize_grip_visible to
be TRUE but grid_window to be NULL - running tests/teststatusicon
reproduces this.
This broke with 7ef113ce56
2011-05-23 15:56:09 +02:00
Matthias Clasen
f30efa7759
Remove unused function attributes from symbol files
2011-05-22 23:39:48 -04:00
Benjamin Otte
4c6721d096
cssparser: Fix typo where we used "uint" for a type
...
Interestingly this works for gcc, but breaks on MSVC.
2011-05-22 06:07:45 +02:00
Benjamin Otte
21236cf270
style: Make margin a shorthand
...
... and add the real properties:
- margin-top
- margin-left
- margin-bottom
- margin-right
2011-05-22 05:56:12 +02:00
Benjamin Otte
a35aa96149
style: Make padding a shorthand
...
... and add the real properties:
- padding-top
- padding-left
- padding-bottom
- padding-right
2011-05-22 05:56:12 +02:00
Benjamin Otte
962ecc6fa5
shadow: Redo shadow implementation for rotations
...
The shadows went bonkers when the labels were rotated
2011-05-22 05:56:12 +02:00
Benjamin Otte
ec34c4bd83
themingeninge: Handle translations properly
...
We want to keep the location of where to render, but transform th
context by the pango transform.
2011-05-22 05:56:12 +02:00
Benjamin Otte
03fbb1f34f
label: Account for y-translation when rotating
2011-05-22 05:56:11 +02:00
Benjamin Otte
f5c7cefcca
style: Convert border-width to a shorthand
...
Add the corresponding properties it refers to, too:
- border-top-width
- border-left-width
- border-bottom-width
- border-right-width
2011-05-22 05:56:11 +02:00
Benjamin Otte
42a4bd1c5b
style: Add support for shorthand properties
...
Shorthand properties are basically the same a in CSS. For storage in
style properties or the CSS provider, they are unpacked into the real
values, so it is possible to partially override them.
No properties are yet converted to the new world yet, this is just the
code for supporting them.
2011-05-22 01:25:17 +02:00
Benjamin Otte
70e654f1a5
stylepropertis: Use set_by_property() in set_valist()
...
... instead of duplicating code. This causes an extra g_value_copy().
If that turns out to be a performance issue, we can invent something
that handles this (like passing a gboolean take_value).
The reason for this duplication deletion is that we want to complicate
the setting code to handle shorthands by unpacking them and storing the
separate values.
2011-05-22 01:25:16 +02:00