diff options
| author | Amaury Pouly <amaury.pouly@gmail.com> | 2014-09-18 21:36:17 +0200 |
|---|---|---|
| committer | Amaury Pouly <amaury.pouly@gmail.com> | 2014-09-19 10:58:33 +0200 |
| commit | 970c2482dd22a84a5973b73621d0dd06e6f45a25 (patch) | |
| tree | 3131c033b3f3e385eceed7beb16e8b143ff0caf1 /utils/regtools/qeditor/regtab.cpp | |
| parent | dbb59291e745c7cc640a35fc40faa083648793bf (diff) | |
| download | rockbox-970c2482dd22a84a5973b73621d0dd06e6f45a25.zip rockbox-970c2482dd22a84a5973b73621d0dd06e6f45a25.tar.gz rockbox-970c2482dd22a84a5973b73621d0dd06e6f45a25.tar.bz2 rockbox-970c2482dd22a84a5973b73621d0dd06e6f45a25.tar.xz | |
qeditor: rework modified indicator, register tab names depend on content
Because Qt doesn't support QObject multiple inherance, it is a bit tricky
to have a base class which interact with the UI. The register tab name
now display:
- file dump name (for dumps)
- hwstub device path (for hwstub)
And the register editor display the filename
Change-Id: If2579992098c02627c67d560c824f1668e73bc45
Reviewed-on: http://gerrit.rockbox.org/979
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
Diffstat (limited to 'utils/regtools/qeditor/regtab.cpp')
| -rw-r--r-- | utils/regtools/qeditor/regtab.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/utils/regtools/qeditor/regtab.cpp b/utils/regtools/qeditor/regtab.cpp index 132308e..f6a7267 100644 --- a/utils/regtools/qeditor/regtab.cpp +++ b/utils/regtools/qeditor/regtab.cpp @@ -160,6 +160,11 @@ RegTab::RegTab(Backend *backend, QWidget *parent) SetDataSocName(""); } +QWidget *RegTab::GetWidget() +{ + return this; +} + RegTab::~RegTab() { /* backend will be deleted by backend selector */ @@ -192,6 +197,32 @@ void RegTab::OnDataSocActivated(const QString& str) m_soc_selector->setCurrentIndex(index); } +void RegTab::UpdateTabName() +{ + /* do it the ugly way: try to cast to the different possible backends */ + FileIoBackend *file = dynamic_cast< FileIoBackend* >(m_io_backend); +#ifdef HAVE_HWSTUB + HWStubIoBackend *hwstub = dynamic_cast< HWStubIoBackend* >(m_io_backend); +#endif + if(file) + { + QFileInfo info(file->GetFileName()); + SetTabName(info.fileName()); + } +#ifdef HAVE_HWSTUB + else if(hwstub) + { + HWStubDevice *dev = hwstub->GetDevice(); + SetTabName(QString("HWStub %1.%2").arg(dev->GetBusNumber()) + .arg(dev->GetDevAddress())); + } +#endif + else + { + SetTabName("Register Tab"); + } +} + void RegTab::OnBackendSelect(IoBackend *backend) { m_io_backend = backend; @@ -199,6 +230,7 @@ void RegTab::OnBackendSelect(IoBackend *backend) SetDataSocName(m_io_backend->GetSocName()); OnDataSocActivated(m_io_backend->GetSocName()); OnDataChanged(); + UpdateTabName(); } void RegTab::SetReadOnlyIndicator() |