summaryrefslogtreecommitdiffhomepage
path: root/tracker-steamvr
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-steamvr')
-rw-r--r--tracker-steamvr/dialog.ui4
-rw-r--r--tracker-steamvr/steamvr.cpp8
-rw-r--r--tracker-steamvr/steamvr.hpp4
3 files changed, 11 insertions, 5 deletions
diff --git a/tracker-steamvr/dialog.ui b/tracker-steamvr/dialog.ui
index 12a01816..88af913d 100644
--- a/tracker-steamvr/dialog.ui
+++ b/tracker-steamvr/dialog.ui
@@ -9,7 +9,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>394</width>
+ <width>452</width>
<height>85</height>
</rect>
</property>
@@ -43,7 +43,7 @@
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
- <horstretch>3</horstretch>
+ <horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
diff --git a/tracker-steamvr/steamvr.cpp b/tracker-steamvr/steamvr.cpp
index 43bccdb8..8585574a 100644
--- a/tracker-steamvr/steamvr.cpp
+++ b/tracker-steamvr/steamvr.cpp
@@ -106,6 +106,7 @@ void device_list::fill_device_specs(QList<device_spec>& list)
dev.model = str;
dev.pose = device_states[k];
dev.k = k;
+ dev.is_connected = device_states[k].bDeviceIsConnected;
list.push_back(dev);
}
@@ -303,7 +304,12 @@ steamvr_dialog::steamvr_dialog()
device_list list;
for (const device_spec& spec : list.devices())
- ui.device->addItem(spec.to_string(), spec.to_string());
+ {
+ QString text = spec.to_string();
+ if (!spec.is_connected)
+ text = QStringLiteral("%1 [disconnected]").arg(text);
+ ui.device->addItem(text, spec.to_string());
+ }
tie_setting(s.device_serial, ui.device);
}
diff --git a/tracker-steamvr/steamvr.hpp b/tracker-steamvr/steamvr.hpp
index 721fded7..af8fdbc8 100644
--- a/tracker-steamvr/steamvr.hpp
+++ b/tracker-steamvr/steamvr.hpp
@@ -40,6 +40,7 @@ struct device_spec
QString model, serial, type;
unsigned k;
QString to_string() const;
+ bool is_connected;
};
struct device_list final
@@ -48,7 +49,7 @@ struct device_list final
device_list();
void refresh_device_list();
- const QList<device_spec>& devices() const & { return device_specs; }
+ const QList<device_spec>& devices() const { return device_specs; }
static OTR_NEVER_INLINE maybe_pose get_pose(int k);
static QString strerror(error_t error);
@@ -61,7 +62,6 @@ private:
QList<device_spec> device_specs;
static QMutex mtx;
static tt vr_init_();
- static void vr_deleter();
static void fill_device_specs(QList<device_spec>& list);
static tt vr_init();
};