Can my application, which contains dirty code, become an official kde application?

Sune Vuorela nospam at vuorela.dk
Wed Jan 17 08:33:20 GMT 2024


On 2024-01-17, Danilo Agostini <kyre334 at gmail.com> wrote:
> It allows the user, through the use of a keyboard shortcut or a dolphin
> servicemenu, to have a quick preview of the files that are shown in the
> folder without having to open the default application.
>
> Similar applications are Gnome Sushi and Quick Look (Mac os).

Isn't this in the similar realm as what we can do with thumbnailers
and/or kparts ?

> Technical Limitations/Defects:
>
> 1) The way it integrates with dolphin is not clean due to dolphin's
> limitations: I currently use dbus to copy the path of the selected file

I'd suggest to fix whatever limitations there is in Dolphin to not  have
to do workarounds.

> 2) The preview of some files (odt,doc,docx,xlsx,etc) is obtained by
> converting the documents to pdf using the "libreoffice --headless
> --nolockcheck --norestore --convert-to pdf" command. This obviously
> requires libreoffice installed on the system and the conversion may fail/be
> slow in some cases.

I don't think this as such is a bad idea except maybe ... doesn't this
negate the whatever speedup you are trying to do with a 'quick preview'
instead of launching the app when you now actually launch the app
headless in the background ?


I just browsed around in the code and I do think there is quite some
cleanups to do. I'm sure cppcheck, clazy, clang-tidy and other static
analyzers can find a lot.

oh. Don't use rand(). And consider using something to create a temporary
working directory rather than work directly in tmpdir. 

Some members are m_ prefixed. others aren't. Some member vars shouldn't
be member vars. 
Consider using much more const refs or views.

I'm confused about when you use std::string and QString. It seems to be
a bit random which one you pull out of the tool chest.
And std::thread and QThread.

Why are you using std::filesystem::__cxx11::path ? (Especially the
__cxx11 part)

Also there seems to be a pattern of 
|QString foo;
|foo = someFunction();
Just having 
|QString foo = someFunction();
Is normally easier to work with.


Also note that we are about to move everything to Qt6/KF6; This seems to
be stuck on quite ancient frameworks and qt versions.

/Sune



More information about the kde-core-devel mailing list