- Queries
- All Stories
- Search
- Advanced Search
Advanced Search
Apr 21 2020
Sorry, got no time for this.
Apr 20 2020
You know it started as a proper painted indicator within the widget area, right? As such it couldn't have any of the issues you're pointing out now... Who pushed me to have them at distance I wonder? Right, was people from the VDG. So I find grand that then it goes all to revert because after weeks of pushing me to add more weird constraints then disappearing letting me alone trying to figure out where to go (and it was a large struggle at every step), the conclusion is "let's revert because VDG wasn't involved". There were technical reasons for the very first iteration and they had to be disregarded for design license.
Fix misplaced *
In D27540#652669, @ngraham wrote:Finally clicking on the revert button in Spectacle's settings page causes a segfault for me:
1 #0 KConfigDialogManagerPrivate::updateWidgetIndicator (this=this@entry=0x13324b0, 2 configId=..., widget=widget@entry=0x1234e50) 3 at /home/nate/kde/src/kconfigwidgets/src/kconfigdialogmanager.cpp:613 4 #1 0x00007ffff76d2f5f in KConfigDialogManagerPrivate::onWidgetModified (this=0x13324b0) 5 at /home/nate/kde/src/kconfigwidgets/src/kconfigdialogmanager.cpp:598 6 #2 0x00007ffff5eeb9fe in QtPrivate::QSlotObjectBase::call (a=0x7fffffffadc0, 7 r=0x132ca20, this=0x1334b50) 8 at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 9 #3 doActivate<false> (sender=0x1234e50, signal_index=11, argv=0x7fffffffadc0) 10 at kernel/qobject.cpp:3870 11 #4 0x00007ffff5ee61bf in QMetaObject::activate (sender=sender@entry=0x1234e50, 12 m=m@entry=0x7ffff725c6e0 <QAbstractButton::staticMetaObject>, 13 local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7fffffffadc0) 14 at kernel/qobject.cpp:3930 15 #5 0x00007ffff6e4ca92 in QAbstractButton::toggled (this=this@entry=0x1234e50, 16 _t1=<optimized out>, _t1@entry=false) at .moc/moc_qabstractbutton.cpp:320 17 #6 0x00007ffff6e4ce92 in QAbstractButtonPrivate::emitToggled (this=this@entry=0x690b00, 18 checked=checked@entry=false) at widgets/qabstractbutton.cpp:457 19 #7 0x00007ffff6e4e479 in QAbstractButton::setChecked (this=0x1234e50, 20 checked=<optimized out>) at widgets/qabstractbutton.cpp:650 21 #8 0x00007ffff6e4e578 in QAbstractButton::setChecked (this=0x1234cf0, 22 checked=checked@entry=true) at widgets/qabstractbutton.cpp:648 23 #9 0x00007ffff76d2077 in KConfigDialogManager::setProperty (this=<optimized out>, 24 w=<optimized out>, v=...) at /usr/include/qt5/QtCore/qlist.h:117 25 #10 0x00007ffff76d23e1 in KConfigDialogManagerPrivate::<lambda()>::operator() ( 26 __closure=0x13345e0) 27 at /home/nate/kde/src/kconfigwidgets/src/kconfigdialogmanager.cpp:624 28 #11 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KConfigDialogManagerPrivate::updateWidgetIndicator(const QString&, QWidget*)::<lambda()> >::call ( 29 arg=<optimized out>, f=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146 30 #12 QtPrivate::Functor<KConfigDialogManagerPrivate::updateWidgetIndicator(const QString&, QWidget*)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) 31 at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256 32 #13 QtPrivate::QFunctorSlotObject<KConfigDialogManagerPrivate::updateWidgetIndicator(const QString&, QWidget*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x13345d0, 33 r=<optimized out>, a=<optimized out>, ret=<optimized out>) 34 at /usr/include/qt5/QtCore/qobjectdefs_impl.h:439 35 #14 0x00007ffff5eeb9fe in QtPrivate::QSlotObjectBase::call (a=0x7fffffffb080, 36 r=0x1234860, this=0x13345d0) 37 at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 38 #15 doActivate<false> (sender=0x1332ef0, signal_index=9, argv=0x7fffffffb080) 39 at kernel/qobject.cpp:3870 40 #16 0x00007ffff5ee61bf in QMetaObject::activate (sender=sender@entry=0x1332ef0, 41 m=m@entry=0x7ffff725c6e0 <QAbstractButton::staticMetaObject>, 42 local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fffffffb080) 43 at kernel/qobject.cpp:3930 44 #17 0x00007ffff6e4ca32 in QAbstractButton::clicked (this=this@entry=0x1332ef0, 45 --Type <RET> for more, q to quit, c to continue without paging-- 46 _t1=<optimized out>) at .moc/moc_qabstractbutton.cpp:313 47 #18 0x00007ffff6e4cc4a in QAbstractButtonPrivate::emitClicked (this=this@entry=0x1332f40) 48 at widgets/qabstractbutton.cpp:415 49 #19 0x00007ffff6e4dfef in QAbstractButtonPrivate::click (this=0x1332f40) 50 at widgets/qabstractbutton.cpp:408 51 #20 0x00007ffff6e4e1b5 in QAbstractButton::mouseReleaseEvent (this=0x1332ef0, e= 52 0x7fffffffb630) at widgets/qabstractbutton.cpp:1012 53 #21 0x00007ffff6f3f7da in QToolButton::mouseReleaseEvent (this=<optimized out>, 54 e=<optimized out>) at widgets/qtoolbutton.cpp:622 55 #22 0x00007ffff6d995be in QWidget::event (this=0x1332ef0, event=0x7fffffffb630) 56 at kernel/qwidget.cpp:8675 57 #23 0x00007ffff6e4f3d3 in QAbstractButton::event (this=this@entry=0x1332ef0, 58 e=e@entry=0x7fffffffb630) at widgets/qabstractbutton.cpp:969 59 #24 0x00007ffff6f3f884 in QToolButton::event (this=0x1332ef0, event=0x7fffffffb630) 60 at widgets/qtoolbutton.cpp:1002 61 #25 0x00007ffff6d56caf in QApplicationPrivate::notify_helper (this=this@entry=0x4c2550, 62 receiver=receiver@entry=0x1332ef0, e=e@entry=0x7fffffffb630) 63 at kernel/qapplication.cpp:3684 64 #26 0x00007ffff6d60043 in QApplication::notify (this=<optimized out>, 65 receiver=0x1332ef0, e=0x7fffffffb630) at kernel/qapplication.cpp:3128 66 #27 0x00007ffff5eb7002 in QCoreApplication::notifyInternal2 (receiver=0x1332ef0, 67 event=0x7fffffffb630) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153 68 #28 0x00007ffff6d5f123 in QApplicationPrivate::sendMouseEvent ( 69 receiver=receiver@entry=0x1332ef0, event=event@entry=0x7fffffffb630, 70 alienWidget=alienWidget@entry=0x1332ef0, nativeWidget=0x11cce00, 71 buttonDown=buttonDown@entry=0x7ffff72869a0 <qt_button_down>, lastMouseReceiver=..., 72 spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614 73 #29 0x00007ffff6db45f9 in QWidgetWindow::handleMouseEvent (this=0x13ac1c0, 74 event=0x7fffffffbab0) at /usr/include/c++/9/bits/atomic_base.h:413 75 #30 0x00007ffff6db7694 in QWidgetWindow::event (event=0x7fffffffbab0, this=0x13ac1c0) 76 at kernel/qwidgetwindow.cpp:295 77 #31 QWidgetWindow::event (this=0x13ac1c0, event=0x7fffffffbab0) 78 at kernel/qwidgetwindow.cpp:238 79 #32 0x00007ffff6d56caf in QApplicationPrivate::notify_helper (this=this@entry=0x4c2550, 80 receiver=receiver@entry=0x13ac1c0, e=e@entry=0x7fffffffbab0) 81 at kernel/qapplication.cpp:3684 82 #33 0x00007ffff6d5fdf0 in QApplication::notify (this=0x7fffffffc2d0, receiver=0x13ac1c0, 83 e=0x7fffffffbab0) at kernel/qapplication.cpp:3430 84 #34 0x00007ffff5eb7002 in QCoreApplication::notifyInternal2 (receiver=0x13ac1c0, 85 event=0x7fffffffbab0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153 86 #35 0x00007ffff64944d3 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x13f9970) 87 at kernel/qguiapplication.cpp:2209 88 #36 0x00007ffff6495b65 in QGuiApplicationPrivate::processWindowSystemEvent ( 89 e=e@entry=0x13f9970) at kernel/qguiapplication.cpp:1941 90 #37 0x00007ffff646f53b in QWindowSystemInterface::sendWindowSystemEvents ( 91 flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1163 92 #38 0x00007ffff1cfca6a in xcbSourceDispatch (source=source@entry=0x587b60) 93 at qxcbeventdispatcher.cpp:105 94 --Type <RET> for more, q to quit, c to continue without paging-- 95 #39 0x00007ffff417b048 in g_main_dispatch (context=0x7fffec005000) 96 at ../glib/gmain.c:3216 97 #40 g_main_context_dispatch (context=context@entry=0x7fffec005000) 98 at ../glib/gmain.c:3881 99 #41 0x00007ffff417b3d0 in g_main_context_iterate (context=context@entry=0x7fffec005000, 100 block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) 101 at ../glib/gmain.c:3954 102 #42 0x00007ffff417b45f in g_main_context_iteration (context=0x7fffec005000, 103 may_block=may_block@entry=1) at ../glib/gmain.c:4015 104 #43 0x00007ffff5f0dbee in QEventDispatcherGlib::processEvents (this=0x58ec30, flags=...) 105 at kernel/qeventdispatcher_glib.cpp:423 106 #44 0x00007ffff5eb5b9b in QEventLoop::exec (this=this@entry=0x7fffffffbe50, flags=..., 107 flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136 108 #45 0x00007ffff5ebd972 in QCoreApplication::exec () 109 at ../../include/QtCore/../../src/corelib/global/qflags.h:118 110 #46 0x00007ffff648856c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1866 111 #47 0x00007ffff6d56c25 in QApplication::exec () at kernel/qapplication.cpp:2824 112 #48 0x0000000000423cce in main (argc=<optimized out>, argv=<optimized out>) 113 at /home/nate/kde/src/spectacle/src/Main.cpp:166
In D27540#652664, @ngraham wrote:David asked for VDG to approve before this landed, which wasn't done.
Apr 18 2020
Apr 16 2020
Fix issues found with Cyril's patches on various KCMs.
Apr 15 2020
Apr 11 2020
Agreed, nullptr is going to be the boolean flag of our time, before it was 0 though, so still an improvement. ;-)
In D28742#646050, @dfaure wrote:In D28742#646009, @kossebau wrote:And perhaps could be defaulted to nullptr, for use-cases which do not have a window at hand and are fine with any default?
I've been wondering. But people tend to forget to do so, and in most cases, if we choose the dialog delegate, then there's a QWidget based window somewhere.
Plasma uses KNotificationJobUiDelegate so it's not a problem here.
My thinking is that I'd rather force people to think about it, and possibly pass a nullptr in case there's really no window around.
Indeed, good point.
OK, I can't seem to read properly today, I was pretty sure I read 5.10 and not 5.14 earlier...
Address dfaure's comment
Address dfaure's comment
In D28751#645911, @dfaure wrote:So much effort around parents. It's obvious you miss yours :-)
Apr 8 2020
Addresses David's comments
In D27540#638985, @ndavis wrote:Somehow I missed the notification that this was updated.
Thanks for the horizontal alignment. Could you also add a left margin to the column of reset buttons? It should be the same as the spacing between the labels and the controls, which is equivalent to Kirigami.Units.smallSpacing, IIRC.
Apr 7 2020
LGTM
LGTM but @dfaure concerns need to be addressed.
Two little things.
LGTM, I'll let the last word for @zzag though.
Apr 5 2020
Couple of style fixes missing, sorry to be picky here :-)
Apr 4 2020
Mar 27 2020
LGTM
As advised by Kai and David on D27840, switch to using tool buttons and fix RTL handling.
Addresses Kai and David comments.
Damn turns out I still missed a few, so what @broulik says (when it still applies).