Can you add some more explanation what the code does in the summary?
- Queries
- All Stories
- Search
- Advanced Search
Advanced Search
Apr 30 2020
Apr 29 2020
Superseeded by total rewrite of the kcm
In D28744#659447, @ngraham wrote:I find that I'm not able to set shortcuts involving the space key. The key sequence get repeated twice in the button and the Apply button ever becomes enabled. Can you reproduce?
Apr 28 2020
Couldn't we put the tray icon in the plasma theme?
- Reinstate the pointingHand mouseAreas
- Make delegate automatically expand if it's the only one
- Make the delegate use states
I did some digging and think that things should be repainted when they change screen
https://code.woboq.org/qt5/qtbase/src/widgets/kernel/qwidgetwindow.cpp.html#_ZN13QWidgetWindow18handleScreenChangeEv
Apr 27 2020
Yeah I don't think we are going to just randomly change that many constants based on two screenshots. This needs a wide discussion imo with what goals to achieve and the problems with the current breeze and much more comparisons.
rebasae
- Use model.* properties
- Use placeholder message
- Still don't know why model properties are undefined when switching components
Apr 25 2020
In T10568#228110, @ach wrote:FWIW I agree with David argument in the bug report and to reject the suggestion for 2 more global shortcuts.
Nevertheless you have IMHO a valid point: hard discoverability. The global shortcut
settings page could be enhanced. Enhancing this would not only help others finding
you personal favourite feature(s) but all others too.Adding 'User Feedback' what global shortcuts people really set, could help in
future decision what action is probably a candidate for a global shortcut.stay healthy, Achim
In D29140#656817, @guoyunhe wrote:To totally solve the issue, there are several solutions I can find:
- POTD need to have a daemon process that can always access network. The lock screen send request to the daemon through DBus or other protocol.
- Create an invisible lock screen widget in the desktop, so it fetches and updates the POTD even before screen locks.
The second option is much easier to do. Both will cause some performance impact.
Actually everything in the sidebad is very blurry at 2x
In D29154#656690, @apol wrote:
Apr 24 2020
Maybe todo remove?
In D29154#656585, @apol wrote:+1
I did the same thing for kirigami @ D29100 and plasma-framework @ D29102 yesterday after looking at Qt's code and assessing it was the right thing to do.
I am not familiar with Breeze's code but the patch is sound.I do have all of the dpis so if you tell me how I'll test it.
This should probably fix the BUG 418869.
Correct code style when I'm touching these lines either way
Apr 23 2020
- Don't drop installing scheme files
Bonus points for moving items so that they are in the right order before committing (I know that the spacer was not in the right place before )
Apr 21 2020
- Fix defaults
- Add pending deletion thing
In D28744#652925, @ngraham wrote:Here's how it looks with the old KCM:
So my KDE Daemon category has one entry in French for some odd reason. And the two KRunner entries are indeed still there and different, not merged.
And the Power Management entry is full of duplicates internally and it's very confusing:
So yeah, it's not great in the existing KCM. In the new one it's nice that you can delete these duplicates, but I don't actually know what will happen when I do so, and the inability to get them back if I make a mistake makes me not want to try.
Apr 20 2020
In D28744#652854, @ngraham wrote:Yay. Almost there! I just see a few more things:
- If I delete a whole item from the left-most list, there's no obvious way to get it back (what if I delete a system entry by accident?)
I agree. Probably should do it like other kcms with pending deletion then.
- The Defaults button is present, but always disabled
Hmm it works for me when changing shortcuts or changing defaults but the initial state is wrong probably because loading is now async. Will look into it.
- I see duplicate entries with different items inside them:
These are not really duplicated but boil down to that the backend is represented correctly here. Some components have a different unique identifier and happen to have the same user visible name. The old kcm merged them but I don't as I think most of these should be seperate because they are related to different things.
- Implement Kai's idea for importing
- Fix importing
- Fix scrollview and use level 3 heading
- use better string
In D28744#652703, @ngraham wrote:Clicking the Apply button makes System Settings crash for me:
Fixed now.
- Fix errors and leave error message disabled
Oh I diffed the wrong repo...
Use Nate's string
- Fix index reset when clicking reset button and use own property for shortcuts listview
currentIndex was reset to 0 when resetting, now warnings are generated when switching components need to figure out why
- Add tooltip to remove toolbutton
Make it build again
Apr 19 2020
In D22074#652046, @dporobic wrote:Isn't it possible to the annotator? In ksnip it's hidden as long as you have no screenshot, so ksnip on startup is basically a toolbar.
- Make loading async
- Make everything async
I know it's a bit ugly but maybe we can then dynamically construct/destroy the annotator on button press to combat this?
Apr 18 2020
In D28908#651078, @ndavis wrote:
The reason that the spectacle window is larger on start because the annotator cannot be smaller because of the annotation tools sidebar I think
Apr 17 2020
- Use less DBus calls for loading
- Fix defaults
- Remove components as good as the current kcm
I don't understand. The palette doesn't change when a widget is selected, does it? The selected state is used by KIconLoader to decide which color to use for text color, or highlight
state == KIconLoader::SelectedState ? pal.highlightedText().color().name() : pal.windowText().color().name(),
Apr 16 2020
In T10891#224544, @kkoma wrote:In T10891#224536, @ngraham wrote:I would like to do that--though maybe just a bit. However what I really want is rounded bottom corners when there are no borders, which would bring it into consistency with the topcorners. This would require having the window manager clip a few pixels from the window's content, which I know is heresy and sacrilege to some, but I genuinely don't see that it's actually a problem at all.
I couldn't agree more. Most apps don't have anything that close to the corner anyway, and even if an UI element extends that far into the corner, it is usually way bigger, like a sidebar element or a button. Those would not cause any problem. The users wouldn't even notice. And apps that have really small elements in the corners, or corner actions, are so badly designed that people won't use them anyway. Elements of a size where this would be a problem generally stab Fitt's Law in the guts, and visual consistency and appearance should not be sacrificed to make those work.
Alternatively, the default border size could be a bit bigger, allowing for more corner rounding without cutting into window content. In this case though, sidebar entries (like in Discover) should be rounded too, as sharp edges a few pixels away from the edge look odd. This somewhat contradicts the directive to use 1px lines to separate parts of the UI instead of frames or just no separation, but it is worth taking into consideration.
So ultimately the solution is to clip a few pixels, and anyone who is against that solution should present a valid example of this being an usability problem, apart from them (a rare minority of 1-2 people) being used to playing tickle with windows and clicking everything in the bottom left or bottom right 2px by 2px area, or clicking on things in a scrollable view that barely show a few pixels on the bottom of the window.On the matter of scrolling: Would it be posible to scroll app views in a way that moving the scroll wheel one click up/down moves one row of controls/items up/down, as in makeing sure to fit the entirety of the next row of the layout on the screen? With a smooth animation (and a toggleable setting of course) this would make Plasma and KDE in general feel more modern, snappier and nicer. This smooth scrolling could be implemented for touchpads and touchscreens too.
Konsole is a frequently used and core KDE application. That can have content (part of the first letter) in the corner depending on the window size.
In T12984#226879, @davidre wrote:In T12984#226877, @davidedmundson wrote:Copy the file to writeable location if it is not writeable. This is straightforward.
The local version is just for masking, it doesn't need to be a copy. It just wants to write out.
foo.desktop:
[Desktop Entry] Hidden=trueSo you would just create a dummy file if it doesn't exist yet? I don't see how that makes stuff easier?
Then we delete the file when we unmask - that way we don't have any keeping in sync problems.
To me it seems easier, and how I imagined it worked when the initial thing landed.
Nevermind I think I understand :
- Delete desktop file in cleanup (if it works all is fine) if not is systemfile and whatever
- Create dummy file with hidden= true
- When component is added the thing that wants stuff overwote the dummy file?
In T12984#226877, @davidedmundson wrote:Copy the file to writeable location if it is not writeable. This is straightforward.
The local version is just for masking, it doesn't need to be a copy. It just wants to write out.
foo.desktop:
[Desktop Entry] Hidden=true
So you would just create a dummy file if it doesn't exist yet? I don't see how that makes stuff easier?
Then we delete the file when we unmask - that way we don't have any keeping in sync problems.
To me it seems easier, and how I imagined it worked when the initial thing landed.
But I'm fine with approach 2 too.
In your fix for 2, why do you make a new entry disabledComponents instead of writing a tag into the relevant [componentName] section
Because I didn't think of it :)
Don't parse the disabledGroup as component
<fvogt> Migration should be relatively straightforward: Iterate all .desktop files and components with NoDisplay to the setting
<fvogt> Removing NoDisplay wouldn't be necessary as it would be ignored by kglobalaccel anyway
I would like to have an action plan as I'm currently doing D28744 and would like to have something working for it. That would mean something in KF 5.70 timeframe. For now we could also only do 1. and 3. and continue using NoDisplay.
Apr 15 2020
- Add section checkbox
- Use pointing hand cursor
- Rename error signals to errorOccured
foo
In D24956#648991, @meven wrote:In D24956#648968, @davidedmundson wrote:[14:12] <d_ed> DavidRedondo1: my understanding is that a system might ship "konsole opens with control+t" . The UI allows you to remove that. This would remove the entry in kglobalshortcutsrc, but because it's still in the system defaults file as soon as you log in again it'll add it back
[14:25] <DavidRedondo1> d_ed, fvogt Apparently the runtime writes the hidden thing when a component is cleanedUp https://cgit.kde.org/kglobalaccel.git/tree/src/runtime/kserviceactioncomponent.cpp#n135
This is addressed in D25088
- Update the delegate
This causes expired notifications to not vanish any more. This is supposed to work in the following way ExpiredRole is assigned true and NotficiationFilterProxyModel filters expired notifications out. I verified that upon timeout of the timer the data is updated correctly but the filter model behaves in a strange way. Even though filterAcceptsRow returns false the model still includes the index. I added the following debug output to the class: https://phabricator.kde.org/P584
Which results in this debug output
QModelIndex(0,0,0x0,QConcatenateTablesProxyModel(0x557a51b00d90)) is expired QModelIndex(-1,-1,0x0,QObject(0x0)) not expired rowCount NotificationManager::NotificationFilterProxyModel(0x557a51f6ab00) QModelIndex(-1,-1,0x0,QObject(0x0)) 1 QModelIndex(0,0,0x0,QConcatenateTablesProxyModel(0x557a51b00d90)) is expired filter returns for filterAcceptsRow(index(0, mapToSource(parent)) false rowCount NotificationManager::NotificationFilterProxyModel(0x557a51f6ab00) QModelIndex(-1,-1,0x0,QObject(0x0)) 1 QModelIndex(0,0,0x0,QConcatenateTablesProxyModel(0x557a51b00d90)) is expired filter returns for filterAcceptsRow(index(0, mapToSource(parent)) false
So it still has one row even though the first row should get filtered.
Apr 14 2020
- Use QCollator and one more coding style
- Set transient window for application dialog
- redo exportActive and exportWarning bindings