summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/info_bubble_gtk.cc
diff options
context:
space:
mode:
authordeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 10:00:57 +0000
committerdeanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-03 10:00:57 +0000
commitce29eeeb501db818f8f91158fd0f740a9673db61 (patch)
tree482be176eebfa02b76b775efc7122a4785fadac4 /chrome/browser/gtk/info_bubble_gtk.cc
parente918f175a6293932fc4c682108cf3c9945671f60 (diff)
downloadchromium_src-ce29eeeb501db818f8f91158fd0f740a9673db61.zip
chromium_src-ce29eeeb501db818f8f91158fd0f740a9673db61.tar.gz
chromium_src-ce29eeeb501db818f8f91158fd0f740a9673db61.tar.bz2
Implement the base for the BookmarkBubble UI.
Additionally set the transient on the InfoBubble dialog window. BUG=11738 Review URL: http://codereview.chromium.org/119042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17472 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/info_bubble_gtk.cc')
-rw-r--r--chrome/browser/gtk/info_bubble_gtk.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/gtk/info_bubble_gtk.cc b/chrome/browser/gtk/info_bubble_gtk.cc
index cff694b..e171e3b 100644
--- a/chrome/browser/gtk/info_bubble_gtk.cc
+++ b/chrome/browser/gtk/info_bubble_gtk.cc
@@ -116,11 +116,12 @@ gboolean HandleExpose(GtkWidget* widget,
} // namespace
// static
-InfoBubbleGtk* InfoBubbleGtk::Show(const gfx::Rect& rect,
+InfoBubbleGtk* InfoBubbleGtk::Show(GtkWindow* transient_toplevel,
+ const gfx::Rect& rect,
GtkWidget* content,
InfoBubbleGtkDelegate* delegate) {
InfoBubbleGtk* bubble = new InfoBubbleGtk();
- bubble->Init(rect, content);
+ bubble->Init(transient_toplevel, rect, content);
bubble->set_delegate(delegate);
return bubble;
}
@@ -130,18 +131,21 @@ InfoBubbleGtk::InfoBubbleGtk()
window_(NULL),
screen_x_(0),
screen_y_(0) {
-
+
}
InfoBubbleGtk::~InfoBubbleGtk() {
}
-void InfoBubbleGtk::Init(const gfx::Rect& rect, GtkWidget* content) {
+void InfoBubbleGtk::Init(GtkWindow* transient_toplevel,
+ const gfx::Rect& rect,
+ GtkWidget* content) {
DCHECK(!window_);
screen_x_ = rect.x() + (rect.width() / 2) - kArrowX;
screen_y_ = rect.y() + rect.height() + kArrowToContentPadding;
window_ = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_transient_for(GTK_WINDOW(window_), transient_toplevel);
gtk_window_set_decorated(GTK_WINDOW(window_), FALSE);
gtk_window_set_resizable(GTK_WINDOW(window_), FALSE);
gtk_widget_set_app_paintable(window_, TRUE);