Commit graph

360 commits

Author SHA1 Message Date
Ivailo Monev
164cebde39 plasma: setup tooltip for each weather icon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-25 00:55:35 +03:00
Ivailo Monev
470df939a9 plasma: limit the numbers in calculator applet
otherwise the size of the applet may grow automatically

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 23:38:27 +03:00
Ivailo Monev
f3028cea20 plasma: remove unused applet keys
along with everything related to them

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 22:39:41 +03:00
Ivailo Monev
8b661c60c7 plasma: remove unused applet keys
see the following commit in the kdelibs repo:
9afe0d856617b16e873b95efeae1449070b7f3e9

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 21:58:48 +03:00
Ivailo Monev
d067677097 plasma: rename constant in MixerPlotter::paint() to match its meaning
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 16:55:04 +03:00
Ivailo Monev
30104134f2 plasma: implement feature to paint icon from the visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 16:12:31 +03:00
Ivailo Monev
a9bbf25dc9 plasma: mixer applet optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 15:22:07 +03:00
Ivailo Monev
ee95605406 plasma: correct fog icon matching in kDisplayIcon() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 14:59:16 +03:00
Ivailo Monev
0e4992aeea plasma: set the longitude and latitude values to the custom values when that should be the case in weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 14:47:23 +03:00
Ivailo Monev
62b1aa95f6 plasma: safety-net for the weather applet
KIO::StoredTransferJob really should have option for such cases so that the
data is rejected earlier and transfer aborted

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 14:13:22 +03:00
Ivailo Monev
55012ac4ce plasma: add reference for the weather applet hack
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 13:49:13 +03:00
Ivailo Monev
38764ad484 plasma: KWeatherData::toString() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 13:22:29 +03:00
Ivailo Monev
e19a4b36fc plasma: show a message when weather job fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 13:18:33 +03:00
Ivailo Monev
2529e96a8f plasma: handle day change in weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 13:05:56 +03:00
Ivailo Monev
bc6a4621e9 plasma: remove TODO related to mixer applet
see the following commit in kdelibs repo:
4f56e99b9a0c33153f4a3de49d50236ba80500ee

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 12:20:34 +03:00
Ivailo Monev
deae0d95d9 plasma: do not warn from KWeatherData::fromString() when the data is empty
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 11:51:24 +03:00
Ivailo Monev
8e1b377022 plasma: credit myself for the weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 02:19:44 +03:00
Ivailo Monev
59d50461d2 plasma: hack for incomplete day-zero weather data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-24 01:58:07 +03:00
Ivailo Monev
d832fc81bd plasma: set the minimum size and size policy of the mixer applet information label
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 23:34:52 +03:00
Ivailo Monev
73b4dc8b97 plasma: rename variable weather applet variable for consistency
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 23:34:05 +03:00
Ivailo Monev
90b2492652 plasma: kill geo and weather jobs before starting one
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 22:46:14 +03:00
Ivailo Monev
8f611849c9 plasma: separate country with dash in weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 22:11:04 +03:00
Ivailo Monev
f2891f840d plasma: check if the icon is empty first in kDisplayCondition() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 22:07:27 +03:00
Ivailo Monev
ce7856ec1f plasma: set the mixer applet tab widgets contents margins to zero
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 21:55:13 +03:00
Ivailo Monev
2c49d2e182 plasma: hide the weather applet latitude and longitude configuration widgets conditionally
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 21:39:11 +03:00
Ivailo Monev
873a17971d plasma: tweak the minimum weather applet size
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 21:34:17 +03:00
Ivailo Monev
7574e1c0d4 plasma: display links for the used services
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 21:18:29 +03:00
Ivailo Monev
0e47475c4d plasma: setup tooltip for the weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 20:56:02 +03:00
Ivailo Monev
e72b9429ac plasma: setup the location widget when creating weather applet configuration interface
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 20:15:07 +03:00
Ivailo Monev
37ca401b41 plasma: implement location based on timezone option for weather applet
continuation of the fix for:
https://github.com/fluxer/katana/issues/26

except this time the fix is to do it from scratch

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 19:35:44 +03:00
Ivailo Monev
a540b834b8 plasma: correct WeatherWidget method naming
oh, yes - I coded that till the early morning, half-asleep..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 18:12:53 +03:00
Ivailo Monev
ef3236ca3c plasma: implement configuration interface for weather applet
the position (latitude and longitude) configuration interface while
working as intended has to be a bit less advanced tho and is something I
am thinking how to design (i.e. subject to change)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 17:49:46 +03:00
Ivailo Monev
70408d36d6 plasma: add script to extract translations for the weather applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 16:50:07 +03:00
Ivailo Monev
3b900e55e2 plasma: merge graphicswidgets into plasmacomponents
the widgets that graphicswidgets provides are actually all based on
plasma classes (e.g. Plasma::BusyWidget) so having yet another import
for that does not benefit much

as for the Label type - Plasma::Label is registered

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 16:41:23 +03:00
Ivailo Monev
5aa9259429 plasma: weather applet reimplementation
moved from kde-extraapps (the desktop file was salvaged for the
translations), shows icons for both night and day unlike the old
applet:
https://ibb.co/0VsNKjV

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-23 14:42:37 +03:00
Ivailo Monev
f9fec5f9a5 plasma: add spacer to the mixer applet when visualizer is disabled
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 23:39:07 +03:00
Ivailo Monev
ddcecb8778 plasma: update mixer applet sliders only on value change event
again - the callback is only for external events so performance of the code
in it is not high priority!

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 21:30:51 +03:00
Ivailo Monev
6fa28ca68a plasma: optimize mixer applet visualizer by allocating the buffer once, as a member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 21:18:48 +03:00
Ivailo Monev
4474f71085 plasma: stretch the visualizer to the available space of the mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 21:06:41 +03:00
Ivailo Monev
5cf83358f2 plasma: don't overuse "visualizer" in the mixer applet configuration
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 20:27:38 +03:00
Ivailo Monev
7a8c729aea plasma: add note about the mixer applet callback
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 20:05:24 +03:00
Ivailo Monev
33d92a748f plasma: implement scale-factor option for the mixer applet visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 20:03:16 +03:00
Ivailo Monev
28fcfa37cb plasma: the mixer visualizer is no longer experimental
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 16:06:38 +03:00
Ivailo Monev
0035a4a0c3 plasma: expand applet widgets from the minimum
that does it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 15:51:10 +03:00
Ivailo Monev
bf78db444a plasma: pass the samples to the plotter in chunks in mixer applet
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 15:06:04 +03:00
Ivailo Monev
c852abbcaa plasma: frame the mixer applet visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:51:59 +03:00
Ivailo Monev
a69da0b9d8 plasma: use theme-agnostic color for the mixer applet visualization by default
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:26:59 +03:00
Ivailo Monev
13ab85cf70 plasma: tweak the mixer applet poll interval for visualization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:20:11 +03:00
Ivailo Monev
006654ddcb plasma: implement options for the mixer applet visualizer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 14:05:56 +03:00
Ivailo Monev
562eb8e793 plasma: tweak mixer applet visualization
to show realtime data all the data from the PCM has to be drained (read
until there is no more), there is also the no real data quirck - when no
sound goes trough the PCM the samples are all 0.0 but sometimes when there
is data the samples are negative so as a special case a second list is
used to handle that

the nearly complete mixer applet now looks like this:
https://ibb.co/RyTbnzH

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-22 04:42:40 +03:00