The positioning here was funky as if it was trying to to do something
clever, but instead all it did was cause the text to overlap with the
first list item entry with certain combinations of font size and window
size. Instead let's just do the typical thing.
The context property version is slower to access and won't be supported
in Qt6. Let's port away from it and use the singleton version instead.
Here was my full process for making this change:
1. Made the change with `find . -name '*.qml' | xargs perl -pi -e 's/units\./PlasmaCore\.Units\./g'`
2. Verified no more occurrences with `grep -r " units."`
3. Made sure this didn't change any comments in a silly way by inspecting the output of `git diff | grep "+ " | grep "//"`
4. Manually inspected the full git diff to make sure there were no other unintentional or silly changes (there were none)
5. verified that all changed files have the PlasmaCore import with the correct name with `for FILE in `git status | grep modified | cut -d ":" -f 3`; do grep -q "as PlasmaCore" $FILE || echo "$FILE needs the PlasmaCore import"; done`
a699acd3ff introduced a syntax error,
which prevented the time zone config dialog of the digital clock applet
from being shown:
"file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/
contents/ui/configTimeZones.qml:144:38: Expected token `:'"
I assume the intention was to only show the check box if there are
multiple timezones configured, so "visible" should be the forgotten
property.
After the rest of the UI changes made to the applet and the time zone
config page, I don't think users will be confused by the differences
between the timezone displayed in the clock, and the systemwide local
timezone anymore. Therefore, it should be safe enough to bring back the
wheely time feature.
BUG: 431977
This is the paradigm we use for highlighting the current/selected item
in various other contexts, and Kirigami.BasicListItem has built-in
facilities for it. Let's use them.
At the time this custom delegate was implemented, Kirigami.BasicListitem
didn't have the ability to easily display custom items inside itself.
Now it does, so we can port to that to save some code and increase
consistency.
The appearance is virtually identical and the UX remains the same with
the exception that you can now select an item by clicking anywhere on
the background, not just on one of the radio buttons.
the Text.Fit sizing policy will size the font in order to fit given a fixed
size of the label, but it can't really cause the other way around which we need:
cause a vertical resize in order to accomodate a larger font.
In order to fake that, we fix the date label to an arbitrary tall height
(will overflow outside the applet) and then size the applet based on the label contentheight instead,
leaving the invisible part of the label outside.
In order to avoid the huge text it used to have, limit the maximum size to an arbitrarly
small value, in this case
Math.min(0.7 * timeLabel.height, theme.defaultFont.pixelSize * 1.4)
BUG:417852
FIXED-IN: 5.21
The agenda view is only shown when at least one event source is active.
When going from 0 to 1 active sources the view wasn't updated correctly.
This was because the visibility of rightColumn was bound to the
visibility of its child, but since the visibility of the parent affects
the visibility of its childred (https://doc.qt.io/qt-5/qml-qtquick-item.html#visible-prop) that resulted in a broken binding.
Bind to the source property directly to avoid this
BUG: 431433
Qt 5.14 introduced new restoreMode mandatory property. Fix warnings like this one:
QML Binding: Not restoring previous value because restoreMode has not been set.
Right now we have a usability problem: the Digital Clock applet has two
ways to let you change the timezone displayed in the applet itself, but
has no easy link to the correct way to change the timezone systemwide. As
a result, users change the timezone in the clock and wonder why times are
wrong everywhere else throughout the OS.
This commit removes the feature of changing the timezone in just the
clock, and replaces it with an overhauled Time Zones page in the config
dialog and a new button in the popup that links you to the Date & Time
KCM where you can change the systemwide time zone in the correct way.
I anticipate that this may cause some grumbling from people who currently
use the "mouse wheel to cycle through timezones" behavior, but now that
all the timezones and their times are displayed prominently in the popup,
you can just click on the applet to show the popup instead of rolling the
mouse wheel over it to cycle through times; it's different, but no worse.
BUG: 428096
FIXED-IN: 5.21
Qt 5.15 introduced new syntax for defining Connections. Fix warnings like this one:
QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
Because the content is manufactured from scratch, we need to set the
height manually, or else everything will get scrunched together.
BUG: 427281
FIXED-IN: 5.20
This begins the process of porting plasma-workspace to PlasmaComponents3. At
this point, only the relatively easy work is done. Every file not ported
now has been given the reason for still using PC2 in a comment on the import
line so you can see at a glance what the blocker is by running
`grep -r "org.kde.plasma.components 2.0"` in the repo.
Everything is tested and there are no breakages or functional regressions. In
the process, a few unused imports are removed.
Here are the remaining PC3 omissions blocking what's left from getting easily
ported:
- No Highlight
- No ListItem
- No PageStack
- No ContextMenu
- No QueryDialog
- No ModelContextMenu
- TabBar has no left and right tab states
- ToolButton has no built-in method to show a menu when clicked
We got some user complaints about the new Calendar pop-up, saying that
it used too much space, which honestly is a reasonable critique.
This MR tweaks the layout in the following ways:
- Reduce paddings from units.largeSpacing to units.smallSpacing
- Replace the huge custom date header with a standardized PlasmoidHeader
containing the current locale's standard long date and the pin button
- Move the events view from under the calendar into the column to the
right of the calendar, sharing space with the list of clocks
- Increase space efficiency of Events view by removing the per-event-type section headers
Hopefully this should address concerns with the 5.19 layout. I think it
does look much nicer, myself.
Summary:
CCBUG: 417836
Depends on D29711
As this will depend on Frameworks 5.71, it will be landed on master after branching,
ending up in Plasma 5.20.
Test Plan:
Right-click on applets and activate their configure menu items
Open applets and click on their settings buttons
Observe that the KCMs are opened in System Settings or Info Center
(depending on the context)
Reviewers: mart, #plasma
Reviewed By: mart, #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D29712
Test Plan:
Before, no clocks: {F8246116}
After, no clocks: {F8246114}
[Now the vertical spacing between labels matches other tooltips]
Before, some clocks: {F8246113}
After, some clocks: {F8246115}
[Now the full date is displayed on the first line instead of being split across two]
Reviewers: #vdg, #plasma, ndavis
Reviewed By: #vdg, ndavis
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28970
Summary:
To increase consistency and reduce redundancy, widget tooltip icons are being removed
in D27847 and D27848, per discussion in T12778. This patch makes the Digital Clock
consistent what that initiative, since it has a custom tooltip.
Test Plan:
{F8150016}
{F8150021}
Reviewers: #vdg, #plasma, niccolove
Reviewed By: niccolove
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T12778
Differential Revision: https://phabricator.kde.org/D27849
Summary:
I noticed that on the first time I bring up the calendar by clicking the clock on my Plasma panel, it always shows "No event for today". If I click another day on the calendar and then click back on today, it shows today's events fine. It should display it correctly the first time.
To fix this bug, we need to compare the date without time.
BUG: 395956
FIXED-IN: 5.19.0
Reviewers: ngraham, #plasma, vkrause
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28354
Summary:
This patch fixes several errors in the code:
- The property is named `font.minimumPixelSize`, not `minimumPixelSize`
- The calculation in `minimumPixelSize` did not make sense
- Setting the height to `dateLabel.paintedHeight` is nonsensical
BUG: 417852
FIXED-IN: 5.18.4
Test Plan: {F8186873}
Reviewers: #vdg, #plasma, cblack, davidedmundson
Reviewed By: #vdg, #plasma, cblack, davidedmundson
Subscribers: davidedmundson, cblack, muesli, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28172
Summary:
The Pin buttons in the System Tray and Clock pop-ups are very small. This has
always felt slightly odd to me, and the recent change to add a defined header
area for the System Tray pop-up makes it even odder in my opinion, as the icon
is now much smaller than the area it visibly inhabits. This patch makes both icons
in both applets use the standard size with no local overrides. The clock pop-up's
pin button is ported to PC3 in the process.
Depends on D28228
Test Plan:
Before: {F8194101}
After: {F8194100}
Reviewers: #vdg, #plasma, ognarb, mart
Reviewed By: #vdg, #plasma, ognarb, mart
Subscribers: mart, ndavis, broulik, ognarb, plasma-devel
Tags: #plasma
Maniphest Tasks: T10470
Differential Revision: https://phabricator.kde.org/D28211
Summary:
This patch allows you to switch the timezone by clicking on your desired one in the
applet's expanded representation. This is much simpler than the mouse-wheel-based UI and
does not need a config setting to turn it on or off.
Test Plan: {F8183863}
Reviewers: #vdg, #plasma, jriddell, cblack
Reviewed By: #vdg, #plasma, cblack
Subscribers: plasma-devel
Tags: #plasma
Maniphest Tasks: T9222
Differential Revision: https://phabricator.kde.org/D28133
Summary:
Various people were complaining that the calendar was too squished after D27903. This
patch restores its size to be closer to the old version. As a consequence, the whole
expanded representation is quite large now, but there really is no other way.
Test Plan:
Before: {F8181551}
After: {F8181550}
Reviewers: #vdg, broulik, mart, cblack
Reviewed By: #vdg, cblack
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D28104
Summary:
Right now time zones are only shown in the tooltip, which is annoying since the tooltip
times out aftew a few seconds, so it often closes before I can find the timezone I'm
looking for.
This patch adds a view for the current tomezones in the expanded representation, and
implements a mockup in https://bugs.kde.org/show_bug.cgi?id=395655 showing a proposal
for how to present this information.
The Expanded Representation is also ported to Layouts in order to make this task easier.
FEATURE: 395655
FIXED-IN: 5.19.0
Test Plan:
Just calendar: {F8157434}
Calendar + events: {F8157435}
Calendar + time zones: {F8157436}
Calendar + events + time zones: {F8157437}
Reviewers: #vdg, #plasma, cblack
Reviewed By: #vdg, cblack
Subscribers: cblack, apol, plasma-devel
Tags: #plasma
Maniphest Tasks: T9222
Differential Revision: https://phabricator.kde.org/D27903
Summary: The clock was too close to the panel right edge when displaying hours beginning with 10, 11 and 12. Weirdly enough, the right margin was different based on the clock current time. This patch makes the margin constantly equal to the one that there was before when displaying 10,11,12 plus units.smallSpacing.
Reviewers: #vdg, #plasma, davidedmundson, ngraham
Reviewed By: #vdg, #plasma, davidedmundson, ngraham
Subscribers: gvgeo, davidedmundson, ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27737
Summary:
BUG: 381551
FIXED-IN: 5.18.0
Test Plan:
Before: {F7851382, size=full}
After: {F7851383, size=full}
Texted extensively because this code is so brittle. No regressions with long date in a
thick or normal-sized horizontal panel or short date in a thick or normal-sized
horizontal or vertical panel.
The one issue I could find is that sometimes switching between short and long date
formats in a double-thickness vertical panel causes the long date to be truncated again
until plasmashell is restarted. I was unable to determine why. Assistance would be
appreciated if this is a blocker.
Reviewers: #plasma, #vdg, ndavis
Reviewed By: #vdg, ndavis
Subscribers: ndavis, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26312
Summary:
System tray dialog/popup can be tiled. This should not be allowed, in this case expanded representaiton should have fixed size. When tiled, it is no longer possible to restore original size.
This also applies to other plasmoids.
BUG: 386551
FIXED-IN: 5.18.0
Test Plan:
1. Open any applet from system tray (for example Clipboard or hidden items)
2. Use shortcut to tile window (by default Meta + Left/Righ/...)
3. Applet will change size and tile at the borded of the screen
4. Expected:
a) before fix: allowed and not possible to restore size
b) after fix: not allowed or restores size on next open
Reviewers: #plasma_workspaces, #plasma, davidedmundson, broulik, ngraham
Reviewed By: ngraham
Subscribers: ngraham, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D26545
Summary:
support the automatic shadow hint
When the hint is shadowedBackground, do an automatic shadow with a shader, and
change applet's color to complementary
Test Plan:
Tested the functionality on various applets. To test, the digital clock is enabling explicitly background configurability
{F7788553}
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25591
Summary: Lower QQC2 version to minimum requirement. Add context to i18nc function. Cannot use `i18ncp` because the number isn't integer.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D25319