Commit Graph

132 Commits

Author SHA1 Message Date
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
5a1a11bcde dnd: Make GtkDragDest and GtkDragSource use GtkTargetList
This gets rid of GtkTargetEntry in the API and consistently uses
GtkTargetList.
2017-11-15 19:07:17 +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
Carlos Garnacho
21062fab02 gtklinkbutton: Set cursor on button's event window
It is not necessary to (re)set the cursor on every crossing
event, and can probably yield the wrong results if there are
multiple master devices involved. Just set it on init(), and
let the inner machinery update the cursor whenever necessary.

This patch is an adaption of commit 0daf79676 in gtk-3-22, the
side effects are not as bad here because the cursor was already
being set on the widget specifically instead of the parent
widget's, but there's still some nonetheless (plus, it's simpler)

https://bugzilla.gnome.org/show_bug.cgi?id=785375
2017-07-26 13:11:43 +02:00
Timm Bäder
f7bc5fcae3 linkbutton: Remove useless unrealize implementation 2017-07-19 21:27:15 -04:00
Timm Bäder
5ae9ca79e4 linkbutton: Fix hand cursor when hovering
Use the new gtk_widget_set_cursor instead of setting it on the
GdkWindow.
2017-05-25 16:25:59 +02:00
Mohammed Sadiq
00cd92ea71 linkbutton: Fix memory leak
strings returned by gtk_widget_get_tooltip_text() and
gtk_widget_get_tooltip_markup() has to be freed when no longer
required.

https://bugzilla.gnome.org/show_bug.cgi?id=782202
2017-05-05 11:18:25 +02:00
Bastien Nocera
c358383d6c GtkLinkButton: We use gtk_show_uri_on_window() by default
Not gtk_show_uri().

https://bugzilla.gnome.org/show_bug.cgi?id=778726
2017-02-16 16:37:55 +01:00
Timm Bäder
55b1f231fb linkbutton: Replace button-press-event handler with gesture 2016-12-07 18:06:28 +01:00
Emmanuele Bassi
5880d1b990 gtk: Cast static strings assigned to non-const variables
GtkTargetEntry.target is particularly egregious, and it should really be
constified.
2016-10-17 11:44:10 +01:00
William Hua
8701e34f74 port to new gtk_menu_popup_at_* () functions
https://bugzilla.gnome.org/show_bug.cgi?id=756579
2016-07-19 09:38:54 -04:00
Matthias Clasen
793d5291d9 link button: Use gtk_show_uri_on_window
This gives slightly better behavior in the sandboxed case and
makes no difference otherwise.
2016-07-13 11:24:16 -04:00
Matthias Clasen
b5fb9ae3b7 gtk: Port to new monitor api
Use the GdkDisplay monitor api instead of the GdkScreen one.
2016-04-27 23:18:16 -04:00
Matthias Clasen
bbd94b5a9f gtk: Strip newlines from g_warning and g_error
g_logv adds one for us already.
2016-02-28 12:23:12 -05:00
Matthias Clasen
4cd408e8d0 link button: Add a style class
Add a .link style class to differentiate link buttons from normal
buttons.
2015-10-30 00:50:48 -04:00
Matthias Clasen
3c54fbd3ac Use stupid quotes instead of dumb quotes
Following a similar change in GLib a while ago.

'bla' may by stupid, but it looks less dumb than `bla'.
2015-09-23 07:01:16 -04:00
Matthias Clasen
5c2759af3c Use standard cursor names
This changes GTK+ to use gdk_cursor_new_from_name() with the
'standard' css names, instead of GdkCursorType.

https://bugzilla.gnome.org/show_bug.cgi?id=652085
2015-07-26 01:45:06 -04:00
Paolo Borelli
77658b76ae linkbutton: use the text-decoration-line css
Remove the custom add() implementation and use css to underline the
label.
2015-07-06 00:04:06 +02:00
Matthias Clasen
3f3f26d8a1 GtkLinkButton: Use G_PARAM_EXPLICIT_NOTIFY 2014-06-09 13:31:05 -04:00
William Jon McCann
469d333aa2 docs: use Returns: consistently
Instead of Return value:
2014-02-19 18:56:05 -05:00
William Jon McCann
13998c55e7 docs: use proper quotations instead of '*' 2014-02-07 14:22:39 -05:00
Timm Bäder
2ba33adf96 GtkLinkButton: Use :link and :visited for the label's color
https://bugzilla.gnome.org/show_bug.cgi?id=709629
2013-11-04 16:36:11 +01:00
Matthias Clasen
624ec0fb7d Add a style class for context menus
Attached widgets inherit from the style of the widget they are
attached to. This can sometimes have unintended consequences,
like a context menu in the main view of gedit inheriting the font
that is configured for documents, or the context menu of the preview
in the font chooser coming up with humongous font size.

To fix this problem, we introduce a context menu style class
and use it for all menus that are used like that. The theme
can then set a font for this style class.

https://bugzilla.gnome.org/show_bug.cgi?id=697127
2013-08-18 13:46:48 -04:00
Matthias Clasen
2f1fa7cdc3 Drop some unnecessary includes
Drop includes of deprecated headers where they are
no longer needed.
2013-07-19 22:32:23 -04:00
Matthias Clasen
0aa57d26b5 Move wholly deprecated classes to gtk/deprecated/
We've recently a number of classes wholly. For these cases,
move the headers and sources to gtk/deprecated/ and adjust
Makefiles and includes accordingly.

Affected classes:
GtkAction
GtkActionGroup
GtkActivatable
GtkIconFactory
GtkImageMenuItem
GtkRadioAction
GtkRecentAction
GtkStock
GtkToggleAction
GtkUIManager
2013-07-19 21:39:47 -04:00
Emmanuele Bassi
0899ef7cc9 gtk: Use new macros for defining private data
https://bugzilla.gnome.org/show_bug.cgi?id=702996
2013-07-09 09:30:02 +01:00
William Jon McCann
02c793f24a Start migrating internals away from GtkStock 2013-06-24 22:20:49 -04:00
Bastien Nocera
c6a7a0889c gtk: Fix warnings for some uses of GtkLinkButton
Not setting a URI but catching the activate-link signal is a
valid use of GtkLinkButton, but we shouldn't allow showing a
popup menu which offers to copy the URI if there's none.
2012-05-10 15:22:31 +01:00
Matthias Clasen
050cba6a31 Fix malformed doc comments
Most of these are forgotten :'s and similar details
which gtk-doc now warns about.
2012-04-12 21:12:16 -04:00
Javier Jardón
9d0febc9a6 Change FSF Address 2012-02-27 17:06:11 +00:00
Matthias Clasen
020c1846b7 Use the workarea when placing popups
This uses the new workarea API to avoid placing popups underneath
panels, docks, etc.
2011-12-18 14:29:16 -05:00
Matthias Clasen
adc731fad9 Remove various internal uses of deprecated api 2011-11-02 08:10:42 -04:00
Michael Natterer
5c4f2ef0c1 gtk: move _gtk_modules_has_mixed_deps() to gtkmodlesprivate.h
and remove gtkmainprivate.h completely.
2011-10-23 13:57:07 +02:00
Michael Natterer
2d3db3421f Bug 659406 - Abstract what triggers a context menu
Add gdk_event_triggers_context_menu(), using the new modifier
abstraction API. Remove _gtk_button_event_triggers_context_menu()
and port all callers.
2011-09-27 15:45:18 +02:00
Michael Natterer
b663f3a00b Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-26 16:01:50 +02:00
Bastien Nocera
3c2eb053d6 link-button: Reset the mouse cursor when destroyed
If clicking on a link destroys the link button, and keeps the
same GdkWindow then the cursor stays as a hand in the rest of
the interface.

https://bugzilla.gnome.org/show_bug.cgi?id=659247
2011-09-16 15:06:28 +01:00
Matthias Clasen
d15319b717 Convert GailLinkButton to GtkLinkButtonAccessible 2011-07-05 16:08:53 -04:00
Javier Jardón
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Matthias Clasen
beb8c290d1 Always chain up in ::style-updated
This was not handled consistently, but the default handler
does useful things, so we should always chain up.
2011-02-07 07:30:37 -05:00
Matthias Clasen
b123bc41fd Move docs for gtkmain inline
At the same time, introduce a gtkmainprivate.h header
and various other cleanups.

Based on a patch by Tadej Borovšak.
https://bugzilla.gnome.org/show_bug.cgi?id=617471
2011-01-04 17:32:12 -05:00
Carlos Garnacho
166b709c7f Make GtkLinkButton use ::style-updated 2011-01-04 03:06:23 +01:00
Benjamin Otte
8f1f743903 gtk: Use g_object_unref instead of gdk_cursor_unref 2010-12-21 12:07:05 -05:00
Javier Jardón
8537163e20 gtk/gtklinkbutton.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Emmanuele Bassi
17ffcb0cc6 link-button: Add ::activate-link signal
We cannot use the GtkButton::clicked signal to override the default
behavior of GtkLinkButton (i.e. call gtk_show_uri()), because
GtkButton::clicked is registered as a RUN_FIRST signal, which obviously
prevents any other signal handler connected to it to stop the
propagation before the class handler has a chance to run.

For this reason we can add a GtkLinkButton::activate-link signal, which
will be emitted by the default GtkButton::clicked signal handler; the
::activate-link signal has a boolean return value, which allows simpler
code for stopping the propagation to the next signal handler.

https://bugzilla.gnome.org/show_bug.cgi?id=632150
2010-10-15 10:36:01 +01:00
Benjamin Otte
d9c9259861 Move GtkSizeRequest into GtkWidget
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.

Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.

So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
  gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
  gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.

The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
2010-09-26 15:11:45 +02:00
Matthias Clasen
cc9ac5b7ea Update docs of GtkAboutDialog and GtkLinkButton
Remove references to global hooks from the docs. Also move remaining
docs inline, and remove the templates.
2010-09-24 13:41:29 -04:00
Matthias Clasen
b0713fb3bb Remove url hooks from GtkAboutDialog and GtkLinkButton
With gtk_show_uri, global configurability of link activation has
moved to GIO/gvfs. For local overrides, GtkLinkButton has the ::clicked
signal, and GtkAboutDialog gets an ::activate-link signal.

Bug 339745
2010-09-22 00:36:13 -04:00
Javier Jardón
b140884fec Use gtk_size_request_get_size() instead deprecated gtk_widget_size_request()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629598

Signed-off-by: Javier Jardón <jjardon@gnome.org>
Signed-off-by: Tristan Van Berkom <tristanvb@openismus.com>
2010-09-15 03:02:58 +02:00
Javier Jardón
00152ff835 gtk/gtklinkbutton.c: use accessor functions to access GtkWidget 2010-08-22 22:56:10 +02:00
Javier Jardón
59942f91cb GtkLinkButton: unseal private pointer 2010-07-13 19:40:48 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02: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
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
Johan Dahlin
fe85272112 [annotations] Add allow-none
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API

https://bugzilla.gnome.org/show_bug.cgi?id=610474
2010-02-19 17:57:51 -02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Matthias Clasen
2afd463b26 Fix the build
svn path=/trunk/; revision=21854
2008-12-08 02:47:21 +00:00
Matthias Clasen
9ed0abb510 Call gtk_show_uri() if no uri hook has been set. Patch by Emmanuele Bassi
* gtk/gtklinkbutton.c: Call gtk_show_uri() if no uri hook has
        been set. Patch by Emmanuele Bassi


svn path=/trunk/; revision=21853
2008-12-08 02:39:28 +00:00
Christian Dywan
0a91e7600e Bug 557316 – GtkLinkButton should consider user-defined tooltip
* gtk/gtklinkbutton.c (gtk_link_button_query_tooltip_cb):
Only override the tooltip if not previously set

svn path=/trunk/; revision=21728
2008-10-30 08:49:18 +00:00
Michael Natterer
611fcd30d3 bail out if there is no label to set the color on.
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* gtk/gtklinkbutton.c (set_link_color): bail out if there is no
	label to set the color on.

	(gtk_link_button_add): call set_link_color() so the label gets
	the right color no matter how the link button is created.


svn path=/trunk/; revision=21100
2008-08-12 15:47:13 +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
75d4f90a14 Bug 546771 - Add writable property "visited" to GtkLinkButton
2008-08-07  Sven Neumann  <sven@gimp.org>

	Bug 546771 - Add writable property "visited" to GtkLinkButton

	* gtk/gtk.symbols
	* gtk/gtklinkbutton.[ch]: expose the 'visited' state as a
	read-write property with getters and setters. Also move the nick
	and blurb of the "uri" property to the proper translation 
domain.


svn path=/trunk/; revision=21032
2008-08-07 11:37:57 +00:00
Sven Neumann
cd8bca1c64 update the link color when the "visited" state is changed.
2008-08-04  Sven Neumann  <sven@gimp.org>

	* gtk/gtklinkbutton.c (gtk_link_button_set_uri): update the link
	color when the "visited" state is changed.


svn path=/trunk/; revision=20966
2008-08-04 14:13:12 +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
Michael Natterer
9f1bc132a2 gtk/gtkicontheme.h include <gdk/gdk.h> instead of <gdk/gdkscreen.h>.
2008-04-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkicontheme.h
	* gtk/gtkrecentmanager.h: include <gdk/gdk.h> instead of
	<gdk/gdkscreen.h>.

	* gtk/gtkbuilderparser.c
	* gtk/gtklinkbutton.c
	* gtk/gtkpreview.c
	* gtk/gtkrecentchooserdefault.c
	* gtk/gtkrecentchoosermenu.c
	* modules/input/gtkimcontextthai.c: remove inclusion of single
	files from gdk, none of the includes was actually needed.


svn path=/trunk/; revision=20023
2008-04-18 14:56:23 +00:00
Matthias Clasen
311cdbb346 Show the URI in a tooltip. (#505480, Teppo Turtiainen)
2008-02-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtklinkbutton.c: Show the URI in a tooltip.  (#505480,
        Teppo Turtiainen)


svn path=/trunk/; revision=19596
2008-02-16 05:28:22 +00:00
Emmanuele Bassi
25f92d5f1b Revert spurious commit on GtkLinkButton
svn path=/trunk/; revision=19510
2008-02-11 09:55:29 +00:00
Emmanuele Bassi
48c87e3e17 Set no-show-all flag on the placeholder menu item.
2008-02-11  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c:
	(gtk_recent_chooser_menu_constructor): Set no-show-all flag
	on the placeholder menu item.

	* tests/testrecentchoosermenu.c:
	(create_recent_chooser_menu): Use gtk_widget_show_all() to test
	whether the placeholder menu item gets shown.

svn path=/trunk/; revision=19509
2008-02-11 09:54:09 +00:00
Michael Natterer
9c7a2c321f remove unused variable.
2008-01-09  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcolorsel.c (make_label_spinbutton): remove unused
	variable.

	* gtk/gtkcombobox.c (gtk_combo_box_detacher)
	* gtk/gtkicontheme.c (theme_list_contexts)
	(gtk_icon_theme_lookup_icon)
	* gtk/gtkimcontextsimple.c (beep_window)
	* gtk/gtklinkbutton.c (set_link_color)
	* gtk/gtkuimanager.c (child_hierarchy_changed_cb): add casts to
	fix warnings.

	* gtk/gtkpathbar.c (_gtk_path_bar_set_file_system): remove unused
	variable and add const to another to fix a warning.


svn path=/trunk/; revision=19330
2008-01-09 17:02:50 +00:00
Matthias Clasen
81b82a676f More default property value corrections
svn path=/trunk/; revision=19276
2007-12-28 17:10:33 +00:00
Matthias Clasen
29490c0448 Remove trailing commas from enumerations, since some compilers don't like
2007-09-09  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtklinkbutton.c:
        * gtk/gtkrecentfilter.c:
        * gtk/gtkprinteroptionwidget.c: Remove trailing commas from
        enumerations, since some compilers don't like them.  (#467717)



svn path=/trunk/; revision=18771
2007-09-09 20:08:31 +00:00
Matthias Clasen
6573ed5f12 Fix some compiler warnings. (#433642, Kjartan Maraas)
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        Fix some compiler warnings.  (#433642, Kjartan Maraas)

        * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_get_info):
        (gtk_file_system_win32_create_folder):
        * gtk/gtkaction.c (gtk_action_create_menu): Fix NULL/FALSE confusion.

        * gtk/gtklinkbutton.c (gtk_link_button_clicked): Pass
        the right type to uri_func.

        * gtk/gtktext.c (gtk_text_key_press):
        * gtk/gtkstatusicon.c (gtk_status_icon_get_property):
        * gtk/gtkxembed.c (_gtk_xembed_send_message): Add casts.

        * gtk/gtktrayicon-x11.c (gtk_tray_icon_manager_window_destroyed):
        (gtk_tray_icon_delete):
        * gtk/gtkprintunixdialog.c (create_main_page):
        * gtk/gtkhsv.c (gtk_hsv_motion): Remove unused variables.

        * gtk/gtkliststore.c: Adapt callbacks to GSequence types.


svn path=/trunk/; revision=17739
2007-04-30 16:18:54 +00:00
Matthias Clasen
01aa0a152a Don't leak PangoAttributes. (#352391, Paolo Borelli)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklinkbutton.c (set_link_underline): Don't leak
	PangoAttributes.  (#352391, Paolo Borelli)
2006-08-26 06:15:40 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
0351d5671d Make the default colors const.
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklinkbutton.c: Make the default colors const.
2006-04-03 15:06:41 +00:00
Behdad Esfahbod
13bcd2c002 Return NULL instead of FALSE in g_return_val_if_fail in a
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkfilesystem.c (gtk_file_system_get_bookmark_label):
        * gtk/gtklinkbutton.c (gtk_link_button_new_with_label): Return NULL
        instead of FALSE in g_return_val_if_fail in a pointer-returning
        function. (#336764, Morten Welinder)
2006-04-01 00:25:00 +00:00
Matthias Clasen
2447b0365e Fix a cast.
2006-02-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklinkbutton.c (gtk_link_button_class_init): Fix
	a cast.
2006-02-20 00:42:39 +00:00
Matthias Clasen
40aa02249b Allow to set a global hook function thats called whenever a link button is
2006-01-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtklinkbutton.h:
	* gtk/gtklinkbutton.c: Allow to set a global hook function
	thats called whenever a link button is clicked.
2006-01-28 06:20:30 +00:00
Matthias Clasen
c996af342d Add GtkLinkButton, a port of GnomeHRef. (#314808, Emmanuele Bassi)
2006-01-23  Matthias Clasen  <mclasen@redhat.com>

	Add GtkLinkButton, a port of GnomeHRef.  (#314808, Emmanuele Bassi)

	* gtk/gtklinkbutton.h:
	* gtk/gtklinkbutton.c: New files.

	* gtk/gtk.h:
	* gtk/gtk.symbols:
	* gtk/Makefile.am: Glue.

	* gtk/gtkaboutdialog.c: Use GtkLinkButton.
2006-01-24 03:35:53 +00:00