diff --git a/desktop/sessionui.rc b/desktop/sessionui.rc
--- a/desktop/sessionui.rc
+++ b/desktop/sessionui.rc
@@ -32,6 +32,7 @@
+
diff --git a/doc/manual/index.docbook b/doc/manual/index.docbook
--- a/doc/manual/index.docbook
+++ b/doc/manual/index.docbook
@@ -768,6 +768,14 @@
Increases the text font size
+
+
+&Ctrl;0
+ViewReset Font Size
+Reset the text font size to the profile default
+
+
+
&Ctrl;-
diff --git a/src/SessionController.h b/src/SessionController.h
--- a/src/SessionController.h
+++ b/src/SessionController.h
@@ -219,6 +219,9 @@
/** Decrease font size */
void decreaseFontSize();
+ /** Reset font size */
+ void resetFontSize();
+
private Q_SLOTS:
// menu item handlers
void openBrowser();
diff --git a/src/SessionController.cpp b/src/SessionController.cpp
--- a/src/SessionController.cpp
+++ b/src/SessionController.cpp
@@ -718,6 +718,10 @@
action->setIcon(QIcon::fromTheme(QStringLiteral("format-font-size-less")));
collection->setDefaultShortcut(action, Konsole::ACCEL + Qt::Key_Minus);
+ action = collection->addAction(QStringLiteral("reset-font-size"), this, SLOT(resetFontSize()));
+ action->setText(i18n("Reset Font Size"));
+ action->setIcon(QIcon::fromTheme(QStringLiteral("character-set")));
+ collection->setDefaultShortcut(action, Konsole::ACCEL + Qt::Key_0);
// Send signal
KSelectAction* sendSignalActions = collection->add(QStringLiteral("send-signal"));
@@ -1508,6 +1512,11 @@
_view->decreaseFontSize();
}
+void SessionController::resetFontSize()
+{
+ _view->resetFontSize();
+}
+
void SessionController::monitorActivity(bool monitor)
{
_session->setMonitorActivity(monitor);
diff --git a/src/TerminalDisplay.h b/src/TerminalDisplay.h
--- a/src/TerminalDisplay.h
+++ b/src/TerminalDisplay.h
@@ -427,6 +427,9 @@
/** Decreases the font size */
void decreaseFontSize();
+ /** Reset the font size */
+ void resetFontSize();
+
/**
* Specified whether anti-aliasing of text in the terminal display
* is enabled or not. Defaults to enabled.
diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
--- a/src/TerminalDisplay.cpp
+++ b/src/TerminalDisplay.cpp
@@ -336,6 +336,18 @@
setVTFont(font);
}
+void TerminalDisplay::resetFontSize()
+{
+ const qreal MinimumFontSize = 6;
+
+ QFont font = getVTFont();
+ Profile::Ptr currentProfile = SessionManager::instance()->sessionProfile(_sessionController->session());
+ const qreal defaultFontSize = currentProfile->font().pointSizeF();
+
+ font.setPointSizeF(qMax(defaultFontSize, MinimumFontSize));
+ setVTFont(font);
+}
+
uint TerminalDisplay::lineSpacing() const
{
return _lineSpacing;