/* * Remmina - The GTK+ Remote Desktop Client * Copyright (C) 2009-2011 Vic Lee * Copyright (C) 2017-2022 Antenore Gatta, Giovanni Panozzo * Copyright (C) 2022-2023 Antenore Gatta, Giovanni Panozzo, Hiroyuki Tanaka * Copyright (C) 2023-2024 Hiroyuki Tanaka, Sunil Bhat * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * * In addition, as a special exception, the copyright holders give * permission to link the code of portions of this program with the * OpenSSL library under certain conditions as described in each * individual source file, and distribute linked combinations * including the two. * You must obey the GNU General Public License in all respects * for all of the code used other than OpenSSL. * If you modify * file(s) with this exception, you may extend this exception to your * version of the file(s), but you are not obligated to do so. * If you * do not wish to do so, delete this exception statement from your * version. * If you delete this exception statement from all source * files in the program, then also delete it here. * */ #pragma once #include /* * Remmina Preferences Dialog */ typedef struct _RemminaPrefDialogPriv { GtkWidget *resolutions_list; } RemminaPrefDialogPriv; typedef struct _RemminaPrefDialog { GtkBuilder * builder; GtkWidget * dialog; GtkNotebook * notebook_preferences; GtkFileChooser * filechooserbutton_options_datadir_path; GtkEntry * entry_options_file_name; GtkFileChooser * filechooserbutton_options_screenshots_path; GtkEntry * entry_options_screenshot_name; GtkSwitch * switch_appearance_grab_color; GtkSwitch * switch_options_deny_screenshot_clipboard; GtkSwitch * switch_options_remember_last_view_mode; GtkSwitch * switch_options_confirm_close; GtkSwitch * switch_security_use_primary_password; GtkEntry * unlock_timeout; GtkSwitch * switch_security_lock_connect; GtkSwitch * switch_security_lock_edit; GtkSwitch * switch_security_lock_view_passwords; GtkSwitch * switch_security_audit; GtkSwitch * switch_security_trust_all; GtkSwitch * switch_disable_news; GtkSwitch * switch_disable_stats; GtkSwitch * switch_disable_tip; GtkLabel * label_disable_news; GtkLabel * label_disable_stats; GtkLabel * label_disable_tip; GtkCheckButton * checkbutton_options_save_settings; GtkCheckButton * checkbutton_appearance_fullscreen_on_auto; GtkCheckButton * checkbutton_appearance_show_tabs; GtkCheckButton * checkbutton_appearance_show_notes; GtkCheckButton * checkbutton_appearance_hide_toolbar; GtkCheckButton * checkbutton_appearance_hide_searchbar; GtkComboBox * comboboxtext_options_double_click; GtkComboBox * comboboxtext_appearance_view_mode; GtkComboBox * comboboxtext_appearance_tab_interface; GtkComboBox * comboboxtext_options_scale_quality; GtkComboBox * comboboxtext_options_ssh_loglevel; GtkComboBox * comboboxtext_appearance_fullscreen_toolbar_visibility; GtkComboBox * comboboxtext_security_enc_method; GtkCheckButton * checkbutton_options_ssh_parseconfig; GtkEntry * entry_options_ssh_port; GtkEntry * entry_options_ssh_tcp_keepidle; GtkEntry * entry_options_ssh_tcp_keepintvl; GtkEntry * entry_options_ssh_tcp_keepcnt; GtkEntry * entry_options_ssh_tcp_usrtimeout; GtkEntry * entry_options_scroll; GtkEntry * entry_options_recent_items; GtkEntry * entry_grab_color; GtkButton * button_options_recent_items_clear; GtkButton * button_options_resolutions; GtkCheckButton * checkbutton_applet_new_connection_on_top; GtkCheckButton * checkbutton_applet_hide_totals; GtkCheckButton * checkbutton_applet_disable_tray; GtkCheckButton * checkbutton_dark_theme; GtkCheckButton * checkbutton_applet_start_in_tray; GtkButton * button_keyboard_host_key; GtkButton * button_keyboard_fullscreen; GtkButton * button_keyboard_auto_fit; GtkButton * button_keyboard_switch_tab_left; GtkButton * button_keyboard_switch_tab_right; GtkButton * button_keyboard_scaled; GtkButton * button_keyboard_clipboard; GtkButton * button_keyboard_multimon; GtkButton * button_keyboard_grab_keyboard; GtkButton * button_keyboard_screenshot; GtkButton * button_keyboard_viewonly; GtkButton * button_keyboard_minimize; GtkButton * button_keyboard_disconnect; GtkButton * button_keyboard_toolbar; GtkSwitch * switch_terminal_font_system; GtkFontButton * fontbutton_terminal_font; GtkSwitch * switch_terminal_bold; GtkLabel * label_terminal_foreground; GtkColorButton * colorbutton_foreground; GtkLabel * label_terminal_background; GtkColorButton * colorbutton_background; GtkEntry * entry_scrollback_lines; GtkButton * button_keyboard_copy; GtkButton * button_keyboard_paste; GtkButton * button_keyboard_select_all; GtkButton * button_keyboard_increase_font; GtkButton * button_keyboard_decrease_font; GtkButton * button_keyboard_search_text; GtkLabel * label_terminal_cursor_color; GtkLabel * label_terminal_bold_color; GtkLabel * label_terminal_normal_colors; GtkLabel * label_terminal_bright_colors; GtkColorButton * colorbutton_cursor; GtkColorButton * colorbutton_cursor_foreground; GtkColorButton * colorbutton_highlight; GtkColorButton * colorbutton_highlight_foreground; GtkColorButton * colorbutton_colorBD; GtkColorButton * colorbutton_color0; GtkColorButton * colorbutton_color1; GtkColorButton * colorbutton_color2; GtkColorButton * colorbutton_color3; GtkColorButton * colorbutton_color4; GtkColorButton * colorbutton_color5; GtkColorButton * colorbutton_color6; GtkColorButton * colorbutton_color7; GtkColorButton * colorbutton_color8; GtkColorButton * colorbutton_color9; GtkColorButton * colorbutton_color10; GtkColorButton * colorbutton_color11; GtkColorButton * colorbutton_color12; GtkColorButton * colorbutton_color13; GtkColorButton * colorbutton_color14; GtkColorButton * colorbutton_color15; GtkFileChooser * button_term_cs; RemminaPrefDialogPriv * priv; } RemminaPrefDialog; enum { REMMINA_PREF_OPTIONS_TAB = 0, REMMINA_PREF_APPEARANCE = 1, REMMINA_PREF_APPLET_TAB = 2 }; G_BEGIN_DECLS /* RemminaPrefDialog instance */ GtkWidget *remmina_pref_dialog_new(gint default_tab, GtkWindow *parent); /* Get the current PrefDialog or NULL if not initialized */ GtkWidget *remmina_pref_dialog_get_dialog(void); void remmina_prefdiag_unlock_repwd_on_changed(GtkEditable *editable, RemminaPrefDialog *dialog); void remmina_pref_dialog_on_action_close(GSimpleAction *action, GVariant *param, gpointer data); G_END_DECLS