Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blendsplitter #117

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open

Blendsplitter #117

wants to merge 67 commits into from

Commits on Apr 20, 2022

  1. Adding al the files from BlendSplitter project

    These are already slightly adjust to be in a flat subdirectory.
    Original code can be found at https://github.com/marekdedic/BlendSplitter
    and was MIT licensed when converted.
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    41fb51f View commit details
    Browse the repository at this point in the history
  2. Move BlendSplitter icon

    Simply moved the expander.png in our already existing qrc file.
    Mainly since I didn't feel like working out how to incorporate 2 qrc
    files in our buildsystem :-)
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    67fccf2 View commit details
    Browse the repository at this point in the history
  3. Improved stackviewer

    Better coloring when widget disabled.
    Highlight current SP address.
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    975952a View commit details
    Browse the repository at this point in the history
  4. First working version with blendsplitter

    Currently the old view is in a splitter visible on first workspace.
    
    The old code had a lot of direct signals/slots and calls between
    DebuggerForm and all the *Viewer code To decouple this the
    SignalDispatcher was created as a central way to forward signals to all
    views that registers. Also the CPU registers state code now also lives
    in the SignalDispatcher.
    
    This means that now we can have multiple DisasmViewers since the code
    doesn't rely on one and exactly one disasmView to exist.
    
    As a side effect the QAction that would toggle breakpoints are now
    disabled, since that code can no longer as the cursorAdress from the
    one-and-only disasmView the old code assumed.
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    fb5f050 View commit details
    Browse the repository at this point in the history
  5. Splitting now works as in blender

    After splitting you end up with two SwitchingWidgets of the same type
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    2f41c0f View commit details
    Browse the repository at this point in the history
  6. Place all dockingwidgets in comment

    In effect only BlendSplitter layout in use now
    turbor committed Apr 20, 2022
    Configuration menu
    Copy the full SHA
    1a58a27 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b3011f0 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2022

  1. Configuration menu
    Copy the full SHA
    b76f243 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2022

  1. Added QScrollArea to SwitchingWidget

    Also tried some fancier popup menu on the SplitterHandle, but this
    causes a lot of crashes. I assume that the handler is already free'ed while the
    mouseReleaseEvent is still being processed causing these SegFaults.
    
    Also I got divide by zero errors when creating new StackViewer with an open
    openMSX connection, it seems to handle the command reply before the widget is
    fully initialized???
    
    Also the changing of background (when connecting/disconnecting the emulator) in
    the scrollarea isn't eassily triggered. If you resize by hand it will correctly
    change the color not covered by the single widget, but simply setting an new
    background doesn't cause an update, neither doesn explicitely calling update()
    or repaint().
    turbor committed Apr 22, 2022
    Configuration menu
    Copy the full SHA
    699fa02 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2022

  1. Introduced a QuickGuide explaining the splitter

    This widget simply contains a richtext label to explain the new workings
    of the debugger.
    
    The idea is that this is the default widget for a new SwitchingWidget
    until the user is familiar with the workings and we have a setting to
    switch this behaviour to a more regular blender like splitting of the
    current area.
    turbor committed Apr 26, 2022
    Configuration menu
    Copy the full SHA
    928a1c7 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2022

  1. Save and load workspaces layout

    Use JSon format to save and load the current workspaces
    TODO: set the enabledWidget status to current connection status.
    Maybe save setting from the widgets in the SwitchingWidgets also?
    turbor committed Apr 27, 2022
    Configuration menu
    Copy the full SHA
    565050a View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2022

  1. Moved getEnabledWidget to SignalDispatcher

    And prevent direct emitting of the signal so that the SignalDispatcher
    is the single source of truth.
    turbor committed Apr 28, 2022
    Configuration menu
    Copy the full SHA
    53a5def View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2022

  1. improved QuickGuide text

    turbor committed Apr 30, 2022
    Configuration menu
    Copy the full SHA
    d27bcf8 View commit details
    Browse the repository at this point in the history
  2. Now select your workspace when starting

    In preferences you can now can select a default workspace to load when
    starting. Also added a 'new user' setting so that the QuickGuide is
    clearly visible for new users.
    The CPU view/code debugger is now a workspace that can be added/removed.
    turbor committed Apr 30, 2022
    Configuration menu
    Copy the full SHA
    bd6b0f4 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2022

  1. Configuration menu
    Copy the full SHA
    e17b826 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2022

  1. Improved tab renamer

    Moved code in single class, and improved usage.
    ESC will now cancel any ongoing edits.
    Clicking on other tabs will now close the lineEdit.
    And the tabs are now movable.
    turbor committed May 2, 2022
    Configuration menu
    Copy the full SHA
    363555d View commit details
    Browse the repository at this point in the history

Commits on May 3, 2022

  1. Code cleanup

    Thanks to a quick review of Wouter
    turbor committed May 3, 2022
    Configuration menu
    Copy the full SHA
    be9e648 View commit details
    Browse the repository at this point in the history
  2. debugmessages

    turbor committed May 3, 2022
    Configuration menu
    Copy the full SHA
    bc0b493 View commit details
    Browse the repository at this point in the history
  3. Add objectnames

    Since there is code that doesn't use ui files, we now manually set the
    QObject names to make debugging simpler
    turbor committed May 3, 2022
    Configuration menu
    Copy the full SHA
    0782d3e View commit details
    Browse the repository at this point in the history

Commits on May 4, 2022

  1. Configuration menu
    Copy the full SHA
    5338939 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    45e9800 View commit details
    Browse the repository at this point in the history
  3. Trying to improve StackViewer

    turbor committed May 4, 2022
    Configuration menu
    Copy the full SHA
    301d36a View commit details
    Browse the repository at this point in the history
  4. Some debug texts

    turbor committed May 4, 2022
    Configuration menu
    Copy the full SHA
    cbb077e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3f33b04 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c63ba22 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3d13e28 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9b80f5f View commit details
    Browse the repository at this point in the history

Commits on May 10, 2022

  1. Added PaletteView

    This is going to replace the PaletteDialog that is now called from the
    TileViewer and SpriteViewer, but was not yet used in the bitmapviewer...
    
    As soon as those viewers are adapted, we will remove the PaletteDialog
    turbor committed May 10, 2022
    Configuration menu
    Copy the full SHA
    ff79f08 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2022

  1. SlotLayout changes now handled by SignalDispatcher

    The code viewer now tracks the PC register again.
    Unfortunately the old code had some implicit assumptions about the order in
    which the signals arrived (hence the disasmStatus enum)
    
    For now the DisasmViewer::setProgramCounter is called twice with a different
    infoLine parameter, which may cause the code displayed to "jump up and down"
    during debugging
    turbor committed May 11, 2022
    Configuration menu
    Copy the full SHA
    249fb58 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2022

  1. layout fixes

    m9710797 authored and turbor committed May 13, 2022
    Configuration menu
    Copy the full SHA
    7e025bd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    749f07c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9b6873b View commit details
    Browse the repository at this point in the history
  4. Don't use copy-assignment-operator in MSXPalette

    Because it doesn't make a full copy. That is after the assignment source
    and destination aren't equal.
    m9710797 authored and turbor committed May 13, 2022
    Configuration menu
    Copy the full SHA
    4620811 View commit details
    Browse the repository at this point in the history
  5. Don't store redundant msxPalette[] in MSXPalette

    It can be trivially calculated from myPal[].
    
    And not having to keep this array up-to-date allowed to simplify various
    other functions.
    m9710797 authored and turbor committed May 13, 2022
    Configuration menu
    Copy the full SHA
    b5a9d4a View commit details
    Browse the repository at this point in the history

Commits on May 16, 2022

  1. Json save and load of widget in SwitchingWidget.

    This way we can 'correctly' perfom a split so that both the old and new
    widgets have the same options selected. We can also save some of these
    settings when we save layouts.
    
    Unfortunately for stuff like the DebuggableViewer the actual text of the
    combobox depends on the debuggables that the selected openMSX presents
    to the debugger, so saving the selection in a layout will not work.
    (Unless we connect to an openMSX that presents the same debuggables
    before we even try to restore the layout? That would be a nice
    improvement...)
    turbor committed May 16, 2022
    Configuration menu
    Copy the full SHA
    9201767 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2022

  1. Merge branch 'master' into blendsplitter

    Trying to keep up to date with the master branch
    Mainly signal/slot connections
    turbor committed May 17, 2022
    Configuration menu
    Copy the full SHA
    1ac0a87 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2022

  1. Configuration menu
    Copy the full SHA
    54d9a07 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2022

  1. Extra preferences for autoconnect to openMSX

    First steps towards an autoconnect feature.
    The idea is that the debugger can autoconnect if there is only one
    openMSX running. If there is no running openMSX we should start one.
    In case of two or more the dialog should pop up.
    turbor committed May 19, 2022
    Configuration menu
    Copy the full SHA
    40e2c93 View commit details
    Browse the repository at this point in the history
  2. Fixed missing QMetaObject::connectSlotsByName

    When the 'slots:' indicator is removed in the header files the names do
    no longer end up in the QMetaObject. This is not needed with the new Qt5
    way of hooking up signal/slots, but the ui files use this to autoconnect
    the slots to GUI elements by the on_<widgetname>_<signalname> naming
    convention.
    This no longer worked so we are fixing that here.
    The VDPCommandRegViewer will be fixed more correctly later :-)
    turbor committed May 19, 2022
    Configuration menu
    Copy the full SHA
    4f892e3 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2022

  1. layout fixes

    * Consistent indentation:
    We currently have a mix of indentation style: sometimes we use 1 tab,
    sometimes we use 4 spaces. I don't have a strong preference. But do use
    the same style within a single function (preferably also within the
    whole file). I guess some code was edited using an editor which did not
    have tab-stops at 8 spaces. This lead to horribly inconsistent
    (unreadable) indentation in some functions.
    
    * Various typographical conventions:
    ** no space before comma, space after comma
    ** space before and after operators
    ** no space before or after parenthesis
    m9710797 authored and turbor committed May 20, 2022
    Configuration menu
    Copy the full SHA
    de7df52 View commit details
    Browse the repository at this point in the history
  2. Tweak loadFromJson

    Avoid repeating the same lookup twice (and risk making a typo between
    the 1st / 2nd string literal).
    m9710797 authored and turbor committed May 20, 2022
    Configuration menu
    Copy the full SHA
    65e53fa View commit details
    Browse the repository at this point in the history
  3. Tweak SavesJsonInterface

    No need to implement an empty default constructor.
    
    No need to explicitly call the default constructor of a base-class.
    m9710797 authored and turbor committed May 20, 2022
    Configuration menu
    Copy the full SHA
    1dd57bb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5fda6b0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8bf05ae View commit details
    Browse the repository at this point in the history
  6. Simplify DebuggerForm::widgetFactory()

    m9710797 authored and turbor committed May 20, 2022
    Configuration menu
    Copy the full SHA
    a339c42 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1720800 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2022

  1. Get rid of deprecated signal

    turbor committed May 21, 2022
    Configuration menu
    Copy the full SHA
    20e2913 View commit details
    Browse the repository at this point in the history
  2. Follow-up on 2c3fd4c and 205a992

    Commit 2c3fd4c removed 'slot' annotations from header files. But this
    (unintentionally) broke automatic (string-based) connection setup via
    the 'setupUi()' call.
    
    Commit 205a992 already partially fixed this. This commit does the
    rest.
    m9710797 authored and turbor committed May 21, 2022
    Configuration menu
    Copy the full SHA
    3c2e4fd View commit details
    Browse the repository at this point in the history
  3. Simplify usage of QOverload -> qOverload

    m9710797 authored and turbor committed May 21, 2022
    Configuration menu
    Copy the full SHA
    d5005b0 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2022

  1. Have the SpriteViewer use MSXPalette

    Let's get rid of the old PaletteDialog and use the MSXPalette as it was
    intended to be used.
    turbor committed May 23, 2022
    Configuration menu
    Copy the full SHA
    56db34c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    39a9d42 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    157b303 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    20a221a View commit details
    Browse the repository at this point in the history
  5. Removed the old PaletteDialog

    Now that the PaletteViewer has taken over all the functions of the
    PaletteDialog we remove all traces of this old dialog.
    turbor committed May 23, 2022
    Configuration menu
    Copy the full SHA
    f903b40 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2022

  1. Configuration menu
    Copy the full SHA
    4d59b42 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2022

  1. PaletteView with better autosync indication

    The autosync is only meant for the VDP palette to sync to the current
    openMSX session, so make this more clear in the GUI.
    turbor committed Jun 1, 2022
    Configuration menu
    Copy the full SHA
    5db0ee1 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2022

  1. Improving HexViewer

    Now we can decode 8 bytes as a character.
    And since character definitions do not need to be aligned in
    memory the hexviewer address can now be unaligned as well.
    turbor committed Jun 26, 2022
    Configuration menu
    Copy the full SHA
    39c7752 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2022

  1. Merge remote-tracking branch 'origin/master' into blendsplitter

    Keeping up to date with the latest work on the BreakpointViewer
    turbor committed Aug 17, 2022
    Configuration menu
    Copy the full SHA
    73b0a03 View commit details
    Browse the repository at this point in the history
  2. More HexViewer improvements

    Take decoded chars width into account.
    Cyan line in decoded char to indicate marker address.
    Allow shift+left/right when in unaligned mode to shift addresses in
    single byte steps.
    turbor committed Aug 17, 2022
    Configuration menu
    Copy the full SHA
    ff9c79c View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. Configuration menu
    Copy the full SHA
    dc31bc7 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2022

  1. Add minor tooltip

    turbor committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    3592c72 View commit details
    Browse the repository at this point in the history
  2. VDPRegViewer autodetects VDP in openMSX

    Since openMSX 18.0-106-ge55a4a904 (commit e55a4a9044b...) the TCL
    command 'machine_info device VDP' now also returns the version string
    from the machines XML config. This is now used to select the correct
    view for the VDPRegViewer when decoding the VDP registers.
    turbor committed Nov 23, 2022
    1 Configuration menu
    Copy the full SHA
    f7c0640 View commit details
    Browse the repository at this point in the history
  3. Avoid superfluous signals

    turbor committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    594e192 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2023

  1. Configuration menu
    Copy the full SHA
    be840e9 View commit details
    Browse the repository at this point in the history
  2. improve .gitignore

    turbor committed Jan 31, 2023
    Configuration menu
    Copy the full SHA
    335a8d8 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. Fix TileViewer layout

    turbor committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    dfb292e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b3b765d View commit details
    Browse the repository at this point in the history