summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-29 22:04:59 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-29 22:04:59 +0000
commit656453cba6885a259388f6181273177758b40d61 (patch)
tree019ed2f4cfdb6c6ea4dd995d6af66509b31734b9 /chrome
parent82f37b0d8c9b0e8e09c5e4debf98ddcb5bfbce09 (diff)
downloadchromium_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.mm16
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];
}