Commit graph

466 commits

Author SHA1 Message Date
Ivailo Monev
38ebb6f97e plasma: correct condition in Plasma::Label::setElideText()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 07:28:47 +03:00
Ivailo Monev
7715020fd0 plasma: correct comment in Plasma::IconWidgetPrivate::decoration()
it is deffinetly not KFileItemDelegate but it was probably copy-pasted from
there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 07:20:59 +03:00
Ivailo Monev
dbf44ae507 plasma: remove redundant method call
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 06:45:06 +03:00
Ivailo Monev
4869eb7bcc plasma: check the popup dialog visibility on status change too
because the status may change as the popup dialog is visible

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 06:35:13 +03:00
Ivailo Monev
32d4c73c53 plasma: implement option to elide text from Plasma::Label
off by default for compat

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 18:27:26 +03:00
Ivailo Monev
5e5d82a274 plasma: return the original (not elided) text from Plasma::Label::text()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 18:07:48 +03:00
Ivailo Monev
19bded13ce plasma: automatically elide the text from Plasma::Label when not wrapping words
this may have to be made an option tho but for now it is not because word
wrapping is an option

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 17:39:55 +03:00
Ivailo Monev
e670fe2c33 plasma: do not delete the widget from Plasma::ScrollWidget::setWidget()
Plasma::ScrollWidget does not own the widget and it allows to swap widgets
(to reuse the same Plasma::ScrollWidget for scrolling more than one widget)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 16:35:43 +03:00
Ivailo Monev
b8325fec7e plasma: drop support for setting image instead of icon for widgets
mixing the usual icons with svg icons makes things look different, does it
not?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 10:10:13 +03:00
Ivailo Monev
2ee9256d1a plasma: use the native widget text interaction flags to check if context menu should be shown by Plasma::Label
the text interaction flags can be changed behind the back of Plasma::Label
so

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 09:20:01 +03:00
Ivailo Monev
338a0bcc5e plasma: pass the rectangle that should be visible to Plasma::ScrollWidgetPrivate::makeRectVisible()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-23 07:25:20 +03:00
Ivailo Monev
ff8414d276 plasma: fix regression since f2f4c376a8
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 14:56:34 +03:00
Ivailo Monev
5b2e668fde plasma: do not filter child events from Plasma::ScrollWidget
the event filter checks the watched object if it is either the internal
scroll widget or the widget that is to be scrolled

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 13:11:10 +03:00
Ivailo Monev
cbee69376d plasma: properly initialize Plasma::ScrollWidgetPrivate members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 13:05:37 +03:00
Ivailo Monev
f2f4c376a8 plasma: set the animation pointers to null after deleting the animations
just in case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 12:55:48 +03:00
Ivailo Monev
ab65afa79b plasma: Plasma::ScrollWidgetPrivate::createFlickAnimations() optimization
why is it creating QString to convert it multiple times to QByteArray?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 12:44:49 +03:00
Ivailo Monev
53369ab8d7 plasma: drop the feature of Plasma::ScrollWidget to move on mouse move events
does not do bounds checking like the usual moving, also requires event
filter for DnD in widgets using it to ensure events are not stolen by it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 12:35:18 +03:00
Ivailo Monev
2dcb8c968a plasma: pass the focus reason when setting focus
the focus reason serves some purpose

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 12:06:42 +03:00
Ivailo Monev
87b428e010 plasma: remove compat Plasma::ScrollWidget::nativeWidget() method
it used to proxy some widget once I guess

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 12:01:59 +03:00
Ivailo Monev
ca3e34f47c plasma: new Plasma::ListWidget class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-22 10:38:06 +03:00
Ivailo Monev
11e1a73adb plasma: use pulse animation for Plasma::ItemStatus::NeedsAttentionStatus
because Plasma::IconWidget state is messed up if pressed is set manually
and it is possible for it to be activated (if it accepts mouse button
events). it is also fancier, especially when the icon is not very small

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-21 14:19:45 +03:00
Ivailo Monev
7b9b0eee9e kdeui: reimplement KIntNumInput and KDoubleNumInput
work-in-progress, the slider is not connected currently and code in many
places needs adjustments

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-20 15:40:17 +03:00
Ivailo Monev
92ff7de73c plasma: proxy QDoubleSpinBox from Plasma::SpinBox
rounding via qRound() and other methods is always possible anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-20 12:23:29 +03:00
Ivailo Monev
0ca4db3298 plasma: theme Plasma::Slider widget
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-20 11:25:34 +03:00
Ivailo Monev
6635f1d35d plasma: drop extender support
unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-20 09:50:05 +03:00
Ivailo Monev
aa8fa5abaf plasma: remove redundant Plasma::ItemStatus::NeedsAttentionStatus
is used by the panel view to force-activated applet windows but since it is
done on mouse press the window should become active anyway (unless there is
something like focus stealing prevention getting in the way)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 23:33:32 +03:00
Ivailo Monev
7ce4310781 plasma: remove unused focus-related signals
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 10:25:15 +03:00
Ivailo Monev
25e28e7076 plasma: simulate pressed icon for applets that have Plasma::ItemStatus::NeedsAttentionStatus status
this is only for popup applets, normal (Plasma::Applet-based) applets paint
everything and as such should handle status

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-19 01:57:13 +03:00
Ivailo Monev
50a9aa403b plasma: proxy QTreeWidget instead of QTreeView
much more convenient, already testing it via experimental lsof applet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-17 05:01:42 +03:00
Ivailo Monev
95bdfc72a7 plasma: setup icons for the next and previous widget containment actions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 23:36:05 +03:00
Ivailo Monev
b90f90905b kio: move most of the KRun bits to KLauncher
two things doing the same thing - one has to go away. also KRun does not
fork and the launched service/application lifetime was bound to the
process launching it, that is not the case with klauncher - it is bound
to the session (in the usual case)

a few things on the TODO list but mostly for services/applications
lacking features

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-12 03:21:17 +03:00
Ivailo Monev
5338c9f8e0 plasma: do not log the time in debug messages
slows down startup actually, KDebug has option for (KDE_DEBUG_TIMESTAMP
environment variable)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 07:39:46 +03:00
Ivailo Monev
7bea4731e7 plasma: do not add the default applet actions twice to the action collections
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-10 07:22:03 +03:00
Ivailo Monev
4677b62c24 plasma: remove reference to declarative library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-07 00:41:48 +03:00
Ivailo Monev
b8d4dc0dc4 generic: call static KStandardDirs methods as such
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-05 02:04:03 +03:00
Ivailo Monev
559411bd09 generic: optimize MIME type detection
KRun already had such optimization in place for example, that makes the
file slave kinda special tho as it will determine MIME type only from mode
but the goal is to not even spin a job and a slave for local files

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 21:26:18 +03:00
Ivailo Monev
817b7a4aab kdecore: rework KMimeType
more accurate probing then before, notably by probing the file content
from the file slave (only the name was checked before because the
filepath was not a full path in some cases and the file could not be
open)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 20:14:53 +03:00
Ivailo Monev
e273741fdb kio: drop MIME type feature of slaves
the specialized one, stat() does it now because emitting MIME type while
also emitting data (in or out) interrupts the data flow

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-03 05:26:56 +03:00
Ivailo Monev
540ee2cde7 kio: rework the job scheduler
thread-safe and private

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 02:16:50 +03:00
Ivailo Monev
aebe72a932 generic: format and indent
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-30 21:45:09 +03:00
Ivailo Monev
98f6b2b434 plasma: update the key sequence widget when the applet global shortcut changes
for the case when it is stolen

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-27 04:18:19 +03:00
Ivailo Monev
6514366e29 plasma: create the application activation action on demand
for applets that do not have global shortcut set programatically but global
shortcut is set from the configuration interface

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-27 04:07:33 +03:00
Ivailo Monev
451dc7ea32 plasma: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 23:49:18 +03:00
Ivailo Monev
2a6dd1965c plasma: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 22:59:39 +03:00
Ivailo Monev
e47359782c plasma: make Plasma::Applet::setGlobalShortcut() set the shortcut once only
the shortcut is managed internally by Plasma::Applet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 01:08:31 +03:00
Ivailo Monev
334ecceb27 plasma: set the associated action of the shortcut editor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-25 09:44:35 +03:00
Ivailo Monev
843463c95d kdeui: drop KSortcut
missing proper configuration interface for the shortcuts, the old one
was borked anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-24 10:19:03 +03:00
Ivailo Monev
d725bcef69 kdeui: remove old KGlobalAccel autoloading feature leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-22 02:51:29 +03:00
Ivailo Monev
174f6a30e0 plasma: assume QPixmap paint engines support composition
the backbone of QPixmap is QImage

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-19 20:31:07 +03:00
Ivailo Monev
2ad07c5a86 plasma: remove redundant widget properties
once used in qml bindings and such, now redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-19 20:24:03 +03:00