Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1127)

Unified Diff: chrome/browser/gtk/task_manager_gtk.h

Issue 196040: Gtk: Allow all columns in task manager to be sortable. (Closed)
Patch Set: Delete dead code Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/gtk/task_manager_gtk.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/task_manager_gtk.h
diff --git a/chrome/browser/gtk/task_manager_gtk.h b/chrome/browser/gtk/task_manager_gtk.h
index 50f813c8a238ff8274db003666fdabd4c8234d06..05e77abc7b8a6f617c6285f8a364a76f6ea202b2 100644
--- a/chrome/browser/gtk/task_manager_gtk.h
+++ b/chrome/browser/gtk/task_manager_gtk.h
@@ -10,6 +10,7 @@
#include <string>
#include "chrome/browser/task_manager.h"
+#include "grit/generated_resources.h"
class TaskManagerGtk : public TaskManagerModelObserver {
public:
@@ -64,6 +65,10 @@ class TaskManagerGtk : public TaskManagerModelObserver {
// Opens about:memory in a new foreground tab.
void OnLinkActivated();
+ // Compare implementation used for sorting columns.
+ gint CompareImpl(GtkTreeModel* tree_model, GtkTreeIter* a,
+ GtkTreeIter* b, int id);
+
// response signal handler that notifies us of dialog responses.
static void OnResponse(GtkDialog* dialog, gint response_id,
TaskManagerGtk* task_manager);
@@ -91,6 +96,62 @@ class TaskManagerGtk : public TaskManagerModelObserver {
GdkModifierType modifier,
TaskManagerGtk* task_manager);
+ // Page sorting callback.
+ static gint ComparePage(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_PAGE_COLUMN);
+ }
+
+ // Physical memory sorting callback.
+ static gint ComparePhysicalMemory(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN);
+ }
+
+ // Shared memory sorting callback.
+ static gint CompareSharedMemory(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_SHARED_MEM_COLUMN);
+ }
+
+ // Private memory sorting callback.
+ static gint ComparePrivateMemory(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN);
+ }
+
+ // CPU sorting callback.
+ static gint CompareCPU(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_CPU_COLUMN);
+ }
+
+ // Network sorting callback.
+ static gint CompareNetwork(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_NET_COLUMN);
+ }
+
+ // Process ID sorting callback.
+ static gint CompareProcessID(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_PROCESS_ID_COLUMN);
+ }
+
+ // Goats Teleported sorting callback.
+ static gint CompareGoatsTeleported(GtkTreeModel* model, GtkTreeIter* a,
+ GtkTreeIter* b, gpointer task_manager) {
+ return reinterpret_cast<TaskManagerGtk*>(task_manager)->
+ CompareImpl(model, a, b, IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN);
+ }
+
// The task manager.
TaskManager* task_manager_;
@@ -105,6 +166,7 @@ class TaskManagerGtk : public TaskManagerModelObserver {
// The list of processes.
GtkListStore* process_list_;
+ GtkTreeModel* process_list_sort_;
// The number of processes in |process_list_|.
int process_count_;
« no previous file with comments | « chrome/app/generated_resources.grd ('k') | chrome/browser/gtk/task_manager_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698