增加人性化设计

This commit is contained in:
寂静的羽夏 2022-06-14 09:28:05 +08:00
parent d70fe649ef
commit 71d688c1d1
7 changed files with 270 additions and 163 deletions

View File

@ -62,7 +62,7 @@
### 协议 ### 协议
  本软件如果用于非商业用途,采用`WingSummer OpenSource Lincense`协议,对应的协议内容在仓库`OpenSource-LICENSE`文件。 **没有我的任何授权,不得将该软件用于本协议之外的商业用途,包括我改良的部分,除非你直接使用原组件,不限于商业二次开发、换 UI 套壳、二手转卖等,我不允许任何人随意把我当作免费劳动力作为赚钱的工具!** 我的初衷是让 Linux 的生态更加完整,早日让祖国推动操作系统国产化。我不希望“吸血鬼”们利益归自己,脏活累活给开源,都那么理所当然,开源就是这么被败坏的。我不希望因为版权的事情牵扯了大量的精力。本人初次深入接触开源协议,不太会根据自己真正的需要来选择合适的协议,感谢`Deepin`前辈`BLumia`给我提供相关的建议。由于本人一直在`README`一直强调商业用途相关事宜,本开源协议和我强调的内容相一致,故适用于目前所有本仓库的代码及其`fork`分支以及所有发行版。   本软件如果用于非商业用途,采用`WingSummer OpenSource Lincense`协议,对应的协议内容在仓库`OpenSource-LICENSE`文件。 **没有我的任何授权,不得将该软件用于任何形式的商业用途,包括我改良的部分,除非你直接使用原组件,不限于商业二次开发、换 UI 套壳、二手转卖等,我不允许任何人随意把我当作免费劳动力作为赚钱的工具!** 我的初衷是让 Linux 的生态更加完整,早日让祖国推动操作系统国产化。我不希望“吸血鬼”们利益归自己,脏活累活给开源,都那么理所当然,开源就是这么被败坏的。我不希望因为版权的事情牵扯了大量的精力。本人初次深入接触开源协议,不太会根据自己真正的需要来选择合适的协议,感谢`Deepin`前辈`BLumia`给我提供相关的建议和指导。由于本人一直在`README`一直强调商业用途相关事宜,本开源协议和我强调的内容相一致,故适用于目前所有本仓库的代码及其`fork`分支以及所有发行版。
  如果你想将本软件或者本软件的部分代码用于商业用途,必须亲自咨询我,商讨商业授权相关事宜。如果得到授权则采用`WingSummer Commerical License`协议,也就是本仓库的`Commerical-LICENSE`文件的内容。   如果你想将本软件或者本软件的部分代码用于商业用途,必须亲自咨询我,商讨商业授权相关事宜。如果得到授权则采用`WingSummer Commerical License`协议,也就是本仓库的`Commerical-LICENSE`文件的内容。

View File

@ -301,10 +301,16 @@ MainWindow::MainWindow(DMainWindow *parent) {
#define AddContextMenuAction(Icon, Title, Slot, ShortCut) \ #define AddContextMenuAction(Icon, Title, Slot, ShortCut) \
AddMenuShortcutAction(Icon, Title, Slot, hexeditorMenu, ShortCut) AddMenuShortcutAction(Icon, Title, Slot, hexeditorMenu, ShortCut)
#define AddContextMenuDB(index) \
a->setEnabled(false); \
conmenutools.insert(index, a);
AddContextMenuAction("undo", tr("Undo"), MainWindow::on_undofile, AddContextMenuAction("undo", tr("Undo"), MainWindow::on_undofile,
QKeySequence::Undo); QKeySequence::Undo);
AddContextMenuDB(ToolBoxIndex::Undo);
AddContextMenuAction("redo", tr("Redo"), MainWindow::on_redofile, AddContextMenuAction("redo", tr("Redo"), MainWindow::on_redofile,
QKeySequence::Redo); QKeySequence::Redo);
AddContextMenuDB(ToolBoxIndex::Redo);
hexeditorMenu->addSeparator(); hexeditorMenu->addSeparator();
AddContextMenuAction("cut", tr("Cut"), MainWindow::on_cutfile, AddContextMenuAction("cut", tr("Cut"), MainWindow::on_cutfile,
QKeySequence::Cut); QKeySequence::Cut);
@ -1180,6 +1186,9 @@ void MainWindow::connectShadowSlot(HexViewShadow *shadow) {
hexfiles[_pcurfile].render->setEncoding(encoding); hexfiles[_pcurfile].render->setEncoding(encoding);
}); });
ConnectShadows(HexViewShadow::openWorkSpace, MainWindow::openWorkSpace);
ConnectShadows(HexViewShadow::saveWorkSpace, MainWindow::saveWorkSpace);
ConnectShadows(HexViewShadow::saveAsWorkSpace, MainWindow::saveAsWorkSpace);
ConnectShadows(HexViewShadow::newFile, MainWindow::newFile); ConnectShadows(HexViewShadow::newFile, MainWindow::newFile);
ConnectShadowLamba( ConnectShadowLamba(
HexViewShadow::openFile, HexViewShadow::openFile,
@ -1674,8 +1683,16 @@ void MainWindow::closeEvent(QCloseEvent *event) {
void MainWindow::on_savefile() { void MainWindow::on_savefile() {
CheckEnabled; CheckEnabled;
if (saveCurrentFile() == ErrFile::IsNewFile) auto res = saveCurrentFile();
if (res == ErrFile::IsNewFile)
on_saveasfile(); on_saveasfile();
else if (res == ErrFile::Success) {
DMessageManager::instance()->sendMessage(this, ICONRES("save"),
tr("SaveSuccessfully"));
} else {
DMessageManager::instance()->sendMessage(this, ICONRES("save"),
tr("SaveUnSuccessfully"));
}
} }
void MainWindow::on_delete() { void MainWindow::on_delete() {
@ -1688,7 +1705,13 @@ void MainWindow::on_saveasfile() {
auto filename = QFileDialog::getSaveFileName(this, tr("ChooseSaveFile")); auto filename = QFileDialog::getSaveFileName(this, tr("ChooseSaveFile"));
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
saveasFile(filename, _currentfile); if (saveasFile(filename, _currentfile) == ErrFile::Success) {
DMessageManager::instance()->sendMessage(this, ICONRES("saveas"),
tr("SaveSuccessfully"));
} else {
DMessageManager::instance()->sendMessage(this, ICONRES("saveas"),
tr("SaveUnSuccessfully"));
}
} }
void MainWindow::on_findfile() { void MainWindow::on_findfile() {
@ -1720,6 +1743,8 @@ void MainWindow::on_findfile() {
findresult->setItem(i, 1, frow + 1); findresult->setItem(i, 1, frow + 1);
findresult->setItem(i, 2, frow + 2); findresult->setItem(i, 2, frow + 2);
} }
DMessageManager::instance()->sendMessage(this, ICONRES("find"),
tr("FindFininish"));
}); });
th->start(); th->start();
} }
@ -1761,9 +1786,8 @@ void MainWindow::on_locChanged() {
if (len == sizeof(quint64)) { if (len == sizeof(quint64)) {
auto s = n; auto s = n;
numsitem[NumTableIndex::Uint64].setText(QString("0x%1 | %2") numsitem[NumTableIndex::Uint64].setText(
.arg(QString::number(s, 16)) QString("0x%1").arg(QString::number(s, 16)));
.arg(QString::number(s)));
auto s1 = qint64(n); auto s1 = qint64(n);
numsitem[NumTableIndex::Int64].setText(QString::number(s1)); numsitem[NumTableIndex::Int64].setText(QString::number(s1));
} else { } else {
@ -1773,9 +1797,8 @@ void MainWindow::on_locChanged() {
if (len > int(sizeof(quint32))) { if (len > int(sizeof(quint32))) {
auto s = ulong(n); auto s = ulong(n);
numsitem[NumTableIndex::Uint32].setText(QString("0x%1 | %2") numsitem[NumTableIndex::Uint32].setText(
.arg(QString::number(s, 16)) QString("0x%1").arg(QString::number(s, 16)));
.arg(QString::number(s)));
auto s1 = long(n); auto s1 = long(n);
numsitem[NumTableIndex::Int32].setText(QString::number(s1)); numsitem[NumTableIndex::Int32].setText(QString::number(s1));
} else { } else {
@ -1785,9 +1808,8 @@ void MainWindow::on_locChanged() {
if (len > int(sizeof(ushort))) { if (len > int(sizeof(ushort))) {
auto s = ushort(n); auto s = ushort(n);
numsitem[NumTableIndex::Ushort].setText(QString("0x%1 | %2") numsitem[NumTableIndex::Ushort].setText(
.arg(QString::number(s, 16)) QString("0x%1").arg(QString::number(s, 16)));
.arg(QString::number(s)));
auto s1 = short(n); auto s1 = short(n);
numsitem[NumTableIndex::Short].setText(QString::number(s1)); numsitem[NumTableIndex::Short].setText(QString::number(s1));
} else { } else {
@ -1797,9 +1819,8 @@ void MainWindow::on_locChanged() {
if (len > int(sizeof(uchar))) { if (len > int(sizeof(uchar))) {
auto s1 = tmp.at(0); auto s1 = tmp.at(0);
auto s = uchar(s1); auto s = uchar(s1);
numsitem[NumTableIndex::Byte].setText(QString("0x%1 | %2") numsitem[NumTableIndex::Byte].setText(
.arg(QString::number(s, 16)) QString("0x%1").arg(QString::number(s, 16)));
.arg(QString::number(s)));
numsitem[NumTableIndex::Char].setText(QString::number(s1)); numsitem[NumTableIndex::Char].setText(QString::number(s1));
} else { } else {
numsitem[NumTableIndex::Byte].setText("-"); numsitem[NumTableIndex::Byte].setText("-");
@ -1821,6 +1842,14 @@ void MainWindow::on_setting_general() {
void MainWindow::on_documentChanged() { void MainWindow::on_documentChanged() {
CheckEnabled; CheckEnabled;
iSaved->setPixmap(isModified(_currentfile) ? infoUnsaved : infoSaved); iSaved->setPixmap(isModified(_currentfile) ? infoUnsaved : infoSaved);
auto canundo = hexeditor->document()->canUndo();
auto canredo = hexeditor->document()->canRedo();
toolbartools[ToolBoxIndex::Undo]->setEnabled(canundo);
toolbartools[ToolBoxIndex::Redo]->setEnabled(canredo);
toolmenutools[ToolBoxIndex::Undo]->setEnabled(canundo);
toolmenutools[ToolBoxIndex::Redo]->setEnabled(canredo);
conmenutools[ToolBoxIndex::Undo]->setEnabled(canundo);
conmenutools[ToolBoxIndex::Redo]->setEnabled(canredo);
} }
void MainWindow::on_savesel() { void MainWindow::on_savesel() {
@ -2020,6 +2049,7 @@ void MainWindow::setEditModeEnabled(bool b, bool isdriver) {
status->setEnabled(b); status->setEnabled(b);
if (b) { if (b) {
on_documentChanged();
on_documentStatusChanged(); on_documentStatusChanged();
} else { } else {
iSaved->setPixmap(infoSaveg); iSaved->setPixmap(infoSaveg);
@ -2108,11 +2138,7 @@ void MainWindow::on_about() {
d.exec(); d.exec();
} }
void MainWindow::on_openworkspace() { bool MainWindow::openWorkSpace(QString filename) {
auto filename = QFileDialog::getOpenFileName(
this, tr("ChooseFile"), QString(), tr("ProjectFile (*.wingpro)"));
if (filename.isEmpty())
return;
QString file; QString file;
QList<BookMarkStruct> bookmarks; QList<BookMarkStruct> bookmarks;
QHash<quint64, QHexLineMetadata> metas; QHash<quint64, QHexLineMetadata> metas;
@ -2122,10 +2148,42 @@ void MainWindow::on_openworkspace() {
doc->applyBookMarks(bookmarks); doc->applyBookMarks(bookmarks);
on_documentSwitched(); on_documentSwitched();
doc->metadata()->applyMetas(metas); doc->metadata()->applyMetas(metas);
} else { return true;
}
return false;
}
void MainWindow::on_openworkspace() {
auto filename = QFileDialog::getOpenFileName(
this, tr("ChooseFile"), QString(), tr("ProjectFile (*.wingpro)"));
if (filename.isEmpty())
return;
if (!openWorkSpace(filename))
DMessageManager::instance()->sendMessage(this, ICONRES("workspace"), DMessageManager::instance()->sendMessage(this, ICONRES("workspace"),
tr("SaveUnSuccessfully")); tr("SaveUnSuccessfully"));
}
bool MainWindow::saveWorkSpace() {
if (hexfiles.count() > 0) {
auto f = hexfiles[_currentfile];
if (f.workspace.length() == 0) {
return false;
}
return WorkSpaceManager::saveWorkSpace(
f.workspace, f.filename, hexeditor->document()->getAllBookMarks(),
hexeditor->document()->metadata()->getallMetas());
} }
return false;
}
bool MainWindow::saveAsWorkSpace(QString filename) {
if (hexfiles.count() > 0) {
auto f = hexfiles[_currentfile];
return WorkSpaceManager::saveWorkSpace(
filename, f.filename, hexeditor->document()->getAllBookMarks(),
hexeditor->document()->metadata()->getallMetas());
}
return false;
} }
void MainWindow::on_saveworkspace() { void MainWindow::on_saveworkspace() {
@ -2135,9 +2193,7 @@ void MainWindow::on_saveworkspace() {
on_saveasworkspace(); on_saveasworkspace();
return; return;
} }
if (WorkSpaceManager::saveWorkSpace( if (saveWorkSpace()) {
f.workspace, f.filename, hexeditor->document()->getAllBookMarks(),
hexeditor->document()->metadata()->getallMetas())) {
DMessageManager::instance()->sendMessage(this, ICONRES("workspacesave"), DMessageManager::instance()->sendMessage(this, ICONRES("workspacesave"),
tr("SaveSuccessfully")); tr("SaveSuccessfully"));
} else { } else {
@ -2160,9 +2216,7 @@ void MainWindow::on_saveasworkspace() {
if (!filename.endsWith(".wingpro")) { if (!filename.endsWith(".wingpro")) {
filename += ".wingpro"; filename += ".wingpro";
} }
if (WorkSpaceManager::saveWorkSpace( if (saveAsWorkSpace(filename)) {
filename, f.filename, hexeditor->document()->getAllBookMarks(),
hexeditor->document()->metadata()->getallMetas())) {
f.workspace = filename; f.workspace = filename;
DMessageManager::instance()->sendMessage(this, ICONRES("workspacesaveas"), DMessageManager::instance()->sendMessage(this, ICONRES("workspacesaveas"),
tr("SaveSuccessfully")); tr("SaveSuccessfully"));

View File

@ -139,6 +139,9 @@ private:
void cutCurrentBytes(quint64 pos, qint64 len, QByteArray &arr); void cutCurrentBytes(quint64 pos, qint64 len, QByteArray &arr);
void pasteFileBytes(int index, QByteArray arr, qint64 len = -1); void pasteFileBytes(int index, QByteArray arr, qint64 len = -1);
void pasteCurrentBytes(quint64 pos, QByteArray arr, qint64 len = -1); void pasteCurrentBytes(quint64 pos, QByteArray arr, qint64 len = -1);
bool openWorkSpace(QString filename);
bool saveWorkSpace();
bool saveAsWorkSpace(QString filename);
private: private:
void setFilePage(int index); void setFilePage(int index);
@ -191,6 +194,7 @@ private:
QList<HexFile> hexfiles; QList<HexFile> hexfiles;
QMap<ToolBoxIndex, QAction *> toolbartools; QMap<ToolBoxIndex, QAction *> toolbartools;
QMap<ToolBoxIndex, QAction *> toolmenutools; QMap<ToolBoxIndex, QAction *> toolmenutools;
QMap<ToolBoxIndex, QAction *> conmenutools;
uint defaultindex = 1; //表示新建使用的累计索引 uint defaultindex = 1; //表示新建使用的累计索引
int _currentfile = -1; //表示正在使用文件的索引,编辑器使用 int _currentfile = -1; //表示正在使用文件的索引,编辑器使用

Binary file not shown.

View File

@ -113,37 +113,37 @@
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="109"/> <location filename="../dialog/mainwindow.cpp" line="109"/>
<location filename="../dialog/mainwindow.cpp" line="361"/> <location filename="../dialog/mainwindow.cpp" line="360"/>
<source>New</source> <source>New</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="112"/> <location filename="../dialog/mainwindow.cpp" line="112"/>
<location filename="../dialog/mainwindow.cpp" line="362"/> <location filename="../dialog/mainwindow.cpp" line="361"/>
<source>OpenF</source> <source>OpenF</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="175"/> <location filename="../dialog/mainwindow.cpp" line="175"/>
<location filename="../dialog/mainwindow.cpp" line="363"/> <location filename="../dialog/mainwindow.cpp" line="362"/>
<source>OpenD</source> <source>OpenD</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="178"/> <location filename="../dialog/mainwindow.cpp" line="178"/>
<location filename="../dialog/mainwindow.cpp" line="365"/> <location filename="../dialog/mainwindow.cpp" line="364"/>
<source>Save</source> <source>Save</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="181"/> <location filename="../dialog/mainwindow.cpp" line="181"/>
<location filename="../dialog/mainwindow.cpp" line="367"/> <location filename="../dialog/mainwindow.cpp" line="366"/>
<source>SaveAs</source> <source>SaveAs</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="184"/> <location filename="../dialog/mainwindow.cpp" line="184"/>
<location filename="../dialog/mainwindow.cpp" line="369"/> <location filename="../dialog/mainwindow.cpp" line="368"/>
<source>Export</source> <source>Export</source>
<translation></translation> <translation></translation>
</message> </message>
@ -154,356 +154,372 @@
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="190"/> <location filename="../dialog/mainwindow.cpp" line="190"/>
<location filename="../dialog/mainwindow.cpp" line="373"/> <location filename="../dialog/mainwindow.cpp" line="372"/>
<source>OpenWorkSpace</source> <source>OpenWorkSpace</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="193"/> <location filename="../dialog/mainwindow.cpp" line="192"/>
<location filename="../dialog/mainwindow.cpp" line="376"/> <location filename="../dialog/mainwindow.cpp" line="374"/>
<source>SaveWorkSpace</source> <source>SaveWorkSpace</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="196"/> <location filename="../dialog/mainwindow.cpp" line="195"/>
<location filename="../dialog/mainwindow.cpp" line="379"/> <location filename="../dialog/mainwindow.cpp" line="377"/>
<source>SaveAsWorkSpace</source> <source>SaveAsWorkSpace</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="200"/> <location filename="../dialog/mainwindow.cpp" line="199"/>
<source>Exit</source> <source>Exit</source>
<translation>退</translation> <translation>退</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="205"/> <location filename="../dialog/mainwindow.cpp" line="204"/>
<source>Edit</source> <source>Edit</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="207"/> <location filename="../dialog/mainwindow.cpp" line="206"/>
<location filename="../dialog/mainwindow.cpp" line="305"/> <location filename="../dialog/mainwindow.cpp" line="304"/>
<location filename="../dialog/mainwindow.cpp" line="382"/> <location filename="../dialog/mainwindow.cpp" line="380"/>
<source>Undo</source> <source>Undo</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="210"/> <location filename="../dialog/mainwindow.cpp" line="209"/>
<location filename="../dialog/mainwindow.cpp" line="307"/> <location filename="../dialog/mainwindow.cpp" line="306"/>
<location filename="../dialog/mainwindow.cpp" line="384"/> <location filename="../dialog/mainwindow.cpp" line="382"/>
<source>Redo</source> <source>Redo</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="214"/> <location filename="../dialog/mainwindow.cpp" line="213"/>
<location filename="../dialog/mainwindow.cpp" line="310"/> <location filename="../dialog/mainwindow.cpp" line="309"/>
<location filename="../dialog/mainwindow.cpp" line="386"/> <location filename="../dialog/mainwindow.cpp" line="384"/>
<source>Cut</source> <source>Cut</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="217"/> <location filename="../dialog/mainwindow.cpp" line="216"/>
<location filename="../dialog/mainwindow.cpp" line="312"/> <location filename="../dialog/mainwindow.cpp" line="311"/>
<location filename="../dialog/mainwindow.cpp" line="388"/> <location filename="../dialog/mainwindow.cpp" line="386"/>
<source>Copy</source> <source>Copy</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="220"/> <location filename="../dialog/mainwindow.cpp" line="219"/>
<location filename="../dialog/mainwindow.cpp" line="314"/> <location filename="../dialog/mainwindow.cpp" line="313"/>
<location filename="../dialog/mainwindow.cpp" line="390"/> <location filename="../dialog/mainwindow.cpp" line="388"/>
<source>Paste</source> <source>Paste</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="223"/> <location filename="../dialog/mainwindow.cpp" line="222"/>
<location filename="../dialog/mainwindow.cpp" line="316"/> <location filename="../dialog/mainwindow.cpp" line="315"/>
<location filename="../dialog/mainwindow.cpp" line="392"/> <location filename="../dialog/mainwindow.cpp" line="390"/>
<source>Delete</source> <source>Delete</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="227"/> <location filename="../dialog/mainwindow.cpp" line="226"/>
<location filename="../dialog/mainwindow.cpp" line="319"/> <location filename="../dialog/mainwindow.cpp" line="318"/>
<location filename="../dialog/mainwindow.cpp" line="395"/> <location filename="../dialog/mainwindow.cpp" line="393"/>
<source>Find</source> <source>Find</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="230"/> <location filename="../dialog/mainwindow.cpp" line="229"/>
<location filename="../dialog/mainwindow.cpp" line="321"/> <location filename="../dialog/mainwindow.cpp" line="320"/>
<location filename="../dialog/mainwindow.cpp" line="397"/> <location filename="../dialog/mainwindow.cpp" line="395"/>
<source>Goto</source> <source>Goto</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="234"/> <location filename="../dialog/mainwindow.cpp" line="233"/>
<location filename="../dialog/mainwindow.cpp" line="323"/> <location filename="../dialog/mainwindow.cpp" line="322"/>
<location filename="../dialog/mainwindow.cpp" line="400"/> <location filename="../dialog/mainwindow.cpp" line="398"/>
<location filename="../dialog/mainwindow.cpp" line="2047"/> <location filename="../dialog/mainwindow.cpp" line="2065"/>
<source>Fill</source> <source>Fill</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="237"/> <location filename="../dialog/mainwindow.cpp" line="236"/>
<location filename="../dialog/mainwindow.cpp" line="324"/> <location filename="../dialog/mainwindow.cpp" line="323"/>
<location filename="../dialog/mainwindow.cpp" line="402"/> <location filename="../dialog/mainwindow.cpp" line="400"/>
<source>FillNop</source> <source>FillNop</source>
<translation> nop</translation> <translation> nop</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="240"/> <location filename="../dialog/mainwindow.cpp" line="239"/>
<location filename="../dialog/mainwindow.cpp" line="326"/> <location filename="../dialog/mainwindow.cpp" line="325"/>
<location filename="../dialog/mainwindow.cpp" line="404"/> <location filename="../dialog/mainwindow.cpp" line="402"/>
<source>FillZero</source> <source>FillZero</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="244"/> <location filename="../dialog/mainwindow.cpp" line="243"/>
<location filename="../dialog/mainwindow.cpp" line="329"/> <location filename="../dialog/mainwindow.cpp" line="328"/>
<location filename="../dialog/mainwindow.cpp" line="407"/> <location filename="../dialog/mainwindow.cpp" line="405"/>
<source>MetaData</source> <source>MetaData</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="247"/> <location filename="../dialog/mainwindow.cpp" line="246"/>
<location filename="../dialog/mainwindow.cpp" line="331"/> <location filename="../dialog/mainwindow.cpp" line="330"/>
<location filename="../dialog/mainwindow.cpp" line="410"/> <location filename="../dialog/mainwindow.cpp" line="408"/>
<source>DeleteMetaData</source> <source>DeleteMetaData</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="250"/> <location filename="../dialog/mainwindow.cpp" line="249"/>
<location filename="../dialog/mainwindow.cpp" line="333"/> <location filename="../dialog/mainwindow.cpp" line="332"/>
<location filename="../dialog/mainwindow.cpp" line="413"/> <location filename="../dialog/mainwindow.cpp" line="411"/>
<source>ClearMetaData</source> <source>ClearMetaData</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="254"/> <location filename="../dialog/mainwindow.cpp" line="253"/>
<location filename="../dialog/mainwindow.cpp" line="336"/> <location filename="../dialog/mainwindow.cpp" line="335"/>
<location filename="../dialog/mainwindow.cpp" line="416"/> <location filename="../dialog/mainwindow.cpp" line="414"/>
<location filename="../dialog/mainwindow.cpp" line="656"/> <location filename="../dialog/mainwindow.cpp" line="654"/>
<location filename="../dialog/mainwindow.cpp" line="1960"/> <location filename="../dialog/mainwindow.cpp" line="1978"/>
<location filename="../dialog/mainwindow.cpp" line="1967"/> <location filename="../dialog/mainwindow.cpp" line="1985"/>
<source>BookMark</source> <source>BookMark</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="257"/> <location filename="../dialog/mainwindow.cpp" line="256"/>
<location filename="../dialog/mainwindow.cpp" line="338"/> <location filename="../dialog/mainwindow.cpp" line="337"/>
<location filename="../dialog/mainwindow.cpp" line="419"/> <location filename="../dialog/mainwindow.cpp" line="417"/>
<source>DeleteBookMark</source> <source>DeleteBookMark</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="260"/> <location filename="../dialog/mainwindow.cpp" line="259"/>
<location filename="../dialog/mainwindow.cpp" line="340"/> <location filename="../dialog/mainwindow.cpp" line="339"/>
<location filename="../dialog/mainwindow.cpp" line="422"/> <location filename="../dialog/mainwindow.cpp" line="420"/>
<source>ClearBookMark</source> <source>ClearBookMark</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="264"/> <location filename="../dialog/mainwindow.cpp" line="263"/>
<location filename="../dialog/mainwindow.cpp" line="343"/> <location filename="../dialog/mainwindow.cpp" line="342"/>
<location filename="../dialog/mainwindow.cpp" line="424"/> <location filename="../dialog/mainwindow.cpp" line="422"/>
<source>Encoding</source> <source>Encoding</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="270"/> <location filename="../dialog/mainwindow.cpp" line="269"/>
<source>Setting</source> <source>Setting</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="272"/> <location filename="../dialog/mainwindow.cpp" line="271"/>
<location filename="../dialog/mainwindow.cpp" line="427"/> <location filename="../dialog/mainwindow.cpp" line="425"/>
<source>General</source> <source>General</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="274"/> <location filename="../dialog/mainwindow.cpp" line="273"/>
<location filename="../dialog/mainwindow.cpp" line="281"/> <location filename="../dialog/mainwindow.cpp" line="280"/>
<source>Plugin</source> <source>Plugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="276"/> <location filename="../dialog/mainwindow.cpp" line="275"/>
<source>RestoreLayout</source> <source>RestoreLayout</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="283"/> <location filename="../dialog/mainwindow.cpp" line="282"/>
<source>LoadPlugin</source> <source>LoadPlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="290"/> <location filename="../dialog/mainwindow.cpp" line="289"/>
<source>Author</source> <source>Author</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="292"/> <location filename="../dialog/mainwindow.cpp" line="291"/>
<location filename="../dialog/mainwindow.cpp" line="428"/> <location filename="../dialog/mainwindow.cpp" line="426"/>
<source>About</source> <source>About</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="293"/> <location filename="../dialog/mainwindow.cpp" line="292"/>
<source>Sponsor</source> <source>Sponsor</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="468"/> <location filename="../dialog/mainwindow.cpp" line="466"/>
<source>SetaddressBase</source> <source>SetaddressBase</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="471"/> <location filename="../dialog/mainwindow.cpp" line="469"/>
<source>addressBase</source> <source>addressBase</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="471"/> <location filename="../dialog/mainwindow.cpp" line="469"/>
<source>inputAddressBase</source> <source>inputAddressBase</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="479"/> <location filename="../dialog/mainwindow.cpp" line="477"/>
<source>ErrBaseAddress</source> <source>ErrBaseAddress</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="485"/> <location filename="../dialog/mainwindow.cpp" line="483"/>
<source>SetColInfo</source> <source>SetColInfo</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="489"/> <location filename="../dialog/mainwindow.cpp" line="487"/>
<source>SetHeaderInfo</source> <source>SetHeaderInfo</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="493"/> <location filename="../dialog/mainwindow.cpp" line="491"/>
<source>SetAsciiString</source> <source>SetAsciiString</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="498"/> <location filename="../dialog/mainwindow.cpp" line="496"/>
<source>loc:</source> <source>loc:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="510"/> <location filename="../dialog/mainwindow.cpp" line="508"/>
<source>sel:</source> <source>sel:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="545"/> <location filename="../dialog/mainwindow.cpp" line="543"/>
<source>SetLocked</source> <source>SetLocked</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="549"/> <location filename="../dialog/mainwindow.cpp" line="547"/>
<source>SetOver</source> <source>SetOver</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="554"/> <location filename="../dialog/mainwindow.cpp" line="552"/>
<source>ErrUnLock</source> <source>ErrUnLock</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="561"/> <location filename="../dialog/mainwindow.cpp" line="559"/>
<source>ErrUnOver</source> <source>ErrUnOver</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="571"/> <location filename="../dialog/mainwindow.cpp" line="569"/>
<source>ClearFindResult</source> <source>ClearFindResult</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="581"/> <location filename="../dialog/mainwindow.cpp" line="579"/>
<source>file</source> <source>file</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="581"/> <location filename="../dialog/mainwindow.cpp" line="579"/>
<source>addr</source> <source>addr</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="581"/> <location filename="../dialog/mainwindow.cpp" line="579"/>
<source>value</source> <source>value</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="604"/> <location filename="../dialog/mainwindow.cpp" line="602"/>
<source>FindResult</source> <source>FindResult</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="611"/> <location filename="../dialog/mainwindow.cpp" line="609"/>
<source>Log</source> <source>Log</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="621"/> <location filename="../dialog/mainwindow.cpp" line="619"/>
<source>LoggerInitFinish</source> <source>LoggerInitFinish</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../dialog/mainwindow.cpp" line="2143"/>
<location filename="../dialog/mainwindow.cpp" line="2198"/>
<source>ProjectFile (*.wingpro)</source>
<translation> (*.wingpro)</translation>
</message>
<message>
<location filename="../dialog/mainwindow.cpp" line="2194"/>
<source>Warn</source>
<translation></translation>
</message>
<message>
<location filename="../dialog/mainwindow.cpp" line="2194"/>
<source>PleaseSaveNewFile</source>
<translation></translation>
</message>
<message> <message>
<source>Type</source> <source>Type</source>
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="628"/> <location filename="../dialog/mainwindow.cpp" line="626"/>
<source>Value</source> <source>Value</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="642"/> <location filename="../dialog/mainwindow.cpp" line="640"/>
<source>Number</source> <source>Number</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="700"/> <location filename="../dialog/mainwindow.cpp" line="698"/>
<source>SettingLoading</source> <source>SettingLoading</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="758"/> <location filename="../dialog/mainwindow.cpp" line="756"/>
<source>PluginLoading</source> <source>PluginLoading</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="772"/> <location filename="../dialog/mainwindow.cpp" line="770"/>
<source>UnLoadPluginSetting</source> <source>UnLoadPluginSetting</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="791"/> <location filename="../dialog/mainwindow.cpp" line="789"/>
<source>MenuName :</source> <source>MenuName :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="799"/> <location filename="../dialog/mainwindow.cpp" line="797"/>
<source>DockWidgetName :</source> <source>DockWidgetName :</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1266"/> <location filename="../dialog/mainwindow.cpp" line="1269"/>
<source>Untitled</source> <source>Untitled</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="2086"/> <location filename="../dialog/mainwindow.cpp" line="2104"/>
<source>ChoosePlugin</source> <source>ChoosePlugin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="2086"/> <location filename="../dialog/mainwindow.cpp" line="2104"/>
<source>PluginFile (*.wingplg)</source> <source>PluginFile (*.wingplg)</source>
<translation> (*.wingplg)</translation> <translation> (*.wingplg)</translation>
</message> </message>
@ -512,89 +528,113 @@
<translation type="vanished"> ROOT </translation> <translation type="vanished"> ROOT </translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1634"/> <location filename="../dialog/mainwindow.cpp" line="1640"/>
<source>DriverOpenErrorTip</source> <source>DriverOpenErrorTip</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1485"/> <location filename="../dialog/mainwindow.cpp" line="1491"/>
<location filename="../dialog/mainwindow.cpp" line="1570"/> <location filename="../dialog/mainwindow.cpp" line="1576"/>
<location filename="../dialog/mainwindow.cpp" line="1585"/> <location filename="../dialog/mainwindow.cpp" line="1591"/>
<source>Error</source> <source>Error</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1485"/> <location filename="../dialog/mainwindow.cpp" line="1491"/>
<source>NoRoot</source> <source>NoRoot</source>
<translation> root </translation> <translation> root </translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1566"/> <location filename="../dialog/mainwindow.cpp" line="1572"/>
<location filename="../dialog/mainwindow.cpp" line="2143"/>
<source>ChooseFile</source> <source>ChooseFile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1570"/> <location filename="../dialog/mainwindow.cpp" line="1576"/>
<source>FileNotExist</source> <source>FileNotExist</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1585"/> <location filename="../dialog/mainwindow.cpp" line="1591"/>
<source>FilePermission</source> <source>FilePermission</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1596"/> <location filename="../dialog/mainwindow.cpp" line="1602"/>
<location filename="../dialog/mainwindow.cpp" line="1656"/> <location filename="../dialog/mainwindow.cpp" line="1662"/>
<source>Close</source> <source>Close</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1597"/> <location filename="../dialog/mainwindow.cpp" line="1603"/>
<location filename="../dialog/mainwindow.cpp" line="1657"/> <location filename="../dialog/mainwindow.cpp" line="1663"/>
<source>ConfirmSave</source> <source>ConfirmSave</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1640"/> <location filename="../dialog/mainwindow.cpp" line="1646"/>
<source>ChooseExportFile</source> <source>ChooseExportFile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1685"/> <location filename="../dialog/mainwindow.cpp" line="1685"/>
<location filename="../dialog/mainwindow.cpp" line="1825"/> <location filename="../dialog/mainwindow.cpp" line="1704"/>
<location filename="../dialog/mainwindow.cpp" line="2183"/>
<location filename="../dialog/mainwindow.cpp" line="2207"/>
<source>SaveSuccessfully</source>
<translation></translation>
</message>
<message>
<location filename="../dialog/mainwindow.cpp" line="1688"/>
<location filename="../dialog/mainwindow.cpp" line="1707"/>
<location filename="../dialog/mainwindow.cpp" line="2148"/>
<location filename="../dialog/mainwindow.cpp" line="2186"/>
<location filename="../dialog/mainwindow.cpp" line="2210"/>
<source>SaveUnSuccessfully</source>
<translation></translation>
</message>
<message>
<location filename="../dialog/mainwindow.cpp" line="1699"/>
<location filename="../dialog/mainwindow.cpp" line="1843"/>
<location filename="../dialog/mainwindow.cpp" line="2198"/>
<source>ChooseSaveFile</source> <source>ChooseSaveFile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1835"/> <location filename="../dialog/mainwindow.cpp" line="1741"/>
<source>FindFininish</source>
<translation></translation>
</message>
<message>
<location filename="../dialog/mainwindow.cpp" line="1853"/>
<source>SaveSelError</source> <source>SaveSelError</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1848"/> <location filename="../dialog/mainwindow.cpp" line="1866"/>
<location filename="../dialog/mainwindow.cpp" line="1973"/> <location filename="../dialog/mainwindow.cpp" line="1991"/>
<source>Addr : 0x%1</source> <source>Addr : 0x%1</source>
<translation>0x%1</translation> <translation>0x%1</translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1930"/> <location filename="../dialog/mainwindow.cpp" line="1948"/>
<source>NoSelection</source> <source>NoSelection</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="1960"/> <location filename="../dialog/mainwindow.cpp" line="1978"/>
<location filename="../dialog/mainwindow.cpp" line="1967"/> <location filename="../dialog/mainwindow.cpp" line="1985"/>
<source>InputComment</source> <source>InputComment</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="2047"/> <location filename="../dialog/mainwindow.cpp" line="2065"/>
<source>PleaseInputFill</source> <source>PleaseInputFill</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../dialog/mainwindow.cpp" line="2059"/> <location filename="../dialog/mainwindow.cpp" line="2077"/>
<source>FillInputError</source> <source>FillInputError</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@ -226,6 +226,11 @@ signals:
QStringList getSupportedEncodings(); QStringList getSupportedEncodings();
QString currentEncoding(); QString currentEncoding();
void setCurrentEncoding(QString encoding); void setCurrentEncoding(QString encoding);
// workspace
bool openWorkSpace(QString filename);
bool saveWorkSpace();
bool saveAsWorkSpace(QString filename);
}; };
#endif // HEXVIEWSHADOW_H #endif // HEXVIEWSHADOW_H

View File

@ -26,5 +26,9 @@ v1.2:
4. 增加快捷键,增强易用性 4. 增加快捷键,增强易用性
5. 修复菜单项被禁用但仍能被快捷键调用的问题 5. 修复菜单项被禁用但仍能被快捷键调用的问题
6. 修复书签在关闭窗体后缓存不清理的问题 6. 修复书签在关闭窗体后缓存不清理的问题
7. 增加保存工作区的功能,保存你的工作记录 7. 增加保存工作区的功能,保存你的工作记录(包含相应的插件接口)
8. 修复标记不能够正确删除的问题 8. 修复标记不能够正确删除的问题
9. 删除没必要的数值显示(即同时显示十进制和十六进制对应的条目)
10. 增强设置标记功能
11. 增加了一些完成操作的提示,提高易用性
12. 增加撤销、重复的状态提示,指示是否可以继续撤销和重复