Instead of just passing string that LocationBar should somehow
parse and decide what to do (which may not correspond to what was
indicated in completion entry), make the LocationCompleter create
it with all needed info and pass it to LocationBar to load.
This fixes issue where search completions may have been loaded
with different search engine when suggestion starts with search
engine shortcut (which would also get cut in the search).
This also removes the possibility to open new window from completer
with activating entry with Shift key.
Skip updating completion model with invalid data from canceled jobs,
which could result in attempt to resize the completer popup to invalid
size (0 height) and when the popup is resized again to valid size kwin
may actually fail to show it with compositing enabled.
Should help with #2480
Model for inline domain completion is updated asynchronously, so it is
needed to force the update of completer.
This was last regression of completer after switch to threaded searching
in history/bookmarks.
The code to change color of host of url is completely new.
It doesn't use any paint hacks anymore. That means text in
locationbar will now be always rendered pixel perfect, as it would
with normal QLineEdit.
Cleanup in LocationCompleter. It is now using QCompleter in inline
mode to complete domain. It is still not ideal, eg. it refreshes
and show the domain completion with delay (job run in separate thread),
and sometimes it misses it completely.
WebSearchBar: Always complete when receiving suggestions. Fix issue
when suggestions were only showed after typing at least 2 characters.
Currently, there is one issue with inline domain completion. It is
also searched from the separate thread, and thus it gets displayed
after a small delay.
Closes#1135
Ctrl activation: Opens url in new tab
Shift activation: Opens url in new window
Closes#1245
Bookmarks: Update visit count also from location completer
BookmarkItem: Added new method updateVisitCount
Code was formatted with patched astyle that correctly formats
foreach macro.
Normalize tool is now used to normalize all signal/slots signatures
to normalized format. It saves few reallocations on connections.
Cursor will be properly drawn by Qt when starting writing
into empty lineedit (eg. select all and start typing).
After the completion popup is hidden for the first time, Qt will stop
drawing cursor and will only paint it again after losing and gaining
focus.
instead of in currentChanged().
This solves problems for the very first popup not triggering currentChanged(),
so in that case the first item did not set the completion url. As long as the
connection type to currentChanged() remains a DirectConnection, this fix should work.
that displays the url currently completed.
Also add an option to disable the "switch tab" offer.
If enabled the user can press "Shift" to load the url in the current tab instead of switching tab.
I tried to copy behaviour of firefox. I hope I did not miss a bit...
- it sorts by visit counts of bookmark's url from history
- count column in bookmarks is not needed after all :-)
Patch by Franz Fellner <alpine.art.de@gmail.com>
- fixed occasional flickering when typing in address bar
- support for opening completions with pressing Down key
- support for selecting completions with Tab key
closes#105