Compare commits

...

2 Commits

8 changed files with 218 additions and 121 deletions

View File

@ -61,7 +61,7 @@ qsizetype QHexCursor::selectionLength(qsizetype index) const {
qsizetype QHexCursor::currentSelectionLength() const {
if (hasPreviewSelection() && m_preMode != SelectionRemove) {
return qAbs(m_position - m_selection + 1);
return qAbs(m_position - m_selection) + 1;
}
qsizetype len = 0;

@ -1 +1 @@
Subproject commit fe0774c1d2ff5c86832d5850c1dccbbf3a6c3c66
Subproject commit 4307a2552e52d9f7e5c8fc2bd1d3148748e968f9

View File

@ -1334,7 +1334,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1066"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1135"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3788"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3800"/>
<source>NothingToSave</source>
<translation></translation>
</message>
@ -1498,7 +1498,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1641"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1654"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3020"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3032"/>
<source>LayoutRestoring...</source>
<translation>...</translation>
</message>
@ -1509,7 +1509,7 @@
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1667"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3004"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3016"/>
<source>SaveLayout</source>
<translation></translation>
</message>
@ -1620,13 +1620,13 @@
<location filename="../../src/dialog/mainwindow.cpp" line="2137"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2167"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2194"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3174"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3237"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3255"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3263"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3509"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3826"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3835"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3186"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3249"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3267"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3275"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3521"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3838"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3847"/>
<source>Error</source>
<translation></translation>
</message>
@ -1643,8 +1643,8 @@
<location filename="../../src/dialog/mainwindow.cpp" line="1952"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1986"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2046"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3826"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3835"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3838"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3847"/>
<source>FilePermission</source>
<translation></translation>
</message>
@ -1670,7 +1670,7 @@
<location filename="../../src/dialog/mainwindow.cpp" line="2114"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2181"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2761"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3794"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3806"/>
<source>ChooseSaveFile</source>
<translation></translation>
</message>
@ -1690,42 +1690,42 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3027"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3039"/>
<source>SaveLayoutSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3030"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3042"/>
<source>SaveLayoutError</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3215"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3227"/>
<source>HasClonedView</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3781"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3793"/>
<source>SaveWorkSpace</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3782"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3794"/>
<source>WingHexWorkSpace (*.wingpro)</source>
<translation> (*.wingpro)</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3897"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3909"/>
<source>ConfirmSave</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3916"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3928"/>
<source>Column %1</source>
<translation> %1</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3977"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3989"/>
<source>ConfirmAPPSave</source>
<translation></translation>
</message>
@ -1735,7 +1735,7 @@
<location filename="../../src/dialog/mainwindow.cpp" line="1244"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2061"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2125"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3866"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3878"/>
<source>SaveSuccessfully</source>
<translation></translation>
</message>
@ -1746,7 +1746,8 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3215"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2992"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3227"/>
<source>Warn</source>
<translation></translation>
</message>
@ -1919,7 +1920,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2603"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2644"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3368"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3380"/>
<source>NoSelection</source>
<translation></translation>
</message>
@ -1970,88 +1971,93 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2969"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2971"/>
<source>TooManyBytesDecode</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2998"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2992"/>
<source>NoTextFileMayInvalid</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3010"/>
<source>LayoutSaving...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3004"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3016"/>
<source>PleaseInput</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3036"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3048"/>
<source>LogExporting...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3041"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3053"/>
<source>ExportLogError</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3044"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3056"/>
<source>ExportLogSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3052"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3064"/>
<source>ClearLogSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3113"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3125"/>
<source>BadNetwork</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3118"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3130"/>
<source>NewestVersion</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="386"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3115"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3127"/>
<source>OlderVersion</source>
<translation>使 Github Gitee </translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3100"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3112"/>
<source>CheckingUpdate</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3175"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3187"/>
<source>Too much opened files</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3237"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3249"/>
<source>FilePermissionSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3255"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3267"/>
<source>UnknownErrorSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3263"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3275"/>
<source>WorkSpaceUnSavedSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3426"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3438"/>
<source>CopyLimit</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3510"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3522"/>
<source>ErrOpenFileBelow</source>
<translation></translation>
</message>
@ -2483,7 +2489,7 @@
<context>
<name>QApplication</name>
<message>
<location filename="../../src/utilities.h" line="258"/>
<location filename="../../src/utilities.h" line="262"/>
<source>OptionNeedRestart</source>
<translation></translation>
</message>
@ -5090,63 +5096,69 @@
<context>
<name>ShowTextDialog</name>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="147"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="186"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="149"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="188"/>
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="92"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="100"/>
<source>TextBroswer</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="107"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="91"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="115"/>
<source>Plain Text</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="116"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="124"/>
<source>TooHugeFile</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="121"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="188"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="131"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="158"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="227"/>
<source>Loading...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="141"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="180"/>
<source>Edit</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="153"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="192"/>
<source>Find</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="157"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="196"/>
<source>Goto</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="162"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="201"/>
<source>Encoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="165"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="204"/>
<source>UpdateDefs</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="175"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="214"/>
<source>CopyToClipBoard</source>
<translation></translation>
</message>

View File

@ -1334,7 +1334,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1066"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1135"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3788"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3800"/>
<source>NothingToSave</source>
<translation></translation>
</message>
@ -1498,7 +1498,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1641"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1654"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3020"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3032"/>
<source>LayoutRestoring...</source>
<translation>...</translation>
</message>
@ -1509,7 +1509,7 @@
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="1667"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3004"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3016"/>
<source>SaveLayout</source>
<translation></translation>
</message>
@ -1620,13 +1620,13 @@
<location filename="../../src/dialog/mainwindow.cpp" line="2137"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2167"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2194"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3174"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3237"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3255"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3263"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3509"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3826"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3835"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3186"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3249"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3267"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3275"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3521"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3838"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3847"/>
<source>Error</source>
<translation></translation>
</message>
@ -1643,8 +1643,8 @@
<location filename="../../src/dialog/mainwindow.cpp" line="1952"/>
<location filename="../../src/dialog/mainwindow.cpp" line="1986"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2046"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3826"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3835"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3838"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3847"/>
<source>FilePermission</source>
<translation></translation>
</message>
@ -1670,7 +1670,7 @@
<location filename="../../src/dialog/mainwindow.cpp" line="2114"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2181"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2761"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3794"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3806"/>
<source>ChooseSaveFile</source>
<translation></translation>
</message>
@ -1690,42 +1690,42 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3027"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3039"/>
<source>SaveLayoutSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3030"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3042"/>
<source>SaveLayoutError</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3215"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3227"/>
<source>HasClonedView</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3781"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3793"/>
<source>SaveWorkSpace</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3782"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3794"/>
<source>WingHexWorkSpace (*.wingpro)</source>
<translation> (*.wingpro)</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3897"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3909"/>
<source>ConfirmSave</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3916"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3928"/>
<source>Column %1</source>
<translation> %1</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3977"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3989"/>
<source>ConfirmAPPSave</source>
<translation></translation>
</message>
@ -1735,7 +1735,7 @@
<location filename="../../src/dialog/mainwindow.cpp" line="1244"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2061"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2125"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3866"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3878"/>
<source>SaveSuccessfully</source>
<translation></translation>
</message>
@ -1746,7 +1746,8 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3215"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2992"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3227"/>
<source>Warn</source>
<translation></translation>
</message>
@ -1919,7 +1920,7 @@
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2603"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2644"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3368"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3380"/>
<source>NoSelection</source>
<translation></translation>
</message>
@ -1970,88 +1971,93 @@
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2969"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2971"/>
<source>TooManyBytesDecode</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="2998"/>
<location filename="../../src/dialog/mainwindow.cpp" line="2992"/>
<source>NoTextFileMayInvalid</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3010"/>
<source>LayoutSaving...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3004"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3016"/>
<source>PleaseInput</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3036"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3048"/>
<source>LogExporting...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3041"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3053"/>
<source>ExportLogError</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3044"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3056"/>
<source>ExportLogSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3052"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3064"/>
<source>ClearLogSuccess</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3113"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3125"/>
<source>BadNetwork</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3118"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3130"/>
<source>NewestVersion</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="386"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3115"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3127"/>
<source>OlderVersion</source>
<translation>使 Github Gitee </translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3100"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3112"/>
<source>CheckingUpdate</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3175"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3187"/>
<source>Too much opened files</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3237"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3249"/>
<source>FilePermissionSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3255"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3267"/>
<source>UnknownErrorSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3263"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3275"/>
<source>WorkSpaceUnSavedSure2Quit</source>
<translation>退</translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3426"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3438"/>
<source>CopyLimit</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/mainwindow.cpp" line="3510"/>
<location filename="../../src/dialog/mainwindow.cpp" line="3522"/>
<source>ErrOpenFileBelow</source>
<translation></translation>
</message>
@ -2483,7 +2489,7 @@
<context>
<name>QApplication</name>
<message>
<location filename="../../src/utilities.h" line="258"/>
<location filename="../../src/utilities.h" line="262"/>
<source>OptionNeedRestart</source>
<translation></translation>
</message>
@ -5090,63 +5096,69 @@
<context>
<name>ShowTextDialog</name>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="147"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="186"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="149"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="188"/>
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="92"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="100"/>
<source>TextBroswer</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="107"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="91"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="115"/>
<source>Plain Text</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="116"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="124"/>
<source>TooHugeFile</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="121"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="188"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="131"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="158"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="227"/>
<source>Loading...</source>
<translation>...</translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="141"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="180"/>
<source>Edit</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="153"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="192"/>
<source>Find</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="157"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="196"/>
<source>Goto</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="162"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="201"/>
<source>Encoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="165"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="204"/>
<source>UpdateDefs</source>
<translation></translation>
</message>
<message>
<location filename="../../src/dialog/showtextdialog.cpp" line="175"/>
<location filename="../../src/dialog/showtextdialog.cpp" line="214"/>
<source>CopyToClipBoard</source>
<translation></translation>
</message>

View File

@ -2931,6 +2931,8 @@ void MainWindow::on_selectionChanged() {
return;
}
on_locChanged();
auto cursor = hexeditor->cursor();
QByteArrayList buffer;
bool isPreview = false;
@ -2981,9 +2983,19 @@ void MainWindow::on_viewtxt() {
return;
}
auto hexeditor = editor->hexEditor();
auto filename = editor->fileName();
QMimeDatabase db;
_showtxt->load(hexeditor->document()->buffer(),
db.mimeTypeForFile(editor->fileName()).name());
auto mime = db.mimeTypeForFile(filename);
auto ret = Utilities::isTextFile(mime);
if (!ret) {
auto ret = WingMessageBox::warning(
this, tr("Warn"), tr("NoTextFileMayInvalid"),
QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (ret == QMessageBox::No) {
return;
}
}
_showtxt->load(hexeditor->document()->buffer(), mime.name());
}
void MainWindow::on_fullScreen() {

View File

@ -26,6 +26,7 @@
#include "dialog/definitiondownload.h"
#include "dialog/encodingdialog.h"
#include <QScrollBar>
#include <QThread>
#include <QVBoxLayout>
@ -86,6 +87,13 @@ ShowTextDialog::ShowTextDialog(QWidget *parent) : FramelessMainWindow(parent) {
m_syntaxButton->setPopupMode(QToolButton::InstantPopup);
m_syntaxButton->addAction(new SyntaxPopupAction(this));
m_cancelButton = new QPushButton(this);
m_cancelButton->setText(tr("Cancel"));
connect(m_cancelButton, &QPushButton::clicked, this,
[this]() { m_continue = false; });
m_status->addPermanentWidget(m_cancelButton);
m_cancelButton->hide();
m_status->addPermanentWidget(m_syntaxButton);
// ok, preparing for starting...
@ -117,6 +125,8 @@ void ShowTextDialog::load(QHexBuffer *buffer, const QString &mime,
return;
}
m_syntaxButton->hide();
setSyntax(WingCodeEdit::nullSyntax());
show();
m_status->showMessage(tr("Loading..."));
@ -129,7 +139,36 @@ void ShowTextDialog::load(QHexBuffer *buffer, const QString &mime,
}
this->buffer = buffer->read(qsizetype(0), buffer->length());
m_edit->setPlainText(Utilities::decodingString(this->buffer, enc));
m_cancelButton->setVisible(true);
m_continue = true;
auto e = Utilities::realEncodingName(enc);
auto en = QStringConverter::encodingForName(e.toUtf8());
QTextStream ss(this->buffer);
ss.setEncoding(en.value_or(QStringConverter::Utf8)); // fallback to UTF-8
ss.setAutoDetectUnicode(false);
auto total = this->buffer.size();
m_edit->clear();
m_edit->setEnabled(false);
while (m_continue && !ss.atEnd()) {
auto p = ss.readLine();
m_edit->appendPlainText(p);
m_edit->verticalScrollBar()->setValue(0);
m_status->showMessage(
tr("Loading...") + QStringLiteral(" (") +
QString::number(100.0 * ss.pos() / total, 'g', 3) +
QStringLiteral("%)"));
qApp->processEvents();
}
m_cancelButton->hide();
m_syntaxButton->setVisible(true);
m_edit->setEnabled(true);
m_continue = false;
auto cursor = m_edit->textCursor();
cursor.setPosition(0);
m_edit->setTextCursor(cursor);
m_status->showMessage(enc);
setSyntax(WingCodeEdit::syntaxRepo().definitionForMimeType(mime));
@ -199,3 +238,9 @@ void ShowTextDialog::on_updateDefs() {
downloadDialog->raise();
downloadDialog->activateWindow();
}
void ShowTextDialog::closeEvent(QCloseEvent *event) {
m_continue = false;
m_edit->clear();
FramelessMainWindow::closeEvent(event);
}

View File

@ -29,6 +29,7 @@
#include "dialog/framelessmainwindow.h"
#include "utilities.h"
#include <QPushButton>
#include <QShortcut>
#include <QStatusBar>
#include <QToolButton>
@ -120,12 +121,19 @@ private slots:
void on_encoding();
void on_updateDefs();
// QWidget interface
protected:
virtual void closeEvent(QCloseEvent *event) override;
private:
Ribbon *m_ribbon = nullptr;
CodeEdit *m_edit = nullptr;
QStatusBar *m_status = nullptr;
QToolButton *m_syntaxButton = nullptr;
QPushButton *m_cancelButton = nullptr;
bool m_continue = true;
QByteArray buffer;
};

View File

@ -224,10 +224,14 @@ public:
(screen.height() - window->height()) / 2);
}
static bool isTextFile(const QMimeType &type) {
return type.inherits(QStringLiteral("text/plain"));
}
static bool isTextFile(const QFileInfo &info) {
QMimeDatabase db;
auto t = db.mimeTypeForFile(info);
return t.inherits(QStringLiteral("text/plain"));
return isTextFile(t);
}
static QString getAppDataPath() {
@ -280,13 +284,17 @@ public:
#endif
}
static QString realEncodingName(const QString &enc = {}) {
if (enc.isEmpty() ||
enc.compare(QStringLiteral("ASCII"), Qt::CaseInsensitive) == 0) {
return QStringLiteral("ISO-8859-1");
}
return enc;
}
static QString decodingString(const QByteArray &buffer,
const QString &enc = {}) {
auto encoding = enc;
if (encoding.isEmpty() || encoding.compare(QStringLiteral("ASCII"),
Qt::CaseInsensitive) == 0) {
encoding = QStringLiteral("ISO-8859-1");
}
auto encoding = realEncodingName(enc);
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
auto en = QStringConverter::encodingForName(encoding.toUtf8());