diff options
author | Antenore Gatta <antenore@simbiosi.org> | 2016-03-11 03:23:58 +0300 |
---|---|---|
committer | Antenore Gatta <antenore@simbiosi.org> | 2016-03-11 03:23:58 +0300 |
commit | 9cf6abb8f8f926e5c8fbd8e655300f9c85137bb5 (patch) | |
tree | 933219945cc37b99ff95569197fd27c308fa8133 /remmina | |
parent | f7963294c9113cd205e030f3a330b92fa17e74ba (diff) |
Screenshots folder settings
Diffstat (limited to 'remmina')
-rw-r--r-- | remmina/src/remmina_connection_window.c | 6 | ||||
-rw-r--r-- | remmina/src/remmina_pref.c | 18 | ||||
-rw-r--r-- | remmina/src/remmina_pref.h | 9 | ||||
-rw-r--r-- | remmina/src/remmina_pref_dialog.c | 4 | ||||
-rw-r--r-- | remmina/src/remmina_pref_dialog.h | 1 |
5 files changed, 31 insertions, 7 deletions
diff --git a/remmina/src/remmina_connection_window.c b/remmina/src/remmina_connection_window.c index 70a03e9a4..b6d019e55 100644 --- a/remmina/src/remmina_connection_window.c +++ b/remmina/src/remmina_connection_window.c @@ -1561,7 +1561,7 @@ static void remmina_connection_holder_toolbar_screenshot(GtkWidget* widget, Remm gint x_orig, y_orig; gint width, height; const gchar* remminafile; - const gchar* imagedir; + //const gchar* imagedir; gchar* pngname; gchar* pngdate; GtkWidget* dialog; @@ -1596,7 +1596,7 @@ static void remmina_connection_holder_toolbar_screenshot(GtkWidget* widget, Remm cairo_paint(cr); remminafile = remmina_file_get_filename(cnnobj->remmina_file); - imagedir = g_get_user_special_dir(G_USER_DIRECTORY_PICTURES); + //imagedir = g_get_user_special_dir(G_USER_DIRECTORY_PICTURES); /* TODO: Improve file name (DONE:8743571d) + give the user the option */ pngdate = g_strdup_printf("%d-%d-%d-%d:%d:%f", g_date_time_get_year (date), @@ -1608,7 +1608,7 @@ static void remmina_connection_holder_toolbar_screenshot(GtkWidget* widget, Remm g_date_time_unref (date); - pngname = g_strdup_printf("%s/%s-%s.png", imagedir, + pngname = g_strdup_printf("%s/%s-%s.png", remmina_pref.screenshot_path, g_path_get_basename(remminafile), pngdate); g_print("%s\n",pngname); diff --git a/remmina/src/remmina_pref.c b/remmina/src/remmina_pref.c index 77e0a5221..69d4688a9 100644 --- a/remmina/src/remmina_pref.c +++ b/remmina/src/remmina_pref.c @@ -242,6 +242,7 @@ void remmina_pref_init(void) { TRACE_CALL("remmina_pref_init"); GKeyFile *gkeyfile; + GError *gerror = NULL; gchar dirname[MAX_PATH_LEN]; GDir *old; @@ -391,6 +392,16 @@ void remmina_pref_init(void) else remmina_pref.ssh_loglevel = DEFAULT_SSH_LOGLEVEL; + if (g_key_file_has_key(gkeyfile, "remmina_pref", "screenshot_path", NULL)) { + remmina_pref.screenshot_path = g_key_file_get_string(gkeyfile, "remmina_pref", "screenshot_path", &gerror); + if(gerror != NULL) { + remmina_pref.screenshot_path = g_get_user_special_dir(G_USER_DIRECTORY_PICTURES); + g_error_free(free); + } + }else{ + remmina_pref.screenshot_path = g_get_user_special_dir(G_USER_DIRECTORY_PICTURES); + } + if (g_key_file_has_key(gkeyfile, "remmina_pref", "ssh_parseconfig", NULL)) remmina_pref.ssh_parseconfig = g_key_file_get_boolean(gkeyfile, "remmina_pref", "ssh_parseconfig", NULL); else @@ -619,6 +630,7 @@ void remmina_pref_save(void) g_key_file_set_integer(gkeyfile, "remmina_pref", "default_action", remmina_pref.default_action); g_key_file_set_integer(gkeyfile, "remmina_pref", "scale_quality", remmina_pref.scale_quality); g_key_file_set_integer(gkeyfile, "remmina_pref", "ssh_loglevel", remmina_pref.ssh_loglevel); + g_key_file_set_string(gkeyfile, "remmina_pref", "screenshot_path", remmina_pref.screenshot_path); g_key_file_set_boolean(gkeyfile, "remmina_pref", "ssh_parseconfig", remmina_pref.ssh_parseconfig); g_key_file_set_boolean(gkeyfile, "remmina_pref", "hide_toolbar", remmina_pref.hide_toolbar); g_key_file_set_boolean(gkeyfile, "remmina_pref", "hide_statusbar", remmina_pref.hide_statusbar); @@ -826,6 +838,12 @@ gint remmina_pref_get_ssh_loglevel(void) return remmina_pref.ssh_loglevel; } +gchar remmina_pref_get_screenshot_path(void) +{ + TRACE_CALL("remmina_pref_get_screenshot_path"); + return remmina_pref.screenshot_path; +} + gboolean remmina_pref_get_survey(void) { TRACE_CALL("remmina_pref_get_survey"); diff --git a/remmina/src/remmina_pref.h b/remmina/src/remmina_pref.h index b9c8587d4..87050eadd 100644 --- a/remmina/src/remmina_pref.h +++ b/remmina/src/remmina_pref.h @@ -93,9 +93,7 @@ typedef struct _RemminaPref gboolean survey; gint default_action; gint scale_quality; - gint ssh_loglevel; - gboolean ssh_parseconfig; - gint sshtunnel_port; + gchar *screenshot_path; gint auto_scroll_step; gint recent_maximum; gchar *resolutions; @@ -112,6 +110,10 @@ typedef struct _RemminaPref gboolean applet_new_ontop; gboolean applet_hide_count; gboolean disable_tray_icon; + /* In RemminaPrefDialog SSH Option tab */ + gint ssh_loglevel; + gboolean ssh_parseconfig; + gint sshtunnel_port; /* In RemminaPrefDialog keyboard tab */ guint hostkey; guint shortcutkey_fullscreen; @@ -186,6 +188,7 @@ gchar** remmina_pref_keymap_groups(void); gint remmina_pref_get_scale_quality(void); gint remmina_pref_get_ssh_loglevel(void); +gchar remmina_pref_get_screenshot_path(void); gboolean remmina_pref_get_ssh_parseconfig(void); gint remmina_pref_get_sshtunnel_port(void); diff --git a/remmina/src/remmina_pref_dialog.c b/remmina/src/remmina_pref_dialog.c index 77c453cc3..e5c5f05c5 100644 --- a/remmina/src/remmina_pref_dialog.c +++ b/remmina/src/remmina_pref_dialog.c @@ -136,9 +136,9 @@ void remmina_pref_on_dialog_destroy(GtkWidget *widget, gpointer user_data) remmina_pref.show_buttons_icons = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_appearance_show_buttons_icons); remmina_pref.show_menu_icons = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_appearance_show_menu_icons); remmina_pref.scale_quality = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_options_scale_quality); + remmina_pref.screenshot_path = gtk_file_chooser_get_filename(remmina_pref_dialog->filechooserbutton_options_screenshots_path); remmina_pref.ssh_loglevel = gtk_combo_box_get_active(remmina_pref_dialog->comboboxtext_options_ssh_loglevel); remmina_pref.ssh_parseconfig = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_options_ssh_parseconfig)); - remmina_pref.sshtunnel_port = atoi(gtk_entry_get_text(remmina_pref_dialog->entry_options_ssh_port)); if (remmina_pref.sshtunnel_port <= 0) remmina_pref.sshtunnel_port = DEFAULT_SSHTUNNEL_PORT; @@ -357,6 +357,7 @@ static void remmina_pref_dialog_init(void) gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_appearance_show_menu_icons, remmina_pref.show_menu_icons); gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_options_scale_quality, remmina_pref.scale_quality); gtk_combo_box_set_active(remmina_pref_dialog->comboboxtext_options_ssh_loglevel, remmina_pref.ssh_loglevel); + // ahi ahi ahi gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(remmina_pref_dialog->filechooserbutton_options_screenshots_path, remmina_pref.screenshot_path)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(remmina_pref_dialog->checkbutton_options_ssh_parseconfig), remmina_pref.ssh_parseconfig); remmina_pref_dialog_set_button_label(remmina_pref_dialog->button_keyboard_copy, remmina_pref.vte_shortcutkey_copy); @@ -396,6 +397,7 @@ GtkDialog* remmina_pref_dialog_new(gint default_tab, GtkWindow *parent) remmina_pref_dialog->comboboxtext_options_scale_quality = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_options_scale_quality")); remmina_pref_dialog->checkbutton_options_ssh_parseconfig = GTK_CHECK_BUTTON(GET_OBJECT("checkbutton_options_ssh_parseconfig")); remmina_pref_dialog->comboboxtext_options_ssh_loglevel = GTK_COMBO_BOX(GET_OBJECT("comboboxtext_options_ssh_loglevel")); + remmina_pref_dialog->filechooserbutton_options_screenshots_path = GTK_FILE_CHOOSER(GET_OBJECT("filechooserbutton_options_screenshots_path")); remmina_pref_dialog->entry_options_ssh_port = GTK_ENTRY(GET_OBJECT("entry_options_ssh_port")); remmina_pref_dialog->entry_options_scroll = GTK_ENTRY(GET_OBJECT("entry_options_scroll")); remmina_pref_dialog->entry_options_recent_items = GTK_ENTRY(GET_OBJECT("entry_options_recent_items")); diff --git a/remmina/src/remmina_pref_dialog.h b/remmina/src/remmina_pref_dialog.h index 13a9fc5cd..cc00ecbe4 100644 --- a/remmina/src/remmina_pref_dialog.h +++ b/remmina/src/remmina_pref_dialog.h @@ -63,6 +63,7 @@ typedef struct _RemminaPrefDialog GtkComboBox *comboboxtext_appearance_show_menu_icons; GtkComboBox *comboboxtext_options_scale_quality; GtkComboBox *comboboxtext_options_ssh_loglevel; + GtkFileChooser *filechooserbutton_options_screenshots_path; GtkCheckButton *checkbutton_options_ssh_parseconfig; GtkEntry *entry_options_ssh_port; GtkEntry *entry_options_scroll; |