[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gambas-user] desktop portal file IDs
[Thread Prev] | [Thread Next]
- Subject: [Gambas-user] desktop portal file IDs
- From: Bruce Steers <bsteers4@xxxxxxxxx>
- Date: Tue, 5 Mar 2024 13:30:42 +0000
- To: Gambas Mailing List <user@xxxxxxxxxxxxxxxxxxxxxx>
Am looking into that darn portal file definition problem. I think cracking this may help with a couple of things that require portals file id values like Inhibit() and SendMail attachments I'm thinking this may be a way to get the integer used in the portal for "fiie ids".. The use of Documents.Add() that "adds to the document store" seems files are used in "a controlled way" in the portal and they must be added to the "store" and can be used then from there. DBus["org.freedesktop.portal.Documents"]["/org/freedesktop/portal/documents","org.freedesktop.portal.Documents"].Add(iFileHandle) this following code (a mod of DesktopPortal.SendMail() ) damn near works.... Public Sub SendMail(aTo As String[], aCc As String[], aBcc As String[], sSubject As String, sBody As String, aAttach As String[]) Dim aFile As String[] Dim sAttach As String Dim sID As String Dim hFile As File Dim cOption As New Collection StartPortal '' begin mod If aAttach And If aAttach.Count Then aFile = New String[] For Each sAttach In aAttach Try hFile = Open sAttach For Read If Error Then Continue sID = DBus["org.freedesktop.portal.Documents"]["/org/freedesktop/portal/documents", "org.freedesktop.portal.Documents"].Add(hFile.Handle, True, True) aFile.Add(sID) Next Endif '' End mod cOption = New Collection If Not aTo Then aTo = New String[] cOption["addresses"] = aTo If Not aCc Then aCc = New String[] cOption["cc"] = aCc If Not aBcc Then aBcc = New String[] cOption["bcc"] = aBcc cOption["subject"] = sSubject cOption["body"] = sBody If aFile Then cOption["attachment_fds"] = aFile GetPortal("Email").ComposeEmail("", cOption) End I've tried it but it is still not working. think i am on the right track though it gets the ID from the File.Handle property just fine it seems. using DBus["org.freedesktop.portal.Documents"]["/org/freedesktop/portal/documents","org.freedesktop.portal.Documents"].List() shows the file is added. but still no attachments added :( Respects BruceS
Re: [Gambas-user] desktop portal file IDs | Benoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx> |