[Github-comments] [geany/geany-plugins] Project Organizer: Add option to open current folder in file manager and terminal (PR #1126)

Jiří Techet notifications at xxxxx
Wed Nov 10 20:07:07 UTC 2021


@techee requested changes on this pull request.



> @@ -300,6 +300,181 @@ static void on_follow_active(GtkToggleToolButton *button, G_GNUC_UNUSED gpointer
 }
 
 
+/* returns parent folder of path from get_full_path_for_selection()
+ *   if unable to find parent folder, returns home folder
+ *   otherwise, returns NULL
+ * return path is in locale encoding */
+static gchar *get_folder_for_selection(void)

Once again, I don't understand why this function has so many tests and is so complicated. Basically, when you right-click some item, there should be a selection; if there's no selection, fall back just to whatever, e.g. the project base path. Basically, just call `parent_dir_for_create()` (maybe could be renamed to something different as it would be used here now) - use the return value when not NULL, otherwise fall back to project base path.

> @@ -0,0 +1,72 @@
+/*

What is this file? Was it committed by mistake?

> +
+
+void on_open_terminal(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data)
+{
+	gchar *locale_path, *open_command;
+
+	if(g_file_test(PRJORG_COMMAND_TERMINAL_ALT, G_FILE_TEST_EXISTS))
+	{
+		gchar *alt_command;
+		alt_command = utils_get_real_path(PRJORG_COMMAND_TERMINAL_ALT);
+		open_command = g_path_get_basename(alt_command);
+		g_free(alt_command);
+	}
+	else
+	{
+		/* g_strdup is needed here to prevent segfault on g_free */

This comment isn't really necessary.

> +
+		g_free(command);
+		g_free(locale_path);
+	}
+	else
+	{
+		msgwin_status_add(_("Unable to find folder."));
+	}
+}
+
+
+void on_open_terminal(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data)
+{
+	gchar *locale_path, *open_command;
+
+	if(g_file_test(PRJORG_COMMAND_TERMINAL_ALT, G_FILE_TEST_EXISTS))

Space after 'if'.

> +	if(locale_path && !g_file_test(locale_path, G_FILE_TEST_IS_DIR))
+	{
+		g_free(locale_path);
+		locale_path = NULL;
+	}
+
+	return locale_path;
+}
+
+
+void on_open_file_manager(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer user_data)
+{
+	gchar *locale_path;
+	gchar *open_command;
+
+	open_command = PRJORG_COMMAND_OPEN;

Can be moved inside the `if` below and the variable can be `const`.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1126#pullrequestreview-803085684
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20211110/145c924b/attachment-0001.htm>


More information about the Github-comments mailing list