1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 01:12:40 +02:00

Compare commits

...

1 Commits

Author SHA1 Message Date
Alx Sa
fd8d4c21ac actions: Add "Save Window Positions" menu
This adds the "Save Window Positions Now" option from Preferences to the
Windows menu.
2024-06-01 22:37:30 +00:00
4 changed files with 31 additions and 0 deletions

View File

@@ -112,6 +112,12 @@ static const GimpActionEntry windows_actions[] =
{ "windows-tab-position", NULL, NC_("windows-action",
"_Tabs Position") },
{ "windows-save-positions", NULL,
NC_("windows-action", "Save _Window Positions"), NULL, { NULL },
NC_("windows-action", "Save the current session layout"),
windows_save_positions_cmd_callback,
NULL },
};
static const GimpToggleActionEntry windows_toggle_actions[] =
@@ -248,6 +254,8 @@ windows_actions_update (GimpActionGroup *group,
#define SET_ACTIVE(action,condition) \
gimp_action_group_set_action_active (group, action, (condition) != 0)
#define SET_SENSITIVE(action,condition) \
gimp_action_group_set_action_sensitive (group, action, (condition) != 0, NULL)
SET_ACTIVE ("windows-use-single-window-mode", config->single_window_mode);
SET_ACTIVE ("windows-hide-docks", config->hide_docks);
@@ -278,7 +286,12 @@ windows_actions_update (GimpActionGroup *group,
gimp_action_group_set_action_sensitive (group, "windows-show-tabs", config->single_window_mode,
_("Single-window mode disabled"));
#ifdef GDK_WINDOWING_WAYLAND
SET_SENSITIVE ("windows-save-positions", FALSE);
#endif
#undef SET_ACTIVE
#undef SET_SENSITIVE
}
gchar *

View File

@@ -42,6 +42,8 @@
#include "dialogs/dialogs.h"
#include "gui/session.h"
#include "actions.h"
#include "dialogs-actions.h"
#include "windows-commands.h"
@@ -222,3 +224,15 @@ windows_open_recent_cmd_callback (GimpAction *action,
g_object_unref (info);
}
void
windows_save_positions_cmd_callback (GimpAction *action,
GVariant *value,
gpointer data)
{
Gimp *gimp;
return_if_no_gimp (gimp, data);
session_save (gimp, TRUE);
}

View File

@@ -48,6 +48,9 @@ void windows_show_dock_cmd_callback (GimpAction *action,
void windows_open_recent_cmd_callback (GimpAction *action,
GVariant *value,
gpointer data);
void windows_save_positions_cmd_callback (GimpAction *action,
GVariant *value,
gpointer data);
#endif /* __WINDOWS_COMMANDS_H__ */

View File

@@ -885,6 +885,7 @@
<item><attribute name="action">app.windows-tabs-position-left</attribute></item>
<item><attribute name="action">app.windows-tabs-position-right</attribute></item>
</submenu>
<item><attribute name="action">app.windows-save-positions</attribute></item>
<item><attribute name="action">app.windows-use-single-window-mode</attribute></item>
</section>
</submenu>