View Issue Details

IDProjectCategoryView StatusLast Update
0000760Far Manager_Commonpublic2009-06-01 06:44
ReporterDiRTy_GaRRy Assigned ToDiRTy_GaRRy  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Platformx86OSWindowsOS Version2003 SP2
Fixed in Version2.0 
Summary0000760: Новая реализация поиска по содержимому файлов, а так же любимых таблиц символов
DescriptionОригинальная тема: http://forum.farmanager.com/viewtopic.php?f=3&t=3833
TagsNo tags attached.
Build907

Activities

2009-02-25 11:24

 

far_Search.796.patch.rar (13,405 bytes)

TS

2009-02-25 14:37

developer   bugnote:0002599

при применении патча изменения во wrap.cpp игнорировать - стали некорректными в связи с build 797

DrKnS

2009-02-25 21:02

administrator   bugnote:0002603

1. А почему LOCALE_INVARIANT? MS его вроде бы не рекомендует в приложениях использовать.

2. x64:

findfile.cpp(176) : warning C4267: 'argument' : conversion from 'size_t' to 'DWORD', possible loss of data
findfile.cpp(2438) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
findfile.cpp(2441) : warning C4018: '<=' : signed/unsigned mismatch
findfile.cpp(2441) : warning C4267: 'argument' : conversion from 'size_t' to 'DWORD', possible loss of data
findfile.cpp(2502) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
findfile.cpp(2508) : warning C4267: 'argument' : conversion from 'size_t' to 'DWORD', possible loss of data
findfile.cpp(2523) : warning C4267: 'argument' : conversion from 'size_t' to 'DWORD', possible loss of data
findfile.cpp(2543) : warning C4267: 'argument' : conversion from 'size_t' to 'DWORD', possible loss of data
findfile.cpp(2582) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
findfile.cpp(2582) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
findfile.cpp(2632) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(232) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(232) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(236) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(253) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(253) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(257) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(321) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(327) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(327) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(343) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(357) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(357) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
gettable.cpp(363) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data

DiRTy_GaRRy

2009-02-25 21:12

developer   bugnote:0002604

1. LOCALE_INVARIANT = 0. Оно в фаре везде так и используется;
2. Вот про x64 я что то не подумал. Поправишь? Или мне самому (завтра/послезавтра)?

DrKnS

2009-02-25 21:22

administrator   bugnote:0002605

Я тоже не раньше чем завтра смогу, так что лучше сам.

vskirdin

2009-02-26 07:22

administrator   bugnote:0002608

кстати, аналогичные ворнинги и в x32 (MSVC 8)

vskirdin

2009-02-26 07:23

administrator   bugnote:0002609

Так же... в патче нет ничего для хелпов

DiRTy_GaRRy

2009-02-26 07:28

developer   bugnote:0002610

На x32 (MSVC9SP1) у меня варнингов нет. А что и куда нужно для хелпов?

DiRTy_GaRRy

2009-02-27 13:27

developer   bugnote:0002618

Вроде всё поправил. Плюс помедитировал на поиск и ускорил его процентов на 25%. Единственное есть вопрос. "Лингвистический поиск" кому-нибудь нужен или можно его грохнуть? А то в свете последних сделанных мною изменений получается практически два паралельных алгоритма и мне сильно влом опять чинить этот "Лингвистический поиск". Может, раз не было его раньше, и хрен с ним?

alexy

2009-02-27 13:56

administrator   bugnote:0002619

А где то что ты поправил?
И что такое лингв. поиск?

В тех сорцах что в аттаче есть как минимум один баг, ты там всегда делаешь
xf_free(findString)
хотя в некоторых случаях он получается как string.GetBuffer и его нельзя освобождать, странно что фар не падает у тебя.

DiRTy_GaRRy

2009-02-28 23:15

developer   bugnote:0002624

1. Что такое Лингвистический поиск уже не важно. Я его грохнул. ;)
2. Ошибку с xf_free(findString) уже исправил чуть раньше;
3. Убрал варнинги;
4. После небольшой медитации поиск теперь работает по скорость примерно так же, как и в ANSI версии.

2009-02-28 23:17

 

far_Search.800.patch.rar (13,096 bytes)

DiRTy_GaRRy

2009-02-28 23:17

developer   bugnote:0002625

Дык что и где в хелпе то надо?

alexy

2009-03-01 09:49

administrator   bugnote:0002627

А что там за правки в vmenu.cpp?

DrKnS

2009-03-01 09:53

administrator   bugnote:0002628

> А что там за правки в vmenu.cpp?

Вверху ссылка на форум, там пример с картинкой.

alexy

2009-03-01 11:26

administrator   bugnote:0002629

Проблемы:
1. LOCALE_INVARIANT != 0 и его нет в Win2k. Может ты хотел LOCALE_NEUTRAL (который как раз 0)?

2. В findfile.cpp, lastWordDiv не используется, так надо?
// Если идёт поиск по словам, то делаем соответвующие проверки
bool firstWordDiv = false, lastWordDiv = false;

alexy

2009-03-01 12:05

administrator   bugnote:0002630

Ну я пока поменял на LANG_NEUTRAL и починал разные ворнинги и т.п. Так что щас буду комитить а разбиратся будем потом.

alexy

2009-03-01 12:08

administrator   bugnote:0002631

И на будущее, не надо именовать переменные java style - т.е. первое слово меленькими а остальные с заглавной.

DiRTy_GaRRy

2009-03-01 15:19

developer   bugnote:0002632

alexy, сегодня чуть попозжа по товим вопросам посмотрю. А по поводу именования, что бы боьше было таких претензий, таки надо опубликовать кодестайл.

alexy

2009-03-01 17:01

administrator   bugnote:0002639

Также надо думать что делать с "All tables", ибо как сейчас это плохо.
Я думаю что надо это комбу поменять на меню и дать возможножность выбирать те X кодировк по которым надо искать, плюс "predefined" опции как "All favourites", "All UTF". Или что то в этом роде.

Denis

2009-03-01 22:04

reporter   bugnote:0002642

Сделать как с фильтрами - список созданных любимых сетов кодировок и ниже список всех доступных кодировок?

DiRTy_GaRRy

2009-03-02 07:45

developer   bugnote:0002643

А что если сделать возможность у стандартных и любимых кодировок по +/- выставлять принадлежность их списку в котором будет осуществляться поиск по всем кодировкам?

1. Визуально это будет делаться через показ/скрытие флага слева;
2. В реестре оно будет храниться там же где и сейчас выбранные, но к значению будет добавляться 2, т.е. 1 — выбранная, 1 — используется для поиска по всем таблицам символов, 3 — всё вместе;
3. Если ничего не выбрано, то используется текущий алгоритм получения всех таблиц символов;
4.1. Если это делать, то тогда точно нужно диалог выбора кодировок выносить куда-нибудь в настройки, так как сейчас в редакторе/просмотрщике доступны не все стандартные таблицы символов.
4.2. Так же обработку +/- (Ins/Del) сделать прямо в комбобоксе поиска (если такое возможно).

DiRTy_GaRRy

2009-03-02 07:52

developer   bugnote:0002644

Кстати, по поводу CP_REVERSEBOM:
1. А откуда для неё взялось значение? Согласно MSDN (http://msdn.microsoft.com/en-us/library/dd317756(VS.85).aspx) оно должно быть 1201 (хоть там и поментка, что только для managed, но думаю, что для единообразия стоит поменять);
2. Предлагаю переименовать CP_REVERSEBOM в CP_UTF16_BE, ну и заодно завести дополнительную константу CP_UTF16_LE = CP_UNICODE.

DiRTy_GaRRy

2009-03-28 20:54

developer   bugnote:0002848

Last edited: 2009-03-28 20:54

Пробуем: http://ifolder.ru/11302831

Сделано:
1. В диалоге поиска в комбобоксе таблиц символов теперь по Ins/Space можно отмечать таблицы символов, по которым будет осуществляться поиск, в случае поиска по всем таблицам символов. Отмечать можно только стандартные и "любимые" таблицы символов;
2. Если не выбрана ни одно таблица символов, то поиск по всем тблицам символов работает по старому, т.е. ищет по стандартным и "любимым" таблицам символов;
3. Немного визуально переработан диалог поиска.

Issue History

Date Modified Username Field Change
2009-02-25 11:24 DiRTy_GaRRy New Issue
2009-02-25 11:24 DiRTy_GaRRy File Added: far_Search.796.patch.rar
2009-02-25 14:37 TS Note Added: 0002599
2009-02-25 21:02 DrKnS Note Added: 0002603
2009-02-25 21:12 DiRTy_GaRRy Note Added: 0002604
2009-02-25 21:22 DrKnS Note Added: 0002605
2009-02-26 07:22 vskirdin Note Added: 0002608
2009-02-26 07:23 vskirdin Note Added: 0002609
2009-02-26 07:28 DiRTy_GaRRy Note Added: 0002610
2009-02-27 13:27 DiRTy_GaRRy Note Added: 0002618
2009-02-27 13:56 alexy Note Added: 0002619
2009-02-28 23:15 DiRTy_GaRRy Note Added: 0002624
2009-02-28 23:17 DiRTy_GaRRy File Added: far_Search.800.patch.rar
2009-02-28 23:17 DiRTy_GaRRy Note Added: 0002625
2009-03-01 09:49 alexy Note Added: 0002627
2009-03-01 09:53 DrKnS Note Added: 0002628
2009-03-01 10:15 alexy Status new => assigned
2009-03-01 10:15 alexy Assigned To => alexy
2009-03-01 11:26 alexy Note Added: 0002629
2009-03-01 12:05 alexy Note Added: 0002630
2009-03-01 12:08 alexy Note Added: 0002631
2009-03-01 12:21 alexy Status assigned => feedback
2009-03-01 15:19 DiRTy_GaRRy Note Added: 0002632
2009-03-01 17:01 alexy Note Added: 0002639
2009-03-01 22:04 Denis Note Added: 0002642
2009-03-02 07:45 DiRTy_GaRRy Note Added: 0002643
2009-03-02 07:52 DiRTy_GaRRy Note Added: 0002644
2009-03-28 20:54 DiRTy_GaRRy Note Added: 0002848
2009-03-28 20:54 DiRTy_GaRRy Note Edited: 0002848
2009-03-30 19:16 alexy Assigned To alexy => DiRTy_GaRRy
2009-06-01 06:44 DiRTy_GaRRy Status feedback => resolved
2009-06-01 06:44 DiRTy_GaRRy Resolution open => fixed
2009-06-01 06:44 DiRTy_GaRRy Build => 907
2009-06-01 06:44 DiRTy_GaRRy Status resolved => closed
2009-06-01 06:44 DiRTy_GaRRy Fixed in Version => 2.0