Commit graph

181 commits

Author SHA1 Message Date
Ivailo Monev
06654c0495 plasma: drop Plasma::ItemBackground class
unused, tho the svg that it paints is used in multiple places as base.
perhaps the class was not flexible enough?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-24 11:34:47 +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
46f5e8cbc2 kdeui: drop KIntValidator and KDoubleValidator
by reworking KIntNumInput and KDoubleNumInput to set the locale of the
internal spin boxes (QSpinBox or QDoubleSpinBox) both of which use
either internal validator (QSpinBoxValidator for QAbstractSpinBox) or
validate via the locale

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-21 12:31:17 +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
6635f1d35d plasma: drop extender support
unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-20 09:50:05 +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
0e0db0b815 kdeui: move session management to KApplicaiton
every comment about X11 and session management in general claims it was
broken, not going to claim otherwise. everything that does not use
KApplication shall not be involved into session management now and gets
the middle finger (SIGTERM or SIGKILL) after 5 sec by klauncher when the
session is done

also session management has to be explicitly enabled by applications
now, disabled by default

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-09 08:29:51 +03:00
Ivailo Monev
7a5af39420 includes: remove header for now gone class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 23:23:14 +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
97e7649bd3 kio: drop KRemoteEncoding class
can be done by slaves via custom QTextConverter or whatever, the
converter is using Charset metadata and the KRemoteEncoding class is not
required outside the slaves

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 21:47:54 +03:00
Ivailo Monev
5a3d145146 includes: remove header for now gone class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 11:37:42 +03:00
Ivailo Monev
b05e3f86ae kio: unexport the private connection-related classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-02 09:46:26 +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
71971d1699 kio: unexport KIO::SlaveInterface
private class, not much to say. KIO::Scheduler and some classes should
not be exported either

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-01 04:50:22 +03:00
Ivailo Monev
76d8f5c423 kdeui: remove unused KAccelGen methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-26 05:01:26 +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
c31499dd07 generic: drop messages handler support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-20 20:17:56 +03:00
Ivailo Monev
2f485d5376 generic: replace QThreadPool and QRunnable with custom class
on a side note it does not solve any thread-safety issues, such are out
of the scope of the class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-18 03:05:03 +03:00
Ivailo Monev
c303467164 kutils: drop unused classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-17 03:52:20 +03:00
Ivailo Monev
1f11147bd4 plasma: drop redundant Plasma::PluginLoader class
not finished either

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 22:33:18 +03:00
Ivailo Monev
6daac470e8 kdeui: drop unused KColorValueSelector, KGradientSelector, KSelector and KXYSelector classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 15:43:51 +03:00
Ivailo Monev
d47d67b645 kdeui: drop unused KRuler class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-16 05:44:42 +03:00
Ivailo Monev
52a8caa5ee plasma: drop everything related to dataengines
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-08 11:32:12 +03:00
Ivailo Monev
8293d08153 kdeui: rework job tracking
just watch me do it without a dedicated D-Bus service and dataengine

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-07 23:35:17 +03:00
Ivailo Monev
0d513a2316 kdeu: drop unused KStatusBarJobTracker class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-07 20:54:47 +03:00
Ivailo Monev
3d311955ab kdeui: drop KRichTextEdit and KRichTextWidget
because KTextEdit inherits QTextEdit it is rich text-capable and the
actions that KRichTextEdit and KRichTextWidget provide are not used
anywhere (the actions require explicit setup)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-06 21:01:01 +03:00
Ivailo Monev
e6ae50ba6a kdeui: drop KTimeZoneWidget
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-06 09:37:23 +03:00
Ivailo Monev
72daced852 kdeui: replace KColorDialog with QColorDialog
same reason as KFontDialog

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-03 10:44:38 +03:00
Ivailo Monev
45674c0c4e kdeui: replace KFontDialog and KFontChooser with QFontDialog
requires the following commit from the Katie repo:
97fea30784dfdc41a6599ea31219d0b366d8efaa

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 19:01:45 +03:00
Ivailo Monev
bb11a3e5f4 kdeui: replace KFontComboBox with QFontComboBox
one less class to maintain with substitute provided by Katie

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 01:40:10 +02:00
Ivailo Monev
1e93f91bb4 kdeui: remove unused KFontUtils functions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-31 00:36:31 +02:00
Ivailo Monev
d52a4a7c6b solid: drop button interface
now unused, the signals were never implemented either

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-30 07:35:48 +02:00
Ivailo Monev
3ce3fcf34b kdeui: drop KNotificationRestrictions class
most of the functionality is not implemented, the rest can be done via
Solid::PowerManagement::beginSuppressingScreenPowerManagement() and
Solid::PowerManagement::stopSuppressingScreenPowerManagement()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-03-22 13:53:40 +02:00
Ivailo Monev
fbfb374b9c generic: drop scripting and tray support
after changes to multiple sub-projects (Katie, kdelibs, kde-workspace
and kde-extraapps) that finally happened, can write lots about it but I
will keep it short - by rewriting parts that were using js/qml (e.g. the
plasma applets) the desktop startup was reduced to half, also the legacy
tray thing shall be no more (anything that needs tray icon shall be a
plasma applet now) thus some applications and features will be dropped
aswell. see all repositories for the changes done

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-10-21 08:06:58 +03:00
Ivailo Monev
b15290d523 includes: remove non-existing headers references
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-19 18:30:32 +03:00
Ivailo Monev
ce1dcbb552 kdeui: new KKeyboardLayout class
KKeyboardLayout along with Solid::Input are to be used not only in a
reimplementation of the keyboard plasma applet but also potentially
for a software input panel (QEvent::RequestSoftwareInputPanel and
QEvent::CloseSoftwareInputPanel handler)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-05 18:15:25 +03:00
Ivailo Monev
aeba52714a solid: new Solid::Input class for mouse, keyboard and joystick devices
includes camel-case header for Solid::Video as it was noticed to be
missing while working on the handling the new class in kde-workspace

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-03 20:21:52 +03:00
Ivailo Monev
41631e5960 kparts: drop status bar extension
other than setting the status bar text no other feature functions
properly and there is a signal to change the part window status bar
text thus the class is redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-31 05:06:55 +03:00
Ivailo Monev
ab09380d5b kparts: drop browser extension support
requires new KParts::ReadOnlyPart::urlAboutToChange() signal for
filelight, moving the KParts::BrowserExtension::PopupFlag and
KParts::BrowserExtension::ActionGroupMap to KonqPopupMenu (in the
kde-workspace repo, where the flags and typedef should be) and ofcourse
removing the unused bits in programs (kate, okular, etc.)

on a side note the extension, even if wrapped and created, is unused now
(was used by konqueror which is no longer supported)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-31 05:04:59 +03:00
Ivailo Monev
88598523d0 kdeui: new KPixmapWidget
the idea for QImage/QPixmap-optimized widget occurred to me while
writing kimageviewer (see the kde-playground repo), unlike the widget I
wrote for kimageviewer this one supports drag-n-drop tho and is drop-in
replacement for QLabel when showing only a pixmap is required. the
widget also shows a small image while dragging ala ksnapshot

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-29 08:59:51 +03:00
Ivailo Monev
450120097d kdeui: reimplement KNotification
cleaning up the mess, everything but KNotificationConfigWidget is
implemented.

not only does it not require additional D-Bus service (knotify) to
function but also does not transmit pixmaps over D-Bus, the features
to execute command or log to file are dropped and will not be
implemented.

also about markup support in notifications - if the server does not
support markup then it is supposed to strip it, see the spec:
https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#backwards-compat
meaning nothing should be done by KNotification itself because it is not
a server, it is just a proxy.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-25 09:01:39 +03:00
Ivailo Monev
e0d476372c kdeui: move KTimerDialog source and header from kde-workspace
there were 3 copies of it, only one with minor changes. by moving it
here any changes that have to be done to it will not have to be done to
the copies aswell.

TODO: move its private members to KTimerDialogPrivate

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-16 15:18:39 +03:00
Ivailo Monev
625373ffa8 kdecore: drop KDateTime
with the rewrite (see f452e2e50b),
KDateTime is just glue-code for compatibility now. the exception is
KDateTime::isNightTime() (written by me) which is used only in one place
(kde-workspace/plasma/dataengines/weather/ions/wetter.com/ion_wettercom.cpp)
and can be moved there

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-14 22:35:08 +03:00
Ivailo Monev
12b8b0b3ae kdeui: remove unused KAssistantDialog class
use QWizard instead

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-12 13:53:21 +03:00
Ivailo Monev
4de3537a82 kdeui: new KTimeEdit widget
inspired by QTimeEdit but ment for timers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-02 13:14:24 +03:00
Ivailo Monev
b7e54f8e21 kdeui: stub KSwitchLanguageDialog
to be rewritten. date, time, days, etc. translation and conversion work
like a charm tho (when translated and supported by the locale classes
ofcourse):
https://ibb.co/hcW0dL3

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-28 00:40:39 +03:00
Ivailo Monev
5513e53f36 includes: remove headers for gone classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-27 22:13:30 +03:00
Ivailo Monev
1a45508306 kdecore: reimplement KLocale
by using QLocale in KLocale and separating the date, time and numbers
conversion from translation KLocale actually gets extended locale
support from QLocale (which uses CLDR data v43 currently). translation
remains unaffected. for comparison here is the result of two function
calls the result of which should explain the whole change:
KLocale::allLanguagesList().size() = 669
KLocale::installedLanguages().size() = 68

the first number is locales Katie supports, the second being the
number of languages Katana is translated into

KSwitchLanguageDialog needs a rewrite but that is on the TODO

also copyrighting KCatalog to me because I rewrote it, for reference:
881b47b8ea

KCalendarSystem gets the middle finger - batteries not included for date
and time. extra calendar systems can, but are unlikely to be, supported
in the future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-26 23:50:18 +03:00
Ivailo Monev
7e78f97d61 plasma: new Plasma::CalendarWidget class
to be used by the clock and calendar applets

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-23 11:30:15 +03:00
Ivailo Monev
714b6f2021 kdecore: remove unused KLocalizedDate class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-23 06:54:53 +03:00