diff --git a/thunar/thunar-launcher.c b/thunar/thunar-launcher.c index ae5790cb2ebae4a44f811b59efcb0187894a7786..a7aa0a3c1a7176de8cb8a919bb011d091f7888da 100644 --- a/thunar/thunar-launcher.c +++ b/thunar/thunar-launcher.c @@ -57,6 +57,33 @@ +/** + * SECTION:thunar-launcher + * @Short_description: Manages creation and execution of menu-item + * @Title: ThunarLauncher + * + * The #ThunarLauncher class manages the creation and execution of menu-item which are used by multiple menus. + * The management is done in a central way to prevent code duplication on various places. + * XfceGtkActionEntry is used in order to define a list of the managed items and ease the setup of single items. + * + * #ThunarLauncher implements the #ThunarNavigator interface in order to use the "open in new tab" and "change directory" service. + * It as well tracks the current directory via #ThunarNavigator. + * + * #ThunarLauncher implements the #ThunarComponent interface in order to track the currently selected files. + * Based on to the current selection (and some other criteria), some menu items will not be shown, or will be insensitive. + * + * Files which are opened via #ThunarLauncher are poked first in order to e.g do missing mount operations. + * + * As well menu-item related services, like activation of selected files and opening tabs/new windows, + * are provided by #ThunarLauncher. + * + * It is required to keep an instance of #ThunarLauncher open, in order to listen to accellerators which target + * menu-items managed by #ThunarLauncher. + * Typically a single instance of #ThunarLauncher is provided by each #ThunarWindow. + */ + + + typedef struct _ThunarLauncherPokeData ThunarLauncherPokeData; diff --git a/thunar/thunar-menu.c b/thunar/thunar-menu.c index d8a7af2245a18b1b1f0690ed0ec48e39489ba0e0..fe40f46c780230d0717b09a462a3ea707e91b09a 100644 --- a/thunar/thunar-menu.c +++ b/thunar/thunar-menu.c @@ -26,6 +26,21 @@ #include <thunar/thunar-private.h> #include <thunar/thunar-window.h> + + +/** + * SECTION:thunar-menu + * @Short_description: Wrapper of GtkMenu to simplify the creation commonly used menu-sections in thunar + * @Title: ThunarMenu + * + * #ThunarMenu is a #GtkMenu which provides a unified menu-creation service for different thunar widgets. + * + * Based on the passed flags and selected sections, it fills itself with the requested menu-items + * by creating them with #ThunarLauncher. + */ + + + /* property identifiers */ enum {