summaryrefslogtreecommitdiff
path: root/gtk
Commit message (Collapse)AuthorAgeFilesLines
* widget: Add Since annotation to gtk_widget_queue_allocateTimm Bäder2016-05-191-0/+2
|
* scrolledwindow: Remove child before destroying selfBenjamin Otte2016-05-191-0/+5
| | | | | | Children tend to call back into the scrolled window while being removed and that doesn't work too well if the scrolled window is destroyed already as Christian Hergert found out.
* cssimage: Make it possible to shrink builtin check/optionmarksBenjamin Otte2016-05-191-30/+10
| | | | ... below 7px of size.
* revealer: emit notify::child-revealed when animation stopsMatthieu Gautier2016-05-191-2/+5
| | | | | | | | | | | | Depending of float rounding during target calculation, the size of the GtkRevealer can be set to zero will the animation is not finished. If the GtkRevealer is in a GtkPaned, it will be hidden and so the animation will be stopped before it is finished. In this case, force the emission of the child-revealed signal to let client code know the animation is finished. https://bugzilla.gnome.org/show_bug.cgi?id=765973
* infobar: Fix typoTimm Bäder2016-05-191-1/+1
| | | | Style class names are prefixed with a '.'
* Adwaita: fix scale themingLapo Calamandrei2016-05-193-176/+132
| | | | | | rely on toplevel styleclass for scale with marks. See https://bugzilla.gnome.org/show_bug.cgi?id=766440
* color scale: Really sync style classes with GtkScaleLapo Calamandrei2016-05-191-1/+1
| | | | sync the alpha scale styleclass too.
* color scale: Sync style classes with GtkScaleMatthias Clasen2016-05-191-2/+2
| | | | | We should use the same style classes here, to avoid theme confusion.
* gtkselectionprivate: minor style fixIgnacio Casal Quinteiro2016-05-191-1/+1
| | | | This seems to make some issue with the gtk# scanner.
* scale: Use more succinct names for style classesMatthias Clasen2016-05-191-7/+7
| | | | | | | | | Use .marks-before/after to indicate the presence of marks. As Lapo points out, compatibility with the previous names is not really that important, since everything else changed around it. https://bugzilla.gnome.org/show_bug.cgi?id=766440
* scale: Bring back marks-related style classesMatthias Clasen2016-05-181-1/+20
| | | | | | | | | | It turns out that it is too hard (and in some cases, impossible) to get this information from node positioning, so bring back the .scale-has-marks-above/below style classes on the main node. This should allow us to fix the 'pointy sliders'. https://bugzilla.gnome.org/show_bug.cgi?id=766440
* Docs: Clarify life cycle issueMatthias Clasen2016-05-171-0/+4
| | | | | | | gtk_gesture_get_last_event() wasn't very clear about how long it is safe to use the returned pointer. (cherry picked from commit c891ceb31df1fb16c7727be46cee4d8a9fc0b447)
* DND: Avoid a use-after-freeMatthias Clasen2016-05-171-3/+7
| | | | | | | | Cancelling the gesture causes the last_event pointer to become invalid. Make a copy of the event so we can keep using it regardless of the gesture state. (cherry picked from commit 358eec297204b438809692a24cc3649658dbab5a)
* docs: Update examples of matching key bindingsEmmanuele Bassi2016-05-091-6/+9
| | | | | | The selector for matching GtkEntry has changed to `entry` after 3.20. https://bugzilla.gnome.org/show_bug.cgi?id=766166
* Adwaita: relocate a selectorLapo Calamandrei2016-05-063-10/+6
| | | | | relocate treview acceleditor > label in the treeview section and add a comment for a testcase.
* Adwaita: tidy treeview style properties...Lapo Calamandrei2016-05-063-23/+23
| | | | ...removing a double definition in the process.
* scale: Fix mark positioning at the left/top edgeMatthias Clasen2016-05-051-1/+5
| | | | | | | We were failing to take the widget allocation.x/y into account when deciding whether we need to push in the mark. https://bugzilla.gnome.org/show_bug.cgi?id=765922
* searchenginetracker: Quote fts match so it's seen as a single phraseCarlos Garnacho2016-05-051-5/+10
| | | | | | | FTS5 has a complex enough syntax that it makes not much sense to wrap in simple search boxes. https://bugzilla.gnome.org/show_bug.cgi?id=765981
* css names are always setMatthias Clasen2016-05-051-2/+1
| | | | | No need to check for it, we set the css name on GtkWidgetClass ourselves.
* switch: Remove .slider from slider gadgetTimm Bäder2016-05-051-1/+0
| | | | | As the documentation states, neither the switch nor the slider gadget should be using any style classes.
* switch: Create less pango layoutsTimm Bäder2016-05-051-35/+60
| | | | | | Instead of creating 2 pango layouts in every draw() and on in _get_content_size (and calling into gettext twice in both cases), just keep the layouts around and create them in only one place.
* label: Also initialize textTimm Bäder2016-05-051-1/+1
| | | | | So gtk_label_get_text returns the default value of "". Broke the GtkModelButton default value test.
* label: don't use set_text in gtk_label_newTimm Bäder2016-05-051-3/+1
| | | | | It would just set up lots of things with the default values, but a common case is that a few gtk_label_set_* calls follow.
* label: minimum/natural size parameters are not nullableTimm Bäder2016-05-051-5/+2
| | | | Stop comparing them to NULL.
* label: Don't set out parameters twiceTimm Bäder2016-05-051-6/+6
| | | | | We set them later again when we calculate the vertical size, so just move the general assignment to -1 into the horizontal branch.
* widget: Remove useless NULL checkTimm Bäder2016-05-051-3/+3
| | | | | We are checking for allocation != NULL at the beginning of the function already. This also means that the allocation parameter is not nullable.
* cssimagebuiltin: Remove icons that don't draw anything anymoreBenjamin Otte2016-05-055-16/+10
|
* cssimagebuiltin: Remove unused variablesBenjamin Otte2016-05-052-21/+1
|
* css: Stop drawing double borders for builtinsMatthias Clasen2016-05-051-34/+1
| | | | | | | The fallback code for rendering builtin checks, radios and expanders was using border parameters. With the generic gadget borders using the same parameters, this was giving double borders.
* shadowsvalue: Don't draw invisible box shadowsTimm Bäder2016-05-051-0/+12
|
* Fix gtk_paned_set_position to set position_set consistentlyMatthias Clasen2016-05-051-11/+14
| | | | | As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=765676, we were failing to set position_set if the position did not change.
* GtkPlacesView: check for network:// URI support before using itРуслан Ижбулатов2016-05-051-0/+12
| | | | | | | | Specifically, this URI is not supported on Windows, but GFile will do its "best" and turn it into GLocalFile("$pwd/network"), with spectacularly bad results. https://bugzilla.gnome.org/show_bug.cgi?id=765858
* dnd: Make sure to free a stashed eventMatthias Clasen2016-05-051-0/+3
| | | | I am not sure if this happens in practice, but better to be safe.
* gesture: Don't leak stashed eventsMatthias Clasen2016-05-051-1/+12
| | | | These events were never freed.
* Use a better hash for arcsMatthias Clasen2016-05-051-1/+17
|
* box gadget: Redo expand flag handlingMatthias Clasen2016-05-057-101/+67
| | | | | | | | | | | | | | | | | We only keep one align flag per child, so it seems odd to keep separate h/v expand flags. Just keep one expand flag and interpret it according to orientation. Allow setting the expand flag for child widgets too, though, so we can make widget expand without interfering with the recursive widget expand flag. Update all callers. Use the new possibility of expanding child widgets to make the label of check and radio buttons expand. This fixes unexpected behavior of these widgets in RTL in some places. https://bugzilla.gnome.org/show_bug.cgi?id=765742
* expander: Reverse alignments in RTLMatthias Clasen2016-05-051-0/+2
| | | | Flip alignments of the title gadget children.
* check button: Reverse alignments in RTLMatthias Clasen2016-05-051-0/+2
| | | | Flip alignments for the box gadget children.
* box gadget: allow reversing alignmentsMatthias Clasen2016-05-052-4/+32
| | | | | | | In RTL, we want to interpret GTK_ALIGN_START and _END in the opposite way. Since we don't give gadgets a text direction, just allow setting an align_reverse flag to the box gadget.
* GtkTreeView: change child repositioning to preserve localityРуслан Ижбулатов2016-05-051-4/+32
| | | | | | | | | | | | | | | | | If there was a piece of text in the cell, then when the edit entry is shown for that cell, it should have a piece of text in it roughly at the same location. Therefore, when child widget is enlarged (child preferred size exceeds cell size), extra width should be added by extending either left or right edge depending on text direction. If after that the child sticks outside of the treeivew visible region, try to push it back inside (breaking its alignment with the cell), again, giving preference (i.e. adjusting it last) to either left or right edge depending on text direction. https://bugzilla.gnome.org/show_bug.cgi?id=765471
* Adwaita: add a background to cellrendertextLapo Calamandrei2016-05-053-0/+13
|
* pixelcache: reuse existing timeout source when possibleChristian Hergert2016-05-051-31/+24
| | | | | | | | | | | | This avoids the g_source_remove(), g_source_destroy(), g_timer_source_new(), and g_source_set_name_by_id() in the common case. Instead, we reuse our previous source and update the ready time to our new deadline. We lose the coalescing with g_timeout_add_seconds(), but that is not going to help in the common case anyway (unless you have three hands and can scroll multiple pixelcached backed widgets at once). https://bugzilla.gnome.org/show_bug.cgi?id=765640
* dnd: Fix some issues with drag iconsMatthias Clasen2016-05-051-50/+34
| | | | | | | | In non-composited environments, we were ending up with all-black drag icons, because nothing was drawing the background of our new toplevel. Fix this by drawing background when we are not composited. We don't do this when composited, since we want to allow transparent icons.
* dnd: Set attributes from all widgets for text drag iconsMatthias Clasen2016-05-051-6/+4
| | | | There is nothing textview-specific here.
* progressbar: Enforce invariantsMatthias Clasen2016-05-051-1/+1
| | | | | | | When measuring gadgets, minimum must come out <= natural. Make sure we don't fail this when measuring progressbar text. https://bugzilla.gnome.org/show_bug.cgi?id=765644
* dnd: Fix lifecycle issues with widgets as drag iconsMatthias Clasen2016-05-051-0/+13
| | | | | | | | | The documentation clearly says that the widget is not destroyed, but we were in fact failing to keep it alive, since it was still a child or the icon_window when we destroy that. Fix this by reparenting the icon_widget out before. Also, deal with the possibility that the application might destroy the widget halfway through, for whatever reason.
* font button: Fix translation of font-name defaultMatthias Clasen2016-05-051-1/+1
| | | | | The default value should come out of regular translations, not property translations.
* GtkLabel: Use g_clear_objectTimm Bäder2016-05-051-15/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=765496
* GtkLabel: Don't manually iterate over link listTimm Bäder2016-05-051-35/+16
| | | | | | | | There are various functions to access links based on their index for a11y. We can spare quite a few lines of code by just using g_list_nth_data instead of iterating over the list ourselves. https://bugzilla.gnome.org/show_bug.cgi?id=765496
* builtinicon: avoid calculating font-metrics in vast majority of casesChristian Hergert2016-05-051-16/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We perform lots of gadget allocations that require allocating a GtkBuiltinIcon. One notable example is the scrollbar for a scrolled window. In the process of doing this, we often calculate baseline information that isn't necessary. With how much this code path gets exercised, its worth catching the result for the common case, which is that the font-description has not changed and we are using the default language the application was started with. This simply caches the previous result and verifies that we can reuse it with pango_font_description_hash() and a simple language check. Numbers below are scrolling through a textview with GDK_KEY_Down. Before: SELF CUMULATIVE FUNCTION [ 0.08%] [ 9.26%] gtk_builtin_icon_get_preferred_size [ 0.01%] [ 8.82%] pango_context_get_metrics [ 0.02%] [ 0.16%] gtk_widget_get_pango_context [ 0.06%] [ 0.06%] pango_context_get_language [ 0.01%] [ 0.02%] g_type_check_instance_cast [ 0.02%] [ 0.02%] strlen [ 0.02%] [ 0.02%] pango_context_get_font_description [ 0.02%] [ 0.02%] g_list_foreach [ 0.01%] [ 0.01%] gtk_css_style_get_value [ 0.01%] [ 0.01%] itemize_with_font [ 0.01%] [ 0.01%] pango_context_get_type [ 0.01%] [ 0.01%] get_base_metrics [ 0.00%] [ 0.01%] pango_font_metrics_unref [ 0.01%] [ 0.01%] g_list_free [ 0.01%] [ 0.01%] gtk_builtin_icon_get_type After: SELF CUMULATIVE FUNCTION [ 0.08%] [ 0.18%] gtk_builtin_icon_get_preferred_size [ 0.02%] [ 0.02%] pango_font_description_hash [ 0.00%] [ 0.02%] gtk_widget_get_pango_context [ 0.00%] [ 0.02%] g_object_get_qdata [ 0.00%] [ 0.02%] g_datalist_id_get_data [ 0.02%] [ 0.02%] gtk_builtin_icon_get_type [ 0.01%] [ 0.01%] pango_context_get_font_description [ 0.00%] [ 0.01%] - - kernel - - [ 0.01%] [ 0.01%] pango_context_get_language [ 0.00%] [ 0.01%] gtk_css_style_get_value [ 0.00%] [ 0.01%] gtk_css_gadget_get_style https://bugzilla.gnome.org/show_bug.cgi?id=765486