Copyright (C) 2019-2020 Michal Babik

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 3 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, see <https://www.gnu.org/licenses/>.

2020-11-15  Michal Babik  <michal.babik@pm.me>

	* imgs.c: Changed some icons to svg.
	* Some code updates.

2020-06-05  Michal Babik  <michal.babik@pm.me>

	* rfnames.c (rfnames_restore_all_files, rfnames_restore_all_folders,
	  rfnames_restore_all_symlinks, rfnames_restore_all_hidden):
	  New functions for restoring original file names.
	* sfrename.c (create_toolbar): Added creating tollbar entries for
	  different restoring options.

2020-04-28  Michal Babik  <michal.babik@pm.me>

	* rfitem.h: In RFitem structure added length of s_new string new_len
	  for total length in bytes and new_u8len for length in unicode chars.
	* rfitem.c (rfitem_set_snew): Setting string length values when
	  changing s_new value.
	  (rfitem_set_sorg_from_snew, rfitem_set_snew_from_sorg): New functions
	  to copy s_new string and length to s_org and vice versa.
	* rinsovr.h: In RInsOvr structure added length of s_text string len,
	  u8len for total and unicode length.
	* rinsovr.c (rinsovr_set_text): Setting string length values when
	  changing s_text value.
	  (rinsovr_get_len, rinsovr_get_u8len): Added length getters.
	* strfn.h: Modified ProcessData structure, added string to modify
	  s_srcdst value, added length of strings. Changed all callers to
	  this structure.

2020-04-18  Michal Babik  <michal.babik@pm.me>

	* data/sfrename.desktop: New desktop entry.
	* data/sfrename.png: New pixmap.

2020-03-19  Michal Babik  <michal.babik@pm.me>

	* defs.h: Added default options DEF_UPLO DEF_SPACES DEF_APPLTO DEF_RENEXT
	  DEF_DIRSEL.
	* namefn.c (name_delete_chars, name_overwrite_string, name_number_string,
	  name_to_upcase_lowercase, name_spaces_underscores, name_replace_strings):
	  Changed access to RenData, RDelete, RInsOvr, RReplace, RNumber
	  parameters.
	* rendata.c (rendata_new): Setting default options from defs.h
	  (rendata_get_rdelete, rendata_get_rinsert, rendata_get_roverwr,
	  rendata_get_rreplace, rendata_get_rnumber, rendata_get_uplo,
	  rendata_set_uplo, rendata_get_spaces, rendata_set_spaces,
	  rendata_get_applyto, rendata_set_applyto, rendata_get_renexit,
	  rendata_set_renexit, rendata_get_dirsel, rendata_set_dirsel): Getters
	  and setters for RenData structure.
	* rfitem.c (rfitem_get_snew, rfitem_set_snew, rfitem_get_sorg,
	  rfitem_set_sorg, rfitem_get_spth, rfitem_set_spth): New getters and
	  setters for RFitem structure.
	* strfn.c (string_get_valid_length): Renamed from get_valid_length.
	* rdelete.c, rdelete.h, rinsovr.c, rinsovr.h, rreplace.c, rreplace.h,
	  rnumber.c, rnumber.h: RDelete, RInsOvr, RReplace, RNumber structure and
	  functions moved here from rendata.c.
	* rinsovr.c (rinsovr_empty): New function to check whether insert string
	  is empty or not.
	* rreplace.c (rreplace_empty_from, rreplace_empty_to): New functions
	  for checking "from" and "to" string.

2020-03-01  Michal Babik  <michal.babik@pm.me>

	* rfnames.c (rfnames_unselect_files): New function to unselect files
	  on list.
	  (rfnames_select_unselect): New funciton to select or unselect items
	  depending on the result of the fun function.
	  (rfnames_unselect_folders): New function to unselect folders on list.
	  (rfnames_unselect_symlinks): New function to unselect symlinks on list.
	  (rfnames_unselect_hidden): New function to unselect hidden
	  files/directories on list.
	  (rfnames_select_files, rfnames_select_folders, rfnames_select_symlinks,
	  rfnames_select_hidden): Functions not call new rfnames_select_unselect
	  function to select items.
	  (rfnames_remove): New function to remove items depending on the result
	  of the fun function.
	  (rfnames_remove_selected, rfnames_remove_all_files,
	  rfnames_remove_all_folders, rfnames_remove_all_symlinks,
	  rfnames_remove_all_hidden): Functions now call newly created
	  rfnames_remove function to remove items.
	* rfitem.c (rfitem_is_file): New function, checks if RFitem is a file
	  item.
	  (rfitem_is_folder): New function, checks if RFitem is a folder item.
	  (rfitem_is_symlink): New function, checks if RFitem is a symlink
	  file/dir.
	  (rfitem_is_hidden): New function, checks if RFitem is a hidden
	  file/dir.
	* imgs.h: Added W_ICON_SELECT_BW, W_ICON_SELECT_BL to IconImg enum for
	  b/w and blue select icon.
	* imgs.c: New structs icon_select_bw and icon_select_bl with data for
	  b/w and blue select icon.
	  (get_image): Updated switch for getting b/w and blue select icon.
	* sfrename.c (create_toolbar): Updated to create menu items for
	  unselecting files, folders, hidden files/dirs, symlinks.
	* rendata.c (rendata_init): Set default i_opt value to 1.
	* strfn.c (string_replace_in, string_insert_string,
	  string_overwrite_string): Some changes in pointer iterating.

2020-02-20  Michal Babik  <michal.babik@pm.me>

	* dlgs.c (about_app_dialog): Updated link to my page.

2020-02-18  Michal Babik  <michal.babik@pm.me>

	* dlgs.c (add_files_folder_dialog): Changed to set toggle buttons based
	  on i_opt value.
	* rendata.h (RenData::i_opt): Added i_opt value to RenData structure, it
	  is used to store information of selected options in folder select
	  dialog.
	* sfrename.c (event_click_add_folder_files): Added reading i_opt from
	  RenData item, checking if it is less than 1 and setting to 1 if it is
	  to have adding files checked in dialog.
	  Added condition to scan folder if i_opt is greater than 0.
	  Storing i_opt in RenData item after scaning folder.
	  Changed input parameter from RFnames to RenData to get access to i_opt.
	  All callers changed.
	* autogen.sh: removed --force option so it does not overwrite INSTALL
	  file.
	* Some comment updates.

2020-02-10  Michal Babik  <michal.babik@pm.me>

	* sfrename.c (event_click_add_files, event_click_add_folder_files,
	  open): Added setting focus on first entry.

2020-02-05  Michal Babik  <michal.babik@pm.me>

	* imgs.c, imgs.h: New files with graphics.
	* sfrename.c (create_file_name_entries): Added forgotten checkig
	  for file existence.
	  (create_toolbar): Changed to load pixbufs to tool items.
	* rfitem.c (rfitem_label_set_markup): New function to set label
	  markup based on the type of file/dir.
	  (rfitem_new_from_gfile): Added call to function rfitem_label_set_markup.
	* rfnames.c (rfnames_sort): Improved sorting.

2020-01-20  Michal Babik  <michal.babik@pm.me>
	
	* cres.c: New file with frunctions to create or resize dynamic array.
	* rfnames.c: RFnames structure and functions moved here.
	* rendata.c (rdelete_init, rinsovr_init, rreplace_init, rnumber_init):
	  New functions with initializations moved from rendata_init.
	  (rendata_new): New function to create RenData item.
	  (rendata_free): Changed, it calls rfnames_free.
	* sfrename.c: Removed RFiles structure and its functions and used RenData
	  instead.
	  (create_file_name_entries): Changed way of creating structures and
	  entries.
	  (file_check_and_rename): Function changed to work with files from
	  different directory paths.

2020-01-03  Michal Babik  <michal.babik@pm.me>

	* strfn.c (string_replace_in, string_insert_string,
	  string_overwrite_string, ): Small updates to improve performance.
	* Cosmetic code updates.

2019-12-09  Michal Babik  <michal.babik@pm.me>

	* sfrfn.c, strfn.h: New files for string modify functions.
	* namefn.c, namefn.h: New file for functions to modify file name strings.
	* sfrename.c: Renamed some values for better readability.
	  (get_valid_length, string_replace_in, string_delete_chars,
	  string_insert_string, string_overwrite_string, string_add_number,
	  string_to_lower, string_to_upper, string_extract_name_ext,
	  string_combine_name_ext, string_process_filename): Functions moved to
	  strfn.c.
	  (name_delete_chars, name_insert_string, name_overwrite_string,
	  name_number_string, name_to_upcase_lowercase, name_spaces_underscores,
	  name_replace_strings): Functions moved to namefn.c

2019-12-07  Michal Babik  <michal.babik@pm.me>

	* sfrename.c (create_window): Changed app ver string passing method.

2019-12-02  Michal Babik  <michal.babik@pm.me>

	* sfrename.c: new structure ProcessData used by functions that
	  manupulate strings.
	  (file_names_update_changes): inserted calls to functions
	  to overwrite and number names.
	  (string_overwrite_string): new function to overwrite text in string.
	  (string_add_number): new function for adding numbers to string.
	  (create_overwrite_string_box): new function to create widgets for
	  string overwrite.
	  (create_number_string_box): new function to create widgets for
	  numbering strings.
	  (event_overwrite_pos_changed,
	  (event_overwrite_string_entry_changed): new functions for string
	  overwrite.
	  (event_toggle_number_names, event_number_start_changed,
	  (event_number_pos_changed): new functions for string numbering.
	  (file_names_update_changes): inserted functions to overwrite and
	  number strings.

2019-12-01  Michal Babik  <michal.babik@pm.me>

	* Small performance updates
	* sfrename.c (string_insert_string): changed string iteration to work
	  using index instead of pointer adding for more simple checking for
	  end of string. Changed strncpy to memcpy.
	  (many functions): strncpy changed to memcpy.
	  (string_process_filename): changed size of f_ext for better
	  compatibility with string process functions.

2019-11-28  Michal Babik  <michal.babik@pm.me>

	* sfrename.c (string_insert_string): Little changed function to insert
	  string in file name.
	  (string_replace_in): Little changed function to replace strings in
	  file name.
	  (string_to_lower): Added string length validation.
	  (string_to_upper): Added string length validation.

2019-10-10  Michal Babik  <michal.babik@pm.me>

	* sfrename.c (free_stuff): Removed not needed print command.

2019-06-13  Michal Babik  <michal.babik@pm.me>

	* sfrename.c: include <gio/gio.h>
	  (main): Changed GTK app starting mode.
	  (event_delete): Function is no longer needed, removed.
	  (event_destroy): Renamed to event_close.
	  (event_close, event_win_key_press): Changed app closing.
	  (create_rename_close_exit_box): Changed button signal from
	  event_destroy to event_close
	  (create_file_name_entries): Changed function args.
	  New file name getting mode.
	  (create_window): New arg application.
	  New window creating mode, removed not needed signal connections.
	  (activate): New function.
	  (open): New function.
	  (rfiles_init): New function.

2019-01-25  Michal Babik  <michal.babik@pm.me>

	* sfrename.c: First relase.

