summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2022-05-01 21:20:00 +0900
committerMichele Calgaro <[email protected]>2022-05-01 21:20:00 +0900
commit5a34fb833421c38e91408864abc94af79f3bc152 (patch)
tree2812aec01a0f47d724dd6a8641c5ba26d7535e35 /TODO
downloadtdeio-appinfo-5a34fb833421c38e91408864abc94af79f3bc152.tar.gz
tdeio-appinfo-5a34fb833421c38e91408864abc94af79f3bc152.zip
Initial import of the code taken from https://www.pling.com/p/1081233.
Original author: Robert Hogan <[email protected]> Such code is provided under GPL2 license. Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'TODO')
-rw-r--r--TODO60
1 files changed, 60 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..f5ee550
--- /dev/null
+++ b/TODO
@@ -0,0 +1,60 @@
+app executable
+man pages
+known/found config files (eg kde rc files, /etc/, /usr/local/etc)
+folders in home dir?
+
+later:
+if app is running, known network connections?
+files referenced in man pages
+
+use desktop files where possible
+create and cache desktop files?
+
+for kde apps:
+
+apps - Applications menu (.desktop files).
+config - Configuration files.
+data - Where applications store data.
+exe - Executables in $prefix/bin. findExe() for a function that takes $PATH into account.
+mime - Mime types.
+tmp - Temporary files (specific for both current host and current user)
+socket - UNIX Sockets (specific for both current host and current user)
+
+use
+
+#include <kservice.h>
+#include <kservicegroup.h>
+
+ KService::Ptr service = KService::serviceByDesktopName( url.fileName() );
+ if (service && service->isValid()) {
+// KURL newUrl;
+// newUrl.setPath(locate("apps", service->desktopEntryPath()));
+// createFileEntry(entry, service->name(), newUrl, "application/x-desktop", service->icon());
+
+ createFileEntry(entry, service->name(), url.url(1)+service->desktopEntryName(),
+ "application/x-desktop", service->icon(), locate("apps", service->desktopEntryPath()) );
+
+
+
+overlay:
+
+ // Not using KIconEffect::overlay as that requires the same size
+ // for the icon and the overlay, also the overlay definately doesn't
+ // have a more that one-bit alpha channel here
+ QPixmap overlay( locate ( "icon", KMimeType::favIconForURL( m_filterData->uri() ) + ".png" ) );
+ if ( !overlay.isNull() )
+ {
+ int x = icon.width() - overlay.width();
+ int y = icon.height() - overlay.height();
+ if ( icon.mask() )
+ {
+ QBitmap mask = *icon.mask();
+ bitBlt( &mask, x, y,
+ overlay.mask() ? const_cast<QBitmap *>(overlay.mask()) : &overlay,
+ 0, 0, overlay.width(), overlay.height(),
+ overlay.mask() ? OrROP : SetROP );
+ icon.setMask(mask);
+ }
+ bitBlt( &icon, x, y, &overlay );
+ }
+