Thanks Méven! This fixes the case of creating a non-admin user. However while testing it, I found a regression from D25439: when I create an admin user that has a space in the Real Name field, the "Enable administror privileges for this user" checkbox becomes unchecked and it isn't actually created as an admin user. Do you think you could also fix that in this patch?
Set always a default value for role Administrator in m_newUserData
I have tested the patch on tags, it works.
It does not break existing tests.
Sat, Dec 14
And tests fail with or without this patch. see bug 413660.
Fixed in thumnail creator in D25891
In favor of D25891
Thu, Dec 12
Wed, Dec 11
Remove uneeded setNeedsSave, code style
Duplicate of D25881
Camel case kcfg entries names
Tue, Dec 10
Sun, Dec 8
Wed, Dec 4
Add return after accepting
Use a QString as buffer for filenames
Tue, Dec 3
Consumes KeyPressEvent when activated would not needed, clean up
So after a double-click, activated() is emitted, the boolean is set, and much later some Key_Enter event that should have been emitted, gets eaten?
Wouldn't an event filter on the QAbstractItemView solve your problem? Then you can catch the Return key before QAbstractItemView sees it, and call _k_slotActivated yourself, and decide whether to emit returnPressed as well?
I hope this makes sense, if not I can dig further later, I'm in a bit of a rush right now.
I'm actually wondering *when* we want KDirOperator to emit returnPressed at all. When the current index isn't a directory, I assume?
Move activated event detection to KDirOperator
I'm still not super thrilled by exposing something as nerdy as the maximum depth of calculation/recursion, but before we continue on the UI design discussion, Dolphin has started reproducibly crashing every time I enter Details view with the latest version of this patch. Here's the backtrace:
1 #0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:96 2 #1 0x00007ffff54d293e in __vfprintf_internal (s=s@entry=0x7fffe8e16f70, 3 format=format@entry=0x7ffff7eabefe "%s/%s", ap=ap@entry=0x7fffe8e170b0, 4 mode_flags=mode_flags@entry=0) at vfprintf-internal.c:1688 5 #2 0x00007ffff54ddf30 in __vsprintf_internal ( 6 string=0x7fffe8e17240 "/home/nate/Documents/Tabletop games/40K/Inspiration", 7 maxlen=maxlen@entry=18446744073709551615, 8 format=format@entry=0x7ffff7eabefe "%s/%s", args=args@entry=0x7fffe8e170b0, 9 mode_flags=mode_flags@entry=0) at iovsprintf.c:96 10 #3 0x00007ffff54bd384 in __sprintf ( 11 s=s@entry=0x7fffe8e17240 "/home/nate/Documents/Tabletop games/40K/Inspiration", 12 format=format@entry=0x7ffff7eabefe "%s/%s") at sprintf.c:30 13 #4 0x00007ffff7e5eab5 in walkDir ( 14 dirPath=0x7fff0067706a <error: Cannot access memory at address 0x7fff0067706a>, 15 dirPath@entry=0x7fffe8e17430 "/home/nate/Documents/Tabletop games/40K", 16 countHiddenFiles=countHiddenFiles@entry=false, countDirectoriesOnly=97, 17 countDirectoriesOnly@entry=false, dirEntry=0x7fffe0014f88, 18 allowedRecursiveLevel=1818581280, allowedRecursiveLevel@entry=8) 19 at /home/nate/kde/src/dolphin/src/kitemviews/private/kdirectorycontentscounterworker.cpp:77 20 #5 0x00007ffff7e5eaf3 in walkDir ( 21 dirPath=dirPath@entry=0x7fffe8e17620 "/home/nate/Documents/Tabletop games", 22 countHiddenFiles=countHiddenFiles@entry=false, 23 countDirectoriesOnly=countDirectoriesOnly@entry=false, dirEntry=0x7fffe000cd40, 24 allowedRecursiveLevel=allowedRecursiveLevel@entry=9) 25 at /home/nate/kde/src/dolphin/src/kitemviews/private/kdirectorycontentscounterworker.cpp:90 26 #6 0x00007ffff7e5eaf3 in walkDir (dirPath=0xcc50f8 "/home/nate/Documents", 27 countHiddenFiles=countHiddenFiles@entry=false, 28 countDirectoriesOnly=countDirectoriesOnly@entry=false, dirEntry=0x7fffe0004de0, 29 dirEntry@entry=0x0, allowedRecursiveLevel=allowedRecursiveLevel@entry=10) 30 at /home/nate/kde/src/dolphin/src/kitemviews/private/kdirectorycontentscounterworker.cpp:90 31 #7 0x00007ffff7e5ec0e in KDirectoryContentsCounterWorker::subItemsCount (path=..., 32 options=...) at /usr/include/qt5/QtCore/qarraydata.h:208 33 #8 0x00007ffff7e5ec77 in KDirectoryContentsCounterWorker::countDirectoryContents ( 34 this=0x9ef7f0, path=..., options=...) 35 at /home/nate/kde/src/dolphin/src/kitemviews/private/kdirectorycontentscounterworker.cpp:131 36 #9 0x00007ffff5c30eea in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 37 #10 0x00007ffff66dec62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () 38 from /usr/lib64/libQt5Widgets.so.5 39 #11 0x00007ffff66e81e0 in QApplication::notify(QObject*, QEvent*) () 40 from /usr/lib64/libQt5Widgets.so.5 41 #12 0x00007ffff5c05562 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () 42 from /usr/lib64/libQt5Core.so.5 43 #13 0x00007ffff5c081f8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5 44 #14 0x00007ffff5c5c333 in ?? () from /usr/lib64/libQt5Core.so.5 45 #15 0x00007ffff4055f88 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 46 #16 0x00007ffff4056310 in ?? () from /usr/lib64/libglib-2.0.so.0 47 #17 0x00007ffff405639f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 48 #18 0x00007ffff5c5b971 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 49 #19 0x00007ffff5c040cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () 50 from /usr/lib64/libQt5Core.so.5 51 #20 0x00007ffff5a3c021 in QThread::exec() () from /usr/lib64/libQt5Core.so.5 52 #21 0x00007ffff5a3d1a2 in ?? () from /usr/lib64/libQt5Core.so.5 53 #22 0x00007ffff50bdf2a in start_thread (arg=<optimized out>) at pthread_create.c:479 54 #23 0x00007ffff55654af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Mon, Dec 2
I gave this a try today. The performance is quite good and the feature works great! It will be very nice to have, even without any caching (though that is probably necessary IMO to improve the display and performance and to minimize disk wear for SSDs in particular). I have a few concerns and suggestions for improvement:
- The UI to turn this on is entirely too technical. It should be more like this:
` Folder size display: (o) Number of items ( ) Size of contents  Levels deep `
I mostly followed your nice suggestion.
Apply the setting in UI, better setting UI, remove nb of items when recurse count was selected, take into account folder size
Hmm, the use case is that it re-highlights if you set an invalid definition?
Here it rehighlight if the definition has changed definition() != def.
But since the current definition m_definition has initially the value Definition(), it is the same as the invalid default definition returned by Repository::definitionForFileName (set in RepositoryPrivate::load line 161) and does not call rehighlight.
Perhaps one should just trigger rehighlight here just for that case, too.
So the fix does not really depend on the definition being valid or invalid.
Perhaps there is a better way to fix this.
ping anyone ?
Rebase on master
Sun, Dec 1
Fix: | instead of & to build a QFlags
Rename addRecentlyUsedActions to addForgetRecentlyUsedAction
Split separately timelinecontext and searchcontext
This isn't working for me. When I create a file named "foobar".txt, the file dialog is still unable to open it, saying:
That's precisely the unit test included, it works for.
I think the app you tested with did not use your compiled kio because of kdeinit. You can use the included or recompile and use gwenview as it does not use kdeinit, you can also restart kdeinit before launching the app you want to test with :
Remove unrelated change
Fri, Nov 29
Do not forget to get UDS_DEVICE_ID UDS_INODE
Thu, Nov 28
Lower the amount of data pulled by directory size job (avoids resolving symlinks notably)
Avoid using unnecessarly QRegularExpression
Clean include, update comment
Wed, Nov 27
Let windows code path not being changed, add a todo for windows support
Mon, Nov 25
Nice, I am properly not the best reviewer here, but it looks ok to me.
Could we add those jobs in KF5 and mark the old deprecate class JobUiDelegateExtension deprecated, candidate for KF6 cleanup ?
Sun, Nov 24
Seems redundant with https://phabricator.kde.org/T12191
There is an experimental branch btw https://github.com/sddm/sddm/pull/616
I received the agreements of all contributors including the original code author, to relicense this code and hence upstream it.
Playing the bad guy here: where are these agreements? On a public mailing list, or in your private inbox? If on a public mailing list, you could reference these mails on our mail archives in your commit message.
-1 There's UI shown by kded, like network manager prompts and other bits. Also, some bits probably need windowing capabilities.
Certainly something to look into (e.g. use QGuiApplication and turn off platform awareness) but not something we can "just" do in a minor update.
I found the project wacomtablet uses the Kded QGuiApplication internally to detect screens and related events.
It could be replaced by dbus calls instead.
Internally in kded it is used to
Sat, Nov 23
Update copyright/licensing, update @since, add a TODO KF6
Amend commit message
Add missing signal transmission resumingFromSuspend for future-proofing
Have you had a look at the libkworkspace2 stuff? It should have that signal in it and is ready to be made a qml import iirc
Reuse SessionManagement component from libkworkspace org.kde.plasma.private.sessions
If this solution is the one expected, I will probably offer a patch to sddm's greeter following the same pattern.
Undo blank line changes