Hi,

AppMenu.cxx:
* You can use NoDotAndDotDot flag in entryInfoList() to already skip those
* You seem to be using KFileItem and the url you generate just for 
isDesktopFile(), you could use KDesktopFile::isDesktopFile(), also the isDir() 
check could come before, a folder cannot be a desktop file

Battery.cxx:
* It's using Solid/Power API that has never been released (and probably never 
will be..)
* you assume remainingTime() == -1 to be "when on AC", I'm not sure this 
assumption holds
* secsToHM looks not ideal form an i18n perspective

CMakeLists.txt:
* No project name set

ConfigureDesktopDialog.cxx:
* instead of QOverload or old syntax you can 
static_cast<void(KUrlRequester::*)(const QString 
&)>(&KUrlRequester::returnPressed)

ConfigureDesktopDialog.hxx:
* Reason for *returning* const &?

desktop.cxx:
* Missing AA_UseHighDpiPixmaps attribute

DesktopWidget.cxx:
* window type NET::Desktop should imply NET::KeepBelow
* The list of applets is completely hardcoded and makes assumptions in the 
class (for "Weather" create WeatherApplet) instead of using some 
plugin/introspection mechanism

LockLogout.cxx:
* Use QDBus instead of calling dbus-send command-line tool or xdg-screensaver

QuickLaunch.cxx:
* Similar issues as AppMenu.cxx
* Internet browser assumes kde.org is start page

StartMenu.cxx:
* Similar issues as LockLogout.cxx

SysTray.cxx:
* The fill function is also awfully hardcoded

General (UI) observations:
* Qt scales it quite well for high-dpi, however the application doesn't 
announce high dpi support leading to blurry icons, especially tray icons
* The CPU indicator in the panel cannot be disabled and is distracting
* There's lots of I18N substitution errors all over the place 
(I18N_ARGUMENT_MISSING)
* The "device notifier" lists *all* devices (not just removables) and isn't 
scrollable if there are lots of devices, network also doesn't seem scrollable
* No battery applet, icon just opens KCM
* "Bluetooth is not operational", why show the icon then
* Notifications doesnt handle multiple incoming ones well (just stacks dialogs 
ontop of each other)
* Start button breaks Fitt's law (I cannot open it by janking the cursor into 
the lower-left corner)
* No multi-screen support whatsoever
* I like the background color selector combination of ComboBox and "custom"
* Often uses QString instead of enums
* Task Bar does not announce "iconified geometries" to KWin thus minimize 
animations go to the wrong place (centre of screen usually)
* The coding style and naming practises do not follow "modern" KDE Frameworks 
guidelines

Cheers
Kai Uwe

Reply via email to