_sharvey_ on IRC.
_sharvey_ on IRC.
FYI: I undid the wonky manual UI sizing that @broulik objected to. In hindsight, not the best approach.
What to keep? What to eliminate? What to change? What CAN be changed?
Okay, this patch is back to where we started, with nothing changed except centering the icon. Hopefully we can commit it now. I'll move the discussion over how to redesign the dialog itself to a separate task.
Hmm, I was actually leaning the other way. Ditch the generic boilerplate and keep the app-specific text. I think it's helpful when the dialog tells you why it appeared and what app/function is requesting your password.
The small-text boilerplate is definitely on the chopping block. @ltoscano makes a fine case for keeping the Details section.
Reviewers: as part of my task to redesign and tidy up this dialog box, I'm considering removing the Details button in the bottom left corner, along with the small pop-open panel that shows additional information. My argument is that the info in the Details panel is quite technical (PID's of calling process and polkit process) and - in some circumstances - lucid information about the program needing authorization. Most of the time, what's coming through is in raw form, such as com.canonical.ubuntu.synaptic (more or less) instead of Synaptic Package Manager.
I'm afraid to admit I don't understand it all that well myself. This is my first submission to KWindowSystem. It was supposed to be a straightforward case of "implement skipSwitcher just like skipTaskbar is implemented". I believe I noted the problems with the autotests in my original submission.
I searched and searched; read the API docs until my eyes ached. The first step (code-wise) in creating an action is adding an action-id to the ActionCollection. The next steps are adding a label, a shortcut key, and/or an icon.
I'd suggest to not get distracted with any icon issues for the file dialog, as the icon topic also affects Dolphin and spans many more aspects, which don't fit here very well, e.g. consistency, HiDPI etc.
+1 for making things easier and prettier.
While you're compiling an impressive to-do list, would you consider adding "Full-color (Breeze) icons at 16x16 size"? I think the monochrome line-art icons are awful, with all due respect to the VDG. I know it was done for readability and clarity, but they look primitive and overly technical. I might even fire up Inkscape and try my hand at creating a few.
I'd try to not add the second action to the actionCollection()
The bad news is that, due to the minimumSize we configured for System Settings, I can't get back to the bottom of the Display KCM to reset my screen scale. Had to set QT_SCALE_FACTOR=0.5 and launch systemsettings5 directly. Never a dull moment!
I tried different fonts up to 15pt and all is okay. I even tried the nasty Windows-style widgets and it's still okay.
Here's the latest from the Pixel Conservation Society. I can't manage wholesale space-savings without breaking up the existing gridLayout and basically starting from scratch. It does resize a bit and does no harm.
Password error alert and user-choice combo box are reduced to 1px high when not needed, then restored to their original geometry when activated.
Better already! Do we even need to reserve that space? Many other such dialogs dynamically allocate it when necessary by increasing the height of the box. Is that not possible here?
Some of the white space is reserved for otherwise-invisible error messages (like an invalid password).
I just realized I inadvertently shrank the spacing between the bold headline and the non-bold explanation text. There's a lot of white space in this dialog. Let me know if you want something adjusted...
OMG, for whatever reason, I was assuming this is about the file dialog window size. You are working on too many things at once, Nathan :)
availableSize() returns size minus any size reserved by the window manager for taskbars, etc. Multiply by 0.9 to prevent systemsettings from going "full screen" and overlapping all other windows.
Heh, that wasn't a request targeted at you, but rather a question for others. :)
Ah, so it is! Any objections to increasing the effective minimum size to 1024x768? It seems that this is the size that the KCMs were actually designed for, so it makes sense to me as a sensible default, but let's collect some more opinions first.
All of this is already implemented and works as expected if you simply remove the resize() call. What needs to be done is to specify the default size without always calling resize(). Either that, or enforce 1024x700 as the minimum.
Once that's fixed, there's still one more issue here: always calling resize() this means that once the user resizes the window, that custom size will be overridden on the next launch. We want to set a better default size, not enforce a mandatory size. I wonder if we should just remove the resize() call and change setMinimumSize() to enforce 1024x700? Most KCMs look pretty bad at smaller sizes anyway.
Hmm, that's not the behavior I see at all. For me, factor appears to be 1 with not running a HiDPi scale factor, so I get an actual size that's essentially equal to the number it's multiplied by. (e.g. return QSize(1024*factor, 700*factor) yields window content that's actually 1024x700 ). If I run with QT_SCALE_FACTOR=1.3 systemsettings5, everything is scaled perfectly. Do you have some wonky DPI settings on your test box or something?
Much better! I think I'd still prefer 700 for the height, since at 600, the following KCMs have vertical scrollbars, but lose them at 700:
What if sizeHint() returns a size which is bigger than screen size? Please use QSize::boundedTo.
The calculation is aiming for a minimum width of 1200px, which seems to be the minimum size needed to display both sidebars. Since the original calculation uses physicalDotsPerInch, I'm only able to use my own laptop as a test subject. It's a 15" 1920x1080 screen. Checking physicalDotsPerInch gives me a value of ~1.47. That's how I derived the value of 815 to multiply by. The qBound function should keep the size to something reasonable, regardless of the screen size.
Merge errors tracked down and eradicated.
Created by mistake.
Oops, did you mean to create a new revision? Let's just focus on the existing one.
Rebased (I think). Had to manually resolve a conflict. Hopefully it'll land now.
Under the subheading of "Documentation", can we discuss code commenting? And ideally - encourage it? The API docs are good and generally well-maintained, but inside the applications themselves, the quantity and quality of code comments varies quite a bit. Some of our products are quite large and use many of the Frameworks together. It can be daunting at times to decipher how a block of code works and why it was constructed in the way it was.
I finally had an "ah-hah!" moment a few weeks ago (thanks to the patience of @hein) when I finally got my development setup properly configured. Eike's gentle but direct question of "didn't we cover this on your last patch?" made me sit back down and follow all the documented steps one by one. With the addition of the right environment variables, I can now download and compile virtually any source module I need.
I'm going to need some time to keep digging into this. I understand what is being requested; I have to see how to make it work within the existing menu/toolbar framework.
CTRL+F once more sets search mode & focuses search bar, but only the toolbar button will toggle search mode on or off
However, Ctrl+F to focus the Find bar now does not work anymore, it closes the bar instead while it shouldn't (see D10246 for discussion).
Since I may or may not have been the one to bring this to @ngraham's attention, I'll offer my two cents and be done.
Will do. I'll keep working on it. I thought it might be something worthy of discussion before submitting a [WIP] patch.
The patch is only a few lines (a KToggleAction and a new slot), but I figured it was just as easy to show the situation than expect everyone to bother patching and recompiling something that's up for discussion.
PS: Credit to @sebas for making Cuttlefish!
In the Login screen, it lets you **//find//** other users not listed there to log in as.