Commit graph

167 commits

Author SHA1 Message Date
Ivailo Monev
e6a2556a80 plasma: new MultiWidget class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-04-14 09:29:45 +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
Ivailo Monev
061a11fd43 kdeui: replace KDatePicker/KDateTable with new KCalendarWidget class
interestingly QLocale is not used for many things but that is about to
change, Katie uses it a lot internally (e.g. for QDateTime formatting
and such) so instead of bolting a calendar system on top of KLocale
perhaps a QLocale wrapped around in KLocale will fit the general idea
of using QLocale in widgets when necessary (as does QCalendarWidget).

that however means no way to specify a calendar system (in general,
other than changing the widgets locale itself) but the QDateTime and
related classes are tied to gregorian calendar already - the system
time itself carries no information about the calendar and any
conversions from one calendar to another are basically made up stuff
(there is the time zone thing ofcourse but that is not a calendar)

another interesting thing to note is that KLocale was written such that
it is read-write - changing the date formats for example is possible
because there are public KLocale methods for that.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-23 06:16:56 +03:00
Ivailo Monev
000c8af989 kdeui: remove unused date and time related widget classes
some of the classes date back to 2001 and 2002, still unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-23 02:48:22 +03:00
Ivailo Monev
94199903d9 kdeui: remove unused KBreadcrumbSelectionModel, KCheckableProxyModel and KIdentityProxyModel classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 06:11:22 +03:00
Ivailo Monev
32445250ef includes: add KPowerManager header
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 04:36:35 +03:00
Ivailo Monev
355bca1289 kutils: new knetworkmanager library
to replace the status notifier (in the kde-workspace repo) and
eventually manage network connections aswell as move network status
notifier out of solid

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-08 07:48:38 +03:00
Ivailo Monev
9916fcdce9 kparts: remove unused PartActivateEvent, PartManager and PartSelectEvent classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 12:21:25 +03:00
Ivailo Monev
a6ffb2dbc0 kdeui: remove unused KPixmapRegionSelectorWidget and KPixmapRegionSelectorDialog classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 07:23:23 +03:00
Ivailo Monev
55458f706c kfile: purge KDirSelectDialog
that way file and directory dialogs will be consistent, not to mention
there were things that KDirSelectDialog was lacking such as resizable
places area.

more changes are needed to account for the directory mode
(KFile::Directory), currently for directory only mode the filter is set
to "All Folders" but it can be changed (the filter widget is not
disabled). also when an attempt to open non-existing directory by name
(via the name input widget) the error says "the file cannot be found"
- it should be "the directory cannot be found" for directory mode

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 03:25:54 +03:00
Ivailo Monev
c3bc63f0f1 interfaces: remove unused smart KTextEditor interface classes
replaced with not so smart classes? (see comments in the headers)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-28 06:13:50 +03:00
Ivailo Monev
f1a36b91e5 interfaces: remove unused and non-operational KRegExpEditorInterface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-28 05:44:47 +03:00
Ivailo Monev
f54740e469 kio: remove now unused ForwardingSlaveBase class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-22 02:11:31 +03:00
Ivailo Monev
36c910c653 generic: move stuff from KDE4Internal module to KDELibs4Config
large-scale changes to the build system, nothing a user sees tho - it is
all under the hood

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 19:01:40 +03:00
Ivailo Monev
6a18754f1b kdeui: merge KPageModel into KPageView and KPageWidgetModel
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-14 16:10:43 +03:00
Ivailo Monev
2a8c7a06e2 kdeui: merge KSpellBackgroundChecker into KSpeller
it is actually faster to no do it in a thread for the use case of Kate
because too many threads may be created

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-10 11:31:16 +03:00
Ivailo Monev
8c9f56e862 kdeui: drop support for spelling correction via dialog
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-10 01:04:04 +03:00
Ivailo Monev
7f7eb09b35 kdeui: spelling classes reimplementation
not leaking enchant dictionaries, simpler implementation and its not
spread across 2 libraries (kdecore and kdeui)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-09 20:45:52 +03:00
Ivailo Monev
25bc94ac0e kio: remove unused KBookmarkExporterBase, KBookmarkImporterBase and KXBELBookmarkImporterImpl classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-08 08:16:00 +03:00
Ivailo Monev
c63f00ec2a kio: move KDynamicJobTracker to kdeui and export it as public class
to be used by kprintjobs and possibly more, also added camelcase header
for KUiServerJobTracker

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-07 03:09:21 +03:00
Ivailo Monev
7862c2ca66 kio: remove unused KBookmarkDomBuilder class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-06 14:06:47 +03:00
Ivailo Monev
d9eca4f771 kio: remove unused KIO::FileJob class and random access I/O API
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 23:06:32 +03:00
Ivailo Monev
004e03252f kio: merge KIO::Slave into KIO::SlaveInterface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-03 13:37:11 +03:00