cabana: add support for multiple DBC files (#27435)

* split out dbc file logic into separate file

* emit dbc file changed

* change to list of dbc files

* handle missing DBC file

* dbcmanager emits signal

* close existing files before loading new one

* add placeholder open for bus menu

* implement open dbc for bus

* emit signals relevant for current dbc

* move logic into findDBC

* fix use after free

* show currently loaded names in load dialog

* enable/disable load save menus

* handle saving

* add save as to recents

* handle file already open

* do not assert

* fix return and throw on file open error

* fix test maybe

* remove todo

* typo

* fix new dbc

* fix loading fingerprint on macos

* handle replacing a currently open dbc

* fix reference and handle exception

* fix indendation
old-commit-hash: 4ab2131ec9e21d9784f2f423bd6b21c9914cd661
This commit is contained in:
Willem Melching
2023-03-27 19:29:44 +02:00
committed by GitHub
parent c08e6fe35e
commit e0ba3902df
10 changed files with 694 additions and 267 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ cabana_env.Depends(assets, Glob('/assets/*', exclude=[assets, assets_src, "asset
prev_moc_path = cabana_env['QT_MOCHPREFIX']
cabana_env['QT_MOCHPREFIX'] = os.path.dirname(prev_moc_path) + '/cabana/moc_'
cabana_lib = cabana_env.Library("cabana_lib", ['mainwin.cc', 'streams/livestream.cc', 'streams/abstractstream.cc', 'streams/replaystream.cc', 'binaryview.cc', 'chartswidget.cc', 'historylog.cc', 'videowidget.cc', 'signaledit.cc', 'dbc.cc', 'dbcmanager.cc',
cabana_lib = cabana_env.Library("cabana_lib", ['mainwin.cc', 'streams/livestream.cc', 'streams/abstractstream.cc', 'streams/replaystream.cc', 'binaryview.cc', 'chartswidget.cc', 'historylog.cc', 'videowidget.cc', 'signaledit.cc', 'dbc.cc', 'dbcfile.cc', 'dbcmanager.cc',
'commands.cc', 'messageswidget.cc', 'route.cc', 'settings.cc', 'util.cc', 'detailwidget.cc', 'tools/findsimilarbits.cc'], LIBS=cabana_libs, FRAMEWORKS=base_frameworks)
cabana_env.Program('_cabana', ['cabana.cc', cabana_lib, assets], LIBS=cabana_libs, FRAMEWORKS=base_frameworks)