[Gambas-user] File extensions
Willy Raets
willy at ...2734...
Fri May 17 20:11:39 CEST 2013
On Fri, 2013-05-17 at 19:58 +0200, Willy Raets wrote:
> On Fri, 2013-05-17 at 08:38 +0930, Bruce wrote:
> > On Thu, 2013-05-16 at 17:39 +0200, Willy Raets wrote:
> > > Hi all,
> > >
> > > I'm trying to achieve something but have no idea even where to start
> > > looking.
> > >
> > > Let's say I have a gambas3 application named MyFileMaker
> > >
> > > The application MyFileMaker saves files with extension .myfile
> > >
> > > What I want to achieve is when double clicking a .myfile for application
> > > MyFileMaker to open with the double clicked .myfile
> > >
> > > 1. How does my application know it is opened because a .myfile was
> > > double clicked instead of opened from menu as usual as it has to act
> > > differently?
> > > 2. How does the system know that a .myfile needs to be opened with
> > > MyFileMaker?
> > > 3. How do I give the .myfile their own icon, meaning how does the system
> > > know that when there is a .myfile it has to use an icon I provided?
> > >
> > > This all needs to work when a end user installs MyFileMaker, so:
> > >
> > > 4. What do I need to do when making a package. Are there any options
> > > that need to be set in the packaging wizard and how do they need to be
> > > set?
> > >
> > > Any hint or link to more information would be welcome.
> > >
> >
> > 2. This is entirely dependent on the end users desktop manager (or the
> > file manager application if the clicking was done in there.) Clicking
> > on a desktop icon uses the DM "launcher" service to activate the default
> > "Open with" use case.
> > 3. Again, depends on the DM in use. For example, LXDE uses mimetypes to
> > determine the icon for the file when it is on the desktop (and in the
> > file manager).
> > 1. No idea.
>
> Public OpenProjectPath As String
> Public OpenByArgs As String
TYPO -> Needs to be: Public OpenByArgs As Boolean
>
> Public Sub Main()
>
> Dim sArgsString As String
> Args.Begin(Application.Name & " <options>")
> Args.End()
> For Each sArgsString In Args.End()
> If Not IsNull(sArgsString) Then
> OpenProjectPath = sArgsString
> OpenByArgs = True
> Endif
> Next
> FMain.Show
>
> End
>
> That is how I did it thanks to the hint of Fabien.
>
> > 4. I can think of several ways that this could be done, none of them
> > easy. I don't know for sure but maybe some sort of post install script
> > that creates the correct mimetype infrastrucure, depending on the
> > deployment DM might be an idea.
>
> Check Benoîts suggestion and my answer to see it actually isn't that
> hard:-)
>
>
> >
> > cheers
> > Bruce
> >
> Thanks.
>
--
Kind regards,
Willy (aka gbWilly)
http://gambasshowcase.org/
http://howtogambas.org
http://gambos.org
More information about the User
mailing list