Remmina - The GTK+ Remote Desktop Client  v1.4.33
Remmina is a remote desktop client written in GTK+, aiming to be useful for system administrators and travellers, who need to work with lots of remote computers in front of either large monitors or tiny netbooks. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC, NX, XDMCP and SSH are supported.
remmina_file_editor.c File Reference

Go to the source code of this file.

Functions

 G_DEFINE_TYPE (RemminaFileEditor, remmina_file_editor, GTK_TYPE_DIALOG)
 
static void remmina_file_editor_class_init (RemminaFileEditorClass *klass)
 
static void remmina_file_editor_show_validation_error_popup (RemminaFileEditor *gfe, GtkWidget *failed_widget, GError *err)
 Shows a tooltip-like window which tells the user what they did wrong to trigger the validation function of a ProtocolSetting widget. More...
 
static void remmina_file_editor_browse_avahi (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_on_realize (GtkWidget *widget, gpointer user_data)
 
static void remmina_file_editor_destroy (GtkWidget *widget, gpointer data)
 
static void remmina_file_editor_button_on_toggled (GtkToggleButton *togglebutton, GtkWidget *widget)
 
static void remmina_file_editor_create_notebook_container (RemminaFileEditor *gfe)
 
static GtkWidget * remmina_file_editor_create_notebook_tab (RemminaFileEditor *gfe, const gchar *stock_id, const gchar *label, gint rows, gint cols)
 
static void remmina_file_editor_assistance_enabled_check_on_toggled (GtkToggleButton *togglebutton, RemminaFileEditor *gfe)
 
static void remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled (GtkToggleButton *togglebutton, RemminaFileEditor *gfe)
 
static void remmina_file_editor_ssh_tunnel_enabled_check_on_toggled (GtkToggleButton *togglebutton, RemminaFileEditor *gfe, RemminaProtocolSSHSetting ssh_setting)
 
static void remmina_file_editor_create_server (RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)
 
static GtkWidget * remmina_file_editor_create_password (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)
 
static void remmina_file_editor_update_resolution (GtkWidget *widget, RemminaFileEditor *gfe)
 
static void remmina_file_editor_browse_resolution (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_create_resolution (RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)
 
static void remmina_file_editor_create_assistance (RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)
 
static GtkWidget * remmina_file_editor_create_text2 (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint left, gint right, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_text (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_textarea (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_select (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gpointer *list, const gchar *value, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_combo (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *list, const gchar *value, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_check (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint top, const gchar *label, gboolean value, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_chooser (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint type, gchar *setting_name)
 Create checkbox + gtk_file_chooser for open files and select folders. More...
 
void remmina_file_editor_int_setting_filter (GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)
 
void remmina_file_editor_double_setting_filter (GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)
 
static GtkWidget * remmina_file_editor_create_int (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gint value, gint left, gint right, gchar *setting_name)
 
static GtkWidget * remmina_file_editor_create_double (RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, gdouble value, gint left, gint right, gchar *setting_name)
 
static void remmina_file_editor_create_settings (RemminaFileEditor *gfe, GtkWidget *grid, const RemminaProtocolSetting *settings)
 
static void remmina_file_editor_create_behavior_tab (RemminaFileEditor *gfe)
 
static void remmina_file_editor_create_ssh_tunnel_tab (RemminaFileEditor *gfe, RemminaProtocolSSHSetting ssh_setting)
 
static void remmina_file_editor_create_all_settings (RemminaFileEditor *gfe)
 
static void remmina_file_editor_protocol_combo_on_changed (GtkComboBox *combo, RemminaFileEditor *gfe)
 
static void remmina_file_editor_save_behavior_tab (RemminaFileEditor *gfe)
 
static void remmina_file_editor_save_ssh_tunnel_tab (RemminaFileEditor *gfe)
 
static gboolean remmina_file_editor_validate_settings (RemminaFileEditor *gfe, gchar *setting_name_to_validate, gconstpointer value, GError **err)
 
static GError * remmina_file_editor_update_settings (RemminaFileEditor *gfe, GtkWidget **failed_widget)
 
static GError * remmina_file_editor_update (RemminaFileEditor *gfe, GtkWidget **failed_widget)
 
static void remmina_file_editor_on_default (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_on_save (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_on_connect (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_on_save_connect (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_on_cancel (GtkWidget *button, RemminaFileEditor *gfe)
 
static void remmina_file_editor_init (RemminaFileEditor *gfe)
 
static gboolean remmina_file_editor_iterate_protocol (gchar *protocol, RemminaPlugin *plugin, gpointer data)
 
void remmina_file_editor_check_profile (RemminaFileEditor *gfe)
 
static void remmina_file_editor_entry_on_changed (GtkEditable *editable, RemminaFileEditor *gfe)
 
void remmina_file_editor_file_save (RemminaFileEditor *gfe)
 
GtkWidget * remmina_file_editor_new_from_file (RemminaFile *remminafile)
 
GtkWidget * remmina_file_editor_new (void)
 
GtkWidget * remmina_file_editor_new_full (const gchar *server, const gchar *protocol)
 
GtkWidget * remmina_file_editor_new_copy (const gchar *filename)
 
GtkWidget * remmina_file_editor_new_from_filename (const gchar *filename)
 

Variables

static gpointer ssh_tunnel_auth_list []
 

Function Documentation

◆ G_DEFINE_TYPE()

G_DEFINE_TYPE ( RemminaFileEditor  ,
remmina_file_editor  ,
GTK_TYPE_DIALOG   
)

Definition at line 58 of file remmina_file_editor.c.

◆ remmina_file_editor_assistance_enabled_check_on_toggled()

static void remmina_file_editor_assistance_enabled_check_on_toggled ( GtkToggleButton *  togglebutton,
RemminaFileEditor gfe 
)
static

Definition at line 365 of file remmina_file_editor.c.

◆ remmina_file_editor_browse_avahi()

static void remmina_file_editor_browse_avahi ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 243 of file remmina_file_editor.c.

◆ remmina_file_editor_browse_resolution()

static void remmina_file_editor_browse_resolution ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 553 of file remmina_file_editor.c.

◆ remmina_file_editor_button_on_toggled()

static void remmina_file_editor_button_on_toggled ( GtkToggleButton *  togglebutton,
GtkWidget *  widget 
)
static

Definition at line 302 of file remmina_file_editor.c.

◆ remmina_file_editor_check_profile()

void remmina_file_editor_check_profile ( RemminaFileEditor gfe)

Definition at line 1971 of file remmina_file_editor.c.

◆ remmina_file_editor_class_init()

static void remmina_file_editor_class_init ( RemminaFileEditorClass klass)
static

Definition at line 145 of file remmina_file_editor.c.

◆ remmina_file_editor_create_all_settings()

static void remmina_file_editor_create_all_settings ( RemminaFileEditor gfe)
static

Definition at line 1386 of file remmina_file_editor.c.

◆ remmina_file_editor_create_assistance()

static void remmina_file_editor_create_assistance ( RemminaFileEditor gfe,
const RemminaProtocolSetting setting,
GtkWidget *  grid,
gint  row 
)
static

Definition at line 649 of file remmina_file_editor.c.

◆ remmina_file_editor_create_behavior_tab()

static void remmina_file_editor_create_behavior_tab ( RemminaFileEditor gfe)
static

Definition at line 1156 of file remmina_file_editor.c.

◆ remmina_file_editor_create_check()

static GtkWidget* remmina_file_editor_create_check ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  top,
const gchar *  label,
gboolean  value,
gchar *  setting_name 
)
static

Definition at line 818 of file remmina_file_editor.c.

◆ remmina_file_editor_create_chooser()

static GtkWidget* remmina_file_editor_create_chooser ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  value,
gint  type,
gchar *  setting_name 
)
static

Create checkbox + gtk_file_chooser for open files and select folders.

The code is wrong, because if the checkbox is not active, the value should be set to NULL and remove it from the remmina file. The problem is that this function knows nothing about the remmina file. This should be rewritten in a more generic way Please use REMMINA_PROTOCOL_SETTING_TYPE_TEXT

Definition at line 846 of file remmina_file_editor.c.

◆ remmina_file_editor_create_combo()

static GtkWidget* remmina_file_editor_create_combo ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  list,
const gchar *  value,
gchar *  setting_name 
)
static

Definition at line 795 of file remmina_file_editor.c.

◆ remmina_file_editor_create_double()

static GtkWidget* remmina_file_editor_create_double ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
gdouble  value,
gint  left,
gint  right,
gchar *  setting_name 
)
static

Definition at line 951 of file remmina_file_editor.c.

◆ remmina_file_editor_create_int()

static GtkWidget* remmina_file_editor_create_int ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gint  value,
gint  left,
gint  right,
gchar *  setting_name 
)
static

Definition at line 909 of file remmina_file_editor.c.

◆ remmina_file_editor_create_notebook_container()

static void remmina_file_editor_create_notebook_container ( RemminaFileEditor gfe)
static

Definition at line 308 of file remmina_file_editor.c.

◆ remmina_file_editor_create_notebook_tab()

static GtkWidget* remmina_file_editor_create_notebook_tab ( RemminaFileEditor gfe,
const gchar *  stock_id,
const gchar *  label,
gint  rows,
gint  cols 
)
static

Definition at line 330 of file remmina_file_editor.c.

◆ remmina_file_editor_create_password()

static GtkWidget* remmina_file_editor_create_password ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  value,
gchar *  setting_name 
)
static

Definition at line 504 of file remmina_file_editor.c.

◆ remmina_file_editor_create_resolution()

static void remmina_file_editor_create_resolution ( RemminaFileEditor gfe,
const RemminaProtocolSetting setting,
GtkWidget *  grid,
gint  row 
)
static

Definition at line 569 of file remmina_file_editor.c.

◆ remmina_file_editor_create_select()

static GtkWidget* remmina_file_editor_create_select ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gpointer *  list,
const gchar *  value,
gchar *  setting_name 
)
static

Definition at line 773 of file remmina_file_editor.c.

◆ remmina_file_editor_create_server()

static void remmina_file_editor_create_server ( RemminaFileEditor gfe,
const RemminaProtocolSetting setting,
GtkWidget *  grid,
gint  row 
)
static

Definition at line 453 of file remmina_file_editor.c.

◆ remmina_file_editor_create_settings()

static void remmina_file_editor_create_settings ( RemminaFileEditor gfe,
GtkWidget *  grid,
const RemminaProtocolSetting settings 
)
static

Definition at line 996 of file remmina_file_editor.c.

◆ remmina_file_editor_create_ssh_tunnel_tab()

static void remmina_file_editor_create_ssh_tunnel_tab ( RemminaFileEditor gfe,
RemminaProtocolSSHSetting  ssh_setting 
)
static

Definition at line 1218 of file remmina_file_editor.c.

◆ remmina_file_editor_create_text()

static GtkWidget* remmina_file_editor_create_text ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  value,
gchar *  setting_name 
)
static

Definition at line 731 of file remmina_file_editor.c.

◆ remmina_file_editor_create_text2()

static GtkWidget* remmina_file_editor_create_text2 ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  value,
gint  left,
gint  right,
gchar *  setting_name 
)
static

Definition at line 697 of file remmina_file_editor.c.

◆ remmina_file_editor_create_textarea()

static GtkWidget* remmina_file_editor_create_textarea ( RemminaFileEditor gfe,
GtkWidget *  grid,
gint  row,
gint  col,
const gchar *  label,
const gchar *  value,
gchar *  setting_name 
)
static

Definition at line 740 of file remmina_file_editor.c.

◆ remmina_file_editor_destroy()

static void remmina_file_editor_destroy ( GtkWidget *  widget,
gpointer  data 
)
static

Definition at line 294 of file remmina_file_editor.c.

◆ remmina_file_editor_double_setting_filter()

void remmina_file_editor_double_setting_filter ( GtkEditable *  editable,
const gchar *  text,
gint  length,
gint *  position,
gpointer  data 
)

Definition at line 898 of file remmina_file_editor.c.

◆ remmina_file_editor_entry_on_changed()

static void remmina_file_editor_entry_on_changed ( GtkEditable *  editable,
RemminaFileEditor gfe 
)
static

Definition at line 1981 of file remmina_file_editor.c.

◆ remmina_file_editor_file_save()

void remmina_file_editor_file_save ( RemminaFileEditor gfe)

Definition at line 1998 of file remmina_file_editor.c.

◆ remmina_file_editor_init()

static void remmina_file_editor_init ( RemminaFileEditor gfe)
static

Definition at line 1906 of file remmina_file_editor.c.

◆ remmina_file_editor_int_setting_filter()

void remmina_file_editor_int_setting_filter ( GtkEditable *  editable,
const gchar *  text,
gint  length,
gint *  position,
gpointer  data 
)

Definition at line 884 of file remmina_file_editor.c.

◆ remmina_file_editor_iterate_protocol()

static gboolean remmina_file_editor_iterate_protocol ( gchar *  protocol,
RemminaPlugin plugin,
gpointer  data 
)
static

Definition at line 1949 of file remmina_file_editor.c.

◆ remmina_file_editor_new()

GtkWidget* remmina_file_editor_new ( void  )

Definition at line 2141 of file remmina_file_editor.c.

◆ remmina_file_editor_new_copy()

GtkWidget* remmina_file_editor_new_copy ( const gchar *  filename)

Definition at line 2161 of file remmina_file_editor.c.

◆ remmina_file_editor_new_from_file()

GtkWidget* remmina_file_editor_new_from_file ( RemminaFile remminafile)

Definition at line 2012 of file remmina_file_editor.c.

◆ remmina_file_editor_new_from_filename()

GtkWidget* remmina_file_editor_new_from_filename ( const gchar *  filename)

Definition at line 2180 of file remmina_file_editor.c.

◆ remmina_file_editor_new_full()

GtkWidget* remmina_file_editor_new_full ( const gchar *  server,
const gchar *  protocol 
)

Definition at line 2147 of file remmina_file_editor.c.

◆ remmina_file_editor_on_cancel()

static void remmina_file_editor_on_cancel ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 1900 of file remmina_file_editor.c.

◆ remmina_file_editor_on_connect()

static void remmina_file_editor_on_connect ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 1851 of file remmina_file_editor.c.

◆ remmina_file_editor_on_default()

static void remmina_file_editor_on_default ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 1793 of file remmina_file_editor.c.

◆ remmina_file_editor_on_realize()

static void remmina_file_editor_on_realize ( GtkWidget *  widget,
gpointer  user_data 
)
static

Definition at line 277 of file remmina_file_editor.c.

◆ remmina_file_editor_on_save()

static void remmina_file_editor_on_save ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

Definition at line 1831 of file remmina_file_editor.c.

◆ remmina_file_editor_on_save_connect()

static void remmina_file_editor_on_save_connect ( GtkWidget *  button,
RemminaFileEditor gfe 
)
static

: Call remmina_file_editor_on_save

Definition at line 1873 of file remmina_file_editor.c.

◆ remmina_file_editor_protocol_combo_on_changed()

static void remmina_file_editor_protocol_combo_on_changed ( GtkComboBox *  combo,
RemminaFileEditor gfe 
)
static

Definition at line 1423 of file remmina_file_editor.c.

◆ remmina_file_editor_save_behavior_tab()

static void remmina_file_editor_save_behavior_tab ( RemminaFileEditor gfe)
static

Definition at line 1467 of file remmina_file_editor.c.

◆ remmina_file_editor_save_ssh_tunnel_tab()

static void remmina_file_editor_save_ssh_tunnel_tab ( RemminaFileEditor gfe)
static

Definition at line 1483 of file remmina_file_editor.c.

◆ remmina_file_editor_show_validation_error_popup()

static void remmina_file_editor_show_validation_error_popup ( RemminaFileEditor gfe,
GtkWidget *  failed_widget,
GError *  err 
)
static

Shows a tooltip-like window which tells the user what they did wrong to trigger the validation function of a ProtocolSetting widget.

Parameters
gfeGtkWindow gfe
failed_widgetWidget which failed validation
errContains error message for user

Mouse click and focus-loss will delete the window.
TODO: when Remmina Editor's content is scrollable and failed_widget is not even visible anymore, the window gets shown where failed_widget would be if the Remmina Editor was big enough.
TODO: Responsive text size and line wrap.

Definition at line 165 of file remmina_file_editor.c.

◆ remmina_file_editor_ssh_tunnel_enabled_check_on_toggled()

static void remmina_file_editor_ssh_tunnel_enabled_check_on_toggled ( GtkToggleButton *  togglebutton,
RemminaFileEditor gfe,
RemminaProtocolSSHSetting  ssh_setting 
)
static

Definition at line 396 of file remmina_file_editor.c.

◆ remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled()

static void remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled ( GtkToggleButton *  togglebutton,
RemminaFileEditor gfe 
)
static

Definition at line 386 of file remmina_file_editor.c.

◆ remmina_file_editor_update()

static GError* remmina_file_editor_update ( RemminaFileEditor gfe,
GtkWidget **  failed_widget 
)
static

Definition at line 1727 of file remmina_file_editor.c.

◆ remmina_file_editor_update_resolution()

static void remmina_file_editor_update_resolution ( GtkWidget *  widget,
RemminaFileEditor gfe 
)
static

Definition at line 541 of file remmina_file_editor.c.

◆ remmina_file_editor_update_settings()

static GError* remmina_file_editor_update_settings ( RemminaFileEditor gfe,
GtkWidget **  failed_widget 
)
static

Definition at line 1622 of file remmina_file_editor.c.

◆ remmina_file_editor_validate_settings()

static gboolean remmina_file_editor_validate_settings ( RemminaFileEditor gfe,
gchar *  setting_name_to_validate,
gconstpointer  value,
GError **  err 
)
static

Definition at line 1544 of file remmina_file_editor.c.

Variable Documentation

◆ ssh_tunnel_auth_list

gpointer ssh_tunnel_auth_list[]
static
Initial value:
=
{
"0", N_("Password"),
"1", N_("SSH identity file"),
"2", N_("SSH agent"),
"3", N_("Public key (automatic)"),
"4", N_("Kerberos (GSSAPI)"),
NULL
}
N_("Unable to connect to VNC server")
Definition: vnc_plugin.c:953

Definition at line 1207 of file remmina_file_editor.c.