Branch: refs/heads/master Author: Frank Lanitz frank@frank.uvena.de Committer: GitHub noreply@github.com Date: Tue, 21 May 2019 06:21:31 UTC Commit: ce1f67766f058a2d6a4a8b988c7cf2adeb77e0b5 https://github.com/geany/geany-plugins/commit/ce1f67766f058a2d6a4a8b988c7cf2...
Log Message: ----------- Merge pull request #868 from LarsGit223/wb-settings-autosave
workbench: save settings immediately
Modified Paths: -------------- workbench/README workbench/src/menu.c workbench/src/plugin_main.c
Modified: workbench/README 8 lines changed, 3 insertions(+), 5 deletions(-) =================================================================== @@ -35,12 +35,10 @@ menu: As explained above, creates a new Workbench. **Item "Open"** Open a Workbench. -**Item "Save"** - Save the opened Workbench. This "only" saves any changes - in the Workbench file. It does not save any changes of the projects - belonging to the Workbench. **Item "Settings"** - Open the Workbench settings dialog. + Open the Workbench settings dialog. After the settings have been + confirmed with "OK" they will be written back to the workbench file + (if any value was changed). **Item "Close"** Closes the opened Workbench.
Modified: workbench/src/menu.c 35 lines changed, 9 insertions(+), 26 deletions(-) =================================================================== @@ -36,7 +36,6 @@ typedef struct GtkWidget *root_item; GtkWidget *item_new; GtkWidget *item_open; - GtkWidget *item_save; GtkWidget *item_settings; GtkWidget *item_close; }WB_MENU_DATA; @@ -58,14 +57,12 @@ void menu_set_context(MENU_CONTEXT context) case MENU_CONTEXT_WB_OPENED: gtk_widget_set_sensitive(menu_data.item_new, FALSE); gtk_widget_set_sensitive(menu_data.item_open, FALSE); - gtk_widget_set_sensitive(menu_data.item_save, TRUE); gtk_widget_set_sensitive(menu_data.item_settings, TRUE); gtk_widget_set_sensitive(menu_data.item_close, TRUE); break; case MENU_CONTEXT_WB_CLOSED: gtk_widget_set_sensitive(menu_data.item_new, TRUE); gtk_widget_set_sensitive(menu_data.item_open, TRUE); - gtk_widget_set_sensitive(menu_data.item_save, FALSE); gtk_widget_set_sensitive(menu_data.item_settings, FALSE); gtk_widget_set_sensitive(menu_data.item_close, FALSE); break; @@ -127,22 +124,6 @@ static void item_open_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, }
-/* The function handles the menu item "Save workbench" */ -static void item_save_workbench_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) -{ - GError *error = NULL; - - if (wb_globals.opened_wb != NULL) - { - if (!workbench_save(wb_globals.opened_wb, &error)) - { - dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not save workbench file: %s"), error->message); - } - sidebar_update(SIDEBAR_CONTEXT_WB_SAVED, NULL); - } -} - - /* The function handles the menu item "Settings" */ static void item_workbench_settings_activate_cb(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer user_data) { @@ -153,8 +134,17 @@ static void item_workbench_settings_activate_cb(G_GNUC_UNUSED GtkMenuItem *menui enable_live_update_old = workbench_get_enable_live_update(wb_globals.opened_wb); if (dialogs_workbench_settings(wb_globals.opened_wb)) { + GError *error = NULL; + sidebar_update(SIDEBAR_CONTEXT_WB_SETTINGS_CHANGED, NULL);
+ /* Save the new settings to the workbench file (.geanywb). */ + if (!workbench_save(wb_globals.opened_wb, &error)) + { + dialogs_show_msgbox(GTK_MESSAGE_INFO, _("Could not save workbench file: %s"), error->message); + } + sidebar_update(SIDEBAR_CONTEXT_WB_SAVED, NULL); + enable_live_update = workbench_get_enable_live_update(wb_globals.opened_wb); if (enable_live_update != enable_live_update_old) { @@ -209,13 +199,6 @@ gboolean menu_init(void) g_signal_connect(menu_data.item_open, "activate", G_CALLBACK(item_open_workbench_activate_cb), NULL);
- /* Create new menu item "Save Workbench" */ - menu_data.item_save = gtk_menu_item_new_with_mnemonic(_("_Save")); - gtk_widget_show(menu_data.item_save); - gtk_menu_shell_append(GTK_MENU_SHELL (menu_data.menu), menu_data.item_save); - g_signal_connect(menu_data.item_save, "activate", - G_CALLBACK(item_save_workbench_activate_cb), NULL); - /* Create new menu item "Workbench Settings" */ menu_data.item_settings = gtk_menu_item_new_with_mnemonic(_("S_ettings")); gtk_widget_show(menu_data.item_settings);
Modified: workbench/src/plugin_main.c 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -130,7 +130,7 @@ void geany_load_module(GeanyPlugin *plugin) /* Set metadata */ plugin->info->name = _("Workbench"); plugin->info->description = _("Manage and customize multiple projects."); - plugin->info->version = "1.05"; + plugin->info->version = "1.06"; plugin->info->author = "LarsGit223";
/* Set functions */
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
plugins-commits@lists.geany.org