Before we opened a link via mousePress but if we want to make a
selection that will open a file and drag.
Now we check if there is a selection before trying to open something.
So if you click and drag a url, it will not open. If you directly
click and release without dragging, it will open.
FIXED-IN: 20.08
https://invent.kde.org/utilities/konsole/-/merge_requests/9
This patch fixes the issue where the input method (e.g. IBus or
Fcitx) window would not be under the cursor.
Also, Qt::ImMicroFocus is depreciated so use Qt::ImCursorRectangle.
BUG: 420799
FIXED-IN: 20.08
This allows for a user configured thumbnail image to be displayed
when the mouse is hovering over a file link. Any file that KIO can
transform into a thumbnail (image, video, folder) will be displayed.
Simply move the mouse to a file while holding an user selected keypress
(Alt, Shift, Control or a combination of them). The default
requires no key press. The profile setting 'Underline files' much be
enabled for this to work.
https://invent.kde.org/utilities/konsole/-/merge_requests/93
FIXED-IN: 20.08
FEATURE:
GUI:
CHANGELOG: Add thumbnails for certain file types on mouse hover
Don't call .data() for whenever we want to deal with the Smart
pointer. they have overloaded operators for those things, and we
should use them.
Makes the code much more pleasant.
There's a `autoDelete` option for a task, but it's up to the
task to implement how it will delete itself. For SearchHistoryTask
this never happened.
I tested holding the `search` button for around one minute and the
memory was slowly growing and never freed. Adding a destructor with a
debug to remove any doubt made me realize: The search task was only
removed when konsole closed.
This is not just about the Memory Management, as the search was also
connected to multiple objects and could potentially mishandle searches.
Whenever we trigger something that redraws the screen we trigger
all the filters, and the FileFilter - that looks for files and folders
in the current directory - is constantly re-triggered to.
The creation of the vector / set containing all files takes now around
30msec, but searching takes just 3 - 4 msec. If we only generate the
list of files when we change directories, this goes down from 34 msec
to just 4, making konsole consume less cpu, spend less energy and help
with battery when we are selecting text or updating the screen with new
data.
This fails to highlight a file if the file is created after we read the
files in the directory, as we are not updating the list of files
anymore. Not an acceptable loss, we need to fix this, but not by
re-reading all of the files in folders and subfolders on every mouse
move.
The time that it takes to search a collection of just too many strings
can take up to 48msec - tested triggering the code on /usr/lib with
around 7000 files.
changing to QSet this went down to 35msec. This is not a lot but
it's triggered at *every* mouse move event, so the gain is cummulative
The whole experience is a bit smoother.
Add the switch-to-tab-%i actions in ViewManager to the
_multiTabOnlyActions collection to allow override them in Yakuake
BUG: 420503
(cherry picked from commit 13697e07d9290f3c14d57ec27884bb9756999f27)
QMenu since 5.15 is hidden when an action is triggered, this caused a
crash in Konsole when trying to access the text encoding menu.
Now Session emits a signal when the text encoding is changed, the
SessionController can connect to that singal to set the current codec in
the KCodecAction object.
Also fix the EditProfileDialog so that when the KCodecAction menu is
shown the currently set codec is selected.
BUG: 419526
FIXED-IN: 20.08
Assign the _view as the parent to the KXMLGuiFactory because the
factory is referencing the view widget as its associated widget. Since
the TerminalDisplay gets destructed first this is now a dangling
pointer. If the view is set as the parent the factory gets cleaned up
correctly. Also cleanup the created clientBuilder after destruction
because it can't have a parent and would probably leak memory.
BUG: 415762
FIXED-IN: 20.08.0
See also !87
This close method is also used when closing a Konsole session
via the X on the tabbar and tabheader.
FIXED-IN: 20.08.0
BUG: 420817
BUG: 420695
BUG: 415762
See merge request !87
Add new option "Monitor for Process Finishing" which
will send a notification when the current session's
long running process finishes.
FEATURE: 420053
GUI:
FIXED-IN: 20.08.0
CHANGELOG: Send notification when the session's foreground process finishes
The original regexp was two pages long and was quite complex to debug
Let's start small. This fixes a few bugs matching files, starts to
match folders too (which is userfull if we want to open a folder in
dolphin for instance) and works correctly with quoted files and spaces.
This change matches what Qt was doing behind the scenes.
int QFontMetrics::width(QChar ch) const
{
return horizontalAdvance(ch);
}
int QFontMetrics::width(const QString &text, int len) const
{
return horizontalAdvance(text, len);
}
Tested with varies files in the konsole/tests folder.
This change matches what Qt was doing behind the scenes.
setWorldMatrix(const QMatrix &matrix, bool combine)
{
setWorldTransform(QTransform(matrix), combine);
}
Tested with varies files in the konsole/tests folder.