diff options
author | myheroyuki <myheroyuki@outlook.com> | 2023-06-15 17:45:13 +0300 |
---|---|---|
committer | myheroyuki <myheroyuki@outlook.com> | 2023-06-15 17:45:13 +0300 |
commit | a48ea202598bd6f7287f52761bbd4d5ee35f9762 (patch) | |
tree | 433581b692d55e4cb0f90ec5cd0096d7b8a75c70 /src | |
parent | a7bfeaafa7ec392d8c717264adf2bf8b1ea98f9f (diff) |
[REM-2920] Password visibility can now be toggled on remmina_message_panels
Diffstat (limited to 'src')
-rw-r--r-- | src/remmina_file_editor.c | 17 | ||||
-rw-r--r-- | src/remmina_main.c | 18 | ||||
-rw-r--r-- | src/remmina_main.h | 1 | ||||
-rw-r--r-- | src/remmina_message_panel.c | 4 |
4 files changed, 24 insertions, 16 deletions
diff --git a/src/remmina_file_editor.c b/src/remmina_file_editor.c index 477e5196f..63de7acf4 100644 --- a/src/remmina_file_editor.c +++ b/src/remmina_file_editor.c @@ -473,23 +473,8 @@ static void remmina_file_editor_create_server(RemminaFileEditor *gfe, const Remm gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1); } } -static void remmina_file_toggle_password_view(GtkWidget *widget, gpointer data) -{ - GtkWindow *mainwindow; - gboolean visible = gtk_entry_get_visibility(GTK_ENTRY(widget)); - mainwindow = remmina_main_get_window(); - if (remmina_pref_get_boolean("use_primary_password") && remmina_pref_get_boolean("lock_view_passwords") && remmina_unlock_new(mainwindow) == 0) - return; - if (visible) { - gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE); - gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-reveal-symbolic"); - } else { - gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE); - gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-conceal-symbolic"); - } -} static GtkWidget *remmina_file_editor_create_password(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name) { TRACE_CALL(__func__); @@ -522,7 +507,7 @@ static GtkWidget *remmina_file_editor_create_password(RemminaFileEditor *gfe, Gt if (setting_name) { gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-reveal-symbolic"); gtk_entry_set_icon_activatable(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, TRUE); - g_signal_connect(widget, "icon-press", G_CALLBACK(remmina_file_toggle_password_view), NULL); + g_signal_connect(widget, "icon-press", G_CALLBACK(remmina_main_toggle_password_view), NULL); } return widget; } diff --git a/src/remmina_main.c b/src/remmina_main.c index b6f9918f7..f3de6a5c0 100644 --- a/src/remmina_main.c +++ b/src/remmina_main.c @@ -1158,6 +1158,24 @@ void remmina_main_on_date_column_sort_clicked() } } +void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data) +{ + GtkWindow *mainwindow; + gboolean visible = gtk_entry_get_visibility(GTK_ENTRY(widget)); + + mainwindow = remmina_main_get_window(); + if (remmina_pref_get_boolean("use_primary_password") && remmina_pref_get_boolean("lock_view_passwords") && remmina_unlock_new(mainwindow) == 0) + return; + + if (visible) { + gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE); + gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-reveal-symbolic"); + } else { + gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE); + gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-conceal-symbolic"); + } +} + static void remmina_main_import_file_list(GSList *files) { TRACE_CALL(__func__); diff --git a/src/remmina_main.h b/src/remmina_main.h index ae5ce1ddc..fd1e357ce 100644 --- a/src/remmina_main.h +++ b/src/remmina_main.h @@ -138,6 +138,7 @@ void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data); void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data); void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data); +void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data); void remmina_main_reload_preferences(); G_END_DECLS diff --git a/src/remmina_message_panel.c b/src/remmina_message_panel.c index c9224dd05..460f212e2 100644 --- a/src/remmina_message_panel.c +++ b/src/remmina_message_panel.c @@ -38,6 +38,7 @@ #include "config.h" #include "remmina_public.h" #include "remmina_widget_pool.h" +#include "remmina_main.h" #include "remmina_message_panel.h" #include "remmina_masterthread_exec.h" #include "remmina/remmina_trace_calls.h" @@ -383,6 +384,9 @@ void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePan gtk_grid_attach(GTK_GRID(grid), password_entry, 1, grid_row, 2, 1); gtk_entry_set_max_length(GTK_ENTRY(password_entry), 0); gtk_entry_set_visibility(GTK_ENTRY(password_entry), FALSE); + gtk_entry_set_icon_from_icon_name(GTK_ENTRY(password_entry), GTK_ENTRY_ICON_SECONDARY, "org.remmina.Remmina-password-reveal-symbolic"); + gtk_entry_set_icon_activatable(GTK_ENTRY(password_entry), GTK_ENTRY_ICON_SECONDARY, TRUE); + g_signal_connect(password_entry, "icon-press", G_CALLBACK(remmina_main_toggle_password_view), NULL); grid_row++; |