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

Side by Side Diff: chrome/browser/gtk/task_manager_gtk.cc

Issue 155670: Do not block all task manager tree view mouse release events.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/gtk/task_manager_gtk.h" 5 #include "chrome/browser/gtk/task_manager_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 GTK_POLICY_NEVER, GTK_POLICY_NEVER); 334 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
335 335
336 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), scrolled); 336 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), scrolled);
337 337
338 CreateTaskManagerTreeview(); 338 CreateTaskManagerTreeview();
339 gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(treeview_), TRUE); 339 gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(treeview_), TRUE);
340 gtk_tree_view_set_grid_lines(GTK_TREE_VIEW(treeview_), 340 gtk_tree_view_set_grid_lines(GTK_TREE_VIEW(treeview_),
341 GTK_TREE_VIEW_GRID_LINES_HORIZONTAL); 341 GTK_TREE_VIEW_GRID_LINES_HORIZONTAL);
342 g_signal_connect(G_OBJECT(treeview_), "button-press-event", 342 g_signal_connect(G_OBJECT(treeview_), "button-press-event",
343 G_CALLBACK(OnButtonPressEvent), this); 343 G_CALLBACK(OnButtonPressEvent), this);
344 g_signal_connect(G_OBJECT(treeview_), "button-release-event",
345 G_CALLBACK(OnButtonReleaseEvent), this);
346 gtk_widget_add_events(treeview_, 344 gtk_widget_add_events(treeview_,
347 GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); 345 GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK);
348 346
349 // Hide some columns by default 347 // Hide some columns by default
350 TreeViewColumnSetVisible(treeview_, kTaskManagerSharedMem, false); 348 TreeViewColumnSetVisible(treeview_, kTaskManagerSharedMem, false);
351 TreeViewColumnSetVisible(treeview_, kTaskManagerPrivateMem, false); 349 TreeViewColumnSetVisible(treeview_, kTaskManagerPrivateMem, false);
352 TreeViewColumnSetVisible(treeview_, kTaskManagerProcessID, false); 350 TreeViewColumnSetVisible(treeview_, kTaskManagerProcessID, false);
353 TreeViewColumnSetVisible(treeview_, kTaskManagerGoatsTeleported, false); 351 TreeViewColumnSetVisible(treeview_, kTaskManagerGoatsTeleported, false);
354 352
355 // |selection| is owned by |treeview_|. 353 // |selection| is owned by |treeview_|.
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 if (event->type == GDK_2BUTTON_PRESS) 544 if (event->type == GDK_2BUTTON_PRESS)
547 task_manager->ActivateFocusedTab(); 545 task_manager->ActivateFocusedTab();
548 546
549 return FALSE; 547 return FALSE;
550 } 548 }
551 549
552 // static 550 // static
553 gboolean TaskManagerGtk::OnButtonReleaseEvent(GtkWidget* widget, 551 gboolean TaskManagerGtk::OnButtonReleaseEvent(GtkWidget* widget,
554 GdkEventButton* event, 552 GdkEventButton* event,
555 TaskManagerGtk* task_manager) { 553 TaskManagerGtk* task_manager) {
556 // We don't want to open the context menu in the treeview. 554 if (gtk_util::WidgetContainsCursor(task_manager->treeview_))
557 if (widget == task_manager->treeview_) 555 return FALSE;
558 return TRUE;
559 556
560 if (event->button == 3) 557 if (event->button == 3)
561 task_manager->ShowContextMenu(); 558 task_manager->ShowContextMenu();
562 559
563 return FALSE; 560 return FALSE;
564 } 561 }
565 562
566 // static 563 // static
567 gboolean TaskManagerGtk::OnGtkAccelerator(GtkAccelGroup* accel_group, 564 gboolean TaskManagerGtk::OnGtkAccelerator(GtkAccelGroup* accel_group,
568 GObject* acceleratable, 565 GObject* acceleratable,
569 guint keyval, 566 guint keyval,
570 GdkModifierType modifier, 567 GdkModifierType modifier,
571 TaskManagerGtk* task_manager) { 568 TaskManagerGtk* task_manager) {
572 if (keyval == GDK_w && modifier == GDK_CONTROL_MASK) { 569 if (keyval == GDK_w && modifier == GDK_CONTROL_MASK) {
573 // The GTK_RESPONSE_DELETE_EVENT response must be sent before the widget 570 // The GTK_RESPONSE_DELETE_EVENT response must be sent before the widget
574 // is destroyed. The deleted object will receive gtk signals otherwise. 571 // is destroyed. The deleted object will receive gtk signals otherwise.
575 gtk_dialog_response(GTK_DIALOG(task_manager->dialog_), 572 gtk_dialog_response(GTK_DIALOG(task_manager->dialog_),
576 GTK_RESPONSE_DELETE_EVENT); 573 GTK_RESPONSE_DELETE_EVENT);
577 gtk_widget_destroy(task_manager->dialog_); 574 gtk_widget_destroy(task_manager->dialog_);
578 } 575 }
579 576
580 return TRUE; 577 return TRUE;
581 } 578 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698