summaryrefslogtreecommitdiff
path: root/gtk/gtkentrycompletion.c
Commit message (Collapse)AuthorAgeFilesLines
* entry completion: Clarify index in documentationChristian Dywan2015-07-311-0/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=579466
* entrycompletion: no need to return booleanGeorges Basile Stavracas Neto2015-07-031-5/+3
| | | | | | | | The boolean _gtk_entry_completion_resize_popup's return value is not used anywhere, and only adds more complexity for the method. https://bugzilla.gnome.org/show_bug.cgi?id=751913
* Formatting fixMatthias Clasen2015-04-051-4/+4
|
* entrycompletion: Ensure transient_for is set before showing windowCarlos Garnacho2015-03-101-11/+6
| | | | | | | | | | gtk_entry_set_completion() (and _gtk_entry_completion_connect underneath) may happen when the entry has no toplevel yet. This window acts as the "parent" for subsurface windows on wayland, and is indispensable to create its backing wl_subsurface, so this resulted in non-visible popups there. Fix this by ensuring transient_for is set before showing the popup. https://bugzilla.gnome.org/show_bug.cgi?id=745463
* GtkEntryCompletion: fix sizing bug with multiple cellsMatt Watson2014-12-101-0/+6
| | | | | | | | | | | | | | | | | | When using a completion with some custom cells in the cell layout, if would often size wrong when first presented on screen. The entry completion is the only place in the entire gtk code base that calls gtk_tree_view_column_cell_get_size outside of gtktreeview itself. It calls into the function before the tree view has done some important validation on its cell state, the net result of which is only the first element in the gtkcellareabox the entry completion uses well actually have its size respected. We now call gtk_widget_get_preferred_size on the tree view before calling into the individual cell size routines, to guarantee that the tree view has run its validate_rows routine and cell state is valid. https://bugzilla.gnome.org/show_bug.cgi?id=741130
* entrycompletion: Remove outdated codeBenjamin Otte2014-10-031-15/+0
| | | | | | I tried asking but nobody knew why it is necessary to set the background color of the first cell. It seems with CSS styling this is completely unnecessary.
* GtkEntryCompletion: Treat ::text-column speciallyMatthias Clasen2014-09-031-2/+2
| | | | | | | | | | Using the setting for this property conflicts with the documentation for gtk_entry_completion_set_text_column() which explicitly states that setting the property directly behaves differently. Concretely, this caused the file chooser entry completion popup to have two columns (with identical content). This partially reverts 331c28b369edae9aa3df2a24833ccb02ef8d7152.
* entrycompletion: Mark popup window as subsurface on waylandCarlos Garnacho2014-08-261-0/+14
| | | | | | | This will make the completion window use GDK_WINDOW_SUBSURFACE and be shown relative to the parent window without involving compositor grabs. https://bugzilla.gnome.org/show_bug.cgi?id=695504
* Adding 'no-matches' signal support to gtkentrycompletionSaurabh2014-06-281-0/+26
| | | | | | | Add a new 'no-matches' signal and add a function pointer to gtkentrycompletionclass and remove one from the padding at the end. https://bugzilla.gnome.org/show_bug.cgi?id=726566
* gtk: Don't use GObjectClass.constructorJasper St. Pierre2014-06-261-18/+7
| | | | Use the newer constructed instead, which has a fast path in GObject.
* GtkEntryCompletion: Use G_PARAM_EXPLICIT_NOTIFYMatthias Clasen2014-06-091-8/+12
| | | | Also, use the setter for text-column, internally.
* Split GtkWindowGroup into its own fileMatthias Clasen2014-06-041-0/+1
| | | | | gtkwindow.c is too big and too messy. This is a small step towards making it better.
* gtkentrycompletion: fix a critical warningClaudio Saavedra2014-03-061-0/+3
| | | | | | | | There are early returns in this method before the completion timeout is set later on, so set the source to 0 to avoid trying to remove it later again. https://bugzilla.gnome.org/show_bug.cgi?id=725824
* Revert "GtkEntryCompletion: call setter for "text-column""Matthias Clasen2014-03-031-2/+1
| | | | This reverts commit 9761a966d8ffda724226a21022a42ce40932b443.
* Revert "gtk_entry_completion_set_text_column: reuse old renderer"Matthias Clasen2014-03-031-116/+12
| | | | This reverts commit f6a0debdd9d4f90b9d6b54c263b10926ba530c7e.
* Revert "GtkEntryCompletion: call cell_area()->clear()"Matthias Clasen2014-03-031-5/+1
| | | | This reverts commit 3c2829713463228094d66170564a4d6d7c31c245.
* Revert "gtk_entry_completion_get_cells: revert returning NULL"Matthias Clasen2014-03-031-14/+10
| | | | This reverts commit a9a6fb045a0faedb30ffdad4ed979f380c483ebd.
* Revert "GtkEntryCompletion: fix warning"Matthias Clasen2014-03-031-1/+1
| | | | This reverts commit 2f0c610c35215229e53aac4c37fdea49e25f3742.
* docs: use Returns: consistentlyWilliam Jon McCann2014-02-191-13/+13
| | | | Instead of Return value:
* docs: use apostrophes in *n'tWilliam Jon McCann2014-02-071-1/+1
|
* docs: use proper apostropheWilliam Jon McCann2014-02-071-4/+4
| | | | https://wiki.gnome.org/Design/OS/Typography
* docs: Use markup for linksWilliam Jon McCann2014-02-071-4/+2
|
* docs: use proper quotesWilliam Jon McCann2014-02-051-2/+2
|
* GtkEntryCompletion: fix warningLars Uebernickel2013-11-031-1/+1
|
* gtk_entry_completion_get_cells: revert returning NULLLars Uebernickel2013-11-031-10/+14
| | | | | Too many applications and libraries depend on accessing the internally created cell renderer. Allow that again, but print a warning.
* GtkEntryCompletion: call cell_area()->clear()Lars Uebernickel2013-11-031-1/+5
| | | | | | Call gtk_cell_layout_clear() on the area instead of the completion in gtk_entry_completion_clear_text_column_renderer(), because it is also called from within gtk_entry_completion_clear().
* gtk_entry_completion_set_text_column: reuse old rendererLars Uebernickel2013-11-021-12/+116
| | | | | | | | | | | | | | | | | | | | | gtk_entry_completion_set_text_column() always added a cell renderer, regardless of whether there was an existing one already installed. This patch reuses an old renderer if it exists, but only if it was added by a previous call to this function. To avoid conflicts, all renderers that were added manually are removed when calling this function. Also, the renderer added by this function is removed when manually adding new renderers. This effectively gives GtkEntryCompletion two modes (managed and manual cell renderers) and allows seamless switching between the two. This is a minor API break. However, this shouldn't be an issue in practice as applications couldn't call set_text_column() more than once because of this bug. Also, it is unlikely that many applications mix set_text_column() and custom cell renderers. The interaction between the two modes was erratic and not documented well. https://bugzilla.gnome.org/show_bug.cgi?id=635499
* GtkEntryCompletion: call setter for "text-column"Lars Uebernickel2013-11-011-1/+2
| | | | | | | | | | | Call gtk_entry_completion_set_text_column() when setting the "text-column" property directly. The completion appeared empty when setting "text-column" directly (for example from a GtkBuilder file), because the setter creates and adds the GtkCellRendererText. https://bugzilla.gnome.org/show_bug.cgi?id=710533
* all: Add names to timeoutsBastien Nocera2013-10-231-0/+1
| | | | | | | Add names to every timeout we setup, so it's easier to track their usage, and debug possible misbehaviour. https://bugzilla.gnome.org/show_bug.cgi?id=710651
* entrycompletion: set the GtkWindow as attached to the GtkEntryCosimo Cecchi2013-09-251-0/+4
| | | | | | This way themes can easily select that window to apply custom styles. https://bugzilla.gnome.org/show_bug.cgi?id=708414
* gtk: Use new macros for defining private dataEmmanuele Bassi2013-07-091-5/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702996
* entrycompletion: Don't reconnect signals all the timeBenjamin Otte2013-03-051-38/+33
| | | | | | | | | | We block signal handlers areound GtkEntry signal emission and if those signals get used to call functions on the completion that cause a reconnection of the signals, then the reconnected signals will not be blocked anymore (so they might get emitted?) and unblocking the old signal id will later cause warnings. Fixes spurious warnings in gtk/tests/filechooser tests.
* a11y: Set up popup-for relation between entry and completionMatthias Clasen2013-02-031-0/+36
| | | | | This may address https://bugzilla.gnome.org/show_bug.cgi?id=658148
* Fix duplicate columns in filechooser entry completionMatthias Clasen2012-10-171-2/+1
| | | | | | This partically reverts commit 331bba1ad6c5d9535fc5a827b91019f5824e25a7, which broke documented behaviour.
* gtk: Make functions static that don't need to be non-staticBenjamin Otte2012-10-021-3/+3
| | | | | | | | Also remove the starting underscore from function names where appropriate, as those functions are static now and not exported anymore. This is part of a bunch of fixes for gcc complaining about -Wmissing-declarations.
* Move entry completion code where it belongsMatthias Clasen2012-08-311-11/+553
| | | | | | This commit moves all the entry completion implementation into gtkentrycompletion.c. It also gets rid of an unnecessary completion_device member in GtkEntryPrivate.
* entry-completion: set size request on the toplevel windowCosimo Cecchi2012-05-041-5/+2
| | | | | | | | | | | Instead of setting it on the child scrolled window. This is needed because the whole window's allocation must be equal to the one of the entry (in case the popup-set-width property is TRUE); if we set the size request on a children of the window, there might be other children with borders/paddings in between the toplevel and the child we set the size request too, which will break alignment. https://bugzilla.gnome.org/show_bug.cgi?id=672947
* entry-completion: don't subtract entry borders from popup allocationCosimo Cecchi2012-05-041-4/+1
| | | | | | | The completion popup should be aligned with the GtkEntry allocation, not less than that. https://bugzilla.gnome.org/show_bug.cgi?id=672947
* Fix malformed doc commentsMatthias Clasen2012-04-121-1/+1
| | | | | Most of these are forgotten :'s and similar details which gtk-doc now warns about.
* entrycompletion: set_property() should call property settersPavel Holejsovsky2012-04-081-6/+12
| | | | | | | | | | | | | | | gtk_entry_completion_set_property() was setting many properties by directly modifying priv values, bypassing notification invocation and possibly another actions done by gtk_completion_entry_set_xxx () functions. Fix by invoking set_xxx() instead of setting the property value directly. The real bug observerd was that setting text-column property using g_object_set() caused SIGFPE later when entry completion was about to appear. gtk_entry_completion_set_text_column () apparently does way more important things than just setting priv->text_column member. https://bugzilla.gnome.org/show_bug.cgi?id=673693
* Fix for bug 672961 - Custom theme can crash apps with GtkEntryCompletionBenjamin Otte2012-03-271-1/+3
|
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* entry: change _gtk_entry_get_borders() to return a GtkBorderCosimo Cecchi2012-01-311-3/+4
|
* Use the workarea when placing popupsMatthias Clasen2011-12-181-3/+1
| | | | | This uses the new workarea API to avoid placing popups underneath panels, docks, etc.
* entrycompletion: Export gtk_entry_completion_compute_prefix()Benjamin Otte2011-12-161-6/+21
| | | | I want to use it in the file chooser entry autocomplete code.
* gtk: move _gtk_modules_has_mixed_deps() to gtkmodlesprivate.hMichael Natterer2011-10-231-1/+1
| | | | and remove gtkmainprivate.h completely.
* Clean up unneeded includesMatthias Clasen2011-08-281-1/+1
|
* GtkEntryCompletion: add a sanity checkMatthias Clasen2011-05-311-0/+1
| | | | | Patch by John Lindgren, https://bugzilla.gnome.org/show_bug.cgi?id=650110
* Added documentation to "cell-area" construct-only properties.Tristan Van Berkom2011-02-241-0/+3
| | | | | Indicate what kind of area will be used by default if none is provided by the user.
* Clarify models vs callbacks in entry completion docsMatthias Clasen2011-01-311-0/+19
| | | | See https://bugzilla.gnome.org/show_bug.cgi?id=641073