diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-29 22:04:59 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-29 22:04:59 +0000 |
commit | 656453cba6885a259388f6181273177758b40d61 (patch) | |
tree | 019ed2f4cfdb6c6ea4dd995d6af66509b31734b9 /chrome | |
parent | 82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09 (diff) | |
download | chromium_src-656453cba6885a259388f6181273177758b40d61.zip chromium_src-656453cba6885a259388f6181273177758b40d61.tar.gz chromium_src-656453cba6885a259388f6181273177758b40d61.tar.bz2 |
Mac: Keep groups when sorting task manager, like windows does.
Also fix favicons in task manager.
BUG=32148
TEST=Have a few tabs that share a process. Sort of various columns in the task manager, the process group should stay one block.
Review URL: http://codereview.chromium.org/3029041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54206 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/cocoa/task_manager_mac.mm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/chrome/browser/cocoa/task_manager_mac.mm b/chrome/browser/cocoa/task_manager_mac.mm index f081dbb..8aa4416 100644 --- a/chrome/browser/cocoa/task_manager_mac.mm +++ b/chrome/browser/cocoa/task_manager_mac.mm @@ -60,10 +60,19 @@ class SortHelper { model_(model) {} bool operator()(int a, int b) { - int cmp_result = model_->CompareValues(a, b, sort_column_ ); + std::pair<int, int> group_range1 = model_->GetGroupRangeForResource(a); + std::pair<int, int> group_range2 = model_->GetGroupRangeForResource(b); + if (group_range1 == group_range2) { + // The two rows are in the same group, sort so that items in the same + // group always appear in the same order. |ascending_| is intentionally + // ignored. + return a < b; + } + // Sort by the first entry of each of the groups. + int cmp_result = model_->CompareValues( + group_range1.first, group_range2.first, sort_column_); if (!ascending_) cmp_result = -cmp_result; - // TODO(thakis): Do grouping like on GTK. return cmp_result < 0; } private: @@ -410,7 +419,8 @@ class SortHelper { NSString* title = [self modelTextForRow:rowIndex column:[[tableColumn identifier] intValue]]; [buttonCell setTitle:title]; - [buttonCell setImage:taskManagerObserver_->GetImageForRow(rowIndex)]; + [buttonCell setImage: + taskManagerObserver_->GetImageForRow(indexShuffle_[rowIndex])]; [buttonCell setRefusesFirstResponder:YES]; // Don't push in like a button. [buttonCell setHighlightsBy:NSNoCellMask]; } |