[geany/geany] 84e07f: Show independent run menu items

Nick Treleaven git-noreply at xxxxx
Sat Oct 5 11:31:09 UTC 2019


Branch:      refs/heads/build-exec
Author:      Nick Treleaven <n at trelsoft.com>
Committer:   Nick Treleaven <n at trelsoft.com>
Date:        Sat, 05 Oct 2019 11:31:09 UTC
Commit:      84e07f25da673d0f60d3d4963553c8dcf050cd85
             https://github.com/geany/geany/commit/84e07f25da673d0f60d3d4963553c8dcf050cd85

Log Message:
-----------
Show independent run menu items


Modified Paths:
--------------
    src/build.c
    src/build.h

Modified: src/build.c
24 lines changed, 19 insertions(+), 5 deletions(-)
===================================================================
@@ -1298,7 +1298,7 @@ static void on_build_menu_item(GtkWidget *w, gpointer user_data)
 		}
 		return;
 	}
-	else if (grp == GEANY_GBG_EXEC)
+	else if (grp == GEANY_GBG_EXEC || grp == GEANY_GBG_EXEC_IND)
 	{
 		GPid *pid = get_run_pid(grp, cmd);
 		if (*pid > (GPid) 1)
@@ -1333,6 +1333,7 @@ static void on_build_menu_item(GtkWidget *w, gpointer user_data)
 #define MENU_FT_REST	 (GEANY_GBG_COUNT + GEANY_GBG_FT)
 #define MENU_NON_FT_REST (GEANY_GBG_COUNT + GEANY_GBG_NON_FT)
 #define MENU_EXEC_REST   (GEANY_GBG_COUNT + GEANY_GBG_EXEC)
+#define MENU_EXEC_IND_REST (GEANY_GBG_COUNT + GEANY_GBG_EXEC_IND)
 /* the separator */
 #define MENU_SEPARATOR   (2*GEANY_GBG_COUNT)
 /* the fixed items */
@@ -1378,6 +1379,12 @@ static struct BuildMenuItemSpec {
 		GBO_TO_CMD(GEANY_GBO_EXEC), NULL, on_build_menu_item},
 	{NULL, -1, MENU_EXEC_REST,
 		GBO_TO_CMD(GEANY_GBO_EXEC) + 1, NULL, on_build_menu_item},
+	{NULL, -1, MENU_SEPARATOR,
+		GBF_SEP_5, NULL, NULL},
+	{GTK_STOCK_EXECUTE, GEANY_KEYS_BUILD_RUNINDEPENDENT, GEANY_GBG_EXEC_IND,
+		0, NULL, on_build_menu_item},
+	{NULL, -1, MENU_EXEC_IND_REST,
+		1, NULL, on_build_menu_item},
 	{NULL, -1, MENU_SEPARATOR,
 		GBF_SEP_4, NULL, NULL},
 	{GTK_STOCK_PREFERENCES, GEANY_KEYS_BUILD_OPTIONS, MENU_COMMANDS,
@@ -2699,6 +2706,15 @@ static void on_project_close(void)
 {
 	/* remove project regexen */
 	SETPTR(regex_proj, NULL);
+	
+	guint n = build_groups_count[GEANY_GBG_EXEC_IND];
+	for (guint i = 0; i < n; i++)
+	{
+		g_free(exec_proj[i].label);
+		g_free(exec_proj[i].command);
+		g_free(exec_proj[i].working_dir);
+	}
+	memset(exec_proj, 0, sizeof(GeanyBuildCommand) * n);
 }
 
 
@@ -2843,10 +2859,8 @@ gboolean build_keybinding(guint key_id)
 			item = menu_items->menu_item[GEANY_GBG_EXEC][GBO_TO_CMD(GEANY_GBO_EXEC)];
 			break;
 		case GEANY_KEYS_BUILD_RUNINDEPENDENT:
-		{
-			build_run_cmd(doc, GEANY_GBG_EXEC_IND, 0);
-			return TRUE;
-		}
+			item = menu_items->menu_item[GEANY_GBG_EXEC_IND][0];
+			break;
 		case GEANY_KEYS_BUILD_OPTIONS:
 			item = menu_items->menu_item[GBG_FIXED][GBF_COMMANDS];
 			break;


Modified: src/build.h
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -88,6 +88,7 @@ enum GeanyBuildFixedMenuItems
 	GBF_SEP_2,
 	GBF_SEP_3,
 	GBF_SEP_4,
+	GBF_SEP_5,
 	GBF_COUNT
 };
 



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list