1
1

115 Коммитов

Автор SHA1 Сообщение Дата
Andrew Borodin
c4550374b2 Change type from int to gboolean for variables controlled by checkboxes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-22 18:44:22 +03:00
Andrew Borodin
5e2f4a8069 WCheck: change type of 'state' from int to gboolean.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-01-22 18:44:22 +03:00
Andrew Borodin
8550044635 Ticket #3731: add new MSG_CHANGED_FOCUS message.
This message is sent to widgets'owner when widget's focus state is
changed.

Find file dialog: fix initial draw of ignore directories input line.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-12-10 18:31:03 +03:00
Andreas Mohr
f3bcc33f91 src/filemanager/find.c: cleanup -Wformat-signedness warning.
find.c: In function 'found_num_update':
find.c:373:44: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'long unsigned int' [-Werror=format=]
     g_snprintf (buffer, sizeof (buffer), _("Found: %ld"), matches);
                                            ^

find.c: In function 'do_search':
find.c:1306:51: error: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'size_t {aka long unsigned int}' [-Werror=format=]
                                                   "Finished (ignored %zd directories)",
                                                   ^
find.c:1305:51: error: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'size_t {aka long unsigned int}' [-Werror=format=]
                                         ngettext ("Finished (ignored %zd directory)",
                                                   ^

file.c:2526:41: error: format '%zd' expects argument of type 'signed size_t', but argument 3 has type 'size_t {aka long unsigned int}' [-Werror=format=]
     label_set_textv (dsm->count_size, _("Directories: %zd, total size: %s"),
                                         ^

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-11-21 13:12:48 +03:00
Andrew Borodin
d200893347 (dlg_select_widget): rename to widget_select.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
c37f9b770a WST_FOCUSED: add new state and handle it.
Notify widget's owner that widget gets or loses focus.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Oswald Buddenhagen
bb782ad8ef Find file: fix directory search order to be depth-first again.
This matches the pre-glib implementation, and is way more natural.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin
b4af91dfc0 Reorganize WDialog flags.
* DLG_FULLSCREEN: move and rename to WPOS_FULLSCREEN.
 * DLG_CENTER: move and rename to WPOS_CENTER.
 * DLG_TRYUP: move and rename to WPOS_TRYUP.
 * WDialog::fullscreen: remove, use WPOS_FULLSCREEN instead.
 * WDialog::compact: new field. Use instead of DLG_COMPACT.
 * WDialog:🎏 remove.
 * dlg_flags_t: remove.
 * dlg_create: add new agruments: pos_flags, compact. Remove
argument: flags.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:41:00 +03:00
Andrew Borodin
4b72fb5f5e Join widget_state_t and dlg_state_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
0a2877edef Move WOP_WANT_IDLE option to widget_state_t flags
...and rename to WST_IDLE.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
f5a1dfcef4 (widget_get_options): new widget API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
4a0cd948df Change prefix of widget options: W_ -> WOP_.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
2151edaff2 Get rid of global variables mc_main_config and mc_panels_config.
Use mc_global.main_config and mc_global.panels_congig instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
0641e942e5 (input_is_empty): new WInput API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
0fae3ded3e src/filemanager/find.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:45 +03:00
Andreas Mohr
16f229114a Ticket #3598: cleanup some -Wcast-qual compiler warnings.
Introduce CONST_WIDGET helper and use it.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:43 +03:00
Mooffie
4e62be3b7e Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:40 +03:00
Andrew Borodin
2f53c46279 Find File: reorder content related checkboxes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-27 09:11:40 +03:00
Andrew Borodin
9fba781d45 Remove "Search for content" checkbox.
If "Content" input field is empty, don't search for content.
Also disable all content related checkboxes in this case.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-27 09:11:40 +03:00
Andrew Borodin
2b6c45a211 Ticket #3594: Find file: change behavior of content search.
Initial commit: refactoring.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-27 09:11:40 +03:00
Mooffie
ebf57a81fb Expand comment about hypothetical MSG_ACTIVATE.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-23 20:49:13 +03:00
Andrew Borodin
3e8d61bbd5 Disable some filename related checkboxes if filename is empty.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-21 10:47:59 +03:00
Andrew Borodin
ebd6c95e83 Ticket #3593: Find file: empty file name matches any file name.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-21 10:39:22 +03:00
Andrew Borodin
471ea781ca Update copyright years.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:10 +03:00
Andreas Mohr
5007d309bc Fix -Wconversion warning for mc_search_new().
mc_search_new() parameter orignial_len use once only.
Factor out into own function mc_search_new_len().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Egmont Koblinger
030fa4640a Find File: highlight result in viewer.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-10-18 18:20:27 +02:00
Egmont Koblinger
7e622158a2 Ticket #3530: viewer: highlight Find File's result.
Initial commit: (WLEntry): add free_data member to free or keep the data
on entry's removal.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-10-18 18:19:26 +02:00
Andrew Borodin
c3db552bfc (find_file): minor optimization of memory free.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-08-14 20:54:49 +03:00
Andrew Borodin
677b5c4f40 Ticket #3475: (find_file): fix memory leaks.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-08-14 20:54:49 +03:00
Andreas Mohr
f1b73ffe6e Ticket #3465: add -Wmissing-variable-declarations option...
...and fix relative warnings.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andreas Mohr
39fec422c2 Ticket #3440: (find_file): fix memory leak.
Find_parameter() allocate start_dir but object will never freed.

Testcase: search file.

(Found by LeakSanitizer.)

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andrew Borodin
b698b7e834 Ticket #3435: clang compiler fixes/cleanups.
Since O_* macros are used in lib/global.h, include <fcntl.h> there.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andreas Mohr
e9b41e5215 Ticket #3427: fix -Wmissing-field-initializers compiler warnings...
...and use compiler option for future compile checks.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andrew Borodin
8c88aa01ad Remove code required for GLib < 2.14.0.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:20:54 +03:00
Andrew Borodin
42e7e39bd8 Add IS_PATH_SEP macro and use it.
Also massive use of PATH_SEP and PATH_SEP_STR macros.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:13:02 +03:00
Andrew Borodin
454479549c Update copyright years. 2015-02-26 09:12:08 +03:00
Andrew Borodin
b36adca2d1 Ticket #3265: code cleanup before 4.8.14 release.
Use MC_PTR_FREE again.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-12-10 12:57:46 +03:00
Andrew Borodin
6d82155270 Massive use of MC_PTR_FREE macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-09-02 15:32:36 +04:00
Martin Petricek
3324ed0727 Ticket #3097: fix recursive find file on Samba share.
src/filemanager/file.c (do_search): the algorithm executes mc_stat() on
a file (directory) and checks number of links. It assumes number of
links minus 2 is number of subdirectories available for recursive
search. While that assumption is valid on probably all Linux
filesystems, it is not valid on mounted Samba shares. For these, number
of links (as reported by stat or seen by 'ls -l') is not 1 for most
files and 2+ for directories, but zero for all files and directories
within the share (I guess that is how the kenrel samba module works
...). Therefore the optimization (that may limit the recursion) done by
subdirs_left breaks the recursive search.

Also this patch fixes recursive search on NFS shares provided by Windows
2012R2 NFS service (ticket #3202).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-04-29 09:45:00 +04:00
Egmont Koblinger
976c18557e Ticket #3178: fix update of command line colors on skin change.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-03-27 16:41:02 +04:00
Andrew Borodin
e5203cb023 Fix name of FSF in all *.c files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-28 13:33:17 +04:00
Andrew Borodin
f0da49345a Collapse list of copyright years to ranges. Add 2014 year.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-02-10 16:27:03 +04:00
Andrew Borodin
9d83d55d84 Ticket #3117: Launching editor with CK_Edit shouldn't pass line number.
When pressing F4 to start the editor, a "+1" argument is passed to open
the file at the first line.

For some editor this is absolutely unnecessary since they open the file
there anyways. For some others (at least "joe", but probably others too)
this is harmful: joe has a convenience feature that by default it opens
the file where it was last open, unless of course overridden from
command line. Currently mc forces joe to open the file at the first
line, although opening it where it was last open would be much more
desired.

The right solution would be to consult mc.lib only when opening the
viewer/editor through the "word search in files (M-?)" feature, and
not when F3/F4 is pressed on a file, in the latter case $VIEWER or
$EDITOR should simply be launched with the filename but no additional
parameters.

Initial step: minor refactoring:
(do_edit_at_line): rename to edit_file_at_line.
(edit_file_at_line): changed type of arguments from int to gboolean.
(view_file_at_line): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-01-14 14:23:02 +04:00
Andrew Borodin
7df67031a2 Refactoring of WListbox widget.
Use GQueue instead of GList to store listbox entries.

g_list_append() function is slow because it uses g_list_last()
internally to traverse from the beginning to the end of a list, so
forming a list of results has O(n*n) complexity instead of O(n).
GQueue contains pointers to head and tail of list and list length.
So in this case we don't need seach end of list every time when we
want append listbox entry to the listbox.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-01-14 14:13:38 +04:00
Sergey Naumov
8aa3c77ecf Optimize updates of status bar during search.
Optimization is based on examining file size and time of the last status
update. This is synchronous and is based on assumption that relatively
small files are quickly processed even on slow hardware so if refresh
timeout expires during their processing, the delay couldn't be noticed
by human. Therefore only rather big files have to be reported
unconditionally, and others - only if there is a match in this file or
if timeout expires.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-01-14 14:13:38 +04:00
Sergey Naumov
8ae1de5b02 Ticket #2290: make file find faster.
Gets rid of get_line_at() function that was called only at one place and
was tightly coupled with caller function. It allows to perform some
minor optimizations, and as a result improve search time by 8%.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-01-14 14:13:38 +04:00
Slava Zanko
b136b2fa9f Reduce cppcheck warnings (style) in src subdirectory.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-11-25 13:47:40 +04:00
Slava Zanko
0d489acd58 cppcheck: reduce variable scope.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-11-25 13:47:39 +04:00
Andrew Borodin
941a1eac1d Search: better support of --disable-charset
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-09-21 13:35:56 +04:00
Andrew Borodin
66da276200 Ticket 3069: fix of case-sensitive search
...if file encoding and locale are different.

Example: locale is KOI8-R, file encoding is UTF-8. Note: those encodings
are not same.

File content is following (in Russian):

йцукен
Йцукен

The difference is in first line char only: Й (lowercase letter) and й
(uppercase letter).  The search of Ê gives the result Й independently of
case sensitivity. й isn't found.
If switch "All charsets" on, nothing is found.

The main idea of fix is modification of search API to allow set of search
pattern charset and use if within search engine.
Old API:
mc_search_new (pattern, pattern_len);
New API:
mc_search_new (pattern, pattern_len, pattern_charset);

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-09-21 13:35:31 +04:00