gtkmm 4.10.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.
 
const GtkFileLauncher * gobj () const
 Provides access to the underlying C GObject.
 
GtkFileLauncher * gobj_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.
 
void launch (Window & parent, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable={}) const
 Launch 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
 Launch 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.
 
- Public Member Functions inherited from Glib::Object
 Object (const Object &)=delete
 
Objectoperator= (const Object &)=delete
 
 Object (Object &&src) noexcept
 
Objectoperator= (Object &&src) noexcept
 
void * get_data (const QueryQuark &key)
 
void set_data (const Quark &key, void *data)
 
void set_data (const Quark &key, void *data, DestroyNotify notify)
 
void remove_data (const QueryQuark &quark)
 
void * steal_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
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () 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 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.
 

Additional Inherited Members

- Public Types inherited from Glib::Object
typedef void(*)(gpointer data DestroyNotify)
 

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_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.

◆ 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_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.

◆ 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.

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.