Mercurial > octave
changeset 24791:9421e891294e
fix truncated startup message in terminal widget on windows (bug #53189)
* terminal-dock-widget.cc (ctor): set initial terminal size
author | Torsten <mttl@mailbox.org> |
---|---|
date | Sat, 24 Feb 2018 14:05:07 +0100 |
parents | d331650ce389 |
children | 3390adaee21d |
files | libgui/src/terminal-dock-widget.cc |
diffstat | 1 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/terminal-dock-widget.cc Thu Feb 22 15:14:44 2018 -0800 +++ b/libgui/src/terminal-dock-widget.cc Sat Feb 24 14:05:07 2018 +0100 @@ -25,7 +25,10 @@ # include "config.h" #endif +#include <QDesktopWidget> + #include "terminal-dock-widget.h" +#include "resource-manager.h" namespace octave { @@ -48,6 +51,31 @@ // Connect the visibility signal to the terminal for dis-/enabling timers connect (this, SIGNAL (visibilityChanged (bool)), m_terminal, SLOT (handle_visibility_changed (bool))); + + // Chose a reasonable size at startup in order to avoid truncated + // startup messages + QSettings *settings = resource_manager::get_settings (); + + QFont font = QFont (); + font.setStyleHint (QFont::TypeWriter); + font.setFamily + (settings->value ("terminal/fontName", "Courier New").toString ()); + font.setPointSize (settings->value ("terminal/fontSize", 10).toInt ()); + + QFontMetrics metrics(font); + + int win_x = metrics.maxWidth()*80; + int win_y = metrics.height()*25; + + int max_x = QApplication::desktop ()->screenGeometry (this).width (); + int max_y = QApplication::desktop ()->screenGeometry (this).height (); + + if (win_x > max_x) + win_x = max_x; + if (win_y > max_y) + win_y = max_y; + + setGeometry (0, 0, win_x, win_y); } terminal_dock_widget::~terminal_dock_widget (void)