mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
editor: support custom zoom delta
This commit is contained in:
parent
7f8075f0ca
commit
8d3a7874d0
@ -546,6 +546,13 @@ VReadEditTab::VReadEditTab(QWidget *p_parent)
|
|||||||
connect(m_autoSave, &QCheckBox::stateChanged,
|
connect(m_autoSave, &QCheckBox::stateChanged,
|
||||||
this, &VReadEditTab::showTipsAboutAutoSave);
|
this, &VReadEditTab::showTipsAboutAutoSave);
|
||||||
|
|
||||||
|
// Editor zoom delta.
|
||||||
|
m_editorZoomDeltaSpin = new QSpinBox();
|
||||||
|
m_editorZoomDeltaSpin->setToolTip(tr("Set the zoom delta of the editor font"));
|
||||||
|
m_editorZoomDeltaSpin->setMaximum(c_editorZoomDeltaMax);
|
||||||
|
m_editorZoomDeltaSpin->setMinimum(c_editorZoomDeltaMin);
|
||||||
|
m_editorZoomDeltaSpin->setSingleStep(1);
|
||||||
|
|
||||||
QVBoxLayout *readLayout = new QVBoxLayout();
|
QVBoxLayout *readLayout = new QVBoxLayout();
|
||||||
readLayout->addLayout(zoomFactorLayout);
|
readLayout->addLayout(zoomFactorLayout);
|
||||||
readLayout->addWidget(m_flashAnchor);
|
readLayout->addWidget(m_flashAnchor);
|
||||||
@ -554,6 +561,7 @@ VReadEditTab::VReadEditTab(QWidget *p_parent)
|
|||||||
QFormLayout *editLayout = new QFormLayout();
|
QFormLayout *editLayout = new QFormLayout();
|
||||||
editLayout->addRow(m_swapFile);
|
editLayout->addRow(m_swapFile);
|
||||||
editLayout->addRow(m_autoSave);
|
editLayout->addRow(m_autoSave);
|
||||||
|
editLayout->addRow(tr("Editor zoom delta:"), m_editorZoomDeltaSpin);
|
||||||
m_editBox->setLayout(editLayout);
|
m_editBox->setLayout(editLayout);
|
||||||
|
|
||||||
QVBoxLayout *mainLayout = new QVBoxLayout();
|
QVBoxLayout *mainLayout = new QVBoxLayout();
|
||||||
@ -592,6 +600,10 @@ bool VReadEditTab::loadConfiguration()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!loadEditorZoomDelta()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -613,6 +625,10 @@ bool VReadEditTab::saveConfiguration()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!saveEditorZoomDelta()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -646,6 +662,18 @@ bool VReadEditTab::saveWebZoomFactor()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool VReadEditTab::loadEditorZoomDelta()
|
||||||
|
{
|
||||||
|
m_editorZoomDeltaSpin->setValue(g_config->getEditorZoomDelta());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool VReadEditTab::saveEditorZoomDelta()
|
||||||
|
{
|
||||||
|
g_config->setEditorZoomDelta(m_editorZoomDeltaSpin->value());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool VReadEditTab::loadFlashAnchor()
|
bool VReadEditTab::loadFlashAnchor()
|
||||||
{
|
{
|
||||||
m_flashAnchor->setChecked(g_config->getEnableFlashAnchor());
|
m_flashAnchor->setChecked(g_config->getEnableFlashAnchor());
|
||||||
|
@ -94,6 +94,9 @@ private:
|
|||||||
bool loadFlashAnchor();
|
bool loadFlashAnchor();
|
||||||
bool saveFlashAnchor();
|
bool saveFlashAnchor();
|
||||||
|
|
||||||
|
bool loadEditorZoomDelta();
|
||||||
|
bool saveEditorZoomDelta();
|
||||||
|
|
||||||
// Web zoom factor.
|
// Web zoom factor.
|
||||||
QCheckBox *m_customWebZoom;
|
QCheckBox *m_customWebZoom;
|
||||||
QDoubleSpinBox *m_webZoomFactorSpin;
|
QDoubleSpinBox *m_webZoomFactorSpin;
|
||||||
@ -107,6 +110,9 @@ private:
|
|||||||
// Auto save.
|
// Auto save.
|
||||||
QCheckBox *m_autoSave;
|
QCheckBox *m_autoSave;
|
||||||
|
|
||||||
|
// Editor zoom delta.
|
||||||
|
QSpinBox *m_editorZoomDeltaSpin;
|
||||||
|
|
||||||
QGroupBox *m_readBox;
|
QGroupBox *m_readBox;
|
||||||
QGroupBox *m_editBox;
|
QGroupBox *m_editBox;
|
||||||
};
|
};
|
||||||
|
@ -55,6 +55,9 @@ enable_graphviz=false
|
|||||||
; -1 - calculate the factor
|
; -1 - calculate the factor
|
||||||
web_zoom_factor=-1
|
web_zoom_factor=-1
|
||||||
|
|
||||||
|
; Delta font size of the editor
|
||||||
|
editor_zoom_delta=0
|
||||||
|
|
||||||
; Syntax highlight within code blocks in edit mode
|
; Syntax highlight within code blocks in edit mode
|
||||||
enable_code_block_highlight=true
|
enable_code_block_highlight=true
|
||||||
|
|
||||||
|
@ -130,6 +130,8 @@ void VConfigManager::initialize()
|
|||||||
qDebug() << "set WebZoomFactor to" << m_webZoomFactor;
|
qDebug() << "set WebZoomFactor to" << m_webZoomFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_editorZoomDelta = getConfigFromSettings("global", "editor_zoom_delta").toInt();
|
||||||
|
|
||||||
m_enableCodeBlockHighlight = getConfigFromSettings("global",
|
m_enableCodeBlockHighlight = getConfigFromSettings("global",
|
||||||
"enable_code_block_highlight").toBool();
|
"enable_code_block_highlight").toBool();
|
||||||
|
|
||||||
|
@ -228,6 +228,9 @@ public:
|
|||||||
void setWebZoomFactor(qreal p_factor);
|
void setWebZoomFactor(qreal p_factor);
|
||||||
bool isCustomWebZoomFactor();
|
bool isCustomWebZoomFactor();
|
||||||
|
|
||||||
|
int getEditorZoomDelta() const;
|
||||||
|
void setEditorZoomDelta(int p_delta);
|
||||||
|
|
||||||
const QString &getEditorCurrentLineBg() const;
|
const QString &getEditorCurrentLineBg() const;
|
||||||
|
|
||||||
const QString &getEditorTrailingSpaceBg() const;
|
const QString &getEditorTrailingSpaceBg() const;
|
||||||
@ -672,6 +675,9 @@ private:
|
|||||||
// Zoom factor of the QWebEngineView.
|
// Zoom factor of the QWebEngineView.
|
||||||
qreal m_webZoomFactor;
|
qreal m_webZoomFactor;
|
||||||
|
|
||||||
|
// Editor zoom delta.
|
||||||
|
int m_editorZoomDelta;
|
||||||
|
|
||||||
// Current line background color in editor.
|
// Current line background color in editor.
|
||||||
QString m_editorCurrentLineBg;
|
QString m_editorCurrentLineBg;
|
||||||
|
|
||||||
@ -1449,6 +1455,21 @@ inline bool VConfigManager::isCustomWebZoomFactor()
|
|||||||
return factorFromIni > 0;
|
return factorFromIni > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int VConfigManager::getEditorZoomDelta() const
|
||||||
|
{
|
||||||
|
return m_editorZoomDelta;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void VConfigManager::setEditorZoomDelta(int p_delta)
|
||||||
|
{
|
||||||
|
if (m_editorZoomDelta == p_delta) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_editorZoomDelta = p_delta;
|
||||||
|
setConfigToSettings("global", "editor_zoom_delta", m_editorZoomDelta);
|
||||||
|
}
|
||||||
|
|
||||||
inline const QString &VConfigManager::getEditorCurrentLineBg() const
|
inline const QString &VConfigManager::getEditorCurrentLineBg() const
|
||||||
{
|
{
|
||||||
return m_editorCurrentLineBg;
|
return m_editorCurrentLineBg;
|
||||||
|
@ -32,6 +32,9 @@ enum class OpenFileMode {Read = 0, Edit, Invalid };
|
|||||||
static const qreal c_webZoomFactorMax = 5;
|
static const qreal c_webZoomFactorMax = 5;
|
||||||
static const qreal c_webZoomFactorMin = 0.25;
|
static const qreal c_webZoomFactorMin = 0.25;
|
||||||
|
|
||||||
|
static const int c_editorZoomDeltaMax = 10;
|
||||||
|
static const int c_editorZoomDeltaMin = -10;
|
||||||
|
|
||||||
static const int c_tabSequenceBase = 1;
|
static const int c_tabSequenceBase = 1;
|
||||||
|
|
||||||
// HTML and JS.
|
// HTML and JS.
|
||||||
|
@ -475,6 +475,13 @@ void VMdTab::setupMarkdownEditor()
|
|||||||
m_editor = new VMdEditor(m_file, m_document, m_mdConType, this);
|
m_editor = new VMdEditor(m_file, m_document, m_mdConType, this);
|
||||||
m_editor->setProperty("MainEditor", true);
|
m_editor->setProperty("MainEditor", true);
|
||||||
m_editor->setEditTab(this);
|
m_editor->setEditTab(this);
|
||||||
|
int delta = g_config->getEditorZoomDelta();
|
||||||
|
if (delta > 0) {
|
||||||
|
m_editor->zoomInW(delta);
|
||||||
|
} else if (delta < 0) {
|
||||||
|
m_editor->zoomOutW(-delta);
|
||||||
|
}
|
||||||
|
|
||||||
connect(m_editor, &VMdEditor::headersChanged,
|
connect(m_editor, &VMdEditor::headersChanged,
|
||||||
this, &VMdTab::updateOutlineFromHeaders);
|
this, &VMdTab::updateOutlineFromHeaders);
|
||||||
connect(m_editor, SIGNAL(currentHeaderChanged(int)),
|
connect(m_editor, SIGNAL(currentHeaderChanged(int)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user