Created vfs_url_t structure
...and use it to parse and store network VFS options.
vfs_s_super structure now has a special member for network VFS options.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
* 2541_save_setup:
(mc_config_new_or_override_file): create file w/o O_SYNC flag.
(save_setup_cmd): remove home directory and password
Optimization of history load.
Optimization of history save.
Event system: added addition parameter event_init_data to mc_event_del() function.
Added event_group member to the Dlg_head structure
(history_save): new function to save widget history
"Layout" dialog window: remove "Save" button
src/filemanager/option.c: minor optimization and includes clean up.
"Panel options" dialog window: remove "Save" button
"Configure options" dialog window: remove "Save" button
Ticket #2541: MC saves configuration many times.
Formerly, each widget loaded its history self in its constructor.
Thus, history file was read as many times as many widgets with history
are in dialog.
Now all widget histories are read from ${XDG_CACHE_HOME}/mc/history
file at one time after dialog initialization.
The ev_history_load_save_t event is apllied to load histories.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
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.