diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-20 08:57:55 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-20 08:57:55 +0000 |
commit | 749380bb2ff3884836ab30eaae87c76a0e75878e (patch) | |
tree | 8c7935e4e99116e542b7d5f985e15ac01b46130f /chrome/browser | |
parent | 36f2af638986e3afe4c9d5fa06edf83eff5bfa4f (diff) | |
download | chromium_src-749380bb2ff3884836ab30eaae87c76a0e75878e.zip chromium_src-749380bb2ff3884836ab30eaae87c76a0e75878e.tar.gz chromium_src-749380bb2ff3884836ab30eaae87c76a0e75878e.tar.bz2 |
DevTools: Store devtools split location on Linux.
Review URL: http://codereview.chromium.org/149748
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21070 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/browser.cc | 1 | ||||
-rw-r--r-- | chrome/browser/gtk/browser_window_gtk.cc | 22 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 1 |
3 files changed, 20 insertions, 4 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc index 2ba73ad..d20cd3f 100644 --- a/chrome/browser/browser.cc +++ b/chrome/browser/browser.cc @@ -1181,6 +1181,7 @@ void Browser::ShowControlPanel() { void Browser::RegisterPrefs(PrefService* prefs) { prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); + prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); } // static diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc index b10f357..06063ac 100644 --- a/chrome/browser/gtk/browser_window_gtk.cc +++ b/chrome/browser/gtk/browser_window_gtk.cc @@ -70,6 +70,9 @@ namespace { // The number of milliseconds between loading animation frames. const int kLoadingAnimationFrameTimeMs = 30; +// Default offset of the contents splitter in pixels. +const int kDefaultContentsSplitOffset = 400; + const char* kBrowserWindowKey = "__BROWSER_WINDOW_GTK__"; // The frame border is only visible in restored mode and is hardcoded to 4 px @@ -937,9 +940,15 @@ void BrowserWindowGtk::UpdateDevToolsForContents(TabContents* contents) { devtools_contents->ShowContents(); } - if (devtools_contents) { + bool should_show = old_devtools == NULL && devtools_contents != NULL; + bool should_hide = old_devtools != NULL && devtools_contents == NULL; + if (should_show) { gtk_widget_show(devtools_container_->widget()); - } else { + } else if (should_hide) { + // Store split offset when hiding devtools window only. + gint divider_offset = gtk_paned_get_position(GTK_PANED(contents_split_)); + g_browser_process->local_state()->SetInteger( + prefs::kDevToolsSplitLocation, divider_offset); gtk_widget_hide(devtools_container_->widget()); } } @@ -1143,7 +1152,14 @@ void BrowserWindowGtk::InitWidgets() { FALSE, TRUE); gtk_box_pack_start(GTK_BOX(render_area_vbox_), contents_split_, TRUE, TRUE, 0); - gtk_paned_set_position(GTK_PANED(contents_split_), 400); + // Restore split offset. + int split_offset = g_browser_process->local_state()->GetInteger( + prefs::kDevToolsSplitLocation); + if (split_offset == -1) { + // Initial load, set to default value. + split_offset = kDefaultContentsSplitOffset; + } + gtk_paned_set_position(GTK_PANED(contents_split_), split_offset); gtk_widget_show_all(render_area_vbox_); gtk_widget_hide(devtools_container_->widget()); diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index 99ecc8a..579d18b 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -542,7 +542,6 @@ void BrowserView::RegisterBrowserViewPrefs(PrefService* prefs) { kDefaultPluginMessageResponseTimeout); prefs->RegisterIntegerPref(prefs::kHungPluginDetectFrequency, kDefaultHungPluginDetectFrequency); - prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); } void BrowserView::AttachBrowserBubble(BrowserBubble* bubble) { |