From 0ae52e5bf34cf1bdc5dee4199f60e5595f3f2ad6 Mon Sep 17 00:00:00 2001 From: Paulo Lieuthier Date: Thu, 5 Nov 2015 14:38:21 -0300 Subject: [PATCH] Enable terminal resizing from the emulator The pieces were all already there, but not connected. --- lib/Session.cpp | 6 +++--- lib/qtermwidget.cpp | 5 +++-- lib/qtermwidget.h | 6 +++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/Session.cpp b/lib/Session.cpp index 9e29377..1c1c31c 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -94,9 +94,9 @@ Session::Session(QObject* parent) : this, SIGNAL( changeTabTextColorRequest( int ) ) ); connect( _emulation, SIGNAL(profileChangeCommandReceived(const QString &)), this, SIGNAL( profileChangeCommandReceived(const QString &)) ); - // TODO - // connect( _emulation,SIGNAL(imageSizeChanged(int,int)) , this , - // SLOT(onEmulationSizeChange(int,int)) ); + + connect(_emulation, SIGNAL(imageSizeChanged(int, int)), + this, SLOT(onEmulationSizeChange(int, int))); //connect teletype to emulation backend _shellProcess->setUtf8Mode(_emulation->utf8()); diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 9245a16..126025a 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -299,6 +299,7 @@ void QTermWidget::init(int startnow) m_impl->m_session->addView(m_impl->m_terminalDisplay); + connect(m_impl->m_session, SIGNAL(resizeRequest(QSize)), this, SLOT(setSize(QSize))); connect(m_impl->m_session, SIGNAL(finished()), this, SLOT(sessionFinished())); } @@ -431,11 +432,11 @@ QStringList QTermWidget::availableColorSchemes() return ret; } -void QTermWidget::setSize(int h, int v) +void QTermWidget::setSize(const QSize &size) { if (!m_impl->m_terminalDisplay) return; - m_impl->m_terminalDisplay->setSize(h, v); + m_impl->m_terminalDisplay->setSize(size.width(), size.height()); } void QTermWidget::setHistorySize(int lines) diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index d8a1e46..f442b16 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -99,9 +99,6 @@ public: void setColorScheme(const QString & name); static QStringList availableColorSchemes(); - //set size - void setSize(int h, int v); - // History size for scrolling void setHistorySize(int lines); //infinite if lines < 0 @@ -216,6 +213,9 @@ public slots: void zoomIn(); void zoomOut(); + // Set size + void setSize(const QSize &); + /*! Set named key binding for given widget */ void setKeyBindings(const QString & kb);