Formerly, each widget saved its history self in WIDGET_DESTROY stage.
Thus, history file was read and written as many times as many widgets
with history are in dialog.
Now all widget histories are written to ${XDG_CACHE_HOME}/mc/history
file at one time before dialog destruction.
An ev_history_load_save_t event type is created to use new event engine
to save histories.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
...to some in-memory created config without write it to file.
(history_put): now uses history_save().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The problem: when mc quits with auto-save setup, the main confguration
file is written 4 times.
The solution: don't write ini when some part of setup is saved. Write
ini only after save whole confguration.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
What steps will reproduce the problem?
* View some text (log) file (F3), or edit (F4).
* Open search dialog (F7).
* Enter string starting with space and ending with space (I used " ERROR " without quotes), press Enter
* Press F7 to open search dialog again.
What is the expected output?
* Original string in search dialog (" ERROR " without quotes)
What do you see instead?
* "ERROR " (without leading space!)
What solution?
* In function mc_config_set_string_raw() use g_key_file_set_string() instead of g_key_file_set_value()
* change src/learn.c for handle new behavior
* write some tests for new behavior
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
What steps will reproduce the problem?
1) activate left panel
2) start mark files by mouse right button
3) drag cursor into right panel
What is the expected output?
files are not marked in the right panel
What do you see instead?
files are marked in the right panel. it is not correct
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
How to reproduce:
1. Run mc.
2. Change both panels to listing modes.
3. Switch to the right panel.
4. Switch type of active right panel to info using menu.
Result: left panel is not active.
Expected result: left panel must become active.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 2501_vfs_split:
CPIO VFS: Use GSList to store inodes.
Don't handle VFS timestamps for dirs opened in panels.
local.c: added copyright notice.
Renamed struct vfs_s_fh to vfs_file_handler_t
vfs_s_super and vfs_s_fh now don't contain members specific to any vfs.
sfs.c: reimplemented cached file list using GSList.
Use GSList to create the list of no-proxied FTP hosts.
Use GList to store directory content in vfs_s_inode.
Ticket #2501: continue split of VFS core library and VFS plugins.
Use GList for list of vfs_s_super objects in vfs_s_subclass.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
DragonFly BSD doesn't provide MAXNAMLEN macro to define size of d_name
member of dirent structure. NAME_MAX is used if MAXNAMLEN is not
provided by OS.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 2520_ctrlg_closes_panels:
(editcmd_dialog_raw_key_query): fix of result value.
Fix of DLG_ACTION handling in 'VFS Setting' dialog window.
Fix of DLG_ACTION handling in 'Chmod' command window.
Fix of CK_Cancel handling in Tree widget.
Fix of DLG_ACTION handling in 'Configure options' dialog window.
Fix of DLG_ACTION handling in interactive help.
Fix of DLG_ACTION handling in diff viewer.
Fix of DLG_ACTION handling in viewer.
Fix of DLG_ACTION handling in file panels.
Ticket #2520: SIGINT generated by Ctrl-g pressing closes file panels.