Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormyheroyuki <myheroyuki@outlook.com>2023-06-15 17:45:13 +0300
committermyheroyuki <myheroyuki@outlook.com>2023-06-15 17:45:13 +0300
commita48ea202598bd6f7287f52761bbd4d5ee35f9762 (patch)
tree433581b692d55e4cb0f90ec5cd0096d7b8a75c70 /src
parenta7bfeaafa7ec392d8c717264adf2bf8b1ea98f9f (diff)
[REM-2920] Password visibility can now be toggled on remmina_message_panels
Diffstat (limited to 'src')
-rw-r--r--src/remmina_file_editor.c17
-rw-r--r--src/remmina_main.c18
-rw-r--r--src/remmina_main.h1
-rw-r--r--src/remmina_message_panel.c4
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++;