mirror of
https://github.com/markdavidlong/AppleSAWS.git
synced 2024-06-09 03:29:28 +00:00
Modifying .pro files config, etc.
This commit is contained in:
parent
c4badd2137
commit
4a75cc0022
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -1,3 +1,7 @@
|
||||||
AppleSAWS.pro.user*
|
AppleSAWS.pro.user*
|
||||||
disk-images/*
|
disk-images/*
|
||||||
|
.qmake.stash
|
||||||
|
Makefile
|
||||||
|
src/Makefile*
|
||||||
|
src/debug/
|
||||||
|
src/release
|
||||||
|
|
231
AppleSAWS.pro
231
AppleSAWS.pro
|
@ -1,220 +1,11 @@
|
||||||
|
TEMPLATE = subdirs
|
||||||
QT += core gui printsupport
|
|
||||||
CONFIG += c++11
|
DEFINES -= ADS_BUILD_STATIC
|
||||||
|
|
||||||
MOC_DIR = ./.build
|
SUBDIRS = \
|
||||||
UI_DIR = ./.build
|
src \
|
||||||
OBJECTS_DIR = ./.build
|
ads
|
||||||
|
|
||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
src.depends = ads
|
||||||
|
|
||||||
TARGET = AppleSAWS
|
|
||||||
TEMPLATE = app
|
|
||||||
|
|
||||||
INCLUDEPATH += src/
|
|
||||||
INCLUDEPATH += src/relocatablefile
|
|
||||||
INCLUDEPATH += src/diskfiles
|
|
||||||
INCLUDEPATH += src/diskfiles/dos33
|
|
||||||
INCLUDEPATH += src/util
|
|
||||||
INCLUDEPATH += src/applesoftfile
|
|
||||||
INCLUDEPATH += src/intbasic
|
|
||||||
INCLUDEPATH += src/binaryfile
|
|
||||||
INCLUDEPATH += src/textfile
|
|
||||||
INCLUDEPATH += src/ui/viewers
|
|
||||||
INCLUDEPATH += src/imported
|
|
||||||
INCLUDEPATH += src/internals
|
|
||||||
INCLUDEPATH += src/ui/diskexplorer/
|
|
||||||
INCLUDEPATH += src/ui/widgets/
|
|
||||||
INCLUDEPATH += src/ui
|
|
||||||
INCLUDEPATH += src/memory
|
|
||||||
INCLUDEPATH += src/memory/roles
|
|
||||||
INCLUDEPATH += src/sequence
|
|
||||||
INCLUDEPATH += src/ui/central
|
|
||||||
|
|
||||||
|
|
||||||
include(./ads.pri)
|
|
||||||
|
|
||||||
DEFINES += WS_VIDEO
|
|
||||||
|
|
||||||
SOURCES += \
|
|
||||||
src/diskfiles/dos33/dos33disktreeview.cpp \
|
|
||||||
src/diskfiles/rawdiskimage.cpp \
|
|
||||||
src/intbasic/IntBasicFile.cxx \
|
|
||||||
src/main.cpp \
|
|
||||||
src/diskfiles/dos33/dos33diskimage.cxx \
|
|
||||||
src/diskfiles/dos33/sector.cxx \
|
|
||||||
src/diskfiles/dos33/vtoc.cxx \
|
|
||||||
src/diskfiles/dos33/catalogsector.cxx \
|
|
||||||
src/diskfiles/dos33/tracksectorlist.cxx \
|
|
||||||
src/diskfiles/dos33/filedescriptiveentry.cxx \
|
|
||||||
src/diskfiles/dos33/genericfile.cxx \
|
|
||||||
src/diskfiles/tspair.cpp \
|
|
||||||
src/diskfiles/dos33/dos33imagemodel.cpp \
|
|
||||||
src/diskfiles/dos33/dos33treeitem.cpp \
|
|
||||||
src/memory/attributedmemory.cpp \
|
|
||||||
src/memory/memorycell.cpp \
|
|
||||||
src/memory/memrole.cpp \
|
|
||||||
src/memory/roles/role_asm_opcode.cpp \
|
|
||||||
src/memory/roles/role_asm_operand.cpp \
|
|
||||||
src/sequence/sequenceevent.cpp \
|
|
||||||
src/sequence/sequenceeventlist.cpp \
|
|
||||||
src/sequence/sequenceeventlistwidget.cpp \
|
|
||||||
src/sequence/sequenceoutputview.cpp \
|
|
||||||
src/sequence/sequencetool.cpp \
|
|
||||||
src/sequence/sequencetoolbox.cpp \
|
|
||||||
src/sequence/sequenceviewer.cpp \
|
|
||||||
src/sequence/textblockuserdata.cpp \
|
|
||||||
src/ui/central/centralappwindow.cpp \
|
|
||||||
src/ui/central/mainapptoolbar.cpp \
|
|
||||||
src/ui/diskexplorer/catalogsectorview.cpp \
|
|
||||||
src/ui/diskexplorer/tslistview.cpp \
|
|
||||||
src/ui/diskexplorer/viewwidgetstack.cpp \
|
|
||||||
src/ui/diskexplorer/vtocview.cpp \
|
|
||||||
src/ui/startupdialog.cpp \
|
|
||||||
src/ui/viewers/intbasicfileviewer.cxx \
|
|
||||||
src/ui/widgets/notesdialog.cpp \
|
|
||||||
src/util/applestring.cxx \
|
|
||||||
src/applesoftfile/applesoftfile.cxx \
|
|
||||||
src/applesoftfile/applesofttoken.cxx \
|
|
||||||
src/applesoftfile/applesoftformatter.cxx \
|
|
||||||
src/binaryfile/disassembler.cxx \
|
|
||||||
src/binaryfile/binaryfile.cxx \
|
|
||||||
src/textfile/textfile.cxx \
|
|
||||||
src/ui/catalogwidget.cxx \
|
|
||||||
src/ui/viewers/hiresviewwidget.cxx \
|
|
||||||
src/ui/viewers/applesoftfileviewer.cxx \
|
|
||||||
src/ui/viewers/disassemblerviewer.cpp \
|
|
||||||
src/ui/viewers/hexdumpviewer.cpp \
|
|
||||||
src/ui/viewers/texthexdumpviewer.cpp \
|
|
||||||
src/ui/viewers/mazeviewer.cpp \
|
|
||||||
src/ui/viewers/charsetviewer.cpp \
|
|
||||||
src/relocatablefile/relocatablefile.cxx \
|
|
||||||
src/binaryfile/binaryfilemetadata.cpp \
|
|
||||||
src/util/charset.cpp \
|
|
||||||
src/ui/widgets/characterwidget.cpp \
|
|
||||||
src/ui/viewers/applesoftfiledetailviewer.cpp \
|
|
||||||
src/ui/widgets/hexconverter.cpp \
|
|
||||||
src/ui/viewers/viewerbase.cpp \
|
|
||||||
src/ui/widgets/CharacterSetExplorer.cpp \
|
|
||||||
src/ui/widgets/HiresScreenWidget.cpp \
|
|
||||||
src/ui/widgets/DisassemblerMetadataDialog.cpp \
|
|
||||||
src/binaryfile/EntryPointModel.cpp \
|
|
||||||
src/ui/widgets/LocationInfoDialog.cpp \
|
|
||||||
src/binaryfile/EntryPoints.cpp \
|
|
||||||
src/binaryfile/AssemblerSymbols.cpp \
|
|
||||||
src/binaryfile/AssemblerSymbolModel.cpp \
|
|
||||||
src/ui/diskexplorer/DiskExplorer.cpp \
|
|
||||||
src/ui/diskexplorer/DiskExplorerMapWidget.cpp \
|
|
||||||
src/applesoftfile/ApplesoftRetokenizer.cpp \
|
|
||||||
src/internals/JumpLineManager.cpp \
|
|
||||||
src/ui/widgets/FlowLineTextBrowser.cpp \
|
|
||||||
src/util/chunkbytelist.cpp \
|
|
||||||
src/util/opcodes.cpp
|
|
||||||
|
|
||||||
|
|
||||||
HEADERS += \
|
|
||||||
src/diskfiles/dos33/dos33diskimage.h \
|
|
||||||
src/diskfiles/dos33/dos33disktreeview.h \
|
|
||||||
src/diskfiles/dos33/sector.h \
|
|
||||||
src/diskfiles/dos33/vtoc.h \
|
|
||||||
src/diskfiles/dos33/catalogsector.h \
|
|
||||||
src/diskfiles/dos33/tracksectorlist.h \
|
|
||||||
src/diskfiles/dos33/filedescriptiveentry.h \
|
|
||||||
src/diskfiles/dos33/genericfile.h \
|
|
||||||
src/diskfiles/tspair.h \
|
|
||||||
src/diskfiles/dos33/dos33imagemodel.h\
|
|
||||||
src/diskfiles/dos33/dos33treeitem.h\
|
|
||||||
src/diskfiles/rawdiskimage.h \
|
|
||||||
src/intbasic/IntBasicFile.h \
|
|
||||||
src/memory/attributedmemory.h \
|
|
||||||
src/memory/memorycell.h \
|
|
||||||
src/memory/memrole.h \
|
|
||||||
src/memory/roles/role_asm_opcode.h \
|
|
||||||
src/memory/roles/role_asm_operand.h \
|
|
||||||
src/sequence/sequenceevent.h \
|
|
||||||
src/sequence/sequenceeventlist.h \
|
|
||||||
src/sequence/sequenceeventlistwidget.h \
|
|
||||||
src/sequence/sequenceoutputview.h \
|
|
||||||
src/sequence/sequencetool.h \
|
|
||||||
src/sequence/sequencetoolbox.h \
|
|
||||||
src/sequence/sequenceviewer.h \
|
|
||||||
src/sequence/textblockuserdata.h \
|
|
||||||
src/ui/central/centralappwindow.h \
|
|
||||||
src/ui/central/mainapptoolbar.h \
|
|
||||||
src/ui/diskexplorer/catalogsectorview.h \
|
|
||||||
src/ui/diskexplorer/tslistview.h \
|
|
||||||
src/ui/diskexplorer/viewwidgetstack.h \
|
|
||||||
src/ui/diskexplorer/vtocview.h \
|
|
||||||
src/ui/startupdialog.h \
|
|
||||||
src/ui/viewers/intbasicfileviewer.h \
|
|
||||||
src/ui/widgets/notesdialog.h \
|
|
||||||
src/util/chunkbytelist.h \
|
|
||||||
src/util/opcodes.h \
|
|
||||||
src/util/util.h \
|
|
||||||
src/util/applestring.h \
|
|
||||||
src/applesoftfile/applesoftfile.h \
|
|
||||||
src/applesoftfile/applesofttoken.h \
|
|
||||||
src/binaryfile/disassembler.h \
|
|
||||||
src/binaryfile/binaryfile.h \
|
|
||||||
src/textfile/textfile.h \
|
|
||||||
src/ui/catalogwidget.h \
|
|
||||||
src/ui/viewers/hiresviewwidget.h \
|
|
||||||
src/ui/viewers/applesoftfileviewer.h \
|
|
||||||
src/applesoftfile/applesoftformatter.h \
|
|
||||||
src/applesoftfile/applesoftline.h \
|
|
||||||
src/ui/viewers/disassemblerviewer.h \
|
|
||||||
src/ui/viewers/hexdumpviewer.h \
|
|
||||||
src/ui/viewers/texthexdumpviewer.h \
|
|
||||||
src/relocatablefile/relocatablefile.h \
|
|
||||||
src/ui/viewers/mazeviewer.h \
|
|
||||||
src/binaryfile/binaryfilemetadata.h \
|
|
||||||
src/ui/widgets/characterwidget.h \
|
|
||||||
src/util/charset.h \
|
|
||||||
src/ui/viewers/charsetviewer.h \
|
|
||||||
src/ui/viewers/applesoftfiledetailviewer.h \
|
|
||||||
src/ui/widgets/hexconverter.h \
|
|
||||||
src/ui/widgets/hrcgcontrolsinfo.h \
|
|
||||||
src/ui/viewers/viewerbase.h \
|
|
||||||
src/ui/viewers/fileviewerinterface.h \
|
|
||||||
src/ui/widgets/CharacterSetExplorer.h \
|
|
||||||
src/ui/widgets/HiresScreenWidget.h \
|
|
||||||
src/ui/widgets/DisassemblerMetadataDialog.h \
|
|
||||||
src/binaryfile/EntryPointModel.h \
|
|
||||||
src/ui/widgets/LocationInfoDialog.h \
|
|
||||||
src/binaryfile/EntryPoints.h \
|
|
||||||
src/binaryfile/AssemblerSymbols.h \
|
|
||||||
src/binaryfile/AssemblerSymbolModel.h \
|
|
||||||
src/binaryfile/MemoryUsageMap.h \
|
|
||||||
src/ui/diskexplorer/DiskExplorer.h \
|
|
||||||
src/ui/diskexplorer/DiskExplorerMapWidget.h \
|
|
||||||
src/applesoftfile/ApplesoftRetokenizer.h \
|
|
||||||
src/util/AppleColors.h \
|
|
||||||
src/internals/JumpLineManager.h \
|
|
||||||
src/ui/widgets/FlowLineTextBrowser.h \
|
|
||||||
src/ui/widgets/asciiinfodialog.h
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
src/sequence/sequenceviewer.ui \
|
|
||||||
src/ui/catalogwidget.ui \
|
|
||||||
src/ui/diskexplorer/catalogsectorview.ui \
|
|
||||||
src/ui/diskexplorer/vtocview.ui \
|
|
||||||
src/ui/startupdialog.ui \
|
|
||||||
src/ui/viewers/applesoftfileviewer.ui \
|
|
||||||
src/ui/viewers/disassemblerviewer.ui \
|
|
||||||
src/ui/viewers/hexdumpviewer.ui \
|
|
||||||
src/ui/viewers/intbasicfileviewer.ui \
|
|
||||||
src/ui/viewers/texthexdumpviewer.ui \
|
|
||||||
src/ui/viewers/applesoftfiledetailviewer.ui \
|
|
||||||
src/ui/widgets/hexconverter.ui \
|
|
||||||
src/ui/widgets/hrcgcontrolsinfo.ui \
|
|
||||||
src/ui/viewers/viewerbase.ui \
|
|
||||||
src/ui/widgets/CharacterSetExplorer.ui \
|
|
||||||
src/ui/widgets/DisassemblerMetadataDialog.ui \
|
|
||||||
src/ui/widgets/LocationInfoDialog.ui \
|
|
||||||
src/ui/widgets/asciiinfodialog.ui \
|
|
||||||
src/ui/widgets/notesdialog.ui
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
src/resource/resources.qrc \
|
|
||||||
src/qdarkstyle/style.qrc
|
|
||||||
|
|
|
@ -186,7 +186,6 @@ void ApplesoftFormatter::formatDocument(QTextDocument *doc)
|
||||||
|
|
||||||
} // while tokenIt.hasNext()
|
} // while tokenIt.hasNext()
|
||||||
|
|
||||||
//formattedText.append("\n");
|
|
||||||
cursor.insertBlock();
|
cursor.insertBlock();
|
||||||
|
|
||||||
} // foreach line
|
} // foreach line
|
||||||
|
|
228
src/src.pro
Normal file
228
src/src.pro
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
|
||||||
|
QT += core gui printsupport
|
||||||
|
CONFIG += c++11
|
||||||
|
|
||||||
|
MOC_DIR = ./.build
|
||||||
|
UI_DIR = ./.build
|
||||||
|
OBJECTS_DIR = ./.build
|
||||||
|
|
||||||
|
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
TARGET = AppleSAWS
|
||||||
|
TEMPLATE = app
|
||||||
|
|
||||||
|
INCLUDEPATH += ./
|
||||||
|
INCLUDEPATH += ./relocatablefile
|
||||||
|
INCLUDEPATH += ./diskfiles
|
||||||
|
INCLUDEPATH += ./diskfiles/dos33
|
||||||
|
INCLUDEPATH += ./util
|
||||||
|
INCLUDEPATH += ./applesoftfile
|
||||||
|
INCLUDEPATH += ./intbasic
|
||||||
|
INCLUDEPATH += ./binaryfile
|
||||||
|
INCLUDEPATH += ./textfile
|
||||||
|
INCLUDEPATH += ./ui/viewers
|
||||||
|
INCLUDEPATH += ./imported
|
||||||
|
INCLUDEPATH += ./internals
|
||||||
|
INCLUDEPATH += ./ui/diskexplorer/
|
||||||
|
INCLUDEPATH += ./ui/widgets/
|
||||||
|
INCLUDEPATH += ./ui
|
||||||
|
INCLUDEPATH += ./memory
|
||||||
|
INCLUDEPATH += ./memory/roles
|
||||||
|
INCLUDEPATH += ./sequence
|
||||||
|
INCLUDEPATH += ./ui/central
|
||||||
|
|
||||||
|
INCLUDEPATH += ../ads/src/
|
||||||
|
|
||||||
|
#include(./ads.pri)
|
||||||
|
|
||||||
|
DEFINES += WS_VIDEO
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
./diskfiles/dos33/dos33disktreeview.cpp \
|
||||||
|
./diskfiles/rawdiskimage.cpp \
|
||||||
|
./intbasic/IntBasicFile.cxx \
|
||||||
|
./main.cpp \
|
||||||
|
./diskfiles/dos33/dos33diskimage.cxx \
|
||||||
|
./diskfiles/dos33/sector.cxx \
|
||||||
|
./diskfiles/dos33/vtoc.cxx \
|
||||||
|
./diskfiles/dos33/catalogsector.cxx \
|
||||||
|
./diskfiles/dos33/tracksectorlist.cxx \
|
||||||
|
./diskfiles/dos33/filedescriptiveentry.cxx \
|
||||||
|
./diskfiles/dos33/genericfile.cxx \
|
||||||
|
./diskfiles/tspair.cpp \
|
||||||
|
./diskfiles/dos33/dos33imagemodel.cpp \
|
||||||
|
./diskfiles/dos33/dos33treeitem.cpp \
|
||||||
|
./memory/attributedmemory.cpp \
|
||||||
|
./memory/memorycell.cpp \
|
||||||
|
./memory/memrole.cpp \
|
||||||
|
./memory/roles/role_asm_opcode.cpp \
|
||||||
|
./memory/roles/role_asm_operand.cpp \
|
||||||
|
./sequence/sequenceevent.cpp \
|
||||||
|
./sequence/sequenceeventlist.cpp \
|
||||||
|
./sequence/sequenceeventlistwidget.cpp \
|
||||||
|
./sequence/sequenceoutputview.cpp \
|
||||||
|
./sequence/sequencetool.cpp \
|
||||||
|
./sequence/sequencetoolbox.cpp \
|
||||||
|
./sequence/sequenceviewer.cpp \
|
||||||
|
./sequence/textblockuserdata.cpp \
|
||||||
|
./ui/central/centralappwindow.cpp \
|
||||||
|
./ui/central/mainapptoolbar.cpp \
|
||||||
|
./ui/diskexplorer/catalogsectorview.cpp \
|
||||||
|
./ui/diskexplorer/tslistview.cpp \
|
||||||
|
./ui/diskexplorer/viewwidgetstack.cpp \
|
||||||
|
./ui/diskexplorer/vtocview.cpp \
|
||||||
|
./ui/startupdialog.cpp \
|
||||||
|
./ui/viewers/intbasicfileviewer.cxx \
|
||||||
|
./ui/widgets/notesdialog.cpp \
|
||||||
|
./util/applestring.cxx \
|
||||||
|
./applesoftfile/applesoftfile.cxx \
|
||||||
|
./applesoftfile/applesofttoken.cxx \
|
||||||
|
./applesoftfile/applesoftformatter.cxx \
|
||||||
|
./binaryfile/disassembler.cxx \
|
||||||
|
./binaryfile/binaryfile.cxx \
|
||||||
|
./textfile/textfile.cxx \
|
||||||
|
./ui/catalogwidget.cxx \
|
||||||
|
./ui/viewers/hiresviewwidget.cxx \
|
||||||
|
./ui/viewers/applesoftfileviewer.cxx \
|
||||||
|
./ui/viewers/disassemblerviewer.cpp \
|
||||||
|
./ui/viewers/hexdumpviewer.cpp \
|
||||||
|
./ui/viewers/texthexdumpviewer.cpp \
|
||||||
|
./ui/viewers/mazeviewer.cpp \
|
||||||
|
./ui/viewers/charsetviewer.cpp \
|
||||||
|
./relocatablefile/relocatablefile.cxx \
|
||||||
|
./binaryfile/binaryfilemetadata.cpp \
|
||||||
|
./util/charset.cpp \
|
||||||
|
./ui/widgets/characterwidget.cpp \
|
||||||
|
./ui/viewers/applesoftfiledetailviewer.cpp \
|
||||||
|
./ui/widgets/hexconverter.cpp \
|
||||||
|
./ui/viewers/viewerbase.cpp \
|
||||||
|
./ui/widgets/CharacterSetExplorer.cpp \
|
||||||
|
./ui/widgets/HiresScreenWidget.cpp \
|
||||||
|
./ui/widgets/DisassemblerMetadataDialog.cpp \
|
||||||
|
./binaryfile/EntryPointModel.cpp \
|
||||||
|
./ui/widgets/LocationInfoDialog.cpp \
|
||||||
|
./binaryfile/EntryPoints.cpp \
|
||||||
|
./binaryfile/AssemblerSymbols.cpp \
|
||||||
|
./binaryfile/AssemblerSymbolModel.cpp \
|
||||||
|
./ui/diskexplorer/DiskExplorer.cpp \
|
||||||
|
./ui/diskexplorer/DiskExplorerMapWidget.cpp \
|
||||||
|
./applesoftfile/ApplesoftRetokenizer.cpp \
|
||||||
|
./internals/JumpLineManager.cpp \
|
||||||
|
./ui/widgets/FlowLineTextBrowser.cpp \
|
||||||
|
./util/chunkbytelist.cpp \
|
||||||
|
./util/opcodes.cpp
|
||||||
|
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
./diskfiles/dos33/dos33diskimage.h \
|
||||||
|
./diskfiles/dos33/dos33disktreeview.h \
|
||||||
|
./diskfiles/dos33/sector.h \
|
||||||
|
./diskfiles/dos33/vtoc.h \
|
||||||
|
./diskfiles/dos33/catalogsector.h \
|
||||||
|
./diskfiles/dos33/tracksectorlist.h \
|
||||||
|
./diskfiles/dos33/filedescriptiveentry.h \
|
||||||
|
./diskfiles/dos33/genericfile.h \
|
||||||
|
./diskfiles/tspair.h \
|
||||||
|
./diskfiles/dos33/dos33imagemodel.h\
|
||||||
|
./diskfiles/dos33/dos33treeitem.h\
|
||||||
|
./diskfiles/rawdiskimage.h \
|
||||||
|
./intbasic/IntBasicFile.h \
|
||||||
|
./memory/attributedmemory.h \
|
||||||
|
./memory/memorycell.h \
|
||||||
|
./memory/memrole.h \
|
||||||
|
./memory/roles/role_asm_opcode.h \
|
||||||
|
./memory/roles/role_asm_operand.h \
|
||||||
|
./sequence/sequenceevent.h \
|
||||||
|
./sequence/sequenceeventlist.h \
|
||||||
|
./sequence/sequenceeventlistwidget.h \
|
||||||
|
./sequence/sequenceoutputview.h \
|
||||||
|
./sequence/sequencetool.h \
|
||||||
|
./sequence/sequencetoolbox.h \
|
||||||
|
./sequence/sequenceviewer.h \
|
||||||
|
./sequence/textblockuserdata.h \
|
||||||
|
./ui/central/centralappwindow.h \
|
||||||
|
./ui/central/mainapptoolbar.h \
|
||||||
|
./ui/diskexplorer/catalogsectorview.h \
|
||||||
|
./ui/diskexplorer/tslistview.h \
|
||||||
|
./ui/diskexplorer/viewwidgetstack.h \
|
||||||
|
./ui/diskexplorer/vtocview.h \
|
||||||
|
./ui/startupdialog.h \
|
||||||
|
./ui/viewers/intbasicfileviewer.h \
|
||||||
|
./ui/widgets/notesdialog.h \
|
||||||
|
./util/chunkbytelist.h \
|
||||||
|
./util/opcodes.h \
|
||||||
|
./util/util.h \
|
||||||
|
./util/applestring.h \
|
||||||
|
./applesoftfile/applesoftfile.h \
|
||||||
|
./applesoftfile/applesofttoken.h \
|
||||||
|
./binaryfile/disassembler.h \
|
||||||
|
./binaryfile/binaryfile.h \
|
||||||
|
./textfile/textfile.h \
|
||||||
|
./ui/catalogwidget.h \
|
||||||
|
./ui/viewers/hiresviewwidget.h \
|
||||||
|
./ui/viewers/applesoftfileviewer.h \
|
||||||
|
./applesoftfile/applesoftformatter.h \
|
||||||
|
./applesoftfile/applesoftline.h \
|
||||||
|
./ui/viewers/disassemblerviewer.h \
|
||||||
|
./ui/viewers/hexdumpviewer.h \
|
||||||
|
./ui/viewers/texthexdumpviewer.h \
|
||||||
|
./relocatablefile/relocatablefile.h \
|
||||||
|
./ui/viewers/mazeviewer.h \
|
||||||
|
./binaryfile/binaryfilemetadata.h \
|
||||||
|
./ui/widgets/characterwidget.h \
|
||||||
|
./util/charset.h \
|
||||||
|
./ui/viewers/charsetviewer.h \
|
||||||
|
./ui/viewers/applesoftfiledetailviewer.h \
|
||||||
|
./ui/widgets/hexconverter.h \
|
||||||
|
./ui/widgets/hrcgcontrolsinfo.h \
|
||||||
|
./ui/viewers/viewerbase.h \
|
||||||
|
./ui/viewers/fileviewerinterface.h \
|
||||||
|
./ui/widgets/CharacterSetExplorer.h \
|
||||||
|
./ui/widgets/HiresScreenWidget.h \
|
||||||
|
./ui/widgets/DisassemblerMetadataDialog.h \
|
||||||
|
./binaryfile/EntryPointModel.h \
|
||||||
|
./ui/widgets/LocationInfoDialog.h \
|
||||||
|
./binaryfile/EntryPoints.h \
|
||||||
|
./binaryfile/AssemblerSymbols.h \
|
||||||
|
./binaryfile/AssemblerSymbolModel.h \
|
||||||
|
./binaryfile/MemoryUsageMap.h \
|
||||||
|
./ui/diskexplorer/DiskExplorer.h \
|
||||||
|
./ui/diskexplorer/DiskExplorerMapWidget.h \
|
||||||
|
./applesoftfile/ApplesoftRetokenizer.h \
|
||||||
|
./util/AppleColors.h \
|
||||||
|
./internals/JumpLineManager.h \
|
||||||
|
./ui/widgets/FlowLineTextBrowser.h \
|
||||||
|
./ui/widgets/asciiinfodialog.h
|
||||||
|
|
||||||
|
FORMS += \
|
||||||
|
./sequence/sequenceviewer.ui \
|
||||||
|
./ui/catalogwidget.ui \
|
||||||
|
./ui/diskexplorer/catalogsectorview.ui \
|
||||||
|
./ui/diskexplorer/vtocview.ui \
|
||||||
|
./ui/startupdialog.ui \
|
||||||
|
./ui/viewers/applesoftfileviewer.ui \
|
||||||
|
./ui/viewers/disassemblerviewer.ui \
|
||||||
|
./ui/viewers/hexdumpviewer.ui \
|
||||||
|
./ui/viewers/intbasicfileviewer.ui \
|
||||||
|
./ui/viewers/texthexdumpviewer.ui \
|
||||||
|
./ui/viewers/applesoftfiledetailviewer.ui \
|
||||||
|
./ui/widgets/hexconverter.ui \
|
||||||
|
./ui/widgets/hrcgcontrolsinfo.ui \
|
||||||
|
./ui/viewers/viewerbase.ui \
|
||||||
|
./ui/widgets/CharacterSetExplorer.ui \
|
||||||
|
./ui/widgets/DisassemblerMetadataDialog.ui \
|
||||||
|
./ui/widgets/LocationInfoDialog.ui \
|
||||||
|
./ui/widgets/asciiinfodialog.ui \
|
||||||
|
./ui/widgets/notesdialog.ui
|
||||||
|
|
||||||
|
RESOURCES += \
|
||||||
|
./resource/resources.qrc \
|
||||||
|
./qdarkstyle/style.qrc
|
||||||
|
|
||||||
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../ads/lib/ -lqtadvanceddockingd
|
||||||
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../ads/lib/ -lqtadvanceddockingd
|
||||||
|
else:unix: LIBS += -L$$OUT_PWD/../ads/src/ -lqtadvanceddockingd
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PWD/../ads/src
|
||||||
|
DEPENDPATH += $$PWD/../ads/src
|
|
@ -74,10 +74,6 @@ void CentralAppWindow::createActions()
|
||||||
// connect(m_reference_action, &QAction::triggered,
|
// connect(m_reference_action, &QAction::triggered,
|
||||||
// qApp, &QApplication::xxxxxx);
|
// qApp, &QApplication::xxxxxx);
|
||||||
|
|
||||||
m_utils_action = new QAction(QIcon(":/images/redblob.png"),tr("&Utils"));
|
|
||||||
m_utils_action->setCheckable(true);
|
|
||||||
// connect(m_reference_action, &QAction::triggered,
|
|
||||||
// qApp, &QApplication::xxxxxx);
|
|
||||||
|
|
||||||
m_image_lib_action = new QAction(QIcon(":/images/redblob.png"),tr("&Disk Image\nLibrary"));
|
m_image_lib_action = new QAction(QIcon(":/images/redblob.png"),tr("&Disk Image\nLibrary"));
|
||||||
m_image_lib_action->setCheckable(true);
|
m_image_lib_action->setCheckable(true);
|
||||||
|
@ -96,7 +92,6 @@ void CentralAppWindow::createActions()
|
||||||
|
|
||||||
m_tool_action_group = new QActionGroup(this);
|
m_tool_action_group = new QActionGroup(this);
|
||||||
m_tool_action_group->addAction(m_reference_action);
|
m_tool_action_group->addAction(m_reference_action);
|
||||||
m_tool_action_group->addAction(m_utils_action);
|
|
||||||
m_tool_action_group->addAction(m_image_lib_action);
|
m_tool_action_group->addAction(m_image_lib_action);
|
||||||
m_tool_action_group->addAction(m_disk_explorer_action);
|
m_tool_action_group->addAction(m_disk_explorer_action);
|
||||||
m_tool_action_group->addAction(m_projects_action);
|
m_tool_action_group->addAction(m_projects_action);
|
||||||
|
@ -112,6 +107,8 @@ void CentralAppWindow::initMenuBar()
|
||||||
auto filemenu = menuBar()->addMenu(tr("&File"));
|
auto filemenu = menuBar()->addMenu(tr("&File"));
|
||||||
filemenu->addAction(m_quitAction);
|
filemenu->addAction(m_quitAction);
|
||||||
|
|
||||||
|
|
||||||
|
auto toolsmenu = menuBar()->addMenu(tr("&Tools"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CentralAppWindow::initStatusBar()
|
void CentralAppWindow::initStatusBar()
|
||||||
|
@ -126,27 +123,22 @@ void CentralAppWindow::initToolBars()
|
||||||
m_mainToolBar->setIconSize(QSize(64,64));
|
m_mainToolBar->setIconSize(QSize(64,64));
|
||||||
m_mainToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
m_mainToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
||||||
m_mainToolBar->setFont(QFont("Ariel",14));
|
m_mainToolBar->setFont(QFont("Ariel",14));
|
||||||
// m_mainToolBar->addAction(m_quitAction);
|
|
||||||
|
|
||||||
m_mainToolBar->addAction(m_reference_action);
|
m_mainToolBar->addAction(m_reference_action);
|
||||||
m_mainToolBar->addAction(m_utils_action);
|
m_mainToolBar->addSeparator();
|
||||||
m_mainToolBar->addAction(m_image_lib_action);
|
m_mainToolBar->addAction(m_image_lib_action);
|
||||||
m_mainToolBar->addAction(m_disk_explorer_action);
|
m_mainToolBar->addAction(m_disk_explorer_action);
|
||||||
m_mainToolBar->addAction(m_projects_action);
|
m_mainToolBar->addAction(m_projects_action);
|
||||||
|
|
||||||
addToolBar(Qt::LeftToolBarArea, m_mainToolBar);
|
addToolBar(Qt::LeftToolBarArea, m_mainToolBar);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CentralAppWindow::initDockWidgets()
|
void CentralAppWindow::initDockWidgets()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
m_directory_area = new Dos33DiskTreeView();
|
m_directory_area = new Dos33DiskTreeView();
|
||||||
m_directory_area->setFont(QFont("Pr Number 3", 12));
|
m_directory_area->setFont(QFont("Pr Number 3", 12));
|
||||||
m_directory_area->setMinimumSize(300,200);
|
m_directory_area->setMinimumSize(300,200);
|
||||||
|
|
||||||
|
|
||||||
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
|
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
|
||||||
|
|
||||||
auto model = new Dos33ImageModel();
|
auto model = new Dos33ImageModel();
|
||||||
|
@ -155,19 +147,14 @@ void CentralAppWindow::initDockWidgets()
|
||||||
img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/dos.3.3.system.master.dsk");
|
img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/dos.3.3.system.master.dsk");
|
||||||
model->addDiskImage(img);
|
model->addDiskImage(img);
|
||||||
|
|
||||||
img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/Print Shop Companion - Side 1.dsk");
|
|
||||||
model->addDiskImage(img);
|
|
||||||
m_directory_area->setModel(model);
|
m_directory_area->setModel(model);
|
||||||
|
|
||||||
|
|
||||||
auto DiskImageDockWidget = new CDockWidget("Disk Images");
|
auto DiskImageDockWidget = new CDockWidget("Disk Images");
|
||||||
DiskImageDockWidget->setWidget(m_directory_area);
|
DiskImageDockWidget->setWidget(m_directory_area);
|
||||||
DiskImageDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
DiskImageDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
||||||
DiskImageDockWidget->resize(250, 150);
|
DiskImageDockWidget->resize(250, 150);
|
||||||
DiskImageDockWidget->setMinimumSize(200,150);
|
DiskImageDockWidget->setMinimumSize(200,150);
|
||||||
auto DiskImageWidgetArea = DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, DiskImageDockWidget);
|
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, DiskImageDockWidget);
|
||||||
//DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, TableDockWidget, TableArea);
|
|
||||||
// ui->menuView->addAction(TableDockWidget->toggleViewAction());
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -181,10 +168,7 @@ void CentralAppWindow::initDockWidgets()
|
||||||
SequenceDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
SequenceDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
||||||
SequenceDockWidget->resize(250, 150);
|
SequenceDockWidget->resize(250, 150);
|
||||||
SequenceDockWidget->setMinimumSize(200,150);
|
SequenceDockWidget->setMinimumSize(200,150);
|
||||||
auto SequenceWidgetArea = DockManager->addDockWidget(DockWidgetArea::RightDockWidgetArea, SequenceDockWidget);
|
DockManager->addDockWidget(DockWidgetArea::RightDockWidgetArea, SequenceDockWidget);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,8 +189,7 @@ void CentralAppWindow::initCentralWidget()
|
||||||
|
|
||||||
CentralDockWidget = new CDockWidget("CentralWidget");
|
CentralDockWidget = new CDockWidget("CentralWidget");
|
||||||
CentralDockWidget->setWidget(m_central_stack);
|
CentralDockWidget->setWidget(m_central_stack);
|
||||||
// CentralDockWidget->setFeature(CDockWidget::NoTab,true);
|
DockManager->setCentralWidget(CentralDockWidget);
|
||||||
m_central_dock_area = DockManager->setCentralWidget(CentralDockWidget);
|
|
||||||
|
|
||||||
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
|
Dos33DiskImage *img = new Dos33DiskImage("c:/develop/git/AppleSAWS/disk-images/ApplesoftToolkit.dsk");
|
||||||
auto dew = new DiskExplorerMapWidget(img->tracks(),img->sectorsPerTrack());
|
auto dew = new DiskExplorerMapWidget(img->tracks(),img->sectorsPerTrack());
|
||||||
|
@ -215,17 +198,16 @@ void CentralAppWindow::initCentralWidget()
|
||||||
|
|
||||||
auto VWSDockWidget = new CDockWidget("Sector Contents");
|
auto VWSDockWidget = new CDockWidget("Sector Contents");
|
||||||
VWSDockWidget->setWidget(dew->generateViewWidgetStack());
|
VWSDockWidget->setWidget(dew->generateViewWidgetStack());
|
||||||
auto VWSWidgetArea = DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, VWSDockWidget);
|
DockManager->addDockWidget(DockWidgetArea::BottomDockWidgetArea, VWSDockWidget);
|
||||||
|
|
||||||
auto KeyDockWidget = new CDockWidget("Key");
|
auto KeyDockWidget = new CDockWidget("Key");
|
||||||
auto keywidget = dew->makeKeyWidget();
|
auto keywidget = dew->makeKeyWidget();
|
||||||
keywidget->setMaximumWidth(240);
|
keywidget->setMaximumWidth(240);
|
||||||
KeyDockWidget->setWidget(keywidget);
|
KeyDockWidget->setWidget(keywidget);
|
||||||
KeyDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
KeyDockWidget->setMinimumSizeHintMode(CDockWidget::MinimumSizeHintFromDockWidget);
|
||||||
// KeyDockWidget->resize(250, 150);
|
|
||||||
// KeyDockWidget->setMinimumSize(200,150);
|
|
||||||
auto DiskImageWidgetArea =
|
|
||||||
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea, KeyDockWidget, m_central_dock_area);
|
|
||||||
|
|
||||||
|
DockManager->addDockWidget(DockWidgetArea::LeftDockWidgetArea,
|
||||||
|
KeyDockWidget,
|
||||||
|
DockManager->centralWidget()->dockAreaWidget());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,6 @@ private:
|
||||||
private:
|
private:
|
||||||
QAction *m_quitAction;
|
QAction *m_quitAction;
|
||||||
QAction *m_reference_action;
|
QAction *m_reference_action;
|
||||||
QAction *m_utils_action;
|
|
||||||
QAction *m_image_lib_action;
|
QAction *m_image_lib_action;
|
||||||
QAction *m_disk_explorer_action;
|
QAction *m_disk_explorer_action;
|
||||||
QAction *m_projects_action;
|
QAction *m_projects_action;
|
||||||
|
@ -69,9 +68,10 @@ private:
|
||||||
|
|
||||||
ads::CDockManager *DockManager;
|
ads::CDockManager *DockManager;
|
||||||
ads::CDockWidget *CentralDockWidget;
|
ads::CDockWidget *CentralDockWidget;
|
||||||
ads::CDockAreaWidget *m_central_dock_area;
|
|
||||||
|
|
||||||
QStackedWidget *m_central_stack;
|
QStackedWidget *m_central_stack;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CENTRALAPPWINDOW_H
|
#endif // CENTRALAPPWINDOW_H
|
||||||
|
|
|
@ -43,7 +43,7 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
|
||||||
setWindowTitle("Disk Explorer");
|
setWindowTitle("Disk Explorer");
|
||||||
|
|
||||||
QGridLayout *gridlayout = new QGridLayout(this);
|
QGridLayout *gridlayout = new QGridLayout(this);
|
||||||
gridlayout->setSizeConstraint(QLayout::SetMinimumSize);
|
// gridlayout->setSizeConstraint(QLayout::SetMinimumSize);
|
||||||
gridlayout->setHorizontalSpacing(1);
|
gridlayout->setHorizontalSpacing(1);
|
||||||
gridlayout->setVerticalSpacing(1);
|
gridlayout->setVerticalSpacing(1);
|
||||||
|
|
||||||
|
@ -52,16 +52,20 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
|
||||||
m_bgroup = new QButtonGroup(this);
|
m_bgroup = new QButtonGroup(this);
|
||||||
|
|
||||||
QLabel *tracklabel = new QLabel("Track",this);
|
QLabel *tracklabel = new QLabel("Track",this);
|
||||||
|
tracklabel->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
|
||||||
|
|
||||||
gridlayout->addWidget(tracklabel,0,0,1,m_numtracks+1,Qt::AlignHCenter);
|
gridlayout->addWidget(tracklabel,0,0,1,m_numtracks+1,Qt::AlignHCenter);
|
||||||
for (int track= 0; track < numtracks; track++)
|
for (int track= 0; track < numtracks; track++)
|
||||||
{
|
{
|
||||||
QLabel *label = new QLabel(QString("%1").arg(track,2,10,QChar('0')));
|
QLabel *label = new QLabel(QString("%1").arg(track,2,10,QChar('0')));
|
||||||
|
label->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
|
||||||
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
||||||
gridlayout->addWidget(label,1,track+1);
|
gridlayout->addWidget(label,1,track+1);
|
||||||
}
|
}
|
||||||
for (int sec = 0; sec < numsectors; sec++)
|
for (int sec = 0; sec < numsectors; sec++)
|
||||||
{
|
{
|
||||||
QLabel *label = new QLabel(QString("Sec %1").arg(sec));
|
QLabel *label = new QLabel(QString("Sec %1").arg(sec));
|
||||||
|
label->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed));
|
||||||
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
||||||
gridlayout->addWidget(label,sec+2,0);
|
gridlayout->addWidget(label,sec+2,0);
|
||||||
}
|
}
|
||||||
|
@ -70,6 +74,7 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
|
||||||
for (int sec = 0; sec < 16; sec++)
|
for (int sec = 0; sec < 16; sec++)
|
||||||
{
|
{
|
||||||
DEButton *tb = new DEButton(this,track,sec);
|
DEButton *tb = new DEButton(this,track,sec);
|
||||||
|
|
||||||
tb->setObjectName(QString("BtnT%1S%2").arg(track).arg(sec));
|
tb->setObjectName(QString("BtnT%1S%2").arg(track).arg(sec));
|
||||||
tb->setBgColor(m_defaultColor);
|
tb->setBgColor(m_defaultColor);
|
||||||
tb->setCheckable(true);
|
tb->setCheckable(true);
|
||||||
|
@ -82,9 +87,20 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid
|
||||||
gridlayout->addWidget(tb,sec+2,track+1);
|
gridlayout->addWidget(tb,sec+2,track+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gridlayout->addWidget(new QLabel(""),18,0,1,5); // Stretchy Row
|
|
||||||
gridlayout->setRowStretch(18,900);
|
|
||||||
|
|
||||||
|
gridlayout->addWidget(new QLabel(""),18,0,1,5); // Stretchy Row
|
||||||
|
// gridlayout->setRowStretch(18,900);
|
||||||
|
|
||||||
|
for (auto rownum = 0; rownum < gridlayout->rowCount(); rownum++)
|
||||||
|
{
|
||||||
|
gridlayout->setRowStretch(rownum,1);
|
||||||
|
}
|
||||||
|
gridlayout->setRowStretch(gridlayout->rowCount()-1, 5000);
|
||||||
|
|
||||||
|
for (auto colnum= 0; colnum < gridlayout->columnCount(); colnum++)
|
||||||
|
{
|
||||||
|
gridlayout->setColumnStretch(colnum,1);
|
||||||
|
}
|
||||||
|
|
||||||
makeStatusWidget();
|
makeStatusWidget();
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,9 @@ public:
|
||||||
setSector(sec);
|
setSector(sec);
|
||||||
connect(this, &DEButton::clicked, this, &DEButton::handleClick);
|
connect(this, &DEButton::clicked, this, &DEButton::handleClick);
|
||||||
m_isHighlighted = false;
|
m_isHighlighted = false;
|
||||||
|
setSizePolicy(
|
||||||
|
QSizePolicy(QSizePolicy::MinimumExpanding,
|
||||||
|
QSizePolicy::Minimum));
|
||||||
}
|
}
|
||||||
|
|
||||||
void setTrack(int track) { m_track = track; }
|
void setTrack(int track) { m_track = track; }
|
||||||
|
@ -98,8 +101,9 @@ private slots:
|
||||||
emit checked(m_track,m_sector,isChecked);
|
emit checked(m_track,m_sector,isChecked);
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize minimumSizeHint() const Q_DECL_OVERRIDE { return QSize(12,12); }
|
public:
|
||||||
QSize sizeHint() const Q_DECL_OVERRIDE { return QSize(24,24); }
|
QSize minimumSizeHint() const Q_DECL_OVERRIDE { return QSize(14,14); }
|
||||||
|
QSize sizeHint() const Q_DECL_OVERRIDE { return QSize(14,14); }
|
||||||
bool hasHeightForWidth() const Q_DECL_OVERRIDE { return true; }
|
bool hasHeightForWidth() const Q_DECL_OVERRIDE { return true; }
|
||||||
int heightForWidth(int width) const Q_DECL_OVERRIDE { return width; }
|
int heightForWidth(int width) const Q_DECL_OVERRIDE { return width; }
|
||||||
|
|
||||||
|
|
|
@ -79,10 +79,9 @@ void ViewWidgetStack::makeWidgets()
|
||||||
setCurrentWidget(m_hdv);
|
setCurrentWidget(m_hdv);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewWidgetStack::handleShowSectorData(Sector *data, int track,
|
void ViewWidgetStack::handleShowSectorData(Sector *data, int /*track*/,
|
||||||
int sector, DiskSectorRole role)
|
int /*sector*/, DiskSectorRole role)
|
||||||
{
|
{
|
||||||
|
|
||||||
ViewWidgetStack::PreferredViewer viewer =
|
ViewWidgetStack::PreferredViewer viewer =
|
||||||
ViewWidgetStack::PreferredViewer::DontCare;
|
ViewWidgetStack::PreferredViewer::DontCare;
|
||||||
|
|
||||||
|
|
|
@ -18,15 +18,17 @@
|
||||||
|
|
||||||
#include "hexdumpviewer.h"
|
#include "hexdumpviewer.h"
|
||||||
#include "ui_hexdumpviewer.h"
|
#include "ui_hexdumpviewer.h"
|
||||||
|
#include "applestring.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QFontDialog>
|
#include <QFontDialog>
|
||||||
#include "applestring.h"
|
|
||||||
#include <QChar>
|
#include <QChar>
|
||||||
|
#include <QTextCursor>
|
||||||
|
|
||||||
HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
|
HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
|
||||||
FileViewerInterface(parent),
|
FileViewerInterface(parent),
|
||||||
|
@ -34,15 +36,15 @@ HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
|
||||||
{
|
{
|
||||||
m_defaultFontSize = defaultFontSize;
|
m_defaultFontSize = defaultFontSize;
|
||||||
QFont textAreaFont;
|
QFont textAreaFont;
|
||||||
textAreaFont.setStyleHint(QFont::Monospace);
|
// textAreaFont.setStyleHint(QFont::Monospace);
|
||||||
|
|
||||||
if (defaultFontSize > 0) { textAreaFont.setPointSize(10); }
|
// if (defaultFontSize > 0) { textAreaFont.setPointSize(10); }
|
||||||
|
|
||||||
m_file = Q_NULLPTR;
|
m_file = Q_NULLPTR;
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
setTextFont(fontFromSettings("HexDumpViewer.textFont", textAreaFont),
|
// setTextFont(fontFromSettings("HexDumpViewer.textFont", textAreaFont),
|
||||||
defaultFontSize);
|
// defaultFontSize);
|
||||||
m_offset = 0;
|
m_offset = 0;
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,7 +53,7 @@ HexDumpViewer::HexDumpViewer(QWidget *parent, int defaultFontSize) :
|
||||||
setWindowTitle(title);
|
setWindowTitle(title);
|
||||||
|
|
||||||
QSettings settings;
|
QSettings settings;
|
||||||
toggleWordWrap(settings.value("HexViewer.WordWrap",true).toBool());
|
// toggleWordWrap(settings.value("HexViewer.WordWrap",true).toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
HexDumpViewer::~HexDumpViewer()
|
HexDumpViewer::~HexDumpViewer()
|
||||||
|
@ -79,76 +81,84 @@ void HexDumpViewer::showHexAndAsciiValues()
|
||||||
{
|
{
|
||||||
int offset = ui->textArea->verticalScrollBar()->value();
|
int offset = ui->textArea->verticalScrollBar()->value();
|
||||||
|
|
||||||
QStringList lines;
|
ui->textArea->clear();
|
||||||
|
|
||||||
|
auto doc = ui->textArea->document();
|
||||||
|
auto cursor = new QTextCursor(doc);
|
||||||
|
|
||||||
|
QTextCharFormat text40;
|
||||||
|
text40.setFontFamily("Print Char 21");
|
||||||
|
QTextCharFormat text80;
|
||||||
|
text80.setFontFamily("Pr Number 3");
|
||||||
|
|
||||||
|
|
||||||
//TODO: Align text from x00 to xFF. Currently it will start with whatever the offset is.
|
//TODO: Align text from x00 to xFF. Currently it will start with whatever the offset is.
|
||||||
|
|
||||||
quint16 addr = m_offset;
|
|
||||||
for (int idx = 0; idx <= m_data.count()/16; idx++) {
|
for (int idx = 0; idx <= m_data.count()/16; idx++) {
|
||||||
|
if ((idx*16) >= m_data.count()) { break; }
|
||||||
|
|
||||||
|
cursor->setCharFormat(text80);
|
||||||
QString line = QString("(%1) %2: ")
|
QString line = QString("(%1) %2: ")
|
||||||
.arg(m_offset+(idx*16),4,10,QChar('0'))
|
.arg(m_offset+(idx*16),4,10,QChar('0'))
|
||||||
.arg(m_offset+(idx*16),4,16,QChar('0'));
|
.arg(m_offset+(idx*16),4,16,QChar('0'));
|
||||||
QString asciiline;
|
cursor->insertText(line);
|
||||||
|
|
||||||
|
int posHandled = 0;
|
||||||
for (int jdx = (idx*16); jdx < (idx*16)+16; jdx++) {
|
for (int jdx = (idx*16); jdx < (idx*16)+16; jdx++) {
|
||||||
addr++;
|
|
||||||
if (jdx < m_data.count()) {
|
if (jdx < m_data.count()) {
|
||||||
asciiline += valToAppleAscii(m_data[jdx]);
|
posHandled++;
|
||||||
|
cursor->setCharFormat(text80);
|
||||||
|
cursor->insertText(" ");
|
||||||
|
|
||||||
line += QString(" %1").arg((quint8) m_data[jdx],2,16,QChar('0'));
|
cursor->insertText(
|
||||||
}
|
QString("%1")
|
||||||
}
|
.arg((quint8) m_data[jdx],2,16,QChar('0')).toUpper());
|
||||||
|
if (posHandled == 8)
|
||||||
if (line.length() > 14) {
|
|
||||||
int diff = (62 - line.length());
|
|
||||||
if (diff < 0) { diff = 0; }
|
|
||||||
if (diff>0) {
|
|
||||||
for (int pdx = 0; pdx < diff; pdx++)
|
|
||||||
{
|
{
|
||||||
line.append(" ");
|
cursor->setCharFormat(text80);
|
||||||
|
cursor->insertText(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lines.append(line + "  " + asciiline);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int pos = posHandled; pos < 16; pos++)
|
||||||
|
cursor->insertText(" ");
|
||||||
|
|
||||||
|
cursor->setCharFormat(text40);
|
||||||
|
cursor->insertText(" ");
|
||||||
|
|
||||||
|
posHandled = 0;
|
||||||
|
for (int jdx = (idx*16); jdx < (idx*16)+16; jdx++) {
|
||||||
|
if (jdx < m_data.count()) {
|
||||||
|
posHandled++;
|
||||||
|
auto colorformat = text40;
|
||||||
|
if (AppleChar::getAttribute(m_data[jdx]) == TextAttribute::Flash)
|
||||||
|
{
|
||||||
|
colorformat.setBackground(QColor(Qt::lightGray));
|
||||||
|
colorformat.setForeground(QColor(Qt::darkBlue));
|
||||||
|
}
|
||||||
|
else if ((unsigned char) m_data[jdx] >= 0x80 &&
|
||||||
|
(unsigned char) m_data[jdx] < 0x80+0x20)
|
||||||
|
{
|
||||||
|
colorformat.setForeground(QColor(Qt::black));
|
||||||
|
colorformat.setBackground(QColor(Qt::green).lighter());
|
||||||
|
}
|
||||||
|
cursor->setCharFormat(colorformat);
|
||||||
|
cursor->insertText(AppleChar::getAppleFontChar(m_data[jdx]));
|
||||||
|
// if (posHandled == 8) {
|
||||||
|
// cursor->setCharFormat(text80);
|
||||||
|
// cursor->insertText(" ");
|
||||||
|
// cursor->setCharFormat(text40);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cursor->insertText("\n");
|
||||||
}
|
}
|
||||||
setText(qPrintable(lines.join("<br>").toUpper()));
|
|
||||||
ui->textArea->verticalScrollBar()->setValue(offset);
|
ui->textArea->verticalScrollBar()->setValue(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString HexDumpViewer::valToAppleAscii(quint8 val)
|
|
||||||
{
|
|
||||||
|
|
||||||
// typedef enum {
|
|
||||||
// Inverse,
|
|
||||||
// Flash,
|
|
||||||
// Normal,
|
|
||||||
// AltUC
|
|
||||||
// } Zone;
|
|
||||||
|
|
||||||
TextAttribute attribute = AppleChar::getAttribute(val);
|
|
||||||
QString charval = AppleChar::printable(val);
|
|
||||||
if (val == 0xff) { charval = "?"; } // QChar(0x25a0); }
|
|
||||||
|
|
||||||
// if (val <= 0x1F) { val += 0x40; charval = QString("%1").arg(QChar(val)); zone = Inverse; } //INV UC
|
|
||||||
// else if (val <= 0x3F) { charval = QString("%1").arg(QChar(val)); zone = Inverse; } // INV SP
|
|
||||||
// else if (val <= 0x5F) { charval = QString("%1").arg(QChar(val)); zone = Flash; } // FL UC
|
|
||||||
// else if (val <= 0x7F) { val -= 0x40; charval = QString("%1").arg(QChar(val)); zone = Flash; } // FL SP
|
|
||||||
// else if (val <= 0x9F) { val -= 0x40; charval = QString("%1").arg(QChar(val)); zone = AltUC; } // NORMx UC
|
|
||||||
// else if (val <= 0xBF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM SP
|
|
||||||
// else if (val <= 0xDF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM UC
|
|
||||||
// else if (val < 0xFF) { val -= 0x80; charval = QString("%1").arg(QChar(val)); zone = Normal; } // NORM LC
|
|
||||||
// else /* (val == 0xFF)*/ { charval = QString("\u25a0"); zone = Normal; }
|
|
||||||
|
|
||||||
QString htmlstr = charval.toHtmlEscaped();
|
|
||||||
|
|
||||||
QString retval;
|
|
||||||
if (attribute == TextAttribute::Inverse) { retval = QString("<font color=\"blue\"><b>%1</b></font>").arg(htmlstr); }
|
|
||||||
else if (attribute == TextAttribute::Flash) { retval = QString("<font color=\"green\"><b><i>%1</i></b></font>").arg(htmlstr);}
|
|
||||||
else if (attribute == TextAttribute::NormalLow) { retval = QString("<font color=\"red\"><i>%1</i></font>").arg(htmlstr);}
|
|
||||||
else { retval = QString("%1").arg(htmlstr);}
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
void HexDumpViewer::setFile(GenericFile *file, quint16 offset)
|
void HexDumpViewer::setFile(GenericFile *file, quint16 offset)
|
||||||
{
|
{
|
||||||
|
@ -170,49 +180,11 @@ void HexDumpViewer::setRawData(QByteArray data, quint16 offset)
|
||||||
showHexAndAsciiValues();
|
showHexAndAsciiValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HexDumpViewer::optionsMenuItems(QMenu *menu)
|
bool HexDumpViewer::optionsMenuItems(QMenu * /*menu*/)
|
||||||
{
|
{
|
||||||
QSettings settings;
|
return false;
|
||||||
|
|
||||||
QAction *action = new QAction("&Word Wrap");
|
|
||||||
action->setCheckable(true);
|
|
||||||
action->setChecked(settings.value("HexViewer.WordWrap",true).toBool());
|
|
||||||
connect(action, &QAction::toggled,
|
|
||||||
this, &HexDumpViewer::toggleWordWrap);
|
|
||||||
menu->addAction(action);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
if (m_setFontAction) {
|
|
||||||
m_setFontAction = new QAction("Set &Font...");
|
|
||||||
}
|
|
||||||
menu->addAction(m_setFontAction);
|
|
||||||
|
|
||||||
connect(m_setFontAction, &QAction::triggered,
|
|
||||||
this, [this] {
|
|
||||||
bool ok;
|
|
||||||
QFont font = QFontDialog::getFont(&ok,
|
|
||||||
ui->textArea->font(),
|
|
||||||
this, "Set Font",
|
|
||||||
QFontDialog::MonospacedFonts);
|
|
||||||
if (ok) {
|
|
||||||
setTextFont(font);
|
|
||||||
fontToSettings("HexDumpViewer.textFont", font);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void HexDumpViewer::setTextFont(const QFont &font, int forcedFontSize)
|
|
||||||
{
|
|
||||||
QFont myfont = font;
|
|
||||||
if (forcedFontSize > 0) { myfont.setPointSize(forcedFontSize); }
|
|
||||||
// qDebug() << "######################### Setting text font size " << myfont.pointSize();
|
|
||||||
ui->textArea->setFont(myfont);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void HexDumpViewer::setData(QByteArray data)
|
void HexDumpViewer::setData(QByteArray data)
|
||||||
{
|
{
|
||||||
|
@ -242,28 +214,4 @@ void HexDumpViewer::doPrint()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool HexDumpViewer::canExport() const { return true; }
|
|
||||||
|
|
||||||
void HexDumpViewer::doExport()
|
|
||||||
{
|
|
||||||
QString defaultPath = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
|
|
||||||
QDir savename = QDir(defaultPath).filePath(m_file->filename()+".txt");
|
|
||||||
|
|
||||||
QString saveName = QFileDialog::getSaveFileName(this,
|
|
||||||
tr("Export Hex Dump"), savename.path(), tr("Text Files (*.txt)"));
|
|
||||||
|
|
||||||
if (saveName == "") return; // User cancelled
|
|
||||||
|
|
||||||
qDebug() << "Set filename: " << saveName;
|
|
||||||
|
|
||||||
QFile saveFile(saveName);
|
|
||||||
if (!saveFile.open(QIODevice::WriteOnly | QIODevice::Text))
|
|
||||||
{
|
|
||||||
QMessageBox::warning(this,"Save Error","Could not save "+saveName);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
QTextStream out(&saveFile);
|
|
||||||
out << ui->textArea->document()->toPlainText();
|
|
||||||
saveFile.close();
|
|
||||||
}
|
|
||||||
|
|
|
@ -45,23 +45,17 @@ public:
|
||||||
virtual bool optionsMenuItems(QMenu *menu);
|
virtual bool optionsMenuItems(QMenu *menu);
|
||||||
|
|
||||||
bool canPrint() const;
|
bool canPrint() const;
|
||||||
bool canExport() const;
|
bool canExport() const { return false; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void showHexAndAsciiValues();
|
void showHexAndAsciiValues();
|
||||||
void toggleWordWrap(bool enabled);
|
void toggleWordWrap(bool enabled);
|
||||||
void doPrint();
|
void doPrint();
|
||||||
void doExport();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void setTextFont(const QFont &font, int forcedFontSize = -1);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setText(QString text);
|
void setText(QString text);
|
||||||
void setData(QByteArray data);
|
void setData(QByteArray data);
|
||||||
QString valToAppleAscii(quint8 val);
|
|
||||||
|
|
||||||
QAction *m_setFontAction;
|
|
||||||
int m_defaultFontSize;
|
int m_defaultFontSize;
|
||||||
Ui::HexDumpViewer *ui;
|
Ui::HexDumpViewer *ui;
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@ QString AppleChar::getHtmlString(quint8 val)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
QChar AppleChar::getAppleFontChar(quint8 val)
|
QChar AppleChar::getAppleFontChar(quint8 val, bool showCtrlChars)
|
||||||
{
|
{
|
||||||
if (getAttribute(val) == TextAttribute::Inverse)
|
if (getAttribute(val) == TextAttribute::Inverse)
|
||||||
{
|
{
|
||||||
|
@ -128,7 +128,21 @@ QChar AppleChar::getAppleFontChar(quint8 val)
|
||||||
}
|
}
|
||||||
else if (val >= 0x80 && val < 0xA0)
|
else if (val >= 0x80 && val < 0xA0)
|
||||||
{
|
{
|
||||||
return QChar(val - 0x80 + 0xe800);
|
if (showCtrlChars)
|
||||||
|
{
|
||||||
|
return QChar(val - 0x80 + 0xe800);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (val > 0x80+0x20)
|
||||||
|
{
|
||||||
|
return QChar(val - 0x80 + 0xe800);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return QChar(val - 0x80 + 0x40);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,7 @@ public:
|
||||||
static TextSet getTextSet(quint8 val) ;
|
static TextSet getTextSet(quint8 val) ;
|
||||||
static QChar printable(quint8 val) ;
|
static QChar printable(quint8 val) ;
|
||||||
static QString getHtmlString(quint8 val);
|
static QString getHtmlString(quint8 val);
|
||||||
static QChar getAppleFontChar(quint8 val);
|
static QChar getAppleFontChar(quint8 val, bool showCtrlChars = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
quint8 m_val;
|
quint8 m_val;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user