Benjamin Otte
80ba7fd682
dragdest: Make gtk_drop_target_new() args be transfer full
...
Saves tons of code.
2020-02-17 04:04:21 +01:00
Benjamin Otte
e1f8c1430f
dnd: simplify code
...
The old code did mimetype checks everywhere when type compatibility has
since been moved to the GtkDropTarget::accept signal.
So the code can now just assume a compatible mime type exists.
2020-02-17 04:04:21 +01:00
Benjamin Otte
8d2ed36a1b
contentprovider: Add gdk_content_provider_new_typed()
...
Gets around the boilerplate required to create and initialize a GValue
by having this function doing it via G_VALUE_COLLECT().
2020-02-16 20:10:30 +01:00
Matthias Clasen
bc4637fff6
Remove unused includes
...
We eventually want to get rid of GtkSelectionData.
As a first step, stop including gtkselection.h unnecessarily.
2020-02-09 23:59:22 -05:00
Timm Bäder
655711fef2
Rename gtk_widget{get,set,has}_style_class to _css_class
...
We want to use css instead of style everywhere now.
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
Matthias Clasen
b859407620
Merge branch 'reset-with-click' into 'master'
...
Always emit reset for IM preedit with mouse click
Closes #1534
See merge request GNOME/gtk!460
2020-01-29 10:39:22 +00: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
Matthias Clasen
f9e613f8fd
text: Don't compute invisible char in init
...
This causes us to create a pango layout and
validate the css style, a high-overhead
operation. Just do it when the entry is set
to be invisible.
2020-01-23 15:12:38 -05:00
Matthias Clasen
ec255f9bb1
Update all callers
2020-01-11 00:50:22 -05:00
Matthias Clasen
1c03bbeb9c
Update all users
2020-01-08 18:48:23 -05:00
Matthias Clasen
5206a92522
Update all callers
2020-01-08 18:48:22 -05:00
Matthias Clasen
ac5b4a6307
text: Remove unnecessary drag highlighting
...
GTK does this unconditionally anyway, now.
2020-01-08 18:48:22 -05:00
Matthias Clasen
379166e1ff
text: Use GDK content formats API
2020-01-08 18:48:22 -05:00
Matthias Clasen
a04d314910
text: Fix dragging of text across focus changes
...
When dragging selected text from an entry over a stackswitcher
to show a different page, the focus changes, causing the selection
to be lost; we should not lose the dragged content in this case.
2020-01-08 18:48:22 -05:00
Matthias Clasen
092c115ff0
text: 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
38974d7d2b
dragsource: Tweak api, update all callers
...
Add GdkDrag back to signals, drop ::drag-data-delete,
and replace it with a boolean in ::drag-end.
2020-01-08 18:48:21 -05:00
Matthias Clasen
f3be49838f
Move code over
...
Move remaining code from gtkdnd.c to gtkdragdest.c
and nuke gtkdnd.c and gtkdndprivate.h.
2020-01-08 18:48:21 -05:00
Matthias Clasen
e9067ae2db
Replace gtk_drop_target_attach/detach
...
Since drop targets are now just event controller,
gtk_widget_add/remove_controller works just fine
for them.
2020-01-08 18:48:21 -05:00
Matthias Clasen
46f42fc53d
droptarget: Drop defaults flags
...
These no longer have any effect.
Update all callers.
2020-01-08 18:48:20 -05:00
Matthias Clasen
1e000c3dac
Remove gtkdnd.h
2020-01-08 18:48:20 -05:00
Matthias Clasen
6e602e052b
text: Port to GtkDropTarget
2020-01-08 18:48:20 -05:00
Matthias Clasen
e9203eeef7
text: Convert to GtkDragSource
2020-01-08 18:48:19 -05:00
Timm Bäder
c38c5c4ce1
text: Reset cursor opacity when unmapping
...
Otherwise we might get mapped again with a half-transparent cursor.
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
Christian Hergert
fb4fbfb2a8
text: add undo support to GtkText
...
This adds support using the GtkTextHistory helper for undo/redo to the
GtkText widget. It is similar in use to GtkTextView, but with a simplified
interface.
You can disable undo support using the GtkText:enable-undo property. By
default, it is enabled.
2019-11-05 10:27:29 -08:00
Timm Bäder
dfcc40ef9a
text: Propagate pango attributes to placeholder
...
Not sure if this is really always wanted or whether we need to filter
the attributes, or even create a separate property for them.
2019-10-22 09:37:08 +02:00
Timm Bäder
1882034323
text: Fix _set_attributes docs
...
The list is nullable.
2019-10-22 09:37:08 +02:00
Timm Bäder
640db05b18
text: Remove some unused members
2019-10-22 09:37:08 +02:00
Timm Bäder
31ae93475d
text: Fix context menu position
...
Fixes #2209
2019-10-22 09:37:08 +02:00
Timm Bäder
8fc4d229da
text: Inline function into only caller
2019-10-22 09:37:08 +02:00
Timm Bäder
a62efb8257
text: Remove gtk_text_get_text_allocation
...
We can just replace that with get_width/get_height everywhere.
2019-10-22 09:37:08 +02:00
Timm Bäder
acf927fe14
text: Don't destroy pango layout in size_allocate
...
It's not needed.
2019-10-22 09:37:08 +02:00
Timm Bäder
17a111968b
text: Remove an unnecessary queue_draw() call
2019-10-22 09:37:07 +02:00
Benjamin Otte
c2a32afe97
Initialize cursor alpha to 1.0
...
That way, non-animated cursors don't disappear.
2019-10-16 21:45:33 +02: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
Matthias Clasen
222e05c2d2
Remove unused includes
...
Don't include gtkmenu.h in places where
it isn't used anymore.
2019-09-16 07:23:17 -04:00
Timm Bäder
74208e9e0c
text: Fix a crash when retrieving the selected text
2019-09-09 17:36:25 +02:00
Matthias Clasen
a4e427b44a
text: Delay initial cursor blinking
...
We used to have a solid cursor for 2/3 of the cycle,
now we start fading after 1/4th. To make up for it,
add half a cycle of delay.
2019-07-23 21:08:47 -04:00
Matthias Clasen
fb06b7fa94
text: Remove an outdated comment
2019-07-23 15:14:38 -04:00
Matthias Clasen
7b451678f5
fix the build
2019-07-23 14:26:32 -04:00
Matthias Clasen
758c54eab8
text: Fix incomplete invalidation
...
When a style change affects the text, we need to
clear the cached content, in order to pick up the
new text style.
2019-07-23 10:41:52 -04:00
Matthias Clasen
51161fb0d6
text: Smooth cursor blinking
...
Fade the text cursor in and out, instead
of abruptly turning it on and off.
2019-07-21 11:35:13 -07:00
Timm Bäder
4f11bbc59b
text: Don't leak emoji chooser
2019-07-15 06:56:19 +02:00
Timm Bäder
4bb4a98493
text: Move some locals into the closest scope
2019-07-15 05:38:25 +02:00
Timm Bäder
70b0f712ad
text: Remove some useless casts
2019-07-15 05:19:02 +02:00
Timm Bäder
c6e9372ba3
text: Move some locals into the closest scope
2019-07-15 05:17:46 +02: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
d1f4068b94
Replace stateful actions by property actions
...
The only cases of stateful actions we've seen
so far have been boolean properties, and we
don't really want to add much state handling
API, so lets just go with property actions
for now.
Adapt the only user in GtkText.
2019-06-22 17:03:38 -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
152eabbaba
widget actions: Add an explicit state type
...
Make the state type part of the API for installing
stateful widget actions. That lets us introspect it.
Update all callers.
2019-06-21 22:47:40 -04:00
Matthias Clasen
421e9c3502
text: Use the new action machinery
...
Port GtkText to use widget class actions.
Note that this also changes the names of
the GtkText actions away from a generic
"context" prefix.
2019-06-18 14:47:33 -04:00
Matthias Clasen
6030465cdf
text: Add a context action for visibility
...
This will be used by GtkPasswordEntry for amending
the context menu.
2019-06-13 11:59:50 +00:00
Matthias Clasen
a28d5d1888
text, entry: Implement context menu api
...
Drop the ::populate-popup signal and implement
the new context menu api.
2019-06-13 11:59:50 +00:00
Matthias Clasen
f03c7c379a
text: Fix selection bubble handling
...
Same fix as the previous commit.
2019-06-11 17:46:01 +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
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
25aef96d5d
popover: Rename modal to autohide
...
This is the term we use for the surface,
and it matches the behavior a bit better
than modal.
Update all callers.
2019-05-28 20:25:15 +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
e6f71d841e
text: Allocate popovers
...
We need to do the same thing the menu button
does, and call gtk_native_check_resize for
all our popovers
2019-05-28 20:25:15 +00:00
Matthias Clasen
4bf4f04d1f
Adapt to new popover lifecycle
...
We need to unparent popovers in dispose.
2019-05-28 20:25:13 +00:00
Benjamin Otte
2bad613cb0
text: Ensure indexes are ordered properly
2019-05-18 17:06:08 +02: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
e41596d6a1
text: Make Emoji insertion work properly
...
We are now getting focus-out and focus-in events
when the Emoji chooser is shown and hidden, and
this is causing the text to select-on-entry before
inserting the Emoji, which then deletes the selection.
Avoid this by saving and restoring the selection
when presenting the Emoji chooser.
2019-05-01 05:13:52 +00:00
Matthias Clasen
218d635ca2
entry: Activate default via action
...
Switch to the new way of activating default.
2019-04-28 23:20:13 +00:00
Matthias Clasen
e37f4d0ea6
text: Stop juggling cursors
...
We have a convenience api for this.
2019-04-18 15:06:35 -04:00
Matthias Clasen
836b5a217a
text: Refine the touch popup
...
The touch popup was meant to have linked buttons.
2019-04-17 23:40:26 +00:00
Timm Bäder
20ccb53c42
text: Remove useless gtk_widget_get_allocation call
2019-04-13 06:26:27 +02:00
Matthias Clasen
8bae5348f9
text: Handle 'inverted' selections
...
We must handle selection_bound > cursor in
various places. This was lost in the big
entry refactoring.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1792
2019-03-31 12:36:09 -04:00
Matthias Clasen
7843382784
text: Allow growing entries
...
Add a propagate-text-width property, which, when set,
makes the entry request a natural width that is just
enough to fit the content, within the limits given
by width-chars and max-width-chars.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1721
2019-03-27 01:42:00 -04:00
Matthias Clasen
2bf1561b48
Port widgets to the root focus API
2019-03-16 21:24:44 -04:00
Benjamin Otte
3863e44360
text: Simplify
...
The previous arguments were equivalent to using NULL.
2019-03-08 14:12:17 +01:00
Benjamin Otte
8566218485
text: Remove two unused member variables
2019-03-08 14:12:04 +01:00
Benjamin Otte
1475575799
text: Use gtk_widget_set_overflow()
2019-03-08 13:39:52 +01:00
Benjamin Otte
bc901ffa5a
text: Remove 2 unused variables
...
One is always 0, the other is always equal to gtk_widget_get_width()
2019-03-08 13:33:54 +01:00
Matthias Clasen
103637f3b9
text: Remove has-frame leftovers
2019-02-21 00:30:48 -05:00
Matthias Clasen
82bde1e10a
text: Remove the ::has-frame property
...
This is purely GtkEntry functionality and should
remain there.
2019-02-20 10:34:42 -05:00
Takao Fujiwara
4b2e4f6628
Always emit reset for IM preedit with mouse click
...
Hangul inputs treat pre-edit text as output text and the pre-edit
text won't be moved with mouse click.
Now the reset signal is always emitted simply with mouse click and
each IM engine could handle the signal whether the preedit is committed,
cleared or kept.
Closes #1534
2019-02-20 18:58:51 +09:00
Matthias Clasen
936181f354
Add a GtkTextAccessible
...
Add an accessible implementation for GtkText.
2019-02-18 14:24:21 -05:00
Matthias Clasen
1801bf6d83
Add a GtkText widget
...
This is a GtkEntry without any of the extras, such as
icons, completion, progress, caps-lock warning, emoji icon.
2019-02-18 14:24:21 -05:00
Christian Dywan
e5c56b7c0f
Remove GtkText completely
2010-05-03 01:40:41 +02:00
Javier Jardón
32b9aeaadd
Don't use GTK_WIDGET_STATE in internal code anymore
...
Use gtk_widget_get/set_state() instead
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-09 02:40:17 +01:00
Javier Jardón
1934de4b65
Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_REALIZED)
...
Use new API instead: gtk_widget_set_realized ()
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-06 11:51:33 +01:00
Javier Jardón
16a59ad912
Deprecate widget flag: GTK_WIDGET_REALIZED
...
Use gtk_widget_get_realized() instead
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-03 20:41:05 +01:00
Javier Jardón
483a5a9e1a
Don't use GTK_WIDGET_*SET_FLAGS (wid, GTK_CAN_FOCUS)
...
Use new API instead: gtk_widget_set_can_focus ()
2010-03-02 04:42:54 +01:00
Javier Jardón
4232115e22
Deprecate widget flag: GTK_WIDGET_HAS_FOCUS
...
Use gtk_widget_has_focus() instead
https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 06:11:01 +01:00
Nicola Fontana
1e1131c959
Do not use static GTypeInfo and GInterfaceInfo
...
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.
https://bugzilla.gnome.org/show_bug.cgi?id=600158
2009-11-06 01:21:09 +01:00
Javier Jardón
0a9843c1b9
Fix warning: some casts to gchar*
2009-10-30 04:27:32 +01:00
Michael Natterer
1dc24ea3a5
gtk/gtksignal.[ch] gtk/gtkclist.c gtk/gtklist.c gtk/gtkmain.c
...
2008-09-22 Michael Natterer <mitch@imendio.com>
* gtk/gtksignal.[ch]
* gtk/gtkclist.c
* gtk/gtklist.c
* gtk/gtkmain.c
* gtk/gtktext.c
* gtk/gtktreeitem.c: use G_CALLBACK and GCallback instead of
GTK_SIGNAL_FUNC and GtkSignalFunc also in deprecated code.
svn path=/trunk/; revision=21488
2008-09-22 10:35:44 +00:00
Michael Natterer
d9d3379698
gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkentry.c
...
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/gtkaccellabel.c
* gtk/gtkcalendar.c
* gtk/gtkclist.c
* gtk/gtkentry.c
* gtk/gtkeventbox.c
* gtk/gtkfilechooserbutton.c
* gtk/gtkfilechooserdefault.c
* gtk/gtkhandlebox.c
* gtk/gtkhsv.c
* gtk/gtkiconview.c
* gtk/gtkimage.c
* gtk/gtklayout.c
* gtk/gtklistitem.c
* gtk/gtkmenuitem.c
* gtk/gtkmessagedialog.c
* gtk/gtknotebook.c
* gtk/gtkpaned.c
* gtk/gtkpathbar.c
* gtk/gtkplug.c
* gtk/gtkprintunixdialog.c
* gtk/gtkrange.c
* gtk/gtkrecentchooserdefault.c
* gtk/gtkruler.c
* gtk/gtksocket.c
* gtk/gtktext.c
* gtk/gtktextview.c
* gtk/gtktoolbar.c
* gtk/gtktreeitem.c
* gtk/gtktreeview.c
* gtk/gtkviewport.c
* gtk/gtkwin32embedwidget.c: chain up unconditionally in
realize(), unrealize(), map(), unmap(), style_set(),
key_press_event() and size_request()
svn path=/trunk/; revision=21088
2008-08-12 09:44:32 +00:00
Michael Natterer
e18d3c6fd3
consistently chain up using GTK_FOO_CLASS(parent_class)->bar(instance)
...
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/*.c: consistently chain up using
GTK_FOO_CLASS(parent_class)->bar(instance) instead of
(*GTK_FOO_CLASS(parent_class))->bar(instance).
svn path=/trunk/; revision=21085
2008-08-12 09:06:34 +00:00
Sven Neumann
e3c01cf601
gtk/gtktext.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
...
2008-08-08 Sven Neumann <sven@gimp.org>
* gtk/gtktext.c
* gtk/gtktextbuffer.c
* gtk/gtktextlayout.c
* gtk/gtktexttagtable.c
* gtk/gtktextview.c
* gtk/gtktipsquery.c
* gtk/gtktoolbar.c
* gtk/gtktoolitem.c
* gtk/gtktreeitem.c
* gtk/gtktreemodelfilter.c
* gtk/gtktreemodelsort.c
* gtk/gtktreeviewcolumn.c: use canonical signal names.
svn path=/trunk/; revision=21045
2008-08-08 14:23:32 +00:00
Sven Neumann
867a82c36e
gtk/gtkadjustment.c gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkiconview.c
...
2008-08-08 Sven Neumann <sven@gimp.org>
* gtk/gtkadjustment.c
* gtk/gtkclist.c
* gtk/gtkcolorsel.c
* gtk/gtkiconview.c
* gtk/gtklayout.c
* gtk/gtkprogress.c
* gtk/gtkrange.c
* gtk/gtkspinbutton.c
* gtk/gtktext.c
* gtk/gtktextview.c
* gtk/gtktreeview.c
* gtk/gtkviewport.c: use the canonical signal name
"value-changed"
instead of "value_changed".
svn path=/trunk/; revision=21041
2008-08-08 13:25:18 +00:00
Tor Lillqvist
5b97a90502
Cast pointer to gintptr instead of gulong to avoid warning on Win64.
...
2008-08-05 Tor Lillqvist <tml@novell.com>
* gtk/gtktext.c: Cast pointer to gintptr instead of gulong to
avoid warning on Win64.
svn path=/trunk/; revision=21003
2008-08-04 23:55:40 +00:00
Michael Natterer
0ac989bdcc
gtk/gtkclist.c gtk/gtkctree.c gtk/gtkpixmap.c get rid of using deprecated
...
2008-08-04 Michael Natterer <mitch@imendio.com>
* gtk/gtkclist.c
* gtk/gtkctree.c
* gtk/gtkpixmap.c
* gtk/gtkpreview.c: get rid of using deprecated GDK APIs.
* gtk/gtktext.c: ditto, apart from the text cruft APIs.
svn path=/trunk/; revision=20982
2008-08-04 17:59:43 +00:00
Michael Natterer
05a6983f62
Fix make check:
...
2008-07-04 Michael Natterer <mitch@imendio.com>
Fix make check:
* gtk/Makefile.am: remove GTK_DISABLE_DEPRECATED from INCLUDES
again :-(
* gtk/gtkclist.c
* gtk/gtkcombo.c
* gtk/gtkctree.c
* gtk/gtklist.c
* gtk/gtklistitem.c
* gtk/gtknotebook.c
* gtk/gtkobject.c
* gtk/gtkoldeditable.c
* gtk/gtkpixmap.c
* gtk/gtktext.c
* gtk/gtktree.c
* gtk/gtktreeitem.c: don't #define it again before including
gtkalias.h after it has been #undef'ed before.
svn path=/trunk/; revision=20763
2008-07-04 18:38:36 +00:00
Cody Russell
57223c9a05
Revert name change
...
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4
Practically everything changed.
...
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529 )
svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00