summaryrefslogtreecommitdiffstats
path: root/src/remmina_pref_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/remmina_pref_dialog.h')
-rw-r--r--src/remmina_pref_dialog.h180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/remmina_pref_dialog.h b/src/remmina_pref_dialog.h
new file mode 100644
index 0000000..04af8c9
--- /dev/null
+++ b/src/remmina_pref_dialog.h
@@ -0,0 +1,180 @@
+/*
+ * 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 <gtk/gtk.h>
+
+/*
+ * 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