Commit graph

158 commits

Author SHA1 Message Date
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
Ivailo Monev
819cca1e41 kdeui: replace libdbusmenu-qt dependency with custom classes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-28 20:56:05 +03:00
Ivailo Monev
4fb8a1d674 generic: call klauncher methods asynchronously from KToolInvocation
so that application event processing is not blocked by any
KToolInvocation method, the D-Bus service name and PID return arguments
are not used anyway so removing them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-19 12:44:44 +02:00
Ivailo Monev
4dbb501d25 generic: drop text-to-speech support
Katana (or any interface designed around key and mouse events) is not
for blind people, trying to slap text-to-speech on top of it was the
wrong thing to do to begin with

side note: speech-dispatcher tends to hang if the output device is not
configured properly (i.e. editing /etc/speech-dispatcher/speechd.conf
manually)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-18 15:56:59 +02:00
Ivailo Monev
4216cc4e26 includes: remove headers for kdbgstream and kndbgstream
they have not been a thing for a long time

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-15 08:22:34 +02:00
Ivailo Monev
97372a82ef plasma: remove unused AbstractDialogManager class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 00:06:27 +02:00
Ivailo Monev
521d3cd59b kdeui: remove unused KFadeWidgetEffect class
for example on how to do it (somewhat) properly see KMessageWidget

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-21 20:05:45 +02:00
Ivailo Monev
a5734faf0f kdeui: new KPixmap class
very much written for use case, not to make sense. while porting to it I
already noticed there are leaks for X11 pixmaps and may have to write
glue code to keep track of the pixmaps and release them before
application quits, that will be a huge performance penalty tho so may
have to be ifdef'ed for debug builds only

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 02:08:27 +02:00
Ivailo Monev
38cc86db41 plasma: export DialogShadows class
there are 3 copies of the sources for that class because it is not
exported (one here, one in kde-workspace and one in kde-extraapps) with
one class that is very similar to it - PanelShadows (in kde-workspace
repo, part of plasmagenericshell library)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-07 18:05:11 +02:00
Ivailo Monev
c2a98d4c5d kdeui: KSelectionOwner rewrite
natural selection - kill or be killed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 12:44:07 +02:00