summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Schwinn <alexxcons@xfce.org>2020-05-16 21:55:55 +0200
committerAlexander Schwinn <alexxcons@xfce.org>2020-05-17 11:51:54 +0200
commit18af3e3841136b9d30374ab415d65b20d5ad6db1 (patch)
treeaedc03cf421403e27a1270eb598c3698a37d6e98
parent47581257a33c987d2e08480b97f2967cd4e24cf4 (diff)
downloadthunar-ReplaceGtkAction49.tar.gz
Merge all file-context-menus into one (Bug #14410)ReplaceGtkAction49
Make use of new widget "thunar-menu" for location buttons instead of providing a foreign menu
-rw-r--r--thunar/thunar-gtk-extensions.c33
-rw-r--r--thunar/thunar-gtk-extensions.h3
-rw-r--r--thunar/thunar-location-buttons.c392
3 files changed, 49 insertions, 379 deletions
diff --git a/thunar/thunar-gtk-extensions.c b/thunar/thunar-gtk-extensions.c
index fb617b5f..1ad715a3 100644
--- a/thunar/thunar-gtk-extensions.c
+++ b/thunar/thunar-gtk-extensions.c
@@ -35,39 +35,6 @@
#include <libxfce4ui/libxfce4ui.h>
-/**
- * thunar_gtk_action_set_tooltip:
- * @action : a #GtkAction.
- * @format : the format string for the tooltip.
- * @... : the parameters for @format.
- *
- * Convenience function to set a tooltip for a #GtkAction.
- **/
-void
-thunar_gtk_action_set_tooltip (GtkAction *action,
- const gchar *format,
- ...)
-{
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- va_list var_args;
- gchar *tooltip;
-
- _thunar_return_if_fail (g_utf8_validate (format, -1, NULL));
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-
- /* determine the tooltip */
- va_start (var_args, format);
- tooltip = g_strdup_vprintf (format, var_args);
- va_end (var_args);
-
- /* setup the tooltip for the action */
- gtk_action_set_tooltip (action, tooltip);
-
- /* release the tooltip */
- g_free (tooltip);
-G_GNUC_END_IGNORE_DEPRECATIONS
-}
-
/**
diff --git a/thunar/thunar-gtk-extensions.h b/thunar/thunar-gtk-extensions.h
index f0bc0f34..73a6b8f2 100644
--- a/thunar/thunar-gtk-extensions.h
+++ b/thunar/thunar-gtk-extensions.h
@@ -24,9 +24,6 @@
G_BEGIN_DECLS;
-void thunar_gtk_action_set_tooltip (GtkAction *action,
- const gchar *format,
- ...) G_GNUC_PRINTF (2, 3);
void thunar_gtk_label_set_a11y_relation (GtkLabel *label,
GtkWidget *widget);
diff --git a/thunar/thunar-location-buttons.c b/thunar/thunar-location-buttons.c
index a546d1f6..f6017a13 100644
--- a/thunar/thunar-location-buttons.c
+++ b/thunar/thunar-location-buttons.c
@@ -27,6 +27,7 @@
#include <thunar/thunar-application.h>
#include <thunar/thunar-clipboard-manager.h>
+#include <thunar/thunar-menu.h>
#include <thunar/thunar-create-dialog.h>
#include <thunar/thunar-gio-extensions.h>
#include <thunar/thunar-gobject-extensions.h>
@@ -122,22 +123,6 @@ static gboolean thunar_location_buttons_context_menu (Thuna
ThunarLocationButtons *buttons);
static void thunar_location_buttons_gone (ThunarLocationButton *button,
ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_create_folder (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_down_folder (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_empty_trash (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_open (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_open_in_new_tab (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_open_in_new_window (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_paste_into_folder (GtkAction *action,
- ThunarLocationButtons *buttons);
-static void thunar_location_buttons_action_properties (GtkAction *action,
- ThunarLocationButtons *buttons);
@@ -152,8 +137,6 @@ struct _ThunarLocationButtons
{
GtkContainer __parent__;
- GtkActionGroup *action_group;
-
GtkWidget *left_slider;
GtkWidget *right_slider;
GtkWidget *filler_widget;
@@ -163,6 +146,7 @@ struct _ThunarLocationButtons
gint slider_width;
gboolean ignore_click : 1;
+ ThunarLauncher *launcher;
GList *list;
GList *fake_root_button;
GList *first_visible_button;
@@ -177,21 +161,6 @@ static GQuark thunar_file_quark = 0;
-static const GtkActionEntry action_entries[] =
-{
- { "location-buttons-down-folder", NULL, "Down Folder", "<alt>Down", NULL, G_CALLBACK (thunar_location_buttons_action_down_folder), },
- { "location-buttons-context-menu", NULL, "Context Menu", NULL, "", NULL, },
- { "location-buttons-open", "document-open", N_("_Open"), "", NULL, G_CALLBACK (thunar_location_buttons_action_open), },
- { "location-buttons-open-in-new-tab", NULL, N_("Open in New Tab"), "", NULL, G_CALLBACK (thunar_location_buttons_action_open_in_new_tab), },
- { "location-buttons-open-in-new-window", NULL, N_("Open in New Window"), "", NULL, G_CALLBACK (thunar_location_buttons_action_open_in_new_window), },
- { "location-buttons-create-folder", "folder-new", N_("Create _Folder..."), "", NULL, G_CALLBACK (thunar_location_buttons_action_create_folder), },
- { "location-buttons-empty-trash", NULL, N_("_Empty Trash"), "", N_("Delete all files and folders in the Trash"), G_CALLBACK (thunar_location_buttons_action_empty_trash), },
- { "location-buttons-paste-into-folder", "edit-paste", N_("Paste Into Folder"), "", NULL, G_CALLBACK (thunar_location_buttons_action_paste_into_folder), },
- { "location-buttons-properties", "document-properties", N_("_Properties..."), "", NULL, G_CALLBACK (thunar_location_buttons_action_properties), },
-};
-
-
-
G_DEFINE_TYPE_WITH_CODE (ThunarLocationButtons, thunar_location_buttons, GTK_TYPE_CONTAINER,
G_IMPLEMENT_INTERFACE (THUNAR_TYPE_NAVIGATOR, thunar_location_buttons_navigator_init))
@@ -265,14 +234,6 @@ thunar_location_buttons_init (ThunarLocationButtons *buttons)
{
GtkWidget *icon;
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- /* setup the action group for the location buttons */
- buttons->action_group = gtk_action_group_new ("ThunarLocationButtons");
- gtk_action_group_set_accel_group (buttons->action_group, gtk_accel_group_new ());
- gtk_action_group_set_translation_domain (buttons->action_group, GETTEXT_PACKAGE);
- gtk_action_group_add_actions (buttons->action_group, action_entries, G_N_ELEMENTS (action_entries), buttons);
-G_GNUC_END_IGNORE_DEPRECATIONS
-
gtk_widget_set_has_window (GTK_WIDGET (buttons), FALSE);
gtk_widget_set_redraw_on_allocate (GTK_WIDGET (buttons), FALSE);
@@ -324,6 +285,10 @@ G_GNUC_END_IGNORE_DEPRECATIONS
"path-bar-button");
gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (buttons->filler_widget)),
"path-bar-button");
+
+ buttons->launcher = g_object_new (THUNAR_TYPE_LAUNCHER, "widget", GTK_WIDGET (buttons), NULL);
+ g_signal_connect_swapped (G_OBJECT (buttons->launcher), "change-directory", G_CALLBACK (thunar_location_buttons_set_current_directory), buttons);
+ g_signal_connect_swapped (G_OBJECT (buttons->launcher), "open-new-tab", G_CALLBACK (thunar_navigator_open_new_tab), buttons);
}
@@ -341,9 +306,6 @@ thunar_location_buttons_finalize (GObject *object)
/* release from the current_directory */
thunar_navigator_set_current_directory (THUNAR_NAVIGATOR (buttons), NULL);
- /* release our action group */
- g_object_unref (G_OBJECT (buttons->action_group));
-
(*G_OBJECT_CLASS (thunar_location_buttons_parent_class)->finalize) (object);
}
@@ -1225,316 +1187,60 @@ static gboolean
thunar_location_buttons_context_menu (ThunarLocationButton *button,
ThunarLocationButtons *buttons)
{
- ThunarClipboardManager *clipboard;
- const gchar *display_name;
- ThunarFile *file;
- GtkAction *action;
- GtkWidget *menu, *item;
+ ThunarFile *file;
+ GtkWidget *window;
+ GList *files = NULL;
+ ThunarMenu *context_menu;
+ gboolean is_current_directory;
_thunar_return_val_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons), FALSE);
_thunar_return_val_if_fail (THUNAR_IS_LOCATION_BUTTON (button), FALSE);
/* determine the file for the button */
file = thunar_location_button_get_file (button);
- if (G_LIKELY (file != NULL))
- {
- menu = gtk_menu_new ();
-
- /* determine the display name of the file */
- display_name = thunar_file_get_display_name (file);
-
- /* be sure to keep a reference on the navigation bar */
- g_object_ref (G_OBJECT (buttons));
-
- /* grab a reference on the clipboard manager for this display */
- clipboard = thunar_clipboard_manager_get_for_display (gtk_widget_get_display (GTK_WIDGET (buttons)));
-
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- /* setup the "Open" action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-open");
- thunar_gtk_action_set_tooltip (action, _("Open \"%s\" in this window"), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_action_set_sensitive (action, (file != buttons->current_directory));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-
- /* setup the "Open in New Tab" action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-open-in-new-tab");
- thunar_gtk_action_set_tooltip (action, _("Open \"%s\" in a new tab"), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-
- /* setup the "Open in New Window" action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-open-in-new-window");
- thunar_gtk_action_set_tooltip (action, _("Open \"%s\" in a new window"), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-
- /* setup the "Create Folder..." action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-create-folder");
- thunar_gtk_action_set_tooltip (action, _("Create a new folder in \"%s\""), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_action_set_sensitive (action, thunar_file_is_writable (file));
- gtk_action_set_visible (action, !thunar_file_is_trashed (file));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-
- /* setup the "Empty Trash" action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-empty-trash");
- gtk_action_set_visible (action, (thunar_file_is_root (file) && thunar_file_is_trashed (file)));
- gtk_action_set_sensitive (action, (thunar_file_get_item_count (file) > 0));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- item = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- gtk_widget_show (item);
-
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- /* setup the "Paste Into Folder" action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-paste-into-folder");
- thunar_gtk_action_set_tooltip (action, _("Move or copy files previously selected by a Cut or Copy command into \"%s\""), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_action_set_sensitive (action, thunar_clipboard_manager_get_can_paste (clipboard));
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-
- item = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- gtk_widget_show (item);
-
- /* setup the "Properties..." action */
- action = gtk_action_group_get_action (buttons->action_group, "location-buttons-properties");
- thunar_gtk_action_set_tooltip (action, _("View the properties of the folder \"%s\""), display_name);
- g_object_set_qdata_full (G_OBJECT (action), thunar_file_quark, g_object_ref (G_OBJECT (file)), (GDestroyNotify) g_object_unref);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_action_create_menu_item (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* run the menu (takes over the floating of menu) */
- thunar_gtk_menu_run (GTK_MENU (menu));
-
- /* cleanup */
- g_object_unref (buttons);
- g_object_unref (clipboard);
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-
-
-static void
-thunar_location_buttons_action_create_folder (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarApplication *application;
- ThunarFile *directory;
- GList path_list;
- gchar *name;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_UNLIKELY (directory == NULL))
- return;
-
- /* ask the user to enter a name for the new folder */
- name = thunar_show_create_dialog (GTK_WIDGET (buttons),
- "inode/directory",
- _("New Folder"),
- _("Create New Folder"));
- if (G_LIKELY (name != NULL))
- {
- /* fake the path list */
- path_list.data = g_file_resolve_relative_path (thunar_file_get_file (directory), name);
- path_list.next = path_list.prev = NULL;
-
- /* launch the operation */
- application = thunar_application_get ();
- thunar_application_mkdir (application, GTK_WIDGET (buttons), &path_list, NULL);
- g_object_unref (G_OBJECT (application));
-
- /* release the path */
- g_object_unref (path_list.data);
-
- /* release the file name */
- g_free (name);
- }
-}
-
-
-
-static void
-thunar_location_buttons_action_down_folder (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- GList *lp;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* lookup the active button */
- for (lp = buttons->list; lp != NULL; lp = lp->next)
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (lp->data)))
- {
- /* check if we have a folder below that one */
- if (G_LIKELY (lp->prev != NULL))
- {
- /* enter that folder */
- gtk_button_clicked (GTK_BUTTON (lp->prev->data));
- }
-
- break;
- }
-}
-
-
-
-static void
-thunar_location_buttons_action_empty_trash (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarApplication *application;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* launch the operation */
- application = thunar_application_get ();
- thunar_application_empty_trash (application, GTK_WIDGET (buttons), NULL);
- g_object_unref (G_OBJECT (application));
-}
-
-
-
-static void
-thunar_location_buttons_action_open (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarFile *directory;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_LIKELY (directory != NULL && thunar_file_is_directory (directory)))
- {
- /* open the folder in this window */
- thunar_navigator_change_directory (THUNAR_NAVIGATOR (buttons), directory);
- }
-}
-
-
-
-static void
-thunar_location_buttons_action_open_in_new_tab (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarFile *directory;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_LIKELY (directory != NULL))
- {
- /* open tab in thsi window */
- thunar_navigator_open_new_tab (THUNAR_NAVIGATOR (buttons), directory);
- }
-}
-
-
-
-static void
-thunar_location_buttons_action_open_in_new_window (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarApplication *application;
- ThunarFile *directory;
+ if (G_UNLIKELY (file == NULL))
+ return FALSE;
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
+ files = g_list_append (files, file);
+ g_object_set (G_OBJECT (buttons->launcher), "current-directory", file, NULL);
+ g_object_set (G_OBJECT (buttons->launcher), "selected-files", files, NULL);
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_LIKELY (directory != NULL))
+ is_current_directory = g_file_equal (thunar_file_get_file (file), thunar_file_get_file (buttons->current_directory));
+ context_menu = g_object_new (THUNAR_TYPE_MENU, "menu-type", THUNAR_MENU_TYPE_CONTEXT,
+ "launcher", buttons->launcher,
+ "force-section-open", TRUE,
+ "change_directory-support-disabled", is_current_directory, NULL);
+ if (is_current_directory)
{
- /* open a new window for the directory */
- application = thunar_application_get ();
- thunar_application_open_window (application, directory, gtk_widget_get_screen (GTK_WIDGET (buttons)), NULL, TRUE);
- g_object_unref (G_OBJECT (application));
+ /* context menu on current directory */
+ thunar_menu_add_sections (context_menu, THUNAR_MENU_SECTION_OPEN
+ | THUNAR_MENU_SECTION_SENDTO
+ | THUNAR_MENU_SECTION_COPY_PASTE
+ | THUNAR_MENU_SECTION_CREATE_NEW_FILES
+ | THUNAR_MENU_SECTION_EMPTY_TRASH
+ | THUNAR_MENU_SECTION_RESTORE
+ | THUNAR_MENU_SECTION_RENAME
+ | THUNAR_MENU_SECTION_CUSTOM_ACTIONS
+ | THUNAR_MENU_SECTION_PROPERTIES);
}
-}
-
-
-
-static void
-thunar_location_buttons_action_paste_into_folder (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarClipboardManager *clipboard;
- ThunarFile *directory;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_LIKELY (directory != NULL))
+ else
{
- /* paste files from the clipboard to the folder represented by this button */
- clipboard = thunar_clipboard_manager_get_for_display (gtk_widget_get_display (GTK_WIDGET (buttons)));
- thunar_clipboard_manager_paste_files (clipboard, thunar_file_get_file (directory), GTK_WIDGET (buttons), NULL);
- g_object_unref (G_OBJECT (clipboard));
+ /* context menu on some other pathbar element */
+ thunar_menu_add_sections (context_menu, THUNAR_MENU_SECTION_OPEN
+ | THUNAR_MENU_SECTION_SENDTO
+ | THUNAR_MENU_SECTION_COPY_PASTE
+ | THUNAR_MENU_SECTION_EMPTY_TRASH
+ | THUNAR_MENU_SECTION_RESTORE
+ | THUNAR_MENU_SECTION_RENAME
+ | THUNAR_MENU_SECTION_CUSTOM_ACTIONS
+ | THUNAR_MENU_SECTION_PROPERTIES);
}
-}
-
+ thunar_menu_hide_accel_labels (context_menu);
+ gtk_widget_show_all (GTK_WIDGET (context_menu));
+ window = gtk_widget_get_toplevel (GTK_WIDGET (buttons));
+ thunar_window_redirect_menu_tooltips_to_statusbar (THUNAR_WINDOW (window), GTK_MENU (context_menu));
-
-static void
-thunar_location_buttons_action_properties (GtkAction *action,
- ThunarLocationButtons *buttons)
-{
- ThunarFile *directory;
- GtkWidget *toplevel;
- GtkWidget *dialog;
-
- _thunar_return_if_fail (THUNAR_IS_LOCATION_BUTTONS (buttons));
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
- _thunar_return_if_fail (GTK_IS_ACTION (action));
-G_GNUC_END_IGNORE_DEPRECATIONS
-
- /* determine the directory for the action */
- directory = g_object_get_qdata (G_OBJECT (action), thunar_file_quark);
- if (G_LIKELY (directory != NULL))
- {
- /* determine the toplevel window */
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (buttons));
- if (G_LIKELY (toplevel != NULL && gtk_widget_get_toplevel (toplevel)))
- {
- /* popup the properties dialog */
- dialog = thunar_properties_dialog_new (GTK_WINDOW (toplevel));
- thunar_properties_dialog_set_file (THUNAR_PROPERTIES_DIALOG (dialog), directory);
- gtk_widget_show (dialog);
- }
- }
+ thunar_gtk_menu_run (GTK_MENU (context_menu));
+ g_list_free (files);
+ return TRUE;
}
-
-