gtkmm 4.14.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::FileLauncher Class Reference

A Gtk::FileLauncher object collects the arguments that are needed to open a uri with an application. More...

#include <gtkmm/filelauncher.h>

Inheritance diagram for Gtk::FileLauncher:
Inheritance graph
[legend]

Public Member Functions

 FileLauncher (FileLauncher && src) noexcept
 
FileLauncheroperator= (FileLauncher && src) noexcept
 
 ~FileLauncher () noexcept override
 
GtkFileLauncher * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkFileLauncher * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkFileLauncher * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
Glib::RefPtr< Gio::File > get_file ()
 Gets the file that will be opened. More...
 
Glib::RefPtr< const Gio::File > get_file () const
 Gets the file that will be opened. More...
 
void set_file (const Glib::RefPtr< Gio::File > & file)
 Sets the file that will be opened. More...
 
bool get_always_ask () const
 Returns whether to ask the user to choose an app for opening the file. More...
 
void set_always_ask (bool always_ask=true)
 Sets whether to awlays ask the user to choose an app for opening the file. More...
 
bool get_writable () const
 Returns whether to make the file writable for the handler. More...
 
void set_writable (bool writable=true)
 Sets whether to make the file writable for the handler. More...
 
void launch (Window & parent, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable={}) const
 Launch an application to open the file. More...
 
void launch (const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable={}) const
 A launch() convenience overload. More...
 
bool launch_finish (const Glib::RefPtr< Gio::AsyncResult > & result) const
 Finishes the launch() call and returns the result. More...
 
void open_containing_folder (Window & parent, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable={}) const
 Launch a file manager to show the file in its parent directory. More...
 
void open_containing_folder (const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable={}) const
 A open_containing_folder() convenience overload. More...
 
bool open_containing_folder_finish (const Glib::RefPtr< Gio::AsyncResult > & result) const
 Finishes the open_containing_folder() call and returns the result. More...
 
Glib::PropertyProxy< Glib::RefPtr< Gio::File > > property_file ()
 The file to launch. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::File > > property_file () const
 The file to launch. More...
 
Glib::PropertyProxy< bool > property_always_ask ()
 Whether to ask the user to choose an app for opening the file. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_always_ask () const
 Whether to ask the user to choose an app for opening the file. More...
 
Glib::PropertyProxy< bool > property_writable ()
 Whether to make the file writable for the handler. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_writable () const
 Whether to make the file writable for the handler. More...
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static Glib::RefPtr< FileLaunchercreate (const Glib::RefPtr< Gio::File > & file={})
 

Protected Member Functions

 FileLauncher (const Glib::RefPtr< Gio::File > & file)
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::FileLauncherwrap (GtkFileLauncher * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

A Gtk::FileLauncher object collects the arguments that are needed to open a uri with an application.

Depending on system configuration, user preferences and available APIs, this may or may not show an app chooser dialog or launch the default application right away.

The operation is started with the launch() method. This API follows the GIO async pattern, and the result can be obtained by calling launch_finish().

To launch uris that don't represent files, use Gtk::UriLauncher.

Since gtkmm 4.10:

Constructor & Destructor Documentation

◆ FileLauncher() [1/2]

Gtk::FileLauncher::FileLauncher ( FileLauncher &&  src)
noexcept

◆ ~FileLauncher()

Gtk::FileLauncher::~FileLauncher ( )
overridenoexcept

◆ FileLauncher() [2/2]

Gtk::FileLauncher::FileLauncher ( const Glib::RefPtr< Gio::File > &  file)
explicitprotected

Member Function Documentation

◆ create()

static Glib::RefPtr< FileLauncher > Gtk::FileLauncher::create ( const Glib::RefPtr< Gio::File > &  file = {})
static

◆ get_always_ask()

bool Gtk::FileLauncher::get_always_ask ( ) const

Returns whether to ask the user to choose an app for opening the file.

Since gtkmm 4.12:
Returns
true if always asking for app.

◆ get_file() [1/2]

Glib::RefPtr< Gio::File > Gtk::FileLauncher::get_file ( )

Gets the file that will be opened.

Since gtkmm 4.10:
Returns
The file.

◆ get_file() [2/2]

Glib::RefPtr< const Gio::File > Gtk::FileLauncher::get_file ( ) const

Gets the file that will be opened.

Since gtkmm 4.10:
Returns
The file.

◆ get_type()

static GType Gtk::FileLauncher::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ get_writable()

bool Gtk::FileLauncher::get_writable ( ) const

Returns whether to make the file writable for the handler.

Since gtkmm 4.14:
Returns
true if the file will be made writable.

◆ gobj() [1/2]

GtkFileLauncher * Gtk::FileLauncher::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkFileLauncher * Gtk::FileLauncher::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkFileLauncher * Gtk::FileLauncher::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ launch() [1/2]

void Gtk::FileLauncher::launch ( const Gio::SlotAsyncReady &  slot,
const Glib::RefPtr< Gio::Cancellable > &  cancellable = {} 
) const

A launch() convenience overload.

◆ launch() [2/2]

void Gtk::FileLauncher::launch ( Window parent,
const Gio::SlotAsyncReady &  slot,
const Glib::RefPtr< Gio::Cancellable > &  cancellable = {} 
) const

Launch an application to open the file.

This may present an app chooser dialog to the user.

The slot will be called when the operation is completed. It should call launch_finish() to obtain the result.

Since gtkmm 4.10:
Parameters
parentThe parent Gtk::Window.
cancellableA Cancellable to cancel the operation.
slotA callback to call when the operation is complete.

◆ launch_finish()

bool Gtk::FileLauncher::launch_finish ( const Glib::RefPtr< Gio::AsyncResult > &  result) const

Finishes the launch() call and returns the result.

Since gtkmm 4.10:
Parameters
resultA Gio::AsyncResult.
Returns
true if an application was launched, or false and error is set.
Exceptions
Gtk::DialogError
Gio::Error

◆ open_containing_folder() [1/2]

void Gtk::FileLauncher::open_containing_folder ( const Gio::SlotAsyncReady &  slot,
const Glib::RefPtr< Gio::Cancellable > &  cancellable = {} 
) const

A open_containing_folder() convenience overload.

◆ open_containing_folder() [2/2]

void Gtk::FileLauncher::open_containing_folder ( Window parent,
const Gio::SlotAsyncReady &  slot,
const Glib::RefPtr< Gio::Cancellable > &  cancellable = {} 
) const

Launch a file manager to show the file in its parent directory.

This is only supported native files. It will fail if file is e.g. a http:// uri.

The slot will be called when the operation is completed. It should call open_containing_folder_finish() to obtain the result.

Since gtkmm 4.10:
Parameters
parentThe parent Gtk::Window.
cancellableA Cancellable to cancel the operation.
slotA callback to call when the operation is complete.

◆ open_containing_folder_finish()

bool Gtk::FileLauncher::open_containing_folder_finish ( const Glib::RefPtr< Gio::AsyncResult > &  result) const

Finishes the open_containing_folder() call and returns the result.

Since gtkmm 4.10:
Parameters
resultA Gio::AsyncResult.
Returns
true if an application was launched, or false and error is set.
Exceptions
Gtk::DialogError
Gio::Error

◆ operator=()

FileLauncher & Gtk::FileLauncher::operator= ( FileLauncher &&  src)
noexcept

◆ property_always_ask() [1/2]

Glib::PropertyProxy< bool > Gtk::FileLauncher::property_always_ask ( )

Whether to ask the user to choose an app for opening the file.

If false, the file might be opened with a default app or the previous choice.

Since gtkmm 4.12:

Default value: false

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_always_ask() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::FileLauncher::property_always_ask ( ) const

Whether to ask the user to choose an app for opening the file.

If false, the file might be opened with a default app or the previous choice.

Since gtkmm 4.12:

Default value: false

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_file() [1/2]

Glib::PropertyProxy< Glib::RefPtr< Gio::File > > Gtk::FileLauncher::property_file ( )

The file to launch.

Since gtkmm 4.10:
Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_file() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::File > > Gtk::FileLauncher::property_file ( ) const

The file to launch.

Since gtkmm 4.10:
Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_writable() [1/2]

Glib::PropertyProxy< bool > Gtk::FileLauncher::property_writable ( )

Whether to make the file writable for the handler.

Since gtkmm 4.14:

Default value: false

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_writable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::FileLauncher::property_writable ( ) const

Whether to make the file writable for the handler.

Since gtkmm 4.14:

Default value: false

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ set_always_ask()

void Gtk::FileLauncher::set_always_ask ( bool  always_ask = true)

Sets whether to awlays ask the user to choose an app for opening the file.

If false, the file might be opened with a default app or the previous choice.

Since gtkmm 4.12:
Parameters
always_askA <tt>bool</tt>.

◆ set_file()

void Gtk::FileLauncher::set_file ( const Glib::RefPtr< Gio::File > &  file)

Sets the file that will be opened.

Since gtkmm 4.10:
Parameters
fileA Gio::File.

◆ set_writable()

void Gtk::FileLauncher::set_writable ( bool  writable = true)

Sets whether to make the file writable for the handler.

Since gtkmm 4.14:
Parameters
writableA <tt>bool</tt>.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::FileLauncher > wrap ( GtkFileLauncher *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.