Matthias Clasen
e3158a1bfb
Make crossing events handled the same way
2020-02-21 00:50:59 -05:00
Matthias Clasen
e3afb2fec8
label: Don't use gtk_widget_peek_style_context
...
We may just not have a style context. And we can just
as well go directly to the css styles.
2020-02-07 13:16:45 -05:00
Timm Bäder
b7ee2cbc28
Start using GtkWidget's new style class API
2020-02-07 13:16:32 -05:00
Benjamin Otte
546a748cd8
widget: Replace style-updated signal with css_changed vfunc
...
1. Rename the thing
2. Turn it from a signal to a vfunc
3. Pass the GtkCssStyleChange to it
We don't export any public API about the GtkCssStyleChange yet, it's
just a boring opaque struct.
2020-02-05 02:46:13 +01:00
Benjamin Otte
146b921246
cssnode: Convert name + id from interned string to GQuark
...
The reason for this is simply that I want to get hash functions that
have their values close together, so they can fit in a smaller range
(the goal here is 12 bits). By using GQuark, we get consecutive numbers
starting with 1 (and applications have <1000 quarks usually), whereas
interned strings can be all over the place.
As a side effect we also save 64 bytes per declaration.
2020-01-28 02:17:03 +01:00
Timm Bäder
45455f1bdb
Remove GtkCssShadowsValue
...
Previously, we wrapped all GtkCssShadowValues in a GtkCssShadowsValue,
even if it was just one shadow. This causes an unnecessary bloat in
css values.
Make each GtkCssShadowValue able to handle multiple shadows instead, and
use gtk_css_shadow_value* API everywhere.
2020-01-18 08:49:52 +01:00
Matthias Clasen
5a6ab8cbd3
label: Use gdk_drag_begin
...
Use gdk_drag_begin directly for one-off drags.
2020-01-08 18:48:21 -05:00
Matthias Clasen
e8b830a3dd
dragsource: Reshuffle api a bit
...
Remove arguments from the constructor.
For actions, we now default to COPY, which is the most common one
that we should enable by default (MOVE requires handling deletion
on the the source side, and ASK only makes sense if we have
multiple actions).
For the content provider, we add a new ::prepare signal where
it should be provided just-in-time.
2020-01-08 18:48:21 -05:00
Matthias Clasen
1e000c3dac
Remove gtkdnd.h
2020-01-08 18:48:20 -05:00
Matthias Clasen
2612331282
label: Port to GtkDragSource
2020-01-08 18:48:19 -05:00
Timm Bäder
73b8212bf3
label: Fix assumptions regaring link
2020-01-07 17:27:18 +01:00
Matthias Clasen
7ee5779efc
gtk: Remove menu code
...
GtkMenu, GtkMenuBar, GtkMenuItem and their subclasses
and supporting classes are replaced by model-based popover
implementations.
2019-12-29 20:31:58 -05:00
Matthias Clasen
0854140b22
label: Stop referring to GtkMenuItem in the docs
2019-12-29 20:31:58 -05:00
Matthias Clasen
9e15f3df75
label: Remove menu support code
2019-12-29 20:31:58 -05:00
Benjamin Otte
503d988c1b
label: Compute label baselines correctly
...
When we were switching smallest and widest, we were not switching the
baselines.
2019-12-09 16:35:41 +01:00
Matthias Clasen
828b58247c
label: Handle new pango attributes
...
overline and overline-color were introduced in Pango 1.45.
2019-11-01 13:01:54 -04:00
Matthias Clasen
de29c3e193
label: Handle insert_hyphens pango attribute
...
This was introduced in Pango 1.44.4.
2019-11-01 13:01:54 -04:00
Benjamin Otte
427deb4f13
widget: Make gtk_widget_grab_focus() return a boolean
...
So now it can actually fail.
It doesn't yet though.
2019-10-15 16:33:05 +02:00
Timm Bäder
a3cef6c05e
label: Use TRUE/FALSE instead of 1/0
2019-10-09 16:57:22 +02:00
Timm Bäder
703fda3be8
label: Remove set_selectable_hint
...
It's just updating the cursor, so do it via update_cursor()
2019-10-09 16:57:21 +02:00
Timm Bäder
2f6d6f2473
label: Remove gtk_label_realize
...
We don't need this to update the cursor anymore.
2019-10-09 16:57:21 +02:00
Timm Bäder
3f3c8436c5
label: Don't update cursor after unsetting select_info
...
update_cursor() doesn't do anything in the priv->select_info == NULL
case.
2019-10-09 16:57:21 +02:00
Timm Bäder
d8b0a78c1e
label: Change cursor even if unrealized
...
Cursor don't depend on that anymore.
2019-10-09 16:57:20 +02:00
Alexander Larsson
96b37f4eb8
Use the new GtkBuildableParser type in GtkBuildable interfaces
2019-09-10 12:08:20 -04:00
Timm Bäder
4cc4868e93
label: Remove "line" from wrap properties
...
The property names are "wrap" and "wrap-mode", so it doesn't make sense
that the accessors refer to line_wrap and line_wrap_mode.
2019-09-09 17:36:23 +02:00
Дилян Палаузов
6ded38de2b
Minor typos in the Documentation (a/an)
2019-08-25 12:52:46 +00:00
Matthias Clasen
988fac404a
Add pango version checks
...
Seems the ci does not have pango 1.44 yet.
2019-07-28 10:50:14 -04:00
Matthias Clasen
f1c7803f80
label: Parse new pango attributes
...
Support allow-breaks and show attributes.
These will be in pango 1.44
2019-07-27 00:02:08 -04:00
Matthias Clasen
35a88c1440
widget: Rename a function
...
set_enabled is shorter and more to the point
than enabled_changed, now that we no longer have
a callback to query the state.
Adapt all callers.
2019-06-22 17:03:51 -04:00
Matthias Clasen
7e73da5f73
widget: Add parameter type back to install_action
...
Adapt all callers.
2019-06-22 16:48:16 -04:00
Matthias Clasen
a933a9bc79
Fix initial mnemonic visibility
...
We were showing mnemonics initially, which is not desired.
2019-06-21 02:38:05 +00:00
Matthias Clasen
90701cb655
label: Use the new action machinery
...
Port GtkLabel to use widget class actions.
Note that this also changes the names of
the GtkLabel actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
964b2574cf
label: Redo context menus
...
Drop the ::populate-popup signal and implement
the new context menu api. Things are a bit more
complicated here, since we have different menus
on links and selectable text.
2019-06-13 11:59:50 +00:00
Matthias Clasen
6f689ec5b1
label: Fix mnemonic visibility handling
...
With non-widgets having children, we can no
longer assume that using gtk_container_forall
lets us walk the entire tree.
2019-06-09 17:38:54 +00:00
Matthias Clasen
7f65e5f96b
Rename GtkGestureMultiPress to GtkGestureClick
...
The name just made it hard for people to find the
right gesture to use.
2019-05-29 17:10:46 +00:00
Matthias Clasen
c34abb6775
label: Make final
2019-05-28 19:45:45 -04:00
Matthias Clasen
7447abb52b
Stop using gtk_widget_get_toplevel
...
All uses of it can be replaced by gtk_widget_get_root.
2019-05-28 20:25:16 +00:00
Matthias Clasen
948347afa9
Stop using gtk_widget_is_toplevel
2019-05-28 20:25:16 +00:00
Matthias Clasen
18788c2a86
Remove gtk_widget_get/set_has_surface
...
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
2019-05-28 20:25:15 +00:00
Matthias Clasen
9059eee2f0
Review and replace uses of get_toplevel
...
Now that roots can have parent widgets, we need to
carefully examine all calls of gtk_widget_get_toplevel,
and replace them with gtk_widget_get_root if we want
the nearest root, and not the ultimate end of the parent
chain.
2019-05-28 20:24:39 +00:00
Matthias Clasen
965d0e04d1
gtk: Use root/unroot instead of display-changed
...
The display-changed signal is going away
2019-05-02 01:33:41 +00:00
Matthias Clasen
7553d0c471
label: Activate default via action
...
Switch to the new way of activating default.
2019-04-28 23:20:13 +00:00
Matthias Clasen
b26087845d
label: Stop juggling cursors
...
We have a convenience api for this.
2019-04-18 15:06:09 -04:00
Matthias Clasen
8650980797
Adapt to motion controller api change
...
The signature of the enter/leave signals changed.
Adapt all users.
2019-03-18 09:24:42 -04:00
Matthias Clasen
2bf1561b48
Port widgets to the root focus API
2019-03-16 21:24:44 -04:00
Matthias Clasen
ef5108c89f
label: Stop using ::hierarchy-changed
...
Use the new root and unroot vfuncs instead.
2019-02-23 09:43:57 -05:00
Timm Bäder
d54cccfdd5
label: Use pango_layout_get_log_attrs_readonly
...
No need to memdup the log attrs in this case.
2019-01-29 05:03:26 +01:00
Timm Bäder
5680393f9d
label: Add missing nullable annotation
2019-01-13 08:23:25 +01:00
Timm Bäder
563b80d434
label: Skip updating link state if we have no layout
...
This can happen whenever the ::activate-link handler sets different
markup on the label, causing all links to be recreated. In this case,
the GtkLabelLink* passed to emit_activate_link is garbage after the
g_signal_emit call and we shouldn't try to do anything with it.
Fixes #1498
2019-01-11 17:46:12 +01:00
Timm Bäder
ade171a2ed
widget: Don't pass a position to ->size_allocate
...
The values have been 0/0 for a long time now, so just drop the
GtkAllocation argument and replace it with width and height.
2018-11-13 16:28:54 +01:00
Matthias Clasen
b94c3166bf
dnd: Rename gtk_drag_begin_with_coordinates
...
Now that the coordiate-less variant is gone,
rename this back to the shorter gtk_drag_begin.
2018-07-12 13:02:42 +02:00
Matthias Clasen
7733f646d6
gdk: Rename GdkDragContext to GdkDrag
...
This is to go along with the newly introduced GdkDrop.
This commit includes the necessary updates to the X11, Wayland
and Broadway backends. Other backends have to be updated separately.
2018-07-02 14:59:26 +02:00
Matthias Clasen
8755d884f3
Remove a lot of Since annotations
...
4.0 will represent a clean epoch. We don't want to have
lots of noise in the docs about 2.x or 3.x.
2018-06-25 19:55:04 -04:00
Benjamin Otte
9a91d3739d
widget: Remove time argument from drag_data_get() vfunc
2018-06-18 23:49:53 +02:00
Mohammed Sadiq
8410d87eb5
label: Rearrange struct members
...
Rearranging so can save us 8 bytes per GtkLabel
on 32/64 bit aligned memory.
Not a big count, but we get it for free.
2018-05-11 16:10:03 +05:30
Benjamin Otte
4f3058f195
eventcontrollermotion: Port to new API model
2018-04-26 17:59:42 +02:00
Benjamin Otte
1e6eb1f8b9
draggesture: Port to new API model
2018-04-26 17:59:42 +02:00
Benjamin Otte
4ddc94b293
multipressgesture: Port to new API model
2018-04-26 17:59:42 +02:00
Benjamin Otte
73b4a62f51
snapshot: Redo debug messages
...
Instead of every snapshot function having debug messages, have an
explicit gtk_snapshot_push_debug() function that appends a debug node.
2018-04-24 04:06:58 +02:00
Benjamin Otte
169203951b
widget: Remove clip from size-allocate vfunc
...
As the clip is no longer needed, get rid of it.
2018-04-05 14:56:38 +02:00
Benjamin Otte
60719bb67c
textutil: Make gtk_text_util_create_drag_icon() return a paintable
2018-03-26 18:16:36 +02:00
Alexander Larsson
63e060a21d
GtkWidget: Start renaming widget->window
...
This is an automated change doing these command:
git sed -f g gtk_widget_set_has_window gtk_widget_set_has_surface
git sed -f g gtk_widget_get_has_window gtk_widget_get_has_surface
git sed -f g gtk_widget_set_parent_window gtk_widget_set_parent_surface
git sed -f g gtk_widget_get_parent_window gtk_widget_get_parent_surface
git sed -f g gtk_widget_set_window gtk_widget_set_surface
git sed -f g gtk_widget_get_window gtk_widget_get_surface
git sed -f g gtk_widget_register_window gtk_widget_register_surface
git sed -f g gtk_widget_unregister_window gtk_widget_unregister_surface
git checkout NEWS*
2018-03-20 15:21:12 +01:00
Timm Bäder
6cfb720ab7
Fix a few get_allocated_width/height usages
2018-03-17 12:09:30 +01:00
Timm Bäder
81a7f8e00c
label: Remove dead NULL check
...
We only create the gesture when priv->select_info is !NULL.
2018-03-13 23:43:29 +01:00
Timm Bäder
891c37a4cb
label: Simplify ensure_layout()
...
use an early return for an already existing layout.
2018-03-04 19:12:04 +01:00
Benjamin Otte
f08bc40fbb
a11y: Don't include gtk.h
...
Also add missing includes and sort them for all the widgets that relied
on that before.
2018-02-08 15:25:53 +01:00
Matthias Clasen
4c150d8eb5
The big versioning cleanup
...
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
2018-02-06 01:16:32 -05:00
Timm Bäder
12be5ccbb7
label: Update layout width directly form allocation
...
For the one update_layout_width call in size_allocate, we can just use
the passed-in allocation width instead of a separate (relatively slow)
gtk_widget_get_width call.
2018-01-17 21:57:19 +01:00
Matthias Clasen
36e09f3ad9
label: Properly handle multi-line selections
...
They were rendered as a single rectangle, which is not
what is expected. Same for multi-line links.
2018-01-05 15:54:49 -05:00
Matthias Clasen
98da7730ea
label: Plug a memory leak
...
We were sometimes leaking the content serializer object.
2018-01-04 22:24:43 -05:00
Matthias Clasen
06ad134876
Add an unrealize function to GtkLabel
...
We need to drpo the primary clipboard when the label
is getting unrealized while holding it. This fixes
a crash in the accessibility-dump test.
2017-12-26 23:33:39 -05:00
Matthias Clasen
e92c0e85ec
Replace gdk_keymap_get_for_display by gdk_display_get_keymap
...
Replace all uses of the old function by the new one.
No functional change.
2017-12-15 07:44:58 -05:00
Matthias Clasen
ecdf8c64fe
label: Use GtkEventControllerMotion
...
This lets us avoid legacy event signals here.
2017-12-12 09:42:05 -05:00
Benjamin Otte
04ac4c66ae
dnd: Pass device, not event
...
You don't start a dnd operation with a device, you start it with an
event.
2017-12-12 00:31:49 +01:00
Benjamin Otte
756b276070
dnd: Remove button argument from drag_begin()
...
It was unused.
2017-12-12 00:29:51 +01:00
Matthias Clasen
072f06abf7
Fix fallout from g_object_ref change
...
g_object_ref now returns the type of the object that was
passed. Introduce cast as necessary to avoid warnings due
to this.
2017-12-08 17:48:47 -05:00
Timm Bäder
93df23d962
Remove some more gtk_widget_get_content_size uses
2017-12-04 12:42:52 +01:00
Benjamin Otte
5632d0eabb
label: Port to new clipboard
2017-12-03 05:46:48 +01:00
Benjamin Otte
a59572f96d
widget: gtk_widget_get_clipboard => gtk_widget_get_old_clipboard
...
Just rename the function, so the previous one can be used for the
new clipboard.
2017-12-03 05:46:47 +01:00
Benjamin Otte
fc2ce5a925
gdk: Make GdkContentFormats immutable
2017-11-20 23:13:10 +01:00
Benjamin Otte
9a6ec4e959
contentformats: Rename GtkTargetList
...
It's now called GdkContentsFormat
2017-11-20 23:12:33 +01:00
Matthias Clasen
ffd6baec42
gtk: Intern css names
...
This avoids a bunch of strdups at startup.
2017-11-17 22:49:57 -05:00
Benjamin Otte
3f5178dc21
selection: Remove the info uint
...
Instead of allowing people to pass a uint user-data, insist on them
comparing mime types.
The user data was a uint instead of a pointer anyway, so uniqueness
could not be guaranteed and it caused more issues than it was worth.
And that's ignoring the fact that it basically wasn't used.
2017-11-16 22:59:43 +01:00
Benjamin Otte
7efc5a1558
clipboard: Consistently use GtkTargetList
...
Some code was using GtkTargetList, some used GtkTargetEntry and some
GtkTargetPair.
2017-11-15 19:07:16 +01:00
Benjamin Otte
a409320cda
gtk: Use gtk_widget_set_cursor()
...
... and gtk_widget_set_cursor_from_name() instead of setting cursors on
GdkWindows.
2017-11-04 01:37:03 +01:00
Benjamin Otte
9323d098a6
gdk: Cursors no longer have a display
...
Change constructors to reflect that.
While doing so, also add a fallback argument to the cursor constructors,
so it is now possible to create cursors with fallback.
2017-11-04 00:07:13 +01:00
Matthias Clasen
fa5e3ee54e
label: Stop using gdk_cursor_new_for_display
...
We prefer to use the name-based api for cursors nowadays.
2017-11-01 21:19:31 -04:00
Benjamin Otte
1c36c6ed4d
widget: Remove gtk_widget_has_screen()
...
All widgets always have a screen (or display).
2017-10-31 04:33:11 +01:00
Benjamin Otte
44614394e6
widget: Turn screen-changed signal into display-changed
2017-10-31 00:43:11 +01:00
Timm Bäder
8ff713840b
label: Make all code snippets properly compile
2017-10-11 12:18:22 +02:00
Benjamin Otte
43c212ac28
build: Enable -Wswitch-enum and -Wswitch-default
...
This patch makes that work using 1 of 2 options:
1. Add all missing enums to the switch statement
or
2. Cast the switch argument to a uint to avoid having to do that (mostly
for GdkEventType).
I even found a bug while doing that: clearing a GtkImage with a surface
did not notify thae surface property.
The reason for enabling this flag even though it is tedious at times is
that it is very useful when adding values to an enum, because it makes
GTK immediately warn about all the switch statements where this enum is
relevant.
And I expect changes to enums to be frequent during the GTK4 development
cycle.
2017-10-06 21:23:39 +02:00
Timm Bäder
edaa2c42ee
label: Remove priv pointer
2017-10-01 09:19:09 +02:00
Daniel Boles
00f8a11aec
Label: Replace allow-none with nullable/optional
2017-09-24 19:32:19 +01:00
Matthias Clasen
6bdebd1570
label: Don't leak clip regions
...
This was introduced in the conversion to gsk.
2017-09-01 15:34:13 -04:00
Matthias Clasen
745a9426b0
Remove an unused variable
2017-09-01 12:56:22 -04:00
Matthias Clasen
10ddd3112a
label: Port active link drawing to gsk
...
We don't need to fall back to cairo fro this anymore.
2017-09-01 12:29:11 -04:00
Matthias Clasen
47f717d4ae
label: Port selection drawing to gsk
...
We don't need to fall back to cairo for this anymore.
2017-09-01 12:04:20 -04:00
Carlos Garnacho
2d3882c7eb
gtklabel: Fix touch link handling under wayland
...
Refactor the code updating the active link under the current coordinates
into a separate function, and call it on GtkGestureMultiPress::pressed
so the link is updated on GDK_TOUCH_BEGIN. Based on a patch by
Jan-Michael Brummer <jan.brummer@tabos.org>.
https://bugzilla.gnome.org/show_bug.cgi?id=776903
2017-07-26 13:20:56 +02:00
Timm Bäder
ed5192497f
label: Remove GtkEventBox mention from docs
...
Packing the label inside a GtkEventBox is not necessary anymore for it
to receive events.
2017-07-19 21:27:16 -04:00
Timm Bäder
36ab70ddf5
widget: Add baseline and out_clip parameters to size-allocate
...
Since setting a clip is mandatory for almost all widgets, we can as well
change the size-allocate signature to include a out_clip parameter, just
like GtkCssGadget did. And since we now always propagate baselines, we
might as well pass that one on to size-allocate.
This way we can also make sure to transform the clip returned from
size-allocate to parent-coordinates, i.e. the same coordinate space
priv->allocation is in.
2017-07-19 21:27:16 -04:00
Timm Bäder
e276f1e844
label: Fix get_layout_index
...
Properly translate the given coordinates to layout coordinates. Fixes
clicking links and selecting text.
2017-07-19 21:27:15 -04:00
Timm Bäder
26e1491c70
label: Use the correct size in snapshot()
2017-07-19 21:27:15 -04:00
Timm Bäder
c2abb698be
Replace a few get_content_allocation calls with get_content_size
...
The position of the content allocation is almost never relevant since
it's 0/0 for measure, size_allocate and snapshot.
2017-07-19 21:27:14 -04:00
Timm Bäder
25034b6f87
label: Fix layout snapshot coordinates
...
No need to convert anything to "window coordinates" anymore.
2017-07-19 21:27:14 -04:00
Timm Bäder
34af3d3940
accellabel: Inherit from GtkWidget
...
Use a box and 2 labels.
2017-07-19 21:27:13 -04:00
Timm Bäder
bf118eca80
label: Don't chain up in size_allocate
...
It's unnecessary now.
2017-07-19 21:27:12 -04:00
Timm Bäder
5532b9a1b3
label: Fix clipping
...
We were using an uninitialized value here.
2017-07-19 21:27:11 -04:00
Timm Bäder
aad7e2d509
label: Remove gadget
2017-07-19 21:27:11 -04:00
Timm Bäder
06950bcf8a
label: Remove css box drawing
2017-07-19 21:27:10 -04:00
Daniel Boles
29ff3c072c
label: Remove extra quote in code example
2017-07-07 08:15:05 +01:00
Matthias Clasen
77f34d01ad
label: Provide a baseline in all cases
...
The label measuring code was only determining baselines
when the label was set to wrap, which does not seem right.
Non-wrapping labels have a meaningful baseline as well,
report it back.
2017-06-11 10:35:06 -04:00
Carlos Garnacho
d6023e9d45
label: Remove selection window
...
It's no longer needed to receive events while the label is selectable.
2017-05-25 16:25:59 +02:00
Carlos Garnacho
a72404dd5a
gtk: Mass delete all GtkWidget event mask API
...
We now rely on toplevels receiving and forwarding all the events
the windowing should be able to handle. Event masks are no longer a
way to determine whether an event is deliverable ot a widget.
Events will always be delivered in the three captured/target/bubbled
phases, widgets can now just attach GtkEventControllers and let those
handle the events.
2017-05-25 16:25:58 +02:00
Timm Bäder
80fe1dfe02
label: Remove dead ternary operator
2017-04-28 11:27:09 +02:00
Timm Bäder
db4b1d28f5
label: Remove angle property
2017-04-25 20:30:37 +02:00
Timm Bäder
cb80b32ee8
label: Move if statement where it makes sense
...
In the else branch of the if statement before this one, we're assigning
*smallest = *widest anyway, so this if statement is never true. Move it
to the if block before instead, where it can apply.
2017-04-25 20:30:37 +02:00
Timm Bäder
4e0f10955a
label: Remove useless if statements
...
We never pass nullable pointers into get_size_for_allocation.
2017-04-25 20:30:37 +02:00
Timm Bäder
2fc92db25c
label: Remove useless if statement
...
The if before this one already makes sure priv->wrap is TRUE.
2017-04-25 20:30:37 +02:00
Timm Bäder
29f7bde023
label: Don't use gtk_widget_set_simple_clip
...
The clip returned by gtk_css_gadget_allocate already includes the
box-shadow size and we manually care about the text-shadow size.
2017-04-25 20:30:37 +02:00
Timm Bäder
0b48bb23b2
label: Fix focus implementation
...
Don't return TRUE if we didn't actually focus anything.
2017-03-31 09:50:39 +02:00
Timm Bäder
c371a86f54
label: Properly calculate half the height
...
Since we compare it to a double anyway, might as well divide by 2.0.
2017-03-20 17:20:12 +01:00
Emmanuele Bassi
51010da740
Use gtk_show_uri_on_window() in GtkLabel
...
Avoid the deprecated gtk_show_uri(), and allow activating link in
sandboxed applications.
https://bugzilla.gnome.org/show_bug.cgi?id=778726
2017-02-16 16:37:55 +01:00
Benjamin Otte
6055028c96
snapshot: Rename append APIs
...
Instead of having gtk_snapshot_append_foo_node(), just have
gtk_snapshot_append_foo(). Nobody needs to know that this internally
uses nodes.
2017-01-13 04:46:09 +01:00
Alexander Larsson
7bee22bcb6
Avoid some more type checks for internal calls
2017-01-11 15:27:51 +01:00
Matthias Clasen
5fa1b14a96
Revert "Use CSS for styling links in labels"
...
This reverts commit 60a8769e7f0c952fdc8090b1ecd96cca00123ad9.
This needs more work to work properly.
2017-01-05 20:57:42 -05:00
Matthias Clasen
4170f79eea
Use CSS for styling links in labels
...
This was implemented only halfway, and was hardcoding the
underline. We don't need to do that anymore.
2017-01-05 20:57:42 -05:00
Matthias Clasen
f3779b42c5
Make it possible to set style classes for label links
...
This makes it possible to style links in labels differently
in certain situations.
2017-01-05 16:55:45 -05:00
Matthias Clasen
7e6820415d
Avoid a possible crash in ::activate-url handlers
...
If the signal handler ends up changing the label text,
the link is no longer around to update the css node.
Check for this possibility to avoid a crash here.
2016-12-29 11:09:20 -05:00
Benjamin Otte
0dbdf0c428
gadget: Remove gtk_css_gadget_draw()
...
And with it, remove the draw func from custom gadgets, that has been
NULL everywhere.
All gadgets are snapshot now.
2016-12-20 18:01:12 +01:00
Piotr Drąg
a2da4ddceb
Use Unicode in translatable strings
...
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772371
2016-12-19 15:08:10 -05:00
Emmanuele Bassi
4cbe079767
Use Graphene init macros for compound literals
...
The Graphene init macros can now be used for compound literals, which
means we need to update our mixed uses.
2016-11-21 16:21:38 +00:00
Benjamin Otte
349f55f2fe
snapshot: Convert GtkLabel and GtkAccelLabel
...
Also adds gtk_snapshot_render_insertion_cursor().
2016-11-15 17:48:45 +01:00
Benjamin Otte
da207c9fdd
snapshot: Add a snapshot function to GtkCssCustomGadget
2016-11-15 17:48:45 +01:00
Benjamin Otte
a0e63b8a07
rendernode: Require passing a renderer to get_draw_context()
...
This is in preparation of making render nodes independent of the
renderer, so that they can be rendered multiple times with different
renderers.
2016-11-01 16:32:26 +01:00
Timm Bäder
9992a616ef
widget: Use ::measure vfunc to measure size
...
Add a new ::measure vfunc similar to GtkCssGadget's that widget
implementations have to override instead of the old get_preferred_width,
get_preferred_height, get_preferred_width_for_height,
get_preferred_height_for_width and
get_preferred_height_and_baseline_for_width.
2016-10-22 19:05:47 +02:00
Matthias Clasen
be0de54237
Convert GtkLabel to indirect rendering
...
Warning! This breaks GtkAccelLabel. It will be fixed in the next
commit.
2016-10-18 11:49:15 +01:00
Emmanuele Bassi
3fb413beea
label: Avoid shadowing variables
2016-10-18 11:29:34 +01:00
Timm Bäder
a9367b705e
Stop checking GtkSettings:gtk-enable-mnemonics
2016-10-18 00:29:18 +02:00
Timm Bäder
203cf0d120
label: Stop using GdkColor
2016-10-18 00:29:17 +02:00
Benjamin Otte
360301a774
label: Use gdk_window_new_input()
2016-10-18 00:22:35 +02:00
Benjamin Otte
1518fe0a8f
API: stylecontext: Remove state argument from getters
...
The argument must always be the current state.
2016-10-16 18:18:58 +02:00
Timm Bäder
116cb9fc0c
label: Remove now unneeded deprecation markers
2016-10-16 18:17:21 +02:00
Timm Bäder
9d43644153
label,image: Remove GtkMisc usage
2016-10-16 18:17:21 +02:00
Benjamin Otte
fcbd480c76
API: Remove GDK_WA_CURSOR
...
The cursor was set using gdk_window_set_cursor() even in
gdk_window_new().
So instead of having yet another flag, just make the users of that flag
call gdk_window_set_cursor() directly after the window was created.
2016-10-16 18:17:21 +02:00
Matthias Clasen
953b82a584
label: take padding into account when measuring
...
When doing height-for-width measurements, we need to take
padding into account. This was causing various allocation
errors.
https://bugzilla.gnome.org/show_bug.cgi?id=770849
2016-09-04 15:41:11 -04:00
Matthias Clasen
61e8c69460
label: Fix indentation
...
Trivial, but annoying.
2016-09-04 15:41:11 -04:00
Arnaud Bonatti
533de822ba
Use 'focused' everywhere.
...
https://bugzilla.gnome.org/show_bug.cgi?id=770624
2016-09-01 07:14:30 +02:00
Benjamin Otte
e1a03ead7a
Use NULL for generic marshallers in g_signal_new()
...
glib will use the correct marshaller automatically. And as a side
effect, we also get all glib optimizations, like a va marshaller.
2016-08-29 16:20:54 +02:00
Timm Bäder
57ef631216
label: Remove some useless casts
...
These were casts of a const GdkEvent* to GdkEvent* even though the
function they are passed to takes a const GdkEvent*.
2016-08-10 16:37:17 +02:00
Timm Bäder
41c8446631
label: Destroy the popup menu on unmap
2016-08-04 13:07:23 +02:00