Anonymous | Login | Signup for a new account | 23-11-24 09:31 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000917 | SAS.Планета | [All Projects] Хотелка | public | 17-08-2011 05:46 | 07-01-2013 10:04 | ||||
Reporter | sheavy | ||||||||
Assigned To | vdemidov | ||||||||
Priority | normal | Severity | tweak | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | XP | OS Version | SP3 | ||||
Product Version | 110427.Beta | ||||||||
Target Version | 131111 | Fixed in Version | 131111 | ||||||
Summary | 0000917: Изменение видимости дочерних категорий | ||||||||
Description | См. Скриншот: если снять галочку видимости с главной категории, метка, принадлежащая вложеной подкатегории останеться видимой. Кажется, было бы логично и интуитивно понятно, что если убирается галочка на главной категории, что она должна сниматься и со всех подчиненных. Иначе приходиться пробегаться по всем вложенным категориям. Чекбокс "Все" здесь тоже не помогает, т.к. сбрасывает флаг Visible и в других категориях, которых достаточно много. | ||||||||
Steps To Reproduce | См. Скриншот: | ||||||||
Additional Information | Аналогично сделано во многих программах, где требуется сканирование диска (антивирусы, восстановители удаленных файлов и т.п.) Понятно, что на самом деле вложенности в Category.sml нет и нужно улучшать обработчих кнопки "ОК" и "Применить" или делать новый чекбокс рядом с чекбоксом "Все" (менее предпочтительно) | ||||||||
Tags | sml, категории | ||||||||
Attached Files | 2011-08-17_092532.jpg [^] (28,459 bytes) 17-08-2011 05:46
| ||||||||
Relationships | |||||||||||
|
Notes | |
(0003513) gpsMax (manager) 18-08-2011 04:11 |
Да, надо было давно это вынести отдельным тикетом, спасибо. Из 137-й хотелки: Типа [галки] два - включена/выключена. Но при включении/выключении галки одновременно с этим включаются/выключаются галки для всех вложенных категорий. Вложенность же определяется динамически, из структуры категорий, а не из файла данных в готовом виде, поэтому менять его не потребуется. Тупо рекурсия: при включении/выключении галки пробегаем по вложенным категориям и применяем эту же операцию на них. |
(0003547) zOn (reporter) 19-08-2011 07:18 |
Не стал создавать отдельный баг, т.к. это видимо взаимосвязано: если поставить курсор на подкатегорию и нажать - удалить, то удалится и категория и подкатегория. |
(0003555) Tolik (manager) 19-08-2011 07:51 |
только если в этой категории нет других подкатегорий. |
(0003556) zOn (reporter) 19-08-2011 07:54 |
да. забыл сказать. |
(0010290) Fed (reporter) 02-01-2013 05:43 edited on: 07-01-2013 09:27 |
Решил эту задачу переделав в frm_MarksExplorer.pas 2 процедуры CategoryTreeViewKeyUp и CategoryTreeViewMouseUp и добавив новую CategoryTreeViewVisible: ---------------------- Процедура TfrmMarksExplorer.CategoryTreeViewVisible: procedure TfrmMarksExplorer.CategoryTreeViewVisible(Node: TTreeNode); var VCategoryOld: IMarkCategory; VCategoryNew: IMarkCategory; VTreeNode: TTreeNode; VVisible: Boolean; VIndex,VLevel,VNum: Integer; begin VCategoryOld := IMarkCategory(Node.Data); if VCategoryOld <> nil then begin // VVisible, VIndex - для визуализации узлов. if Node.StateIndex=1 then begin VVisible := False; VIndex:=2; end else begin VVisible := True; VIndex:=1; end; // Изменение значения Visible текущего узла категории меток VCategoryNew := FMarkDBGUI.MarksDb.CategoryDB.Factory.ModifyVisible(VCategoryOld, VVisible); Node.StateIndex:=VIndex; if not VCategoryOld.IsEqual(VCategoryNew) then begin FMarkDBGUI.MarksDb.CategoryDB.UpdateCategory(VCategoryOld, VCategoryNew); end; // Изменение значения Visible дочерних узла категории меток // CheckBox3 включает/выклучает функцию каскадной визуализации. if CheckBox3.Checked then begin // VLevel - уровень глубины узла. VNum - номер узла изменения видимости. CategoryTreeView.Visible := False; VLevel:=Node.Level; // Цикл продолжается пока не перейдём на новую ветвь (пока уровень глубины узлов не станет как наша) // Или до конца ветвей for VNum:=Node.AbsoluteIndex+1 to CategoryTreeView.Items.Count - 1 do if CategoryTreeView.Items[VNum].Level>VLevel then begin VTreeNode := CategoryTreeView.Items[VNum]; VCategoryOld := IMarkCategory(VTreeNode.Data); if VCategoryOld <> nil then begin VCategoryNew := FMarkDBGUI.MarksDb.CategoryDB.Factory.ModifyVisible(VCategoryOld, VVisible); VTreeNode.StateIndex:=VIndex; if not VCategoryOld.IsEqual(VCategoryNew) then begin FMarkDBGUI.MarksDb.CategoryDB.UpdateCategory(VCategoryOld, VCategoryNew); end; end; end else break; // Прерываем цикл так, как уровень глубины узлов стал как наш или выше. CategoryTreeView.Visible := True; end; end; end; ---------------------- Процедура TfrmMarksExplorer.CategoryTreeViewKeyUp: procedure TfrmMarksExplorer.CategoryTreeViewKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var VCategoryOld: IMarkCategory; VCategoryNew: IMarkCategory; begin If key=VK_DELETE then begin VCategoryOld := GetSelectedCategory; if VCategoryOld <> nil then begin FMarkDBGUI.DeleteCategoryModal(VCategoryOld, Self.Handle); end; end; if Key=VK_SPACE then CategoryTreeViewVisible(CategoryTreeView.Selected); end; ---------------------- Процедура TfrmMarksExplorer.CategoryTreeViewMouseUp: procedure TfrmMarksExplorer.CategoryTreeViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var VCategoryOld: IMarkCategory; VCategoryNew: IMarkCategory; VTreeNode: TTreeNode; begin if htOnStateIcon in CategoryTreeView.GetHitTestInfoAt(X,Y) then CategoryTreeViewVisible(CategoryTreeView.GetNodeAt(X,Y)); end; ---------------------- |
(0010327) Garl (manager) 05-01-2013 10:28 |
проверил, по логике и работе - всё ок! добавлять вышеуказанный код в исходник? |
(0010329) vdemidov (manager) 05-01-2013 11:59 |
>добавлять вышеуказанный код в исходник? Ну я бы дал автору кода еще пару попыток сделать чистый пул реквест, который будет принят. |
(0010347) Fed (reporter) 06-01-2013 20:36 |
>>добавлять вышеуказанный код в исходник? >Ну я бы дал автору кода еще пару попыток сделать чистый пул реквест, который будет принят. Подскажите, пожалуйста, что значит "*чистый пул реквест*"? Спасибо, за помощь. |
(0010348) vdemidov (manager) 06-01-2013 21:07 |
Ну претензии к прошлой попытке я в комментарии написал. С тех пор ветка уже ушла вперед, так что нужно сделать новый коммит и пул реквест. |
(0010350) Fed (reporter) 07-01-2013 05:30 |
Создал новый pull request. Сейчас правильно сделал? Спасибо, за помощь. |
(0010351) vdemidov (manager) 07-01-2013 10:03 |
Теперь лучше, но есть пару замечаний: 1. Оставлять неиспользуемые переменные на которые вылазят варнинги не стоит. Я это поправил на этот раз, но следующий раз просто не приму пул реквест. 2. Контролам нужно давать осмысленные имена, а не CheckBox2, Panel1, CheckBox3. То что один из этих контролов уже существовал с таким именем - не оправдание. |
(0010352) vdemidov (manager) 07-01-2013 10:04 |
Спасибо за вклад в разработку. |
Issue History | |||
Date Modified | Username | Field | Change |
17-08-2011 05:46 | sheavy | New Issue | |
17-08-2011 05:46 | sheavy | File Added: 2011-08-17_092532.jpg | |
17-08-2011 06:29 | Tolik | Note Added: 0003478 | |
17-08-2011 07:28 | sheavy | Note Added: 0003484 | |
17-08-2011 07:31 | sheavy | Note Added: 0003485 | |
17-08-2011 07:39 | sheavy | Note Added: 0003487 | |
17-08-2011 07:40 | sheavy | Note Deleted: 0003484 | |
17-08-2011 07:40 | sheavy | Note Deleted: 0003485 | |
17-08-2011 07:40 | sheavy | Note Edited: 0003487 | View Revisions |
17-08-2011 07:41 | sheavy | Note Edited: 0003487 | View Revisions |
17-08-2011 07:41 | sheavy | Note Edited: 0003487 | View Revisions |
17-08-2011 07:42 | Tolik | Note Added: 0003488 | |
17-08-2011 07:42 | sheavy | Note Edited: 0003487 | View Revisions |
17-08-2011 07:42 | Tolik | File Added: Cat.GIF | |
17-08-2011 07:44 | sheavy | Note Added: 0003489 | |
17-08-2011 07:44 | sheavy | Note Deleted: 0003489 | |
17-08-2011 07:46 | sheavy | Note Added: 0003490 | |
17-08-2011 07:51 | sheavy | Note Edited: 0003490 | View Revisions |
17-08-2011 07:52 | sheavy | Note Edited: 0003490 | View Revisions |
17-08-2011 07:52 | sheavy | Note Edited: 0003490 | View Revisions |
17-08-2011 07:53 | Fetser | Note Added: 0003491 | |
17-08-2011 07:55 | Tolik | Note Added: 0003493 | |
17-08-2011 07:59 | Tolik | Status | new => acknowledged |
17-08-2011 08:07 | vdemidov | Note Added: 0003494 | |
17-08-2011 09:26 | vdemidov | File Deleted: Cat.GIF | |
17-08-2011 09:26 | vdemidov | Note Deleted: 0003494 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003493 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003491 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003490 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003488 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003487 | |
17-08-2011 09:27 | vdemidov | Note Deleted: 0003478 | |
17-08-2011 09:28 | sheavy | Tag Attached: категории | |
17-08-2011 09:28 | sheavy | Tag Attached: sml | |
17-08-2011 09:29 | vdemidov | Target Version | => 40xxxx |
17-08-2011 09:29 | vdemidov | Summary | Определение приоритета видимости категорий => Изменение видимости дочерних категорий |
17-08-2011 09:29 | vdemidov | Status | acknowledged => confirmed |
17-08-2011 09:29 | vdemidov | Product Version | => 110427.Beta |
18-08-2011 04:09 | gpsMax | Relationship added | related to 0000137 |
18-08-2011 04:11 | gpsMax | Note Added: 0003513 | |
18-08-2011 04:15 | gpsMax | Relationship added | related to 0000919 |
19-08-2011 07:18 | zOn | Note Added: 0003547 | |
19-08-2011 07:51 | Tolik | Note Added: 0003555 | |
19-08-2011 07:54 | zOn | Note Added: 0003556 | |
02-01-2013 05:43 | Fed | Note Added: 0010290 | |
02-01-2013 05:45 | Fed | Note Edited: 0010290 | View Revisions |
02-01-2013 05:45 | Fed | Note Edited: 0010290 | View Revisions |
02-01-2013 06:12 | Fed | Note Edited: 0010290 | View Revisions |
02-01-2013 06:49 | vdemidov | Note Added: 0010292 | |
02-01-2013 06:58 | Fed | Note Added: 0010293 | |
02-01-2013 07:19 | vdemidov | Note Added: 0010294 | |
02-01-2013 10:21 | Fed | Note Added: 0010295 | |
02-01-2013 10:24 | Fed | Note Edited: 0010295 | View Revisions |
02-01-2013 10:28 | vdemidov | Note Added: 0010296 | |
02-01-2013 10:34 | Fed | Note Edited: 0010295 | View Revisions |
02-01-2013 10:45 | Fed | File Added: Bitbucket_Import.jpg | |
02-01-2013 10:52 | Fed | Note Added: 0010297 | |
02-01-2013 10:55 | Fed | Note Edited: 0010297 | View Revisions |
02-01-2013 10:56 | Fetser | File Added: 1.jpg | |
02-01-2013 10:57 | Fetser | Note Added: 0010298 | |
02-01-2013 11:04 | Fed | Note Added: 0010299 | |
02-01-2013 11:05 | Fetser | Note Added: 0010300 | |
02-01-2013 11:07 | Fetser | Note Edited: 0010300 | View Revisions |
02-01-2013 11:17 | Fed | Note Added: 0010301 | |
02-01-2013 11:17 | vdemidov | Note Added: 0010302 | |
02-01-2013 11:21 | vdemidov | Note Added: 0010303 | |
02-01-2013 11:27 | Fetser | Note Deleted: 0010298 | |
02-01-2013 11:28 | Fetser | Note Deleted: 0010300 | |
02-01-2013 12:36 | Fed | Note Added: 0010304 | |
02-01-2013 12:56 | Fetser | Note Added: 0010305 | |
02-01-2013 13:02 | zed | Note Added: 0010306 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010305 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010304 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010303 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010302 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010301 | |
02-01-2013 18:04 | vdemidov | Note Deleted: 0010299 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010297 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010296 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010295 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010294 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010293 | |
02-01-2013 18:05 | vdemidov | Note Deleted: 0010292 | |
02-01-2013 18:06 | vdemidov | Note Deleted: 0010306 | |
05-01-2013 10:28 | Garl | Note Added: 0010327 | |
05-01-2013 11:59 | vdemidov | Note Added: 0010329 | |
06-01-2013 20:36 | Fed | Note Added: 0010347 | |
06-01-2013 21:07 | vdemidov | Note Added: 0010348 | |
06-01-2013 22:38 | Fed | Note Added: 0010349 | |
07-01-2013 04:10 | Fed | Note Edited: 0010349 | View Revisions |
07-01-2013 05:19 | Fed | Note Deleted: 0010349 | |
07-01-2013 05:30 | Fed | Note Added: 0010350 | |
07-01-2013 09:27 | Fed | Note Edited: 0010290 | View Revisions |
07-01-2013 10:03 | vdemidov | Note Added: 0010351 | |
07-01-2013 10:04 | vdemidov | Note Added: 0010352 | |
07-01-2013 10:04 | vdemidov | Status | confirmed => resolved |
07-01-2013 10:04 | vdemidov | Fixed in Version | => 131111 |
07-01-2013 10:04 | vdemidov | Resolution | open => fixed |
07-01-2013 10:04 | vdemidov | Assigned To | => vdemidov |
07-01-2013 10:04 | vdemidov | Target Version | 40xxxx => 131111 |
07-01-2013 10:04 | vdemidov | File Deleted: 1.jpg | |
07-01-2013 10:04 | vdemidov | File Deleted: Bitbucket_Import.jpg |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |