Commit Graph

17881 Commits

Author SHA1 Message Date
Federico Mena Quintero
7df00df6b6 filechooserbutton: Don't set a starting folder in the underlying dialog
Let the dialog decide by itself.
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
ed9797a1fd filechooser: Test canceling the dialog inside a GtkFileChooserButton
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
8eee5ebb1a filechooser: Add a couple of tests for GtkFileChooserButton; they fail now
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
40c57d9b58 filechooser: Do tests with g_assert_cmpstr(), not g_assert(passed)
This lets us see exactly what failed, instead of just seeing a boolean error value.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
ff4bf0c895 filechooser: Move some of the tests to GTestDataFunc
This code came from a home-grown testing mechanism, which didn't aggregate tests
into a test suite; it just ran them one by one.  Here we move some of that machinery
to GTestDataFunc for more flexibility in running tests.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 18:01:39 -06:00
Federico Mena Quintero
ba63578e62 filechooser: Get the filechooser tests to build
Some are ifdef-ed out with BROKEN_TESTS, but at least the tests will compile for now.
2013-02-13 18:01:39 -06:00
Juan Pablo Ugarte
3472edb38d Added scroll and touch events to GtkToolPalette 2013-02-13 19:39:45 -03:00
Cosimo Cecchi
880391cded filechooser: follow the gtk-recent-files-enabled GtkSetting
Avoid showing the Recent files entry if the setting is FALSE.

https://bugzilla.gnome.org/show_bug.cgi?id=693709
2013-02-13 12:06:43 -05:00
Cosimo Cecchi
382c5f63b0 recentmanager: follow gtk-recent-files-enabled GtkSetting
https://bugzilla.gnome.org/show_bug.cgi?id=693724
2013-02-13 12:06:43 -05:00
Cosimo Cecchi
c896adc9e9 settings: add a gtk-recent-files-enabled GtkSetting
Backed by an XSetting, so g-s-d can set it according to the GSettings
value.

https://bugzilla.gnome.org/show_bug.cgi?id=693724
2013-02-13 12:06:43 -05:00
Alexander Larsson
8b9254c8a7 Add opacity_group hack
This adds a way to get the gtk_widget_set_opacity liike behaviour
of retargeting GdkWindows and exposing every child in ::draw, without
actually having an alpha. This is needed if you're doing more complex things
such as cross fading of widgets.

We do this as a hack by using opacity values that round to 255 yet not
really 1.0 in order to avoid having some magical API call for this
mainly internal call.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-12 17:02:53 +01:00
Thomas Wood
8d5d9c50b1 tooltip: set the transient parent when using the Wayland backend
Set the transient parent window on tooltips so that they can be
positioned correctly when using the Wayland backend.

https://bugzilla.gnome.org/show_bug.cgi?id=693313
2013-02-12 15:30:56 +00:00
Simon Feltman
283c974680 gtkcellrenderertext: Sink floating entry before using as signal argument
Sink the GtkEntry assigned to the private structure of GtkCellRendererText
before signals containing it as an argument are sent out. This keeps
language bindings from sinking the reference and then destroying the entry
when the signal closure is finished.

https://bugzilla.gnome.org/show_bug.cgi?id=693400
2013-02-11 17:46:33 -08:00
Alexander Larsson
7319f2934f Clean up the opacity handling
This cleans up the internals but doesn't really change the behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-11 20:38:59 +01:00
Adel Gadllah
0b1f8a5c4b Fix compiler warnings
Remove two unused variables.
2013-02-11 11:40:15 +01:00
Matthias Clasen
ba1f2ae3fc Mention the de-facto standard filename extension
GtkBuilder files are commonly named .ui - mention that in the
docs.
https://bugzilla.gnome.org/show_bug.cgi?id=590325
2013-02-11 00:57:39 -05:00
Matthias Clasen
0795237bb2 Plug a few memory leaks
The accessibles for icon view items were not properly freed
in all cases.
https://bugzilla.gnome.org/show_bug.cgi?id=683311
2013-02-11 00:42:28 -05:00
Matthias Clasen
2379445c1d Correct the documentation for how to set accessible names
The example in the GtkWidget docs was referring to a nonexisting
AtkObject::name property. The correct property name is
accessible-name.
2013-02-10 15:47:14 -05:00
Rico Tzschichholz
4fe1effb36 Revert "Visual C++: Update gtka11y projects completion"
This broke 'make dist' on linux.

This reverts commit ecf2a9471b.
2013-02-08 18:29:22 +01:00
Rico Tzschichholz
656cc63c75 Revert "Drop things that break distcheck"
This reverts commit 2204f12083.
2013-02-08 18:29:13 +01:00
Alexander Larsson
366b4db791 css: Support opacity
https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:38 +01:00
Alexander Larsson
7d21ec23f6 Add singleton for css number 1.0
This will be nice as this is will be the default for opacity.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:38 +01:00
Alexander Larsson
ebb84e8d19 TextHandle: Don't draw handles if not visible
When calling gtk_widget_draw() on the entry gtk_cairo_should_draw_window()
will return TRUE for all windows. This is used when rendering a widget to
somewhere other than the screen, and its now used for transparent widgets.
This caused the texthandle to always draw itself and terminate the draw
handler for the entry.

Instead we now only draw the markers when really visible, plus we return
FALSE to avoid stopping the entry drawing.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:38 +01:00
Alexander Larsson
fa8b71450c Add gtk_widget_get/set_opacity
This adds gtk_widget_get/set_opacity, as well as a GtkWidget.opacity
property. Additionally it deprectates gtk_window_get/set_opacity and
removes the GtkWindow.opacity property (in preference for the new
identical inherited property from GtkWidget, which should be ABI/API
compat).

The implementation is using the new gdk_window_set_opacity child
window support for windowed widgets, and cairo_push/pop_group()
bracketing in gtk_widget_draw() for non-window widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:37 +01:00
Alexander Larsson
3d4cd4db3e Add gtk_widget_(un)register_window
This replaces the previously hardcoded calls to gdk_window_set_user_data,
and also lets us track which windows are a part of a widget. Old code
should continue working as is, but new features that require the
windows may not work perfectly.

We need this for the transparent widget support to work, as we need
to specially mark the windows of child widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=687842
2013-02-07 11:11:37 +01:00
Marc-André Lureau
1568204159 Fix a small typo s/parater/parameter 2013-02-06 17:26:15 +01:00
Matthias Clasen
2204f12083 Drop things that break distcheck 2013-02-04 14:14:07 -05:00
Matthias Clasen
67a18b7cf9 Fix an sed accident
This broke our css parser tests. Yay for tests !
2013-02-04 08:33:58 -05:00
Matthias Clasen
2ae8a27b4a Remove a no-op AtkAction from GtkRange
The "activate" action here did not do anything.
It is possible we actually want to have some actions here,
like "step-up", "step-down", "page-up", "page-down", etc.
For now, just remove the AtkAction implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=553334
2013-02-04 00:59:14 -05:00
Matthias Clasen
935d458fa1 Improve AtkAction implementations
Implement get_localized_name, and also translate the strings
returned by get_description.
https://bugzilla.gnome.org/show_bug.cgi?id=525226
2013-02-04 00:57:46 -05:00
Matthias Clasen
594b752080 Prefer symbolic icons in message dialogs
Based on a patch in
https://bugzilla.gnome.org/show_bug.cgi?id=680048
2013-02-03 17:58:23 -05:00
William Jon McCann
b08c15d986 Prefer symbolic icons for the default message dialog image
The icon does not need high resolution or color to indicate the type
of message and the color can detract from the important part of the message.

https://bugzilla.gnome.org/show_bug.cgi?id=680048
2013-02-03 17:43:47 -05:00
Matthias Clasen
9bb25c7f95 Clarify docs of GtkTextTag -set properties a bit
https://bugzilla.gnome.org/show_bug.cgi?id=687825
2013-02-03 17:22:48 -05:00
Matthias Clasen
1e85e0f017 a11y: Set up popup-for relation between entry and completion
This may address
https://bugzilla.gnome.org/show_bug.cgi?id=658148
2013-02-03 16:32:21 -05:00
Matthias Clasen
a1de67f438 Reinstate old-style deprecation guards for wholly-deprecated files 2013-02-03 15:51:05 -05:00
Matthias Clasen
edd1c66041 Make GtkTextView deal better with !can_focus
This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=693050
2013-02-03 15:44:41 -05:00
Matthias Clasen
377997f704 Make GtkStatusIcon survive on Broadway
Make the X11 GtkStatusIcon implementation deal with
multiple backends.

https://bugzilla.gnome.org/show_bug.cgi?id=693066
2013-02-02 20:42:28 -05:00
Cosimo Cecchi
8099f864c3 scrolled-window: fix an incorrect gtk-doc comment 2013-02-02 14:08:14 +01:00
Matthias Clasen
d559ed0ce9 Don't build native tools when not cross-compiling
This was my local native build to fail.
2013-02-01 23:53:59 -05:00
Erik van Pienbroek
9a1235bf0d Don't build gtk-launch when gio-unix is not available
https://bugzilla.gnome.org/show_bug.cgi?id=682824
2013-02-01 23:08:03 -05:00
Erik van Pienbroek
3493814ead Only build native-update-icon-cache when no external update-icon-cache binary was found
https://bugzilla.gnome.org/show_bug.cgi?id=692637
2013-02-01 23:01:40 -05:00
Cosimo Cecchi
ad70142d2c scrolledwindow: deprecate gtk_scrolled_window_add_with_viewport()
https://bugzilla.gnome.org/show_bug.cgi?id=693015
2013-02-01 22:58:55 -05:00
Cosimo Cecchi
7c1c7cb728 Don't use gtk_scrolled_window_add_with_viewport() internally
Just use gtk_container_add() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=693015
2013-02-01 22:58:54 -05:00
Cosimo Cecchi
9efa28591c scrolledwindow: make gtk_scrolled_window_add() smart
There's really no reason why we shouldn't automatically create a
GtkViewport when the widget added to GtkScrolledWindow is not a
GtkScrollable, instead of just printing a g_warning.
Copy the viewport special case into the scrolled window implementation
of gtk_container_add().

https://bugzilla.gnome.org/show_bug.cgi?id=693015
2013-02-01 22:58:53 -05:00
Matthias Clasen
5f41eb74a5 Fix a few parameter mismatches in the symbols 2013-02-01 22:54:21 -05:00
Matthias Clasen
48777cb656 Make new state flags show up in the docs 2013-02-01 22:54:21 -05:00
Matthias Clasen
3aa43f0f17 Add new symbols 2013-02-01 22:54:20 -05:00
Matthias Clasen
fae1da8ec9 Include gtklevelbaraccessible.h in gtk-a11y.h 2013-02-01 22:54:20 -05:00
Benjamin Otte
e6b3cbe7d2 cssimage: Only load image data when needed
Saves ~6MB of memory per application in the Adwaita I am using - at
least until the app starts using all the images in the theme, because
the code doesn't discard images yet once they were loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=692934
2013-02-02 01:44:17 +01:00
Benjamin Otte
b2e1b1124f cssimage: Add a getter
This will be needed in the next commit.

https://bugzilla.gnome.org/show_bug.cgi?id=692934
2013-02-02 01:44:13 +01:00
Benjamin Otte
e3cd958e36 cssimage: Return the loaded image from compute()
This way, we don't keep the indirection when actually rendering the
image.

https://bugzilla.gnome.org/show_bug.cgi?id=692934
2013-02-02 01:43:37 +01:00
Benjamin Otte
18ca907c4c css: Split out GtkCssImageSurface
This is essentially a GtkCssImage for a cairo_surface_t and is a pretty
much straight up copy of GtkCssImageUrl. But we want to implement lazy
loading and animations, so GtkCssImageUrl is going to gain new
features...

https://bugzilla.gnome.org/show_bug.cgi?id=692934
2013-02-02 01:43:30 +01:00
Benjamin Otte
6348ded15d cssimage: Store the URI we're loaded from
I'd like to use it when printing the value, but I haven't found a way to
do that sanely yet, as I'd need to be able to print relative paths for
make check to work (otherwise the srcdir would blow things up). And we
use a GString to output to, so there's no way to attach a base dir to
that.

If anyone has an idea how to achieve that, poke me. Having the real
filename in debug prints sounds like a very good idea to me.

https://bugzilla.gnome.org/show_bug.cgi?id=692934
2013-02-02 01:42:48 +01:00
Mike Gorse
92f0c5c384 Add accessibility for GtkLevelBar and value test 2013-02-01 11:44:15 -06:00
Benjamin Otte
a6bf34e292 scrolledwindow: Use local variables
This (a) makes the code look nicer, and (b) works for non-scrollables
2013-02-01 17:42:45 +01:00
Benjamin Otte
d1c642d1f5 image: Make gtk_image_new_from_resource() load animations
Requires new gdk-pixbuf APIs to load animations from resources.
2013-02-01 17:42:44 +01:00
Cosimo Cecchi
eacdaf28a6 tree-view: add back gtk_style_context_set_background()
Commit ddceddaa84 removed the call to
gtk_style_context_set_background() in favour of always rendering it with
gtk_render_background() during the draw vfunc.
This has the side effect of making the backing window always
transparent, which blocks GTK from applying some optimizations during
the paint cycle. The result is that, especially in clutter-gtk
applications, scrolling performance gets really bad.

This commit partially reverts ddceddaa84
and changes the code so that both gtk_style_context_set_background() and
gtk_render_background() are called
2013-02-01 11:27:32 +01:00
Cosimo Cecchi
c4183405fe icon-view: add back gtk_style_context_set_background()
Commit da09447914 removed the call to
gtk_style_context_set_background() in favour of always rendering it with
gtk_render_background() during the draw vfunc.
This has the side effect of making the backing window always
transparent, which blocks GTK from applying some optimizations during
the paint cycle. The result is that, especially in clutter-gtk
applications, scrolling performance gets really bad.

This commit partially reverts da09447914
and changes the code so that both gtk_style_context_set_background() and
gtk_render_background() are called.
2013-02-01 11:27:14 +01:00
Torsten Schönfeld
843e5f9cb3 treednd: Remove (out) annotation for GtkSelectionData arg
gtk_tree_drag_source_drag_data_get's GtkSelectionData argument should not be
marked as (out) because:

a) GtkSelectionData is semi-private (it's declared in gtkselectionprivate.h),
and thus gobject-introspection has no knowledge of its fields or its size.
There is thus no way for language bindings to allocate GtkSelectionData.

b) Even if it was possible for language bindings to allocate GtkSelectionData,
a zeroed-out instance thus created would not be usable with
gtk_tree_drag_source_drag_data_get.  As far as I can tell, you need to
initialize its "target" member to the GdkAtom of "GTK_TREE_MODEL_ROW".
Language bindings have no way of knowing this, of course.

https://bugzilla.gnome.org/show_bug.cgi?id=692844
2013-01-31 21:36:37 +01:00
Daiki Ueno
7a9553cfb5 textlayout: respect preedit color attribute
gtk_text_renderer_prepare_run now checks appearance.rgba, rather than
appearance.{fg_color,bg_color}.

https://bugzilla.gnome.org/show_bug.cgi?id=692766
2013-01-31 11:22:06 +09:00
Benjamin Otte
e26031e0c7 filechooser: Move saving geometry to where it belongs
Move it from the filechooserwidget to the filechooserdialog unmap
function. It was previously only working for filechooserdialogs, too.
2013-01-26 21:04:55 +01:00
Benjamin Otte
c83a7a13e1 filechooser: Move settings key defines into header
... so we can read/write those keys from different source files.
2013-01-26 21:04:55 +01:00
Benjamin Otte
af176efc0f widget: Another place to relax the visibility requirement
See commit 154204e891 for details
2013-01-26 21:04:55 +01:00
Federico Mena Quintero
e57de53108 GtkFileChooser: Remove the last remains of the last_folder_uri logic
This is akin to commit cfb09e5654 in the gtk-2-24 branch;
the last_folder_uri is no longer being used for anything meaningful, so we
remove it altogether.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-01-24 18:07:03 -06:00
Jasper St. Pierre
cca05d1dc8 Add git.mk to more places 2013-01-24 17:47:34 -05:00
Jasper St. Pierre
86f024ba0d gtkimage: Add GtkImage::resource property
This is designed for GtkBuilder scenarios:

    <object class="GtkImage" id="blah">
        <property name="resource">/org/myapp/blah.png</property>
    </object>

https://bugzilla.gnome.org/show_bug.cgi?id=692481
2013-01-24 17:47:34 -05:00
Benjamin Otte
154204e891 widget: Allow invisible toplevels to do sizing operations
This is a quickfix to keep things working.

It turns out GtkWindow assumes it can do sizing operations while not
being visible, or while in the process of show()ing/hide()ing itself.
And commit b495ce54 broke these operations.

Figuring this properly requires some more thinking and restructuring on
my part, so for now we relax the requirement of visiblility enough for
these things to start working again.
2013-01-24 14:28:58 +01:00
Benjamin Otte
78d91aaf9b filechooser: Attach GSettings object to GtkSettings
... instead of keeping one per GtkFileChooserDefault. This allows using
it in other places, too.
2013-01-24 14:28:58 +01:00
Benjamin Otte
b112a85395 filechooser: Use macros
Thanks for not letting me catch that place when I was greeping...
2013-01-24 14:28:57 +01:00
Matthias Clasen
db986ddc4f color chooser: give GSettings schema a path
The code is always instantiating this schema at a fixed location, so why
is it relocatable?

Add a path so that it shows up properly in dconf-editor, and from the
gsettings commandline tool.
2013-01-23 07:48:26 -05:00
Ryan Lortie
dc8b67de92 file chooser: give GSettings schema a path
The code is always instantiating this schema at a fixed location, so why
is it relocatable?

Add a path so that it shows up properly in dconf-editor, and from the
gsettings commandline tool.

https://bugzilla.gnome.org/show_bug.cgi?id=692163
2013-01-23 07:46:05 -05:00
Chun-wei Fan
9bdc970f8d gtk/gtktreeview: Avoid a C99ism
Declare a variable at the top of the block
2013-01-23 14:49:50 +08:00
Chun-wei Fan
ecf2a9471b Visual C++: Update gtka11y projects completion
-Rename the "libgail" projects to gtka11y, for consistency with the
 autotools builds
-Update the projects completion in gtk/a11y/Makefile.am, as the sources are
 now listed under $(libgtka11y_la_SOURCES) instead of $(libgail_la_SOURCES)
2013-01-23 13:56:11 +08:00
Cosimo Cecchi
2d820defef applicationwindow: fix mem leak
In the error path, code is leaking a ref to a GVariant.

https://bugzilla.gnome.org/show_bug.cgi?id=692203
2013-01-21 18:47:34 -05:00
Federico Mena Quintero
7d30e601de GtkFileChooserDefault: Don't use Backspace anymore to to to the parent folder
This is for consistency with Nautilus.

https://bugzilla.gnome.org/show_bug.cgi?id=692188
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-01-21 13:33:43 -06:00
Kouhei Sutou
ce15472955 Add missing $(EXEEXT)
https://bugzilla.gnome.org/show_bug.cgi?id=692073
2013-01-20 22:23:20 -05:00
Matthias Clasen
88ed5af5e4 Use g_signal_connect_object for adjustments in GtkSpinButtonAccessible
An instance of GtkAdjustment may be used by another instance after
the spin button widget is destroyed. In that case, the function
gtk_spin_button_accessible_value_changed() will be called with an
invalid argument. This situation is often caused when one use
GtkCellRendererSpin widget. To avoid invalid call of the function,
the signal handler for the "value-changed" signal should be disconnected
when the spin-button widget is destroyed.
Using g_signal_connect_object achieves just that.
https://bugzilla.gnome.org/show_bug.cgi?id=691592
2013-01-20 22:16:47 -05:00
Cole Robinson
cbce906228 widget: Add annotation (allow-none) for set_tooltip_text
https://bugzilla.gnome.org/show_bug.cgi?id=691639
2013-01-20 22:03:49 -05:00
William Jon McCann
c7169e119e Add optional single click activation mode for icon view
https://bugzilla.gnome.org/show_bug.cgi?id=345023
2013-01-20 16:49:30 -05:00
William Jon McCann
dcc412c88e Add an optional single click activation mode to treeview
https://bugzilla.gnome.org/show_bug.cgi?id=345023
2013-01-20 16:49:30 -05:00
John Lindgren
bb10561450 More or less revert 91949934 which broke the regression test for bug #111500.
https://bugzilla.gnome.org/show_bug.cgi?id=691842
2013-01-18 01:30:16 +01:00
Benjamin Otte
e84ed710a2 window: allocation x/y is 0,0
This was incorrect in 97ba4b1b8e.
2013-01-17 20:56:31 +01:00
Sébastien Wilmet
2c3b9a89a9 iconhelper: small code simplification
https://bugzilla.gnome.org/show_bug.cgi?id=687025
2013-01-17 16:21:18 +01:00
Michael Natterer
c1e0317824 quartz: merge the clipboard storing code from gtk-2-24 2013-01-17 13:16:02 +01:00
John Lindgren
11e78d9d9f docs: Update docs for recent treeviewcolumn changes 2013-01-17 02:24:15 +01:00
Benjamin Otte
104be175fc docs: Don't mark up numbers 2013-01-17 02:12:44 +01:00
Carl-Anton Ingmarsson
b5887bd26e treeviewcolumn: always hide button widget if the header is not shown
Fixes the following warning from appearing:
Gtk-WARNING **: GtkTreeView 0xb44010 is mapped but visible child
GtkButton 0xad9320 is not mapped
2013-01-17 00:45:33 +01:00
Benjamin Otte
a763738f15 cssvalue: Remove NULL check
The value cannot ever be NULL here.
2013-01-15 15:33:53 +01:00
Benjamin Otte
301e22121a cssvalue: Move value initialization
Makes it easier to track places where tha value is not initialized.
2013-01-15 15:31:59 +01:00
Benjamin Otte
b60478bb49 cssvalue: Fix return_if_fail() calls... 2013-01-15 15:29:23 +01:00
Benjamin Otte
993e3f715f cssvalue: Remove useless call 2013-01-15 15:24:04 +01:00
John Lindgren
0050d469b5 Better resize of expandable columns
Since 16195ad the “expand” property is always set to FALSE when a
column is resized.  This commit takes a different approach and enables
“expand” whenever the column is wide enough.  An appropriate
“fixed-width” (so that the desired width is achieved after expanding) is
calculated using equations that are explained in the code.

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:41:30 +01:00
John Lindgren
6d53c2339f Use minimum/natural size semantics
Rewrites gtk_tree_view_column_request_width() and
gtk_tree_view_size_allocate_columns() to respect the minimum and natural
sizes that are already being returned by
gtk_cell_area_context_get_preferred_width().

The convoluted logic explained (not!) by this comment has been removed:
“Only update the expand value if the width of the widget has changed, or
the number of expand columns has changed, or if there are no expand
columns, or if we didn't have an size-allocation yet after the last
validated node.”  This logic seems to have been a workaround for the
“jumping” behavior fixed in 16195ad and is no longer necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:41:20 +01:00
John Lindgren
9b6661a0bf Minor refactoring
No functional change, only moves a self-contained block of code out of
size_allocate_columns() to its own function.

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:40:40 +01:00
John Lindgren
16195adc92 Use fixed width for resizing
Removes the hidden “resized-width” and “use-resized-width” properties
from GtkTreeViewColumn and instead uses the “fixed-width” property to
serve the same purpose.  “fixed-width”, if set, will now override the
auto-sized width (-1 is now a legal value meaning “not set”).

Additional “cleanups” in this commit:

1. When the user resizes the column the “expand” property is now also
set to FALSE, in order to prevent the column from suddenly jumping to a
different width when the window is resized.

2. The code that translated mouse movement to column sizes has been
simplified:
the change in column width is now calculated directly from the distance
the mouse cursor has traveled.  Weird behavior that might have happened
previously if the position of the column changed during resizing, is now
prevented.

3. There was some lengthy logic handling the keyboard shortcuts used to
resize treeview columns, which would call gtk_widget_error_bell() once
the minimum or maximum width was reached.  Instead of rewriting these
checks I simply set the “fixed-width” property to what was requested,
relying on the fact that it is already clamped between the minimum and
maximum width during size allocation.
I will greatly surprised if anyone notices the missing error bell.

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:40:40 +01:00
John Lindgren
d0e0e48942 Kill gtk_tree_view_size_request
Splits up size_request() so that the height calculations are only done
when get_preferred_height() is called and the width calculations are
only done when get_preferred_width() is called.  Since
get_preferred_width() does not change the treeview->priv->width value,
treeview->priv->prev_width will always be equal to it and can therefore
be removed.  The only place where prev_width was used is a block in
gtk_tree_view_size_allocate().  This block seems to be adjusting the
horizontal scrollbar to account for treeview->priv->width having been
changed in size_request() and should no longer be necessary.  A similar
block immediately above it seems to already account for the width change
in size_allocate().

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:40:40 +01:00
John Lindgren
9194993453 Remove extraneous size request
After “validation” (i.e., background size calculations) of some cells,
size_request() was called here to update the internally cached size of
the treeview.  Apparently not updating the sizes leads to some kind of
“inconsistency” that messes with top_row_to_dy().  In the GTK3 model for
size allocation, things are more complicated.  The treeview can’t just
go ahead and calculate its own size any more; instead it reports both a
“minimum” and a “natural” size, and it doesn’t know what size it will
actually get until size_allocate().  It may be necessary to update
top_row_to_dy() to deal with not knowing the exact size.

https://bugzilla.gnome.org/show_bug.cgi?id=691751
2013-01-15 14:40:40 +01:00
Matthias Clasen
065f9529ce Remove a no-longer existing symbol 2013-01-15 00:03:58 -05:00
Matthias Clasen
af805e9cb6 Remove some non-warranted checks from builder tests
These tests were making assumptions about the properties of
cell renderers outside of rendering, which we don't give any
guarantees for.
2013-01-14 23:09:40 -05:00
Benjamin Otte
cba4156ef6 scrolledwindow: Use child-visible instead of visible for scrollbars
We want to reserve space for the size of the scrollbars even when they
are not visible. And because toggling visibile to off now returns 0 for
size requests, this won't work anymore.
2013-01-14 18:13:10 +01:00
Benjamin Otte
97ba4b1b8e window: Don't use set_allocation() to store cached values
The window size can be queried on widget->window directly, no need to
store it in widget->allocation.
This change is necessary because gtk_widget_set_allcation() is now
checking invariants that assume it's called from insize
gtk_widget_size_allocate() and that wasn;t the case here.
2013-01-14 18:13:10 +01:00
Cosimo Cecchi
aa77cd6501 range: don't trim the trough rectange by the trough margin
Commit e32da246a8 made GtkRange's trough
respect the CSS margin property, but it also trimmed the box in which
the trough reacts to click events by the margin.
We still want to catch events in that area instead, and just make sure
the margin is applied when drawing (which was already implemented by
that commit).

This commit reverts the parts of
e32da246a8 that didn't involve drawing,
fixing the bug.

https://bugzilla.gnome.org/show_bug.cgi?id=691677
2013-01-14 10:20:43 -05:00
Benjamin Otte
f260affbb8 a11y: Implement get_name() instead of setting variables
This avoids a later free of this const value.
2013-01-14 00:01:44 +01:00
Matthias Clasen
fff4c8e841 Documentation fixes
The documentation for GtkMenuButton was still referring to a
"menu" properties in several places, though it has been renamed
to "popup".
2013-01-13 08:27:20 -05:00
Matthias Clasen
974f8dfc71 Typo fix 2013-01-13 08:27:20 -05:00
Ross Burton
53083ea7b4 build: support cross-compilation by natively building gtk-update-icon-cache
When cross-compiling, instead of depending on a natively built GTK+ (which means
building Glib, ATK, Pango, gdk-pixbuf, libX11...) for gtk-update-icon-cache,
find the host compiler and gdk-pixbuf, and build another gtk-update-icon-cache
with that.

This uses AX_PROG_CC_FOR_BUILD from autostars to find the host compiler, and
assumes that you'd set PKG_CONFIG_FOR_BUILD to a host pkg-config binary.

https://bugzilla.gnome.org/show_bug.cgi?id=691301
2013-01-10 15:00:32 +00:00
William Jon McCann
e8224d138d Use Website instead of Homepage
https://bugzilla.gnome.org/show_bug.cgi?id=691375
2013-01-08 19:45:20 -05:00
Benjamin Otte
ad723bd9a9 widget: Remove leftover debug statement
Seems we didn't hit this very often. :)
2013-01-08 16:10:30 +01:00
Benjamin Otte
b495ce5446 widget: Give some meaning to "visible"
GtkWidget::visible is required for the widget to:
- have a preferred size other than 0/0
- have a size allocated
- return other values than { -1, -1, 1, 1 } from get_allocation()

This is an experimental patch aiming to make concepts and behaviors
inside GTK more concreate. GtkWidget::visible is now essentially what
CSS does for "display: none".

Note that if you want the effect of CSS's "visibility: hidden", you'll
have to use a GtkNotebook with an empty page as the concept of reserving
space but not drawing anything isn't supported natively in GTK.
2013-01-08 14:56:02 +01:00
Benjamin Otte
9be7e3e2d8 treeviewcolumn: Show button if we're visible
Previously, we were happily working with a hidden button.
2013-01-08 14:55:41 +01:00
Benjamin Otte
da100207b3 sizerequest: Make invisible widgets return a 0x0 size. 2013-01-08 12:26:04 +01:00
Benjamin Otte
33e690a9ad tests: Don't use unicode escapes
Otherwise gcc complains that GTK isn't C99.
2013-01-08 12:24:32 +01:00
Benjamin Otte
b867970bf4 tests: return 0; from main()
So that gcc stops complaining.
2013-01-08 12:23:52 +01:00
Benjamin Otte
8a644e4f16 stylecontext: Make font hack not crash
It's a lot uglier now, but it shouldn't crash anymore.

We must update the font description for animations, but we can't free it
on query, because some paths call gtk_style_context_get_font() twice in
a row without stopping the use of the first call. So us just creating a
new font description all the time and unreffing the old one is not a
good idea. So we just mere the new one into the old one.

https://bugzilla.gnome.org/show_bug.cgi?id=691186
2013-01-07 01:11:42 +01:00
Murray Cumming
7114e63cee iconhelper: treat the empty string as a NULL stock-id
https://bugzilla.gnome.org/show_bug.cgi?id=687025
2013-01-04 17:21:11 +01:00
Andrew Potter
00795e8d05 GtkApplication: properly unexport x11 menus
https://bugzilla.gnome.org/show_bug.cgi?id=688362
2013-01-04 15:50:10 +01:00
Fabian Henze
7ace438166 Fix the annotations of gtk_color_chooser_get_rgba()
https://bugzilla.gnome.org/show_bug.cgi?id=687633
2013-01-04 15:42:39 +01:00
Volker Sobek
d2c6a6bdfe docs: fix typo in gtkbuildable
https://bugzilla.gnome.org/show_bug.cgi?id=690305
2013-01-04 15:36:32 +01:00
Tristan Brindle
f48e9b1d20 Add missing annotation for gtk_combo_box_text_get_active_text()
https://bugzilla.gnome.org/show_bug.cgi?id=688140
2013-01-04 15:30:46 +01:00
Benjamin Otte
6b9b925add widget: Fix initial state flags for RTL 2012-12-29 02:33:14 +01:00
Benjamin Otte
3e979d911b widget: Fix state propagation code
Previously, with STATE_FLAGS_REPLACE we would unset _all_ the state
flags on children, not just the ones that do propagate. This caused the
RTL/LTR flags to get lost.
2012-12-29 02:24:27 +01:00
Benjamin Otte
b068b18c78 menu: Huh?
What was that code supposed to achieve? Why are we unsetting flags that
might be useful?
2012-12-29 02:07:09 +01:00
Benjamin Otte
cc986fdc1c widget: Remove underscore prefix from static function 2012-12-29 02:06:51 +01:00
Benjamin Otte
b39bb4400e progressbar: Store activity position as percentage
... instead of in absolute pixels.
2012-12-29 01:00:15 +01:00
Benjamin Otte
02b440b466 progressbar: Remove activity_step from private struct
It's only used locally, so use a local variable
2012-12-29 01:00:15 +01:00
Matthias Clasen
5adecf183b Move single-include guards inside include guards
gcc has optimizations for include guards that only work
if they are outermost in the the header.
https://bugzilla.gnome.org/show_bug.cgi?id=689810
2012-12-28 09:57:56 -05:00
Matthias Clasen
6bc2a2da48 Another trivial sorting fix 2012-12-27 12:15:05 -05:00
Matthias Clasen
38963870eb Rename gtkcolorswatchaccessible.h
Call it gtkcolorswatchaccessibleprivate.h. This matches what we're
doing for non-public widget headers in gtk/.
2012-12-27 12:11:12 -05:00
Matthias Clasen
12f9b81b1e Drop separate scrollbar accessible implementation
It didn't really add anything to the range accessible implementation.
2012-12-27 12:06:23 -05:00
Matthias Clasen
d198ea6296 Install gtk-a11y.h
We add a separate gtk-a11y.h single-include header for
them. This header will work much the same as gtkx.h. It
will be installed in /usr/include/gtk-3.0/gtk, but you
have to include it separately.
2012-12-27 12:05:03 -05:00
Matthias Clasen
5fa4232404 Install a11y headers
We install the headers for the a11y implementations in
/usr/include/gtk-3.0/gtk/a11y/.
2012-12-27 12:05:02 -05:00
Matthias Clasen
c3577c66e5 Add single-include guards to a11y headers
More preparation for installing these headers.
2012-12-27 12:05:02 -05:00
Matthias Clasen
07a00d5939 Fix inter-header includes
Since we are going to install these headers soon, we need
to make their mutual includes work in the installed location
as well. Also, avoid including individual gtk headers, to
avoid trouble with single-include guards.
2012-12-27 12:04:01 -05:00
Matthias Clasen
d2944ce633 More gail removal
Rename GailMisc to GtkMiscImpl.
2012-12-27 11:27:46 -05:00
Matthias Clasen
4cd806ff0c Rename and clean up gailutil 2012-12-27 11:27:45 -05:00
Matthias Clasen
651241b685 Some renaming
Move gail.h to gtkaccessibility.h, and libgail to libgtka11y.
2012-12-27 11:27:45 -05:00
Matthias Clasen
221ac71278 Cosmetics
Replace GAIL in top comments by 'GTK+ - accessibility implementations'.
2012-12-27 11:27:44 -05:00
Matthias Clasen
e4b5e94eb9 Make accessible implementations public
This commit exposes the get_type() functions and standard
headers for accessible implementations. This makes it possible
to derive from the GTK accessible implementations without
GType magic tricks. This is necessary, because we require the
a11y type hierarchy to be parallel to the widget type hierarchy.
So, if you derive a widget and need to adjust its a11y implementation,
you have to be able to derive its accessible implementation.

This commit probably exposes more than is absolutely necessary,
it also exposes accessibles of widgets that are unlikely candidates
for deriving from.
2012-12-27 11:23:22 -05:00
Matthias Clasen
853b5e5fa2 Trivial sorting fix 2012-12-27 01:50:54 -05:00
Paolo Borelli
70a5718b15 Paint GtkFrame background correctly when there is a label 2012-12-23 16:35:55 +01:00
Benjamin Otte
308971cc2e roundedbox: Fix copy-paste error
y coordinates don't care about the right value, they want bottom.
2012-12-21 19:47:40 +01:00
Cosimo Cecchi
81fa183b79 aboutdialog: ensure the credits page uses the "view" style class
Since not every theme renders a background for a GtkViewport (and
Adwaita master doesn't), ensure the grid+viewport we use to emulate a
text view here uses the "view" style class.
2012-12-21 17:55:26 +01:00
Paolo Borelli
751a330ad8 Paint GtkFrame background
It already paints the css border, so let's make it also honor css
background. This is needed to have a box of a different color around
some widgets (e.g. latest gnome-clocks design)
2012-12-21 13:53:02 +01:00
Benjamin Otte
cf712c462d combobox: Don't special-case RTL child positions anymore
If you want to get rounded corners on an hbox, instead of
  :first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
you now need to write:
  :first-child, :last-child:dir(rtl) {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child, :first-child:dir(rtl)
  {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
2012-12-18 18:25:42 +01:00
Benjamin Otte
821a675013 toolbar: Don't special-case RTL toolbar child positions anymore
If you want to get rounded corners on an hbox, instead of
  :first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
you now need to write:
  :first-child, :last-child:dir(rtl) {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child, :first-child:dir(rtl)
  {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
2012-12-18 18:25:42 +01:00
Benjamin Otte
6f86e57c4f box: Don't special-case RTL hbox child positions anymore
If you want to get rounded corners on an hbox, instead of
  :first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
you now need to write:
  :first-child, :last-child:dir(rtl) {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  :last-child, :first-child:dir(rtl) {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
2012-12-18 18:25:42 +01:00
Benjamin Otte
52768ee6ec stylecontext: Deprecate direction property
...  and the functions implementing it. Also deprecate the direction
getter on GtkThemingEngine.
2012-12-18 18:25:42 +01:00
Benjamin Otte
a73cc55e02 stylecontext: Use state flags for direction
... instead of using a custom direction member.

And with that, GtkWidget doesn't need to call
gtk_style_context_set_direction() anymore.
2012-12-18 18:25:42 +01:00
Benjamin Otte
1bf3de223a widget: Set state flags for direction 2012-12-18 18:25:42 +01:00
Benjamin Otte
f239edaf9c css: Parse and print the new state flags 2012-12-18 18:25:41 +01:00