diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2017-02-16 10:03:41 +0100 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2017-02-16 12:57:55 +0000 |
commit | e2cef4cbbd8afe64b446f16443e1e80478117327 (patch) | |
tree | 10a0bc7694d853ab0f457f9d7b0329a8e9a65e53 /ui/qt/main_window_slots.cpp | |
parent | 6efc0f4ea62b22e289fa22e6f1735f2e89302165 (diff) |
Qt: Improved pane size auto detect
Split panes in exactly equal sizes.
Change-Id: I4b984931e860160791497a299011489aa26ad4ef
Reviewed-on: https://code.wireshark.org/review/20139
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Diffstat (limited to 'ui/qt/main_window_slots.cpp')
-rw-r--r-- | ui/qt/main_window_slots.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index 004db597e4..0e1dc2772b 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -426,32 +426,35 @@ void MainWindow::applyRecentPaneGeometry() main_ui_->mainStack->setCurrentWidget(cur_w); int master_last_size = master_split_.orientation() == Qt::Vertical ? geom.height() : geom.width(); + master_last_size -= master_split_.handleWidth() * (master_sizes.length() - 1); + int extra_last_size = extra_split_.orientation() == Qt::Vertical ? geom.height() : geom.width(); + extra_last_size -= extra_split_.handleWidth(); if (recent.gui_geometry_main_upper_pane > 0) { master_sizes[0] = recent.gui_geometry_main_upper_pane + 1; // Add back mystery pixel - master_last_size -= recent.gui_geometry_main_upper_pane + master_split_.handleWidth(); + master_last_size -= recent.gui_geometry_main_upper_pane; } else { master_sizes[0] = master_last_size / master_sizes.length(); - master_last_size -= master_last_size / master_sizes.length() + master_split_.handleWidth(); + master_last_size -= master_last_size / master_sizes.length(); } if (recent.gui_geometry_main_lower_pane > 0) { if (master_sizes.length() > 2) { master_sizes[1] = recent.gui_geometry_main_lower_pane + 1; // Add back mystery pixel - master_last_size -= recent.gui_geometry_main_lower_pane + master_split_.handleWidth(); + master_last_size -= recent.gui_geometry_main_lower_pane; } else if (extra_sizes.length() > 0) { extra_sizes[0] = recent.gui_geometry_main_lower_pane; // No mystery pixel - extra_last_size -= recent.gui_geometry_main_lower_pane + extra_split_.handleWidth(); + extra_last_size -= recent.gui_geometry_main_lower_pane; extra_sizes.last() = extra_last_size; } } else { if (master_sizes.length() > 2) { master_sizes[1] = master_last_size / 2; - master_last_size -= master_last_size / 2 + master_split_.handleWidth(); + master_last_size -= master_last_size / 2; } else { extra_sizes[0] = extra_last_size / 2; - extra_last_size -= extra_last_size / 2 + extra_split_.handleWidth(); + extra_last_size -= extra_last_size / 2; extra_sizes.last() = extra_last_size; } } |