- Auto-scroll standard aktiv
- Tag-Filter wird gespeichert - Tag Monitor kann bei einem Tag jetzt pro Key mehrere Werte in einer Tabelle anzeigen - Bug für Clear behoben
This commit is contained in:
@@ -6,11 +6,16 @@
|
||||
#include <QPushButton>
|
||||
#include <QTableWidget>
|
||||
#include <QStringList>
|
||||
#include <QMap>
|
||||
|
||||
// TagPanel displays the most recent data for a single tag (e.g. [WDG]).
|
||||
// Key=value pairs are shown in a table that updates in-place.
|
||||
// A "Copy" button copies the current values to the clipboard.
|
||||
// No timestamp is shown here – timestamps belong in the Raw view.
|
||||
// If a value contains ';', it is treated as a LIST: the key is shown once
|
||||
// and each list element gets its own row below it (key cell left empty
|
||||
// for the continuation rows, like a merged-cell look).
|
||||
// Example: Devs=trackdisk.device;input.device
|
||||
// Devs trackdisk.device
|
||||
// input.device
|
||||
class TagPanel : public QGroupBox
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -29,10 +34,16 @@ private slots:
|
||||
private:
|
||||
void parseKeyValue(const QString &value);
|
||||
void showRaw(const QString &value);
|
||||
void ensureRow(const QString &key);
|
||||
// Replaces all rows belonging to `key` with one row per value in `values`.
|
||||
void setKeyValues(const QString &key, const QStringList &values);
|
||||
|
||||
QString m_tag;
|
||||
QTableWidget *m_table = nullptr;
|
||||
QLabel *m_rawLabel = nullptr;
|
||||
QStringList m_keys;
|
||||
|
||||
// Track which table rows belong to which key, so repeated updates can
|
||||
// replace the previous rows instead of appending duplicates.
|
||||
// Maps key -> (first row index, row count)
|
||||
struct KeyRange { int firstRow; int count; };
|
||||
QMap<QString, KeyRange> m_keyRanges;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user