From e2751fc693cb4c970d7566316c5c8afde19bd62f Mon Sep 17 00:00:00 2001 From: "royqh1979@gmail.com" Date: Wed, 20 Oct 2021 12:27:44 +0800 Subject: [PATCH] - enhancement: set mouse wheel scroll speed in the editor general option tab ( 3 lines by default) --- NEWS.md | 1 + RedPandaIDE/RedPandaIDE_zh_CN.qm | Bin 95312 -> 95997 bytes RedPandaIDE/RedPandaIDE_zh_CN.ts | 113 +++++++++--------- RedPandaIDE/editor.cpp | 2 + RedPandaIDE/qsynedit/SynEdit.cpp | 16 ++- RedPandaIDE/qsynedit/SynEdit.h | 5 + RedPandaIDE/settings.cpp | 13 ++ RedPandaIDE/settings.h | 4 + .../settingsdialog/editorgeneralwidget.cpp | 3 + .../settingsdialog/editorgeneralwidget.ui | 48 ++++++++ 10 files changed, 149 insertions(+), 56 deletions(-) diff --git a/NEWS.md b/NEWS.md index c4468f68..d1db1e35 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,7 @@ Version 0.7.0 - enhancement: fill indents in the editor (Turned off by default) - enhancement: new file template - fix: when an editor is created, its caret will be displayed even it doesn't have focus + - enhancement: set mouse wheel scroll speed in the editor general option tab ( 3 lines by default) Version 0.6.8 - enhancement: add link to cppreference in the help menu diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.qm b/RedPandaIDE/RedPandaIDE_zh_CN.qm index 5292606db977e51845c0ac077f53a604a6dde5d1..6eab60c8cbc3c80932729815fba7e06d70d753d7 100644 GIT binary patch delta 9577 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 AbpQYW delta 9151 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 ovGo! 输入当前断点的生效条件: - + Readonly 只读 @@ -4887,175 +4887,175 @@ Are you really want to continue? 无法载入自动链接设置 - - - - + + + + The following %1 directories don't exist: 下列%1文件夹不存在: - - + + binary 二进制 - + No %1 directories have been specified. 未指定%1文件夹 - + C include C包含 - - + + C++ include C++包含 - - - - + + + + Cannot find the %1 "%2" 无法找到%1程序"%2" - + C options C语言选项 - + Support all ANSI standard C programs (-ansi) 支持所有ANSI标准C程序(-ansi) - + Do not recognize asm,inline or typeof as a keyword (-fno-asm) 不支持将asm、inline和typeof作为关键字(-fno-asm) - + Imitate traditional C preprocessors (-traditional-cpp) 模仿传统C预处理器行为(-traditional-cpp) - + Code Generation 代码生成 - + Optimize for the following machine (-march) 生成特定机器的专用指令(-march) - + Optimize less, while maintaining full compatibility (-tune) 完整兼容特定机器,较少优化(-tune) - + Enable use of specific instructions (-mx) 启用特定指令集(-mx) - + Optimization level (-Ox) 优化级别(-Ox) - + Compile with the following pointer size (-mx) 使用下列指针大小编译(-mx) - + Language standard (-std) 语言标准(-std) - + Profile 性能分析 - + Generate debugging information (-g3) 生成调试信息(-g3) - + Generate profiling info for analysis (-pg) 生成性能分析信息(-pg) - + Warnings 代码警告 - + Inhibit all warning messages (-w) 忽略所有警告信息(-w) - + Show most warnings (-Wall) 启用常见问题警告(-Wall) - + Show some more warnings (-Wextra) 启用更多问题警告(-Wextra) - + Check ISO C/C++/C++0x conformance (-pedantic) 检查ISO C/C++/C++0x语法一致性(-pedantic) - + Only check the code for syntax errors (-fsyntax-only) 只进行语法检查(不编译)(-fsyntax-only) - + Make all warnings into errors (-Werror) 将警告作为错误处理(-Werror) - + Abort compilation on first error (-Wfatal-errors) 遇到第一个错误后立即中止编译(-Wfatal-errors) - + Linker 链接器 - + Link an Objective C program (-lobjc) 链接Objective-C程序 (-lobjc) - + Do not use standard system libraries (-nostdlib) 不使用标准库和系统启动文件(-nostdlib) - + Do not create a console window (-mwindows) 不产生控制台窗口(-mwindows) - + Strip executable (-s) 剥除附加信息(-s) @@ -5064,43 +5064,43 @@ Are you really want to continue? 链接Ojbective C程序(-lobjc) - + Output 输出 - + Put comments in generated assembly code (-fverbose-asm) 在生成的汇编代码中加入注释(-fverbose-asm) - + Use pipes instead of temporary files during compilation (-pipe) 编译时使用管道而不是临时文件(-pipe) - + Do not assemble, compile and generate the assemble code (-S) 只生成汇编代码(-S) - - + + Confirm 确认 - + The following problems were found during validation of compiler set "%1": 在验证编译器设置"%1"时遇到了下列问题: - + Compiler set not configuared. 未配置编译器设置。 - + Would you like Red Panda C++ to search for compilers in the following locations: <BR />'%1'<BR />'%2'? 您需要小熊猫C++在下列位置搜索编译器吗:<br />%1<br />%2 @@ -6415,17 +6415,22 @@ Are you really want to continue? 在滚动页时少滚动一行 - + + Mouse Wheel Scroll Speed + 鼠标滚轮卷轴速度(行) + + + Show right edge line 显示右边缘线 - + Right egde width 右边缘宽度 - + Right edge line color 右边缘颜色 diff --git a/RedPandaIDE/editor.cpp b/RedPandaIDE/editor.cpp index d3660f39..691be9ff 100644 --- a/RedPandaIDE/editor.cpp +++ b/RedPandaIDE/editor.cpp @@ -3619,6 +3619,8 @@ void Editor::applySettings() } else { setRightEdge(0); } + + setMouseWheelScrollSpeed(pSettings->editor().mouseWheelScrollSpeed()); } static PSynHighlighterAttribute createRainbowAttribute(const QString& attrName, const QString& schemeName, const QString& schemeItemName) { diff --git a/RedPandaIDE/qsynedit/SynEdit.cpp b/RedPandaIDE/qsynedit/SynEdit.cpp index 0f10775a..8bbd4662 100644 --- a/RedPandaIDE/qsynedit/SynEdit.cpp +++ b/RedPandaIDE/qsynedit/SynEdit.cpp @@ -66,6 +66,8 @@ SynEdit::SynEdit(QWidget *parent) : QAbstractScrollArea(parent) // fRightEdge has to be set before FontChanged is called for the first time mRightEdge = 80; + mMouseWheelScrollSpeed = 1; + mGutter.setRightOffset(21); mGutter.connect(&mGutter, &SynGutter::changed, this, &SynEdit::onGutterChanged); mGutterWidth = mGutter.realGutterWidth(charWidth()); @@ -3343,6 +3345,16 @@ void SynEdit::onScrolled(int) invalidate(); } +int SynEdit::mouseWheelScrollSpeed() const +{ + return mMouseWheelScrollSpeed; +} + +void SynEdit::setMouseWheelScrollSpeed(int newMouseWheelScrollSpeed) +{ + mMouseWheelScrollSpeed = newMouseWheelScrollSpeed; +} + const PSynHighlighterAttribute &SynEdit::rainbowAttr3() const { return mRainbowAttr3; @@ -5643,11 +5655,11 @@ void SynEdit::leaveEvent(QEvent *) void SynEdit::wheelEvent(QWheelEvent *event) { if (event->angleDelta().y()>0) { - verticalScrollBar()->setValue(verticalScrollBar()->value()-1); + verticalScrollBar()->setValue(verticalScrollBar()->value()-mMouseWheelScrollSpeed); event->accept(); return; } else if (event->angleDelta().y()<0) { - verticalScrollBar()->setValue(verticalScrollBar()->value()+1); + verticalScrollBar()->setValue(verticalScrollBar()->value()+mMouseWheelScrollSpeed); event->accept(); return; } diff --git a/RedPandaIDE/qsynedit/SynEdit.h b/RedPandaIDE/qsynedit/SynEdit.h index 7dcf576e..c8141dce 100644 --- a/RedPandaIDE/qsynedit/SynEdit.h +++ b/RedPandaIDE/qsynedit/SynEdit.h @@ -373,6 +373,9 @@ public: const PSynHighlighterAttribute &rainbowAttr3() const; + int mouseWheelScrollSpeed() const; + void setMouseWheelScrollSpeed(int newMouseWheelScrollSpeed); + signals: void linesDeleted(int FirstLine, int Count); void linesInserted(int FirstLine, int Count); @@ -677,6 +680,8 @@ private: QString mInputPreeditString; + int mMouseWheelScrollSpeed; + friend class SynEditTextPainter; // QWidget interface diff --git a/RedPandaIDE/settings.cpp b/RedPandaIDE/settings.cpp index 406cb7af..7f182a71 100644 --- a/RedPandaIDE/settings.cpp +++ b/RedPandaIDE/settings.cpp @@ -497,6 +497,16 @@ void Settings::Editor::setFillIndents(bool newFillIndents) mfillIndents = newFillIndents; } +int Settings::Editor::mouseWheelScrollSpeed() const +{ + return mMouseWheelScrollSpeed; +} + +void Settings::Editor::setMouseWheelScrollSpeed(int newMouseWheelScrollSpeed) +{ + mMouseWheelScrollSpeed = newMouseWheelScrollSpeed; +} + bool Settings::Editor::enableTooltips() const { return mEnableTooltips; @@ -983,6 +993,7 @@ void Settings::Editor::doSave() saveValue("scroll_past_eol", mScrollPastEol); saveValue("scroll_by_one_less", mScrollByOneLess); saveValue("half_page_scroll", mHalfPageScroll); + saveValue("mouse_wheel_scroll_speed", mMouseWheelScrollSpeed); //right edge saveValue("show_right_edge_line",mShowRightEdgeLine); @@ -1090,6 +1101,8 @@ void Settings::Editor::doLoad() mScrollPastEol = boolValue("scroll_past_eol", true); mScrollByOneLess = boolValue("scroll_by_one_less", false); mHalfPageScroll = boolValue("half_page_scroll",false); + mMouseWheelScrollSpeed = intValue("mouse_wheel_scroll_speed", 3); + //right edge mShowRightEdgeLine = boolValue("show_right_edge_line",false); diff --git a/RedPandaIDE/settings.h b/RedPandaIDE/settings.h index f2893888..5914b5a0 100644 --- a/RedPandaIDE/settings.h +++ b/RedPandaIDE/settings.h @@ -323,6 +323,9 @@ public: bool fillIndents() const; void setFillIndents(bool newFillIndents); + int mouseWheelScrollSpeed() const; + void setMouseWheelScrollSpeed(int newMouseWheelScrollSpeed); + private: //General // indents @@ -348,6 +351,7 @@ public: bool mScrollPastEol; bool mScrollByOneLess; bool mHalfPageScroll; + int mMouseWheelScrollSpeed; //right margin bool mShowRightEdgeLine; diff --git a/RedPandaIDE/settingsdialog/editorgeneralwidget.cpp b/RedPandaIDE/settingsdialog/editorgeneralwidget.cpp index 40e10921..5bfbc9af 100644 --- a/RedPandaIDE/settingsdialog/editorgeneralwidget.cpp +++ b/RedPandaIDE/settingsdialog/editorgeneralwidget.cpp @@ -59,6 +59,8 @@ void EditorGeneralWidget::doLoad() ui->chkScrollPastEOL->setChecked(pSettings->editor().scrollPastEol()); ui->chkScrollHalfPage->setChecked(pSettings->editor().halfPageScroll()); ui->chkScrollByOneLess->setChecked(pSettings->editor().scrollByOneLess()); + ui->spinMouseWheelScrollSpeed->setValue(pSettings->editor().mouseWheelScrollSpeed()); + //right margin line; ui->grpRightEdge->setChecked(pSettings->editor().showRightEdgeLine()); ui->spRightEdge->setValue(pSettings->editor().rightEdgeWidth()); @@ -90,6 +92,7 @@ void EditorGeneralWidget::doSave() pSettings->editor().setScrollPastEol(ui->chkScrollPastEOL->isChecked()); pSettings->editor().setScrollByOneLess(ui->chkScrollByOneLess->isChecked()); pSettings->editor().setHalfPageScroll(ui->chkScrollHalfPage->isChecked()); + pSettings->editor().setMouseWheelScrollSpeed(ui->spinMouseWheelScrollSpeed->value()); //right margin line; pSettings->editor().setShowRightEdgeLine(ui->grpRightEdge->isChecked()); diff --git a/RedPandaIDE/settingsdialog/editorgeneralwidget.ui b/RedPandaIDE/settingsdialog/editorgeneralwidget.ui index 2edd34b8..b142a55c 100644 --- a/RedPandaIDE/settingsdialog/editorgeneralwidget.ui +++ b/RedPandaIDE/settingsdialog/editorgeneralwidget.ui @@ -276,6 +276,54 @@ + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Mouse Wheel Scroll Speed + + + + + + + 1 + + + 100 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + +