gtkmm 4.17.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Symbols | 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
 
GtkFileLaunchergobj ()
 Provides access to the underlying C GObject.
 
const GtkFileLaunchergobj () const
 Provides access to the underlying C GObject.
 
GtkFileLaunchergobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
 
Glib::RefPtr< Gio::Fileget_file ()
 Gets the file that will be opened.
 
Glib::RefPtr< const Gio::Fileget_file () const
 Gets the file that will be opened.
 
void set_file (const Glib::RefPtr< Gio::File > & file)
 Sets the file that will be opened.
 
bool get_always_ask () const
 Returns whether to ask the user which app to use.
 
void set_always_ask (bool always_ask=true)
 Sets whether to awlays ask the user which app to use.
 
bool get_writable () const
 Returns whether to make the file writable for the handler.
 
void set_writable (bool writable=true)
 Sets whether to make the file writable for the handler.
 
void launch (Window & parent, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > &cancellable={}) const
 Launches an application to open the file.
 
void launch (const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > &cancellable={}) const
 A launch() convenience overload.
 
bool launch_finish (const Glib::RefPtr< Gio::AsyncResult > &result) const
 Finishes the launch() call and returns the result.
 
void open_containing_folder (Window & parent, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > &cancellable={}) const
 Launches a file manager to show the file in its parent directory.
 
void open_containing_folder (const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > &cancellable={}) const
 A open_containing_folder() convenience overload.
 
bool open_containing_folder_finish (const Glib::RefPtr< Gio::AsyncResult > &result) const
 Finishes the open_containing_folder() call and returns the result.
 
Glib::PropertyProxy< Glib::RefPtr< Gio::File > > property_file ()
 The file to launch.
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gio::File > > property_file () const
 The file to launch.
 
Glib::PropertyProxy< bool > property_always_ask ()
 Whether to ask the user to choose an app for opening the file.
 
Glib::PropertyProxy_ReadOnly< bool > property_always_ask () const
 Whether to ask the user to choose an app for opening the file.
 
Glib::PropertyProxy< bool > property_writable ()
 Whether to make the file writable for the handler.
 
Glib::PropertyProxy_ReadOnly< bool > property_writable () const
 Whether to make the file writable for the handler.
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
voidget_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data_with_c_callback (const Quark &key, void *data, GDestroyNotify notify)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
voidsteal_data (const QueryQuark &quark)
 
Glib::RefPtr< Glib::Objectwrap (GObject *object, bool take_copy=false)
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
PropertyType get_property (const Glib::ustring &property_name) const
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObjectgobj ()
 
const GObjectgobj () const
 
GObjectgobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *data) const
 

Static Public Member Functions

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

Protected Member Functions

 FileLauncher (const Glib::RefPtr< Gio::File > & file)
 
- Protected Member Functions inherited from Glib::Object
 Object ()
 
 Object (const Glib::ConstructParams &construct_params)
 
 Object (GObject *castitem)
 
 ~Object () noexcept override
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

Related Symbols

(Note that these are not member symbols.)

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

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 
- Public Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 

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 which app to use.

Since gtkmm 4.12:
Returns
True if always asking the user.

◆ 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

Launches an application to open the file.

This may present an app chooser dialog to the user.

Since gtkmm 4.10:
Parameters
parentThe parent 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
resultThe result.
Returns
True if an application was launched.
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

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

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

Since gtkmm 4.10:
Parameters
parentThe parent 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
resultThe result.
Returns
True if an application was launched.
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 which app to use.

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

Since gtkmm 4.12:
Parameters
always_askWhether to always ask.

◆ 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
fileThe 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
writableWhether to make the file writable.

Friends And Related Symbol 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.