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

Side by Side Diff: chrome/browser/ui/gtk/download/download_shelf_gtk.cc

Issue 8885016: GTK: Even more changes from raw allocation access to gtk_widget_get_allocation(). (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Remove temporary Created 9 years 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/gtk/download/download_shelf_gtk.h" 5 #include "chrome/browser/ui/gtk/download/download_shelf_gtk.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "chrome/browser/download/download_item_model.h" 10 #include "chrome/browser/download/download_item_model.h"
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 256
257 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 257 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
258 close_button_->SetBackground( 258 close_button_->SetBackground(
259 theme_service_->GetColor(ThemeService::COLOR_TAB_TEXT), 259 theme_service_->GetColor(ThemeService::COLOR_TAB_TEXT),
260 rb.GetBitmapNamed(IDR_CLOSE_BAR), 260 rb.GetBitmapNamed(IDR_CLOSE_BAR),
261 rb.GetBitmapNamed(IDR_CLOSE_BAR_MASK)); 261 rb.GetBitmapNamed(IDR_CLOSE_BAR_MASK));
262 } 262 }
263 } 263 }
264 264
265 int DownloadShelfGtk::GetHeight() const { 265 int DownloadShelfGtk::GetHeight() const {
266 return slide_widget_->widget()->allocation.height; 266 GtkAllocation allocation;
267 gtk_widget_get_allocation(slide_widget_->widget(), &allocation);
268 return allocation.height;
267 } 269 }
268 270
269 void DownloadShelfGtk::RemoveDownloadItem(DownloadItemGtk* download_item) { 271 void DownloadShelfGtk::RemoveDownloadItem(DownloadItemGtk* download_item) {
270 DCHECK(download_item); 272 DCHECK(download_item);
271 std::vector<DownloadItemGtk*>::iterator i = 273 std::vector<DownloadItemGtk*>::iterator i =
272 find(download_items_.begin(), download_items_.end(), download_item); 274 find(download_items_.begin(), download_items_.end(), download_item);
273 DCHECK(i != download_items_.end()); 275 DCHECK(i != download_items_.end());
274 download_items_.erase(i); 276 download_items_.erase(i);
275 delete download_item; 277 delete download_item;
276 if (download_items_.empty()) { 278 if (download_items_.empty()) {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 mouse_in_shelf_ = mouse_in_shelf; 358 mouse_in_shelf_ = mouse_in_shelf;
357 359
358 if (mouse_in_shelf) 360 if (mouse_in_shelf)
359 MouseEnteredShelf(); 361 MouseEnteredShelf();
360 else 362 else
361 MouseLeftShelf(); 363 MouseLeftShelf();
362 } 364 }
363 365
364 bool DownloadShelfGtk::IsCursorInShelfZone( 366 bool DownloadShelfGtk::IsCursorInShelfZone(
365 const gfx::Point& cursor_screen_coords) { 367 const gfx::Point& cursor_screen_coords) {
368 GtkAllocation allocation;
369 gtk_widget_get_allocation(shelf_.get(), &allocation);
370
366 gfx::Rect bounds(gtk_util::GetWidgetScreenPosition(shelf_.get()), 371 gfx::Rect bounds(gtk_util::GetWidgetScreenPosition(shelf_.get()),
367 gfx::Size(shelf_.get()->allocation.width, 372 gfx::Size(allocation.width, allocation.height));
368 shelf_.get()->allocation.height));
369 373
370 // Negative insets expand the rectangle. We only expand the top. 374 // Negative insets expand the rectangle. We only expand the top.
371 bounds.Inset(gfx::Insets(-kShelfAuraSize, 0, 0, 0)); 375 bounds.Inset(gfx::Insets(-kShelfAuraSize, 0, 0, 0));
372 376
373 return bounds.Contains(cursor_screen_coords); 377 return bounds.Contains(cursor_screen_coords);
374 } 378 }
375 379
376 void DownloadShelfGtk::MouseLeftShelf() { 380 void DownloadShelfGtk::MouseLeftShelf() {
377 DCHECK(close_on_mouse_out_); 381 DCHECK(close_on_mouse_out_);
378 382
379 MessageLoop::current()->PostDelayedTask( 383 MessageLoop::current()->PostDelayedTask(
380 FROM_HERE, 384 FROM_HERE,
381 base::Bind(&DownloadShelfGtk::Close, weak_factory_.GetWeakPtr()), 385 base::Bind(&DownloadShelfGtk::Close, weak_factory_.GetWeakPtr()),
382 kAutoCloseDelayMs); 386 kAutoCloseDelayMs);
383 } 387 }
384 388
385 void DownloadShelfGtk::MouseEnteredShelf() { 389 void DownloadShelfGtk::MouseEnteredShelf() {
386 weak_factory_.InvalidateWeakPtrs(); 390 weak_factory_.InvalidateWeakPtrs();
387 } 391 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/download/download_item_gtk.cc ('k') | chrome/browser/ui/gtk/infobars/infobar_container_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698