Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notebook Tab Right-Click context menu "copy filename, file directory or file path to clipboard" #2550

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c40b80f
Add separator to right click context popup menu
SavSanta Jul 17, 2020
41ba0f4
stub out 3 'To Clipboard' menu items
SavSanta Jul 17, 2020
d713a7a
Change signal handler names and descriptions for 'copy to clipboard' …
SavSanta Jul 17, 2020
3cae451
Implement handler function for on_copy_filename_to_clipboard_activate
SavSanta Jul 17, 2020
b8534c8
Change function to use real_path
SavSanta Jul 17, 2020
cba647f
Implement signal handler function for on_copy_file_path_to_clipboard_…
SavSanta Jul 17, 2020
d9e6a17
Return simply the gchar pointer to real_path for function in previous…
SavSanta Jul 17, 2020
9e5fa4e
Implement signal handler function for on_copy_file_dir_to_clipboard_a…
SavSanta Jul 17, 2020
cd1a5a5
Add missing length of -1 parameter in a few calls
SavSanta Jul 17, 2020
3e9f262
Stop forgetting we're no Python. We need semicolons for statement ends.
SavSanta Jul 17, 2020
2993f90
Change GTK_STOCK icon to use GTK_STOCK_PASTE. (It's a visual represen…
SavSanta Jul 17, 2020
5ce9e53
Convert spaces to tabs and strip trailing whitespace
SavSanta Jul 17, 2020
05e1984
Correct indentation level
SavSanta Jul 18, 2020
7fde60b
Change function names and menu item label
SavSanta Jul 18, 2020
b9b9ecb
Add mnemonics for keyboard
SavSanta Jul 18, 2020
1dea06a
Create variables to hold result and free aftewards
SavSanta Jul 18, 2020
a5aee0e
Change declaration to a pointer to gchar
SavSanta Jul 18, 2020
630d048
Ensure dirpath is second argument
SavSanta Jul 18, 2020
ad0b243
Change to g_path_get_dirname
SavSanta Jul 18, 2020
27e81be
Dedentation of block one level
SavSanta Jul 18, 2020
1d1cb2b
Merge differential patch for utf8 locale paths
SavSanta Jul 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
18 changes: 9 additions & 9 deletions src/notebook.c
Expand Up @@ -455,23 +455,23 @@ static void on_close_documents_right_activate(GtkMenuItem *menuitem, GeanyDocume
}


static void on_copy_filename_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
static void on_copy_basename_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
{
g_return_if_fail(doc->is_valid);

gtk_clipboard_set_text(gtk_clipboard_get(GDK_NONE), g_path_get_basename(doc->real_path), -1);
}


static void on_copy_file_path_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
static void on_copy_full_path_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
{
g_return_if_fail(doc->is_valid);

gtk_clipboard_set_text(gtk_clipboard_get(GDK_NONE), doc->real_path, -1);
}


static void on_copy_file_dir_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
static void on_copy_dir_path_to_clipboard_activate(GtkMenuItem *menuitem, GeanyDocument *doc)
{
g_return_if_fail(doc->is_valid);

Expand Down Expand Up @@ -537,29 +537,29 @@ static void show_tab_bar_popup_menu(GdkEventButton *event, GeanyDocument *doc)
gtk_widget_show(menu_item);
gtk_container_add(GTK_CONTAINER(menu), menu_item);

menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy filename to clipboard"));
menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy Basename to Clipboard"));
gtk_widget_show(menu_item);
gtk_container_add(GTK_CONTAINER(menu), menu_item);
g_signal_connect(menu_item, "activate",
G_CALLBACK(on_copy_filename_to_clipboard_activate), doc);
G_CALLBACK(on_copy_basename_to_clipboard_activate), doc);
/* disable if not on disk */
if (doc == NULL || !doc->real_path)
gtk_widget_set_sensitive(menu_item, FALSE);

menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy file path to clipboard"));
menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy Full Path to Clipboard"));
gtk_widget_show(menu_item);
gtk_container_add(GTK_CONTAINER(menu), menu_item);
g_signal_connect(menu_item, "activate",
G_CALLBACK(on_copy_file_path_to_clipboard_activate), doc);
G_CALLBACK(on_copy_full_path_to_clipboard_activate), doc);
/* disable if not on disk */
if (doc == NULL || !doc->real_path)
gtk_widget_set_sensitive(menu_item, FALSE);

menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy file directory to clipboard"));
menu_item = ui_image_menu_item_new(GTK_STOCK_PASTE, _("Copy Directory Path to Clipboard"));
gtk_widget_show(menu_item);
gtk_container_add(GTK_CONTAINER(menu), menu_item);
g_signal_connect(menu_item, "activate",
G_CALLBACK(on_copy_file_dir_to_clipboard_activate), doc);
G_CALLBACK(on_copy_dir_path_to_clipboard_activate), doc);
/* disable if not on disk */
if (doc == NULL || !doc->real_path)
gtk_widget_set_sensitive(menu_item, FALSE);
Expand Down