- enhancement: reduce startup time by about 1 second.

- enhancement: add option "mouse selection/drag scroll speed" in the options dialog's "Editor" / "general" tab.
  - fix: scroll speed of mouse selection/drag is too fast.
This commit is contained in:
Roy Qu 2022-03-04 19:04:45 +08:00
parent 96de964484
commit 82ecab9c90
11 changed files with 283 additions and 197 deletions

View File

@ -13,6 +13,9 @@ Red Panda C++ Version 0.14.5
- enhancement: better processing of symbol completion - enhancement: better processing of symbol completion
- enhancement: better support of ligatures - enhancement: better support of ligatures
- enhancement: use the expression evaluation logic to handle "goto declaration"/"goto definition" - enhancement: use the expression evaluation logic to handle "goto declaration"/"goto definition"
- enhancement: reduce startup time by about 1 second.
- enhancement: add option "mouse selection/drag scroll speed" in the options dialog's "Editor" / "general" tab.
- fix: scroll speed of mouse selection/drag is too fast
Red Panda C++ Version 0.14.4 Red Panda C++ Version 0.14.4
- enhancement: git - log - enhancement: git - log

View File

@ -1309,45 +1309,43 @@ Are you really want to continue?</oldsource>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="2550"/> <location filename="editor.cpp" line="2582"/>
<source>Print Document</source> <source>Print Document</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="3147"/> <location filename="editor.cpp" line="3179"/>
<location filename="editor.cpp" line="3186"/> <location filename="editor.cpp" line="3218"/>
<location filename="editor.cpp" line="3240"/> <location filename="editor.cpp" line="3272"/>
<source>Ctrl+click for more info</source> <source>Ctrl+click for more info</source>
<translation>Ctrl+</translation> <translation>Ctrl+</translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="3638"/>
<location filename="editor.cpp" line="3668"/>
<source>Symbol &apos;%1&apos; not found!</source> <source>Symbol &apos;%1&apos; not found!</source>
<translation>&apos;%1&apos;!</translation> <translation type="vanished">&apos;%1&apos;!</translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="3961"/> <location filename="editor.cpp" line="4000"/>
<source>astyle not found</source> <source>astyle not found</source>
<translation>astyle程序</translation> <translation>astyle程序</translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="3962"/> <location filename="editor.cpp" line="4001"/>
<source>Can&apos;t find astyle in &quot;%1&quot;.</source> <source>Can&apos;t find astyle in &quot;%1&quot;.</source>
<translation>astyle程序&quot;%1&quot;.</translation> <translation>astyle程序&quot;%1&quot;.</translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="4111"/> <location filename="editor.cpp" line="4151"/>
<source>Break point condition</source> <source>Break point condition</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="4112"/> <location filename="editor.cpp" line="4152"/>
<source>Enter the condition of the breakpoint:</source> <source>Enter the condition of the breakpoint:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message> <message>
<location filename="editor.cpp" line="4326"/> <location filename="editor.cpp" line="4367"/>
<source>Readonly</source> <source>Readonly</source>
<translation></translation> <translation></translation>
</message> </message>
@ -3774,11 +3772,11 @@ Are you really want to continue?</oldsource>
<message> <message>
<location filename="mainwindow.ui" line="560"/> <location filename="mainwindow.ui" line="560"/>
<location filename="mainwindow.ui" line="2637"/> <location filename="mainwindow.ui" line="2637"/>
<location filename="mainwindow.cpp" line="4302"/> <location filename="mainwindow.cpp" line="4303"/>
<location filename="mainwindow.cpp" line="4305"/> <location filename="mainwindow.cpp" line="4306"/>
<location filename="mainwindow.cpp" line="4309"/> <location filename="mainwindow.cpp" line="4310"/>
<location filename="mainwindow.cpp" line="4312"/> <location filename="mainwindow.cpp" line="4313"/>
<location filename="mainwindow.cpp" line="5954"/> <location filename="mainwindow.cpp" line="5955"/>
<source>Issues</source> <source>Issues</source>
<translation></translation> <translation></translation>
</message> </message>
@ -4201,7 +4199,7 @@ Are you really want to continue?</oldsource>
<message> <message>
<location filename="mainwindow.ui" line="359"/> <location filename="mainwindow.ui" line="359"/>
<location filename="mainwindow.ui" line="362"/> <location filename="mainwindow.ui" line="362"/>
<location filename="mainwindow.cpp" line="6268"/> <location filename="mainwindow.cpp" line="6269"/>
<source>New Problem Set</source> <source>New Problem Set</source>
<translation></translation> <translation></translation>
</message> </message>
@ -4220,14 +4218,14 @@ Are you really want to continue?</oldsource>
<message> <message>
<location filename="mainwindow.ui" line="401"/> <location filename="mainwindow.ui" line="401"/>
<location filename="mainwindow.ui" line="404"/> <location filename="mainwindow.ui" line="404"/>
<location filename="mainwindow.cpp" line="6311"/> <location filename="mainwindow.cpp" line="6312"/>
<source>Save Problem Set</source> <source>Save Problem Set</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="415"/> <location filename="mainwindow.ui" line="415"/>
<location filename="mainwindow.ui" line="418"/> <location filename="mainwindow.ui" line="418"/>
<location filename="mainwindow.cpp" line="6335"/> <location filename="mainwindow.cpp" line="6336"/>
<source>Load Problem Set</source> <source>Load Problem Set</source>
<translation></translation> <translation></translation>
</message> </message>
@ -4566,7 +4564,7 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="2312"/> <location filename="mainwindow.ui" line="2312"/>
<location filename="mainwindow.cpp" line="5171"/> <location filename="mainwindow.cpp" line="5172"/>
<source>Clear all breakpoints</source> <source>Clear all breakpoints</source>
<translation></translation> <translation></translation>
</message> </message>
@ -4667,7 +4665,7 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="2466"/> <location filename="mainwindow.ui" line="2466"/>
<location filename="mainwindow.cpp" line="5895"/> <location filename="mainwindow.cpp" line="5896"/>
<source>Rename Symbol</source> <source>Rename Symbol</source>
<translation></translation> <translation></translation>
</message> </message>
@ -4688,13 +4686,13 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="2486"/> <location filename="mainwindow.ui" line="2486"/>
<location filename="mainwindow.cpp" line="6083"/> <location filename="mainwindow.cpp" line="6084"/>
<source>Export As RTF</source> <source>Export As RTF</source>
<translation>RTF</translation> <translation>RTF</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="2491"/> <location filename="mainwindow.ui" line="2491"/>
<location filename="mainwindow.cpp" line="6105"/> <location filename="mainwindow.cpp" line="6106"/>
<source>Export As HTML</source> <source>Export As HTML</source>
<translation>HTML</translation> <translation>HTML</translation>
</message> </message>
@ -5174,7 +5172,7 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="277"/> <location filename="mainwindow.cpp" line="277"/>
<location filename="mainwindow.cpp" line="6277"/> <location filename="mainwindow.cpp" line="6278"/>
<source>Problem Set %1</source> <source>Problem Set %1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
@ -5248,15 +5246,15 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2339"/> <location filename="mainwindow.cpp" line="2339"/>
<location filename="mainwindow.cpp" line="6164"/> <location filename="mainwindow.cpp" line="6165"/>
<location filename="mainwindow.cpp" line="6204"/> <location filename="mainwindow.cpp" line="6205"/>
<source>Bookmark Description</source> <source>Bookmark Description</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="2340"/> <location filename="mainwindow.cpp" line="2340"/>
<location filename="mainwindow.cpp" line="6165"/> <location filename="mainwindow.cpp" line="6166"/>
<location filename="mainwindow.cpp" line="6205"/> <location filename="mainwindow.cpp" line="6206"/>
<source>Description:</source> <source>Description:</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5377,7 +5375,7 @@ Are you really want to continue?</oldsource>
<location filename="mainwindow.cpp" line="2737"/> <location filename="mainwindow.cpp" line="2737"/>
<location filename="mainwindow.cpp" line="3589"/> <location filename="mainwindow.cpp" line="3589"/>
<location filename="mainwindow.cpp" line="3595"/> <location filename="mainwindow.cpp" line="3595"/>
<location filename="mainwindow.cpp" line="5756"/> <location filename="mainwindow.cpp" line="5757"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5454,7 +5452,7 @@ Are you really want to continue?</oldsource>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3802"/> <location filename="mainwindow.cpp" line="3802"/>
<location filename="mainwindow.cpp" line="6271"/> <location filename="mainwindow.cpp" line="6272"/>
<source>Do you want to save it?</source> <source>Do you want to save it?</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5478,141 +5476,141 @@ Are you really want to continue?</oldsource>
<location filename="mainwindow.cpp" line="4049"/> <location filename="mainwindow.cpp" line="4049"/>
<location filename="mainwindow.cpp" line="4059"/> <location filename="mainwindow.cpp" line="4059"/>
<location filename="mainwindow.cpp" line="4071"/> <location filename="mainwindow.cpp" line="4071"/>
<location filename="mainwindow.cpp" line="6324"/> <location filename="mainwindow.cpp" line="6325"/>
<source>Save Error</source> <source>Save Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4230"/> <location filename="mainwindow.cpp" line="4231"/>
<source>Change Project Compiler Set</source> <source>Change Project Compiler Set</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4231"/> <location filename="mainwindow.cpp" line="4232"/>
<source>Change the project&apos;s compiler set will lose all custom compiler set options.</source> <source>Change the project&apos;s compiler set will lose all custom compiler set options.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4233"/> <location filename="mainwindow.cpp" line="4234"/>
<source>Do you really want to do that?</source> <source>Do you really want to do that?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5172"/> <location filename="mainwindow.cpp" line="5173"/>
<source>Do you really want to clear all breakpoints in this file?</source> <source>Do you really want to clear all breakpoints in this file?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5370"/> <location filename="mainwindow.cpp" line="5371"/>
<source>New project</source> <source>New project</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5371"/> <location filename="mainwindow.cpp" line="5372"/>
<source>Close %1 and start new project?</source> <source>Close %1 and start new project?</source>
<translation>&apos;%1&apos;?</translation> <translation>&apos;%1&apos;?</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5384"/> <location filename="mainwindow.cpp" line="5385"/>
<source>Folder not exist</source> <source>Folder not exist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5385"/> <location filename="mainwindow.cpp" line="5386"/>
<source>Folder &apos;%1&apos; doesn&apos;t exist. Create it now?</source> <source>Folder &apos;%1&apos; doesn&apos;t exist. Create it now?</source>
<translation>&apos;%1&apos;</translation> <translation>&apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5392"/> <location filename="mainwindow.cpp" line="5393"/>
<source>Can&apos;t create folder</source> <source>Can&apos;t create folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5393"/> <location filename="mainwindow.cpp" line="5394"/>
<source>Failed to create folder &apos;%1&apos;.</source> <source>Failed to create folder &apos;%1&apos;.</source>
<translation>&apos;%1&apos;</translation> <translation>&apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5408"/> <location filename="mainwindow.cpp" line="5409"/>
<source>Save new project as</source> <source>Save new project as</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5757"/> <location filename="mainwindow.cpp" line="5758"/>
<source>Folder %1 is not empty.</source> <source>Folder %1 is not empty.</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5758"/> <location filename="mainwindow.cpp" line="5759"/>
<source>Do you really want to delete it?</source> <source>Do you really want to delete it?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6849"/> <location filename="mainwindow.cpp" line="6850"/>
<source>Can&apos;t Commit</source> <source>Can&apos;t Commit</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6850"/> <location filename="mainwindow.cpp" line="6851"/>
<source>Git needs user info to commit.</source> <source>Git needs user info to commit.</source>
<translation>Git需要用信息进行提交</translation> <translation>Git需要用信息进行提交</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.ui" line="2556"/> <location filename="mainwindow.ui" line="2556"/>
<location filename="mainwindow.ui" line="2559"/> <location filename="mainwindow.ui" line="2559"/>
<location filename="mainwindow.cpp" line="6247"/> <location filename="mainwindow.cpp" line="6248"/>
<source>Choose Working Folder</source> <source>Choose Working Folder</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6617"/> <location filename="mainwindow.cpp" line="6618"/>
<location filename="mainwindow.cpp" line="6669"/> <location filename="mainwindow.cpp" line="6670"/>
<source>Header Exists</source> <source>Header Exists</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6618"/> <location filename="mainwindow.cpp" line="6619"/>
<location filename="mainwindow.cpp" line="6670"/> <location filename="mainwindow.cpp" line="6671"/>
<source>Header file &quot;%1&quot; already exists!</source> <source>Header file &quot;%1&quot; already exists!</source>
<translation>&quot;%1&quot;</translation> <translation>&quot;%1&quot;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6675"/> <location filename="mainwindow.cpp" line="6676"/>
<source>Source Exists</source> <source>Source Exists</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6676"/> <location filename="mainwindow.cpp" line="6677"/>
<source>Source file &quot;%1&quot; already exists!</source> <source>Source file &quot;%1&quot; already exists!</source>
<translation>&quot;%1&quot;</translation> <translation>&quot;%1&quot;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6828"/> <location filename="mainwindow.cpp" line="6829"/>
<source>Can&apos;t commit!</source> <source>Can&apos;t commit!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6829"/> <location filename="mainwindow.cpp" line="6830"/>
<source>The following files are in conflicting:</source> <source>The following files are in conflicting:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6834"/> <location filename="mainwindow.cpp" line="6835"/>
<source>Commit Message</source> <source>Commit Message</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6834"/> <location filename="mainwindow.cpp" line="6835"/>
<source>Commit Message:</source> <source>Commit Message:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6837"/> <location filename="mainwindow.cpp" line="6838"/>
<source>Commit Failed</source> <source>Commit Failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6838"/> <location filename="mainwindow.cpp" line="6839"/>
<source>Commit message shouldn&apos;t be empty!</source> <source>Commit message shouldn&apos;t be empty!</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5621,125 +5619,125 @@ Are you really want to continue?</oldsource>
<translation type="vanished">Dev-C++ (*.dev)</translation> <translation type="vanished">Dev-C++ (*.dev)</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5421"/> <location filename="mainwindow.cpp" line="5422"/>
<source>New project fail</source> <source>New project fail</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5422"/> <location filename="mainwindow.cpp" line="5423"/>
<source>Can&apos;t assign project template</source> <source>Can&apos;t assign project template</source>
<translation>使</translation> <translation>使</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5517"/> <location filename="mainwindow.cpp" line="5518"/>
<source>Remove file</source> <source>Remove file</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5518"/> <location filename="mainwindow.cpp" line="5519"/>
<source>Remove the file from disk?</source> <source>Remove the file from disk?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5707"/> <location filename="mainwindow.cpp" line="5708"/>
<source>untitled</source> <source>untitled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5717"/> <location filename="mainwindow.cpp" line="5718"/>
<source>New Project File Name</source> <source>New Project File Name</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5718"/> <location filename="mainwindow.cpp" line="5719"/>
<source>File Name:</source> <source>File Name:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5724"/> <location filename="mainwindow.cpp" line="5725"/>
<source>File Already Exists!</source> <source>File Already Exists!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5725"/> <location filename="mainwindow.cpp" line="5726"/>
<source>File &apos;%1&apos; already exists!</source> <source>File &apos;%1&apos; already exists!</source>
<translation>&apos;%1&apos;</translation> <translation>&apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5466"/> <location filename="mainwindow.cpp" line="5467"/>
<source>Add to project</source> <source>Add to project</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5410"/> <location filename="mainwindow.cpp" line="5411"/>
<source>Red Panda C++ project file (*.dev)</source> <source>Red Panda C++ project file (*.dev)</source>
<translation>C++(*.dev)</translation> <translation>C++(*.dev)</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5881"/> <location filename="mainwindow.cpp" line="5882"/>
<source>Rename Error</source> <source>Rename Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5882"/> <location filename="mainwindow.cpp" line="5883"/>
<source>Symbol &apos;%1&apos; is defined in system header.</source> <source>Symbol &apos;%1&apos; is defined in system header.</source>
<translation>&apos;%1&apos;</translation> <translation>&apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="5896"/> <location filename="mainwindow.cpp" line="5897"/>
<source>New Name</source> <source>New Name</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6028"/> <location filename="mainwindow.cpp" line="6029"/>
<location filename="mainwindow.cpp" line="6038"/> <location filename="mainwindow.cpp" line="6039"/>
<source>Replace Error</source> <source>Replace Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6029"/> <location filename="mainwindow.cpp" line="6030"/>
<source>Can&apos;t open file &apos;%1&apos; for replace!</source> <source>Can&apos;t open file &apos;%1&apos; for replace!</source>
<translation>&apos;%1&apos;</translation> <translation>&apos;%1&apos;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6039"/> <location filename="mainwindow.cpp" line="6040"/>
<source>Contents has changed since last search!</source> <source>Contents has changed since last search!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6085"/> <location filename="mainwindow.cpp" line="6086"/>
<source>Rich Text Format Files (*.rtf)</source> <source>Rich Text Format Files (*.rtf)</source>
<translation>RTF格式文件 (*.rtf)</translation> <translation>RTF格式文件 (*.rtf)</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6107"/> <location filename="mainwindow.cpp" line="6108"/>
<source>HTML Files (*.html)</source> <source>HTML Files (*.html)</source>
<translation>HTML文件 (*.html)</translation> <translation>HTML文件 (*.html)</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6269"/> <location filename="mainwindow.cpp" line="6270"/>
<source>The current problem set is not empty.</source> <source>The current problem set is not empty.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6287"/> <location filename="mainwindow.cpp" line="6288"/>
<source>Problem %1</source> <source>Problem %1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6313"/> <location filename="mainwindow.cpp" line="6314"/>
<location filename="mainwindow.cpp" line="6337"/> <location filename="mainwindow.cpp" line="6338"/>
<source>Problem Set Files (*.pbs)</source> <source>Problem Set Files (*.pbs)</source>
<translation> (*.pbs)</translation> <translation> (*.pbs)</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6343"/> <location filename="mainwindow.cpp" line="6344"/>
<source>Load Error</source> <source>Load Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="3478"/> <location filename="mainwindow.cpp" line="3478"/>
<location filename="mainwindow.cpp" line="6357"/> <location filename="mainwindow.cpp" line="6358"/>
<source>Problem Case %1</source> <source>Problem Case %1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
@ -5755,10 +5753,10 @@ Are you really want to continue?</oldsource>
<location filename="mainwindow.cpp" line="2876"/> <location filename="mainwindow.cpp" line="2876"/>
<location filename="mainwindow.cpp" line="3896"/> <location filename="mainwindow.cpp" line="3896"/>
<location filename="mainwindow.cpp" line="4007"/> <location filename="mainwindow.cpp" line="4007"/>
<location filename="mainwindow.cpp" line="4199"/> <location filename="mainwindow.cpp" line="4200"/>
<location filename="mainwindow.cpp" line="4211"/> <location filename="mainwindow.cpp" line="4212"/>
<location filename="mainwindow.cpp" line="4619"/> <location filename="mainwindow.cpp" line="4620"/>
<location filename="mainwindow.cpp" line="4631"/> <location filename="mainwindow.cpp" line="4632"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -5810,50 +5808,50 @@ Are you really want to continue?</oldsource>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4395"/> <location filename="mainwindow.cpp" line="4396"/>
<source>Compile Failed</source> <source>Compile Failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4401"/> <location filename="mainwindow.cpp" line="4402"/>
<source>Run Failed</source> <source>Run Failed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4648"/> <location filename="mainwindow.cpp" line="4649"/>
<location filename="mainwindow.cpp" line="4662"/> <location filename="mainwindow.cpp" line="4663"/>
<source>Confirm Convertion</source> <source>Confirm Convertion</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4649"/> <location filename="mainwindow.cpp" line="4650"/>
<location filename="mainwindow.cpp" line="4663"/> <location filename="mainwindow.cpp" line="4664"/>
<source>The editing file will be saved using %1 encoding. &lt;br /&gt;This operation can&apos;t be reverted. &lt;br /&gt;Are you sure to continue?</source> <source>The editing file will be saved using %1 encoding. &lt;br /&gt;This operation can&apos;t be reverted. &lt;br /&gt;Are you sure to continue?</source>
<translation>使%1&lt;br /&gt;&lt;br /&gt;</translation> <translation>使%1&lt;br /&gt;&lt;br /&gt;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4813"/> <location filename="mainwindow.cpp" line="4814"/>
<source>New Watch Expression</source> <source>New Watch Expression</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4814"/> <location filename="mainwindow.cpp" line="4815"/>
<source>Enter Watch Expression (it is recommended to use &apos;this-&gt;&apos; for class members):</source> <source>Enter Watch Expression (it is recommended to use &apos;this-&gt;&apos; for class members):</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4867"/> <location filename="mainwindow.cpp" line="4868"/>
<source>Parsing file %1 of %2: &quot;%3&quot;</source> <source>Parsing file %1 of %2: &quot;%3&quot;</source>
<translation>%1/%2&quot;%3&quot;</translation> <translation>%1/%2&quot;%3&quot;</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4889"/> <location filename="mainwindow.cpp" line="4890"/>
<location filename="mainwindow.cpp" line="4895"/> <location filename="mainwindow.cpp" line="4896"/>
<source>Done parsing %1 files in %2 seconds</source> <source>Done parsing %1 files in %2 seconds</source>
<translation>%1,%2</translation> <translation>%1,%2</translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="4892"/> <location filename="mainwindow.cpp" line="4893"/>
<source>(%1 files per second)</source> <source>(%1 files per second)</source>
<translation>(%1</translation> <translation>(%1</translation>
</message> </message>
@ -6832,7 +6830,7 @@ Are you really want to continue?</oldsource>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="main.cpp" line="392"/> <location filename="main.cpp" line="396"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -6902,205 +6900,205 @@ Are you really want to continue?</oldsource>
<translation>&quot;%1&quot;</translation> <translation>&quot;%1&quot;</translation>
</message> </message>
<message> <message>
<location filename="main.cpp" line="346"/> <location filename="main.cpp" line="350"/>
<source>Can&apos;t load autolink settings</source> <source>Can&apos;t load autolink settings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1559"/> <location filename="settings.cpp" line="1571"/>
<location filename="settings.cpp" line="1578"/>
<location filename="settings.cpp" line="1590"/> <location filename="settings.cpp" line="1590"/>
<location filename="settings.cpp" line="1602"/> <location filename="settings.cpp" line="1602"/>
<location filename="settings.cpp" line="1614"/>
<source>The following %1 directories don&apos;t exist:</source> <source>The following %1 directories don&apos;t exist:</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1560"/> <location filename="settings.cpp" line="1572"/>
<location filename="settings.cpp" line="1570"/> <location filename="settings.cpp" line="1582"/>
<source>binary</source> <source>binary</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1569"/> <location filename="settings.cpp" line="1581"/>
<source>No %1 directories have been specified.</source> <source>No %1 directories have been specified.</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1579"/> <location filename="settings.cpp" line="1591"/>
<source>C include</source> <source>C include</source>
<translation>C包含</translation> <translation>C包含</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1591"/>
<location filename="settings.cpp" line="1603"/> <location filename="settings.cpp" line="1603"/>
<location filename="settings.cpp" line="1615"/>
<source>C++ include</source> <source>C++ include</source>
<translation>C++</translation> <translation>C++</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1622"/> <location filename="settings.cpp" line="1634"/>
<location filename="settings.cpp" line="1627"/> <location filename="settings.cpp" line="1639"/>
<location filename="settings.cpp" line="1632"/> <location filename="settings.cpp" line="1644"/>
<location filename="settings.cpp" line="1637"/> <location filename="settings.cpp" line="1649"/>
<source>Cannot find the %1 &quot;%2&quot;</source> <source>Cannot find the %1 &quot;%2&quot;</source>
<translation>%1&quot;%2&quot;</translation> <translation>%1&quot;%2&quot;</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1623"/> <location filename="settings.cpp" line="1635"/>
<source>C Compiler</source> <source>C Compiler</source>
<translation>C编译器</translation> <translation>C编译器</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1628"/> <location filename="settings.cpp" line="1640"/>
<source>C++ Compiler</source> <source>C++ Compiler</source>
<translation>C++</translation> <translation>C++</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1633"/> <location filename="settings.cpp" line="1645"/>
<source>Maker</source> <source>Maker</source>
<translation>(Make)</translation> <translation>(Make)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="1638"/> <location filename="settings.cpp" line="1650"/>
<source>Debugger</source> <source>Debugger</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2166"/> <location filename="settings.cpp" line="2178"/>
<source>C options</source> <source>C options</source>
<translation>C语言选项</translation> <translation>C语言选项</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2167"/> <location filename="settings.cpp" line="2179"/>
<source>Support all ANSI standard C programs (-ansi)</source> <source>Support all ANSI standard C programs (-ansi)</source>
<translation>ANSI标准C程序(-ansi)</translation> <translation>ANSI标准C程序(-ansi)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2168"/> <location filename="settings.cpp" line="2180"/>
<source>Do not recognize asm,inline or typeof as a keyword (-fno-asm)</source> <source>Do not recognize asm,inline or typeof as a keyword (-fno-asm)</source>
<translation>asminline和typeof作为关键字(-fno-asm)</translation> <translation>asminline和typeof作为关键字(-fno-asm)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2169"/> <location filename="settings.cpp" line="2181"/>
<source>Imitate traditional C preprocessors (-traditional-cpp)</source> <source>Imitate traditional C preprocessors (-traditional-cpp)</source>
<translation>仿C预处理器行为(-traditional-cpp)</translation> <translation>仿C预处理器行为(-traditional-cpp)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2172"/> <location filename="settings.cpp" line="2184"/>
<source>Code Generation</source> <source>Code Generation</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2201"/> <location filename="settings.cpp" line="2213"/>
<source>Optimize for the following machine (-march)</source> <source>Optimize for the following machine (-march)</source>
<translation>(-march)</translation> <translation>(-march)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2202"/> <location filename="settings.cpp" line="2214"/>
<source>Optimize less, while maintaining full compatibility (-tune)</source> <source>Optimize less, while maintaining full compatibility (-tune)</source>
<translation>(-tune)</translation> <translation>(-tune)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2222"/> <location filename="settings.cpp" line="2234"/>
<source>Enable use of specific instructions (-mx)</source> <source>Enable use of specific instructions (-mx)</source>
<translation>(-mx)</translation> <translation>(-mx)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2233"/> <location filename="settings.cpp" line="2245"/>
<source>Optimization level (-Ox)</source> <source>Optimization level (-Ox)</source>
<translation>(-Ox)</translation> <translation>(-Ox)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2240"/> <location filename="settings.cpp" line="2252"/>
<source>Compile with the following pointer size (-mx)</source> <source>Compile with the following pointer size (-mx)</source>
<translation>使(-mx)</translation> <translation>使(-mx)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2263"/> <location filename="settings.cpp" line="2275"/>
<source>Language standard (-std)</source> <source>Language standard (-std)</source>
<translation>(-std)</translation> <translation>(-std)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2276"/> <location filename="settings.cpp" line="2288"/>
<source>Profile</source> <source>Profile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2285"/> <location filename="settings.cpp" line="2297"/>
<source>Generate debugging information (-g3)</source> <source>Generate debugging information (-g3)</source>
<translation>(-g3)</translation> <translation>(-g3)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2672"/> <location filename="settings.cpp" line="2684"/>
<source>Would you like Red Panda C++ to search for compilers in PATH?</source> <source>Would you like Red Panda C++ to search for compilers in PATH?</source>
<translation>C++PATH路径中寻找gcc编译器吗</translation> <translation>C++PATH路径中寻找gcc编译器吗</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2277"/> <location filename="settings.cpp" line="2289"/>
<source>Generate profiling info for analysis (-pg)</source> <source>Generate profiling info for analysis (-pg)</source>
<translation>(-pg)</translation> <translation>(-pg)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2266"/> <location filename="settings.cpp" line="2278"/>
<source>Warnings</source> <source>Warnings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2267"/> <location filename="settings.cpp" line="2279"/>
<source>Inhibit all warning messages (-w)</source> <source>Inhibit all warning messages (-w)</source>
<translation>(-w)</translation> <translation>(-w)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2268"/> <location filename="settings.cpp" line="2280"/>
<source>Show most warnings (-Wall)</source> <source>Show most warnings (-Wall)</source>
<translation>(-Wall)</translation> <translation>(-Wall)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2269"/> <location filename="settings.cpp" line="2281"/>
<source>Show some more warnings (-Wextra)</source> <source>Show some more warnings (-Wextra)</source>
<translation>(-Wextra)</translation> <translation>(-Wextra)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2270"/> <location filename="settings.cpp" line="2282"/>
<source>Check ISO C/C++/C++0x conformance (-pedantic)</source> <source>Check ISO C/C++/C++0x conformance (-pedantic)</source>
<translation>ISO C/C++/C++0x(-pedantic)</translation> <translation>ISO C/C++/C++0x(-pedantic)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2271"/> <location filename="settings.cpp" line="2283"/>
<source>Only check the code for syntax errors (-fsyntax-only)</source> <source>Only check the code for syntax errors (-fsyntax-only)</source>
<translation>(-fsyntax-only)</translation> <translation>(-fsyntax-only)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2272"/> <location filename="settings.cpp" line="2284"/>
<source>Make all warnings into errors (-Werror)</source> <source>Make all warnings into errors (-Werror)</source>
<translation>(-Werror)</translation> <translation>(-Werror)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2273"/> <location filename="settings.cpp" line="2285"/>
<source>Abort compilation on first error (-Wfatal-errors)</source> <source>Abort compilation on first error (-Wfatal-errors)</source>
<translation>(-Wfatal-errors)</translation> <translation>(-Wfatal-errors)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2280"/> <location filename="settings.cpp" line="2292"/>
<source>Linker</source> <source>Linker</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2281"/> <location filename="settings.cpp" line="2293"/>
<source>Link an Objective C program (-lobjc)</source> <source>Link an Objective C program (-lobjc)</source>
<translation>Objective-C程序 (-lobjc)</translation> <translation>Objective-C程序 (-lobjc)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2282"/> <location filename="settings.cpp" line="2294"/>
<source>Do not use standard system libraries (-nostdlib)</source> <source>Do not use standard system libraries (-nostdlib)</source>
<translation>使(-nostdlib)</translation> <translation>使(-nostdlib)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2283"/> <location filename="settings.cpp" line="2295"/>
<source>Do not create a console window (-mwindows)</source> <source>Do not create a console window (-mwindows)</source>
<translation>(-mwindows)</translation> <translation>(-mwindows)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2284"/> <location filename="settings.cpp" line="2296"/>
<source>Strip executable (-s)</source> <source>Strip executable (-s)</source>
<translation>(-s)</translation> <translation>(-s)</translation>
</message> </message>
@ -7109,54 +7107,54 @@ Are you really want to continue?</oldsource>
<translation type="vanished">Ojbective C程序(-lobjc)</translation> <translation type="vanished">Ojbective C程序(-lobjc)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2288"/> <location filename="settings.cpp" line="2300"/>
<source>Output</source> <source>Output</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2289"/> <location filename="settings.cpp" line="2301"/>
<source>Put comments in generated assembly code (-fverbose-asm)</source> <source>Put comments in generated assembly code (-fverbose-asm)</source>
<translation>(-fverbose-asm)</translation> <translation>(-fverbose-asm)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2291"/> <location filename="settings.cpp" line="2303"/>
<source>Use pipes instead of temporary files during compilation (-pipe)</source> <source>Use pipes instead of temporary files during compilation (-pipe)</source>
<translation>使(-pipe)</translation> <translation>使(-pipe)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2290"/> <location filename="settings.cpp" line="2302"/>
<source>Do not assemble, compile and generate the assemble code (-S)</source> <source>Do not assemble, compile and generate the assemble code (-S)</source>
<translation>(-S)</translation> <translation>(-S)</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2634"/> <location filename="settings.cpp" line="2646"/>
<location filename="settings.cpp" line="2674"/> <location filename="settings.cpp" line="2686"/>
<source>Confirm</source> <source>Confirm</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2635"/> <location filename="settings.cpp" line="2647"/>
<source>The following problems were found during validation of compiler set &quot;%1&quot;:</source> <source>The following problems were found during validation of compiler set &quot;%1&quot;:</source>
<translation>&quot;%1&quot;</translation> <translation>&quot;%1&quot;</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2639"/> <location filename="settings.cpp" line="2651"/>
<source>Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?</source> <source>Would you like Red Panda C++ to remove them for you and add the default paths to the valid paths?</source>
<translation>C++</translation> <translation>C++</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2641"/> <location filename="settings.cpp" line="2653"/>
<source>Leaving those directories will lead to problems during compilation.&lt;br /&gt;&lt;br /&gt;Unless you know exactly what you&apos;re doing, it is recommended that you click Yes.</source> <source>Leaving those directories will lead to problems during compilation.&lt;br /&gt;&lt;br /&gt;Unless you know exactly what you&apos;re doing, it is recommended that you click Yes.</source>
<translation>&lt;br /&gt;&lt;br /&gt;</translation> <translation>&lt;br /&gt;&lt;br /&gt;</translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2664"/> <location filename="settings.cpp" line="2676"/>
<location filename="settings.cpp" line="2670"/> <location filename="settings.cpp" line="2682"/>
<source>Compiler set not configuared.</source> <source>Compiler set not configuared.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settings.cpp" line="2666"/> <location filename="settings.cpp" line="2678"/>
<source>Would you like Red Panda C++ to search for compilers in the following locations: &lt;BR /&gt;&apos;%1&apos;&lt;BR /&gt;&apos;%2&apos;? </source> <source>Would you like Red Panda C++ to search for compilers in the following locations: &lt;BR /&gt;&apos;%1&apos;&lt;BR /&gt;&apos;%2&apos;? </source>
<translation>C++&lt;br /&gt;%1&lt;br /&gt;%2</translation> <translation>C++&lt;br /&gt;%1&lt;br /&gt;%2</translation>
</message> </message>
@ -7996,7 +7994,7 @@ Are you really want to continue?</oldsource>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6258"/> <location filename="mainwindow.cpp" line="6259"/>
<location filename="settingsdialog/settingsdialog.cpp" line="170"/> <location filename="settingsdialog/settingsdialog.cpp" line="170"/>
<location filename="settingsdialog/settingsdialog.cpp" line="203"/> <location filename="settingsdialog/settingsdialog.cpp" line="203"/>
<location filename="settingsdialog/settingsdialog.cpp" line="209"/> <location filename="settingsdialog/settingsdialog.cpp" line="209"/>
@ -8072,15 +8070,15 @@ Are you really want to continue?</oldsource>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6259"/> <location filename="mainwindow.cpp" line="6260"/>
<location filename="mainwindow.cpp" line="6572"/> <location filename="mainwindow.cpp" line="6573"/>
<location filename="settingsdialog/settingsdialog.cpp" line="203"/> <location filename="settingsdialog/settingsdialog.cpp" line="203"/>
<location filename="settingsdialog/settingsdialog.cpp" line="206"/> <location filename="settingsdialog/settingsdialog.cpp" line="206"/>
<source>Program Runner</source> <source>Program Runner</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="mainwindow.cpp" line="6571"/> <location filename="mainwindow.cpp" line="6572"/>
<location filename="settingsdialog/settingsdialog.cpp" line="206"/> <location filename="settingsdialog/settingsdialog.cpp" line="206"/>
<source>Problem Set</source> <source>Problem Set</source>
<translation></translation> <translation></translation>
@ -8329,8 +8327,8 @@ Are you really want to continue?</oldsource>
<context> <context>
<name>SynEdit</name> <name>SynEdit</name>
<message> <message>
<location filename="qsynedit/TextPainter.cpp" line="1008"/> <location filename="qsynedit/TextPainter.cpp" line="994"/>
<location filename="qsynedit/TextPainter.cpp" line="1009"/> <location filename="qsynedit/TextPainter.cpp" line="995"/>
<source>The highlighter seems to be in an infinite loop</source> <source>The highlighter seems to be in an infinite loop</source>
<translation></translation> <translation></translation>
</message> </message>
@ -8725,17 +8723,23 @@ Are you really want to continue?</oldsource>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settingsdialog/editorgeneralwidget.ui" line="349"/> <location filename="settingsdialog/editorgeneralwidget.ui" line="361"/>
<source>Mouse Selection/Dragging Scroll Speed</source>
<oldsource>Mouse Selection/Dragging Speed</oldsource>
<translation>/</translation>
</message>
<message>
<location filename="settingsdialog/editorgeneralwidget.ui" line="397"/>
<source>Show right edge line</source> <source>Show right edge line</source>
<translation>线</translation> <translation>线</translation>
</message> </message>
<message> <message>
<location filename="settingsdialog/editorgeneralwidget.ui" line="361"/> <location filename="settingsdialog/editorgeneralwidget.ui" line="409"/>
<source>Right egde width</source> <source>Right egde width</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="settingsdialog/editorgeneralwidget.ui" line="413"/> <location filename="settingsdialog/editorgeneralwidget.ui" line="461"/>
<source>Right edge line color</source> <source>Right edge line color</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@ -4253,6 +4253,7 @@ void Editor::applySettings()
} }
setMouseWheelScrollSpeed(pSettings->editor().mouseWheelScrollSpeed()); setMouseWheelScrollSpeed(pSettings->editor().mouseWheelScrollSpeed());
setMouseSelectionScrollSpeed(pSettings->editor().mouseSelectionScrollSpeed());
invalidate(); invalidate();
} }

View File

@ -255,9 +255,9 @@ int main(int argc, char *argv[])
QString settingFilename = getSettingFilename(QString(), firstRun); QString settingFilename = getSettingFilename(QString(), firstRun);
bool openInSingleInstance = false; bool openInSingleInstance = false;
if (!settingFilename.isEmpty() && !firstRun) { if (!settingFilename.isEmpty() && !firstRun) {
Settings settings(settingFilename); QSettings envSetting(settingFilename,QSettings::IniFormat);
settings.load(); envSetting.beginGroup(SETTING_ENVIRONMENT);
openInSingleInstance = settings.environment().openFilesInSingleInstance(); openInSingleInstance = envSetting.value("open_files_in_single_instance",false).toBool();
} else if (!settingFilename.isEmpty() && firstRun) } else if (!settingFilename.isEmpty() && firstRun)
openInSingleInstance = false; openInSingleInstance = false;
if (openInSingleInstance) { if (openInSingleInstance) {
@ -281,7 +281,6 @@ int main(int argc, char *argv[])
} }
} }
} }
//Translation must be loaded first //Translation must be loaded first
QTranslator trans,transQt; QTranslator trans,transQt;
bool firstRun; bool firstRun;
@ -293,7 +292,6 @@ int main(int argc, char *argv[])
tempFile.remove(); tempFile.remove();
return -1; return -1;
} }
{ {
QSettings languageSetting(settingFilename,QSettings::IniFormat); QSettings languageSetting(settingFilename,QSettings::IniFormat);
languageSetting.beginGroup(SETTING_ENVIRONMENT); languageSetting.beginGroup(SETTING_ENVIRONMENT);
@ -306,7 +304,6 @@ int main(int argc, char *argv[])
app.installTranslator(&transQt); app.installTranslator(&transQt);
} }
} }
qRegisterMetaType<PCompileIssue>("PCompileIssue"); qRegisterMetaType<PCompileIssue>("PCompileIssue");
qRegisterMetaType<PCompileIssue>("PCompileIssue&"); qRegisterMetaType<PCompileIssue>("PCompileIssue&");
qRegisterMetaType<QVector<int>>("QVector<int>"); qRegisterMetaType<QVector<int>>("QVector<int>");
@ -342,7 +339,6 @@ int main(int argc, char *argv[])
pSettings->vcs().detectGitInPath(); pSettings->vcs().detectGitInPath();
} }
auto settings = std::unique_ptr<Settings>(pSettings); auto settings = std::unique_ptr<Settings>(pSettings);
//Color scheme settings must be loaded after translation //Color scheme settings must be loaded after translation
pColorManager = new ColorManager(); pColorManager = new ColorManager();
pIconsManager = new IconsManager(); pIconsManager = new IconsManager();

View File

@ -90,7 +90,8 @@ SynEdit::SynEdit(QWidget *parent) : QAbstractScrollArea(parent)
// fRightEdge has to be set before FontChanged is called for the first time // fRightEdge has to be set before FontChanged is called for the first time
mRightEdge = 80; mRightEdge = 80;
mMouseWheelScrollSpeed = 1; mMouseWheelScrollSpeed = 3;
mMouseSelectionScrollSpeed = 1;
mGutter.setRightOffset(21); mGutter.setRightOffset(21);
mGutter.connect(&mGutter, &SynGutter::changed, this, &SynEdit::onGutterChanged); mGutter.connect(&mGutter, &SynGutter::changed, this, &SynEdit::onGutterChanged);
@ -1804,17 +1805,18 @@ void SynEdit::doMouseScroll(bool isDragging)
C = pixelsToRowColumn(iMousePos.x(), iMousePos.y()); C = pixelsToRowColumn(iMousePos.x(), iMousePos.y());
C.Row = minMax(C.Row, 1, displayLineCount()); C.Row = minMax(C.Row, 1, displayLineCount());
if (mScrollDeltaX != 0) { if (mScrollDeltaX != 0) {
setLeftChar(leftChar() + mScrollDeltaX); setLeftChar(leftChar() + mScrollDeltaX * mMouseSelectionScrollSpeed);
X = leftChar(); X = leftChar();
if (mScrollDeltaX > 0) // scrolling right? if (mScrollDeltaX > 0) // scrolling right?
X+=charsInWindow(); X+=charsInWindow();
C.Column = X; C.Column = X;
} }
if (mScrollDeltaY != 0) { if (mScrollDeltaY != 0) {
//qDebug()<<mScrollDeltaY;
if (QApplication::queryKeyboardModifiers().testFlag(Qt::ShiftModifier)) if (QApplication::queryKeyboardModifiers().testFlag(Qt::ShiftModifier))
setTopLine(mTopLine + mScrollDeltaY * mLinesInWindow); setTopLine(mTopLine + mScrollDeltaY * mLinesInWindow);
else else
setTopLine(mTopLine + mScrollDeltaY); setTopLine(mTopLine + mScrollDeltaY * mMouseSelectionScrollSpeed);
Y = mTopLine; Y = mTopLine;
if (mScrollDeltaY > 0) // scrolling down? if (mScrollDeltaY > 0) // scrolling down?
Y+=mLinesInWindow - 1; Y+=mLinesInWindow - 1;
@ -2489,17 +2491,15 @@ void SynEdit::computeCaret(int X, int Y)
void SynEdit::computeScroll(int X, int Y, bool isDragging) void SynEdit::computeScroll(int X, int Y, bool isDragging)
{ {
if (!isDragging) { Qt::MouseButtons buttons = qApp->mouseButtons();
Qt::MouseButtons buttons = qApp->mouseButtons(); if (!buttons.testFlag(Qt::LeftButton))
if (!buttons.testFlag(Qt::LeftButton)) return;
return;
}
QRect iScrollBounds; // relative to the client area QRect iScrollBounds; // relative to the client area
int dispX=2,dispY = 2; int dispX=2,dispY = 2;
if (isDragging) { // if (isDragging) {
dispX = mCharWidth / 2 -1; // dispX = mCharWidth / 2 -1;
dispY = mTextHeight/ 2 -1; // dispY = mTextHeight/ 2 -1;
} // }
int left = mGutterWidth+frameWidth()+dispX; int left = mGutterWidth+frameWidth()+dispX;
int top = frameWidth()+dispY; int top = frameWidth()+dispY;
iScrollBounds = QRect(left, iScrollBounds = QRect(left,
@ -2529,13 +2529,13 @@ void SynEdit::computeScroll(int X, int Y, bool isDragging)
mScrollDeltaY = 0; mScrollDeltaY = 0;
} }
if (mScrollDeltaX!=0 || mScrollDeltaY!=0) { // if (mScrollDeltaX!=0 || mScrollDeltaY!=0) {
if (isDragging) { if (isDragging) {
mScrollTimer->singleShot(100,this,&SynEdit::onDraggingScrollTimeout); mScrollTimer->singleShot(100,this,&SynEdit::onDraggingScrollTimeout);
} else { } else {
mScrollTimer->singleShot(100,this,&SynEdit::onScrollTimeout); mScrollTimer->singleShot(100,this,&SynEdit::onScrollTimeout);
}
} }
// }
} }
void SynEdit::doBlockIndent() void SynEdit::doBlockIndent()
@ -3780,6 +3780,16 @@ void SynEdit::onScrolled(int)
invalidate(); invalidate();
} }
int SynEdit::mouseSelectionScrollSpeed() const
{
return mMouseSelectionScrollSpeed;
}
void SynEdit::setMouseSelectionScrollSpeed(int newMouseSelectionScrollSpeed)
{
mMouseSelectionScrollSpeed = newMouseSelectionScrollSpeed;
}
const QFont &SynEdit::fontForNonAscii() const const QFont &SynEdit::fontForNonAscii() const
{ {
return mFontForNonAscii; return mFontForNonAscii;
@ -5912,6 +5922,7 @@ void SynEdit::mousePressEvent(QMouseEvent *event)
//Selection mode must be set before calling SetBlockBegin //Selection mode must be set before calling SetBlockBegin
setBlockBegin(caretXY()); setBlockBegin(caretXY());
} }
computeScroll(X,Y,false);
} }
} }
} }
@ -5964,7 +5975,7 @@ void SynEdit::mouseMoveEvent(QMouseEvent *event)
} }
} else if ((buttons == Qt::LeftButton)) { } else if ((buttons == Qt::LeftButton)) {
// should we begin scrolling? // should we begin scrolling?
computeScroll(X, Y,false); //computeScroll(X, Y,false);
DisplayCoord P = pixelsToNearestRowColumn(X, Y); DisplayCoord P = pixelsToNearestRowColumn(X, Y);
P.Row = minMax(P.Row, 1, displayLineCount()); P.Row = minMax(P.Row, 1, displayLineCount());
if (mScrollDeltaX != 0) if (mScrollDeltaX != 0)
@ -6076,6 +6087,8 @@ void SynEdit::dragEnterEvent(QDragEnterEvent *event)
setBlockBegin(mDragSelBeginSave); setBlockBegin(mDragSelBeginSave);
setBlockEnd(mDragSelEndSave); setBlockEnd(mDragSelEndSave);
showCaret(); showCaret();
computeScroll(event->pos().x(),
event->pos().y(),true);
} }
} }
@ -6146,8 +6159,8 @@ void SynEdit::dragMoveEvent(QDragMoveEvent *event)
event->setDropAction(Qt::MoveAction); event->setDropAction(Qt::MoveAction);
} }
// should we begin scrolling? // should we begin scrolling?
computeScroll(event->pos().x(), // computeScroll(event->pos().x(),
event->pos().y(),true); // event->pos().y(),true);
BufferCoord coord = displayToBufferPos(pixelsToNearestRowColumn(event->pos().x(), BufferCoord coord = displayToBufferPos(pixelsToNearestRowColumn(event->pos().x(),
event->pos().y())); event->pos().y()));

View File

@ -723,6 +723,7 @@ private:
QString mInputPreeditString; QString mInputPreeditString;
int mMouseWheelScrollSpeed; int mMouseWheelScrollSpeed;
int mMouseSelectionScrollSpeed;
BufferCoord mDragCaretSave; BufferCoord mDragCaretSave;
BufferCoord mDragSelBeginSave; BufferCoord mDragSelBeginSave;
@ -760,6 +761,9 @@ QVariant inputMethodQuery(Qt::InputMethodQuery property) const override;
const QFont &fontForNonAscii() const; const QFont &fontForNonAscii() const;
void setFontForNonAscii(const QFont &newFontForNonAscii); void setFontForNonAscii(const QFont &newFontForNonAscii);
int mouseSelectionScrollSpeed() const;
void setMouseSelectionScrollSpeed(int newMouseSelectionScrollSpeed);
protected: protected:
void dragEnterEvent(QDragEnterEvent *event) override; void dragEnterEvent(QDragEnterEvent *event) override;
void dropEvent(QDropEvent *event) override; void dropEvent(QDropEvent *event) override;

View File

@ -431,7 +431,6 @@ void SynEditTextPainter::PaintToken(const QString &Token, int TokenCols, int Col
textToPaint+=Token[i]; textToPaint+=Token[i];
} }
painter->drawText(nX,rcToken.bottom()-painter->fontMetrics().descent() , textToPaint); painter->drawText(nX,rcToken.bottom()-painter->fontMetrics().descent() , textToPaint);
qDebug()<<textToPaint;
drawed = true; drawed = true;
} }
if (!drawed) { if (!drawed) {

View File

@ -614,6 +614,16 @@ void Settings::Editor::setNonAsciiFontName(const QString &newNonAsciiFontName)
mNonAsciiFontName = newNonAsciiFontName; mNonAsciiFontName = newNonAsciiFontName;
} }
int Settings::Editor::mouseSelectionScrollSpeed() const
{
return mMouseSelectionScrollSpeed;
}
void Settings::Editor::setMouseSelectionScrollSpeed(int newMouseSelectionScrollSpeed)
{
mMouseSelectionScrollSpeed = newMouseSelectionScrollSpeed;
}
bool Settings::Editor::highlightCurrentWord() const bool Settings::Editor::highlightCurrentWord() const
{ {
return mHighlightCurrentWord; return mHighlightCurrentWord;
@ -1115,6 +1125,7 @@ void Settings::Editor::doSave()
saveValue("scroll_by_one_less", mScrollByOneLess); saveValue("scroll_by_one_less", mScrollByOneLess);
saveValue("half_page_scroll", mHalfPageScroll); saveValue("half_page_scroll", mHalfPageScroll);
saveValue("mouse_wheel_scroll_speed", mMouseWheelScrollSpeed); saveValue("mouse_wheel_scroll_speed", mMouseWheelScrollSpeed);
saveValue("mouse_selection_scroll_speed",mMouseSelectionScrollSpeed);
//right edge //right edge
saveValue("show_right_edge_line",mShowRightEdgeLine); saveValue("show_right_edge_line",mShowRightEdgeLine);
@ -1232,6 +1243,7 @@ void Settings::Editor::doLoad()
mScrollByOneLess = boolValue("scroll_by_one_less", false); mScrollByOneLess = boolValue("scroll_by_one_less", false);
mHalfPageScroll = boolValue("half_page_scroll",false); mHalfPageScroll = boolValue("half_page_scroll",false);
mMouseWheelScrollSpeed = intValue("mouse_wheel_scroll_speed", 3); mMouseWheelScrollSpeed = intValue("mouse_wheel_scroll_speed", 3);
mMouseSelectionScrollSpeed = intValue("mouse_selection_scroll_speed",1);
//right edge //right edge

View File

@ -372,6 +372,9 @@ public:
const QString &nonAsciiFontName() const; const QString &nonAsciiFontName() const;
void setNonAsciiFontName(const QString &newNonAsciiFontName); void setNonAsciiFontName(const QString &newNonAsciiFontName);
int mouseSelectionScrollSpeed() const;
void setMouseSelectionScrollSpeed(int newMouseSelectionScrollSpeed);
private: private:
//General //General
// indents // indents
@ -401,6 +404,7 @@ public:
bool mScrollByOneLess; bool mScrollByOneLess;
bool mHalfPageScroll; bool mHalfPageScroll;
int mMouseWheelScrollSpeed; int mMouseWheelScrollSpeed;
int mMouseSelectionScrollSpeed;
//right margin //right margin
bool mShowRightEdgeLine; bool mShowRightEdgeLine;

View File

@ -78,6 +78,7 @@ void EditorGeneralWidget::doLoad()
ui->chkScrollHalfPage->setChecked(pSettings->editor().halfPageScroll()); ui->chkScrollHalfPage->setChecked(pSettings->editor().halfPageScroll());
ui->chkScrollByOneLess->setChecked(pSettings->editor().scrollByOneLess()); ui->chkScrollByOneLess->setChecked(pSettings->editor().scrollByOneLess());
ui->spinMouseWheelScrollSpeed->setValue(pSettings->editor().mouseWheelScrollSpeed()); ui->spinMouseWheelScrollSpeed->setValue(pSettings->editor().mouseWheelScrollSpeed());
ui->spinMouseSelectionScrollSpeed->setValue(pSettings->editor().mouseSelectionScrollSpeed());
//right margin line; //right margin line;
ui->grpRightEdge->setChecked(pSettings->editor().showRightEdgeLine()); ui->grpRightEdge->setChecked(pSettings->editor().showRightEdgeLine());
@ -114,6 +115,7 @@ void EditorGeneralWidget::doSave()
pSettings->editor().setScrollByOneLess(ui->chkScrollByOneLess->isChecked()); pSettings->editor().setScrollByOneLess(ui->chkScrollByOneLess->isChecked());
pSettings->editor().setHalfPageScroll(ui->chkScrollHalfPage->isChecked()); pSettings->editor().setHalfPageScroll(ui->chkScrollHalfPage->isChecked());
pSettings->editor().setMouseWheelScrollSpeed(ui->spinMouseWheelScrollSpeed->value()); pSettings->editor().setMouseWheelScrollSpeed(ui->spinMouseWheelScrollSpeed->value());
pSettings->editor().setMouseSelectionScrollSpeed(ui->spinMouseSelectionScrollSpeed->value());
//right margin line; //right margin line;
pSettings->editor().setShowRightEdgeLine(ui->grpRightEdge->isChecked()); pSettings->editor().setShowRightEdgeLine(ui->grpRightEdge->isChecked());

View File

@ -340,6 +340,54 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QWidget" name="widget_7" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Mouse Selection/Dragging Scroll Speed</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinMouseSelectionScrollSpeed">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>