view MainWindow.ui @ 1:0b3630a29ad8

Initial version based on previous repository. Project was ported to QT6 and in now cmake based.
author Ideenmodellierer <tiefenrauscher@web.de>
date Thu, 27 Nov 2025 18:40:28 +0100
parents
children e30f00f760d3
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>451</width>
    <height>418</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string notr="true">OSTC Companion</string>
  </property>
  <property name="windowIcon">
   <iconset>
    <normaloff>:/Images/app_OSTC_Companion.svg</normaloff>:/Images/app_OSTC_Companion.svg</iconset>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QGridLayout" name="gridLayout">
    <item row="7" column="0" colspan="4">
     <widget class="QProgressBar" name="progressBar">
      <property name="alignment">
       <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
      </property>
      <property name="textVisible">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item row="0" column="1">
     <widget class="QComboBox" name="computerType">
      <property name="toolTip">
       <string>H&amp;W dive computer model.</string>
      </property>
      <property name="currentIndex">
       <number>0</number>
      </property>
      <item>
       <property name="text">
        <string notr="true">OSTC2 mk.2/2n/2c</string>
       </property>
      </item>
      <item>
       <property name="text">
        <string notr="true">OSTC hwOS (USB)</string>
       </property>
      </item>
      <item>
       <property name="text">
        <string notr="true">OSTC hwOS (Bluetooth)</string>
       </property>
      </item>
      <item>
       <property name="text">
        <string notr="true">OSTC4</string>
       </property>
      </item>
     </widget>
    </item>
    <item row="0" column="3" rowspan="6">
     <layout class="QVBoxLayout" name="verticalLayout">
      <property name="spacing">
       <number>0</number>
      </property>
      <property name="rightMargin">
       <number>0</number>
      </property>
      <property name="bottomMargin">
       <number>0</number>
      </property>
      <item>
       <layout class="QHBoxLayout" name="horizontalLayout">
        <item>
         <widget class="QPushButton" name="connectButton">
          <property name="minimumSize">
           <size>
            <width>0</width>
            <height>23</height>
           </size>
          </property>
          <property name="toolTip">
           <string>Open or re-open the last selected  USB or Bluetooth port (See Preferences).
NOTE: make sure to connect the serial cable, or to set the bluetooth mode first...</string>
          </property>
          <property name="styleSheet">
           <string notr="true">QPushButton {
	border: 1px solid blue;
    border-radius: 6px;
	background: qlineargradient(x1:0, y1:0, x2:0, y2:1, 
		stop:0.00 white,
		stop:0.55 #55aaff,
		stop:0.56 #4964ff,
		stop:1.00 #55aaff)
}</string>
          </property>
          <property name="text">
           <string>Connect</string>
          </property>
          <property name="autoDefault">
           <bool>true</bool>
          </property>
         </widget>
        </item>
       </layout>
      </item>
      <item>
       <widget class="QPushButton" name="dateButton">
        <property name="toolTip">
         <string>Set the H&amp;W computer date and time.
Can be automatic at each connect, if asked to in the Preferences.
(Valid once device is connected).</string>
        </property>
        <property name="text">
         <string>Set Date &amp;&amp; Time</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="nameButton">
        <property name="toolTip">
         <string>Change the name displayed on the H&amp;W device.
(Valid once device is connected).</string>
        </property>
        <property name="text">
         <string>Set Name...</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="iconButton">
        <property name="toolTip">
         <string>Upload a customization icon.
Only supported on Frog yet.
(Valid once device is connected).</string>
        </property>
        <property name="text">
         <string>Set Icon...</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="signalButton">
        <property name="text">
         <string>Check Signal</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="upgradeButton">
        <property name="toolTip">
         <string>Ask for a firmware file, and upload it to the H&amp;W device.
Can be done before or after device (re-)connection.</string>
        </property>
        <property name="text">
         <string>Upgrade Firmware...</string>
        </property>
       </widget>
      </item>
      <item>
       <widget class="QPushButton" name="closeButton">
        <property name="toolTip">
         <string>Close USB or Bluetooth connection to the device.</string>
        </property>
        <property name="text">
         <string>Close</string>
        </property>
       </widget>
      </item>
      <item>
       <spacer name="verticalSpacer">
        <property name="orientation">
         <enum>Qt::Orientation::Vertical</enum>
        </property>
        <property name="sizeType">
         <enum>QSizePolicy::Policy::Minimum</enum>
        </property>
        <property name="sizeHint" stdset="0">
         <size>
          <width>105</width>
          <height>8</height>
         </size>
        </property>
       </spacer>
      </item>
      <item>
       <widget class="QPushButton" name="quitButton">
        <property name="text">
         <string>Quit</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
    <item row="6" column="0" colspan="4">
     <widget class="QLabel" name="companionUrlL">
      <property name="text">
       <string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;See us on &lt;a href=&quot;https://ostc-planner.net/wp/companion/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;ostc-planner.net/wp/companion&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
      <property name="openExternalLinks">
       <bool>true</bool>
      </property>
     </widget>
    </item>
    <item row="2" column="0">
     <spacer name="horizontalSpacer_2">
      <property name="orientation">
       <enum>Qt::Orientation::Horizontal</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>40</width>
        <height>20</height>
       </size>
      </property>
     </spacer>
    </item>
    <item row="0" column="0">
     <widget class="QToolButton" name="settingsButton">
      <property name="toolTip">
       <string>Open the Preferences menu.</string>
      </property>
      <property name="text">
       <string>...</string>
      </property>
      <property name="icon">
       <iconset>
        <normaloff>:/Images/Settings.svg</normaloff>:/Images/Settings.svg</iconset>
      </property>
     </widget>
    </item>
    <item row="8" column="0" colspan="4">
     <widget class="QPlainTextEdit" name="console">
      <property name="minimumSize">
       <size>
        <width>0</width>
        <height>46</height>
       </size>
      </property>
      <property name="frameShadow">
       <enum>QFrame::Shadow::Sunken</enum>
      </property>
      <property name="verticalScrollBarPolicy">
       <enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOn</enum>
      </property>
      <property name="horizontalScrollBarPolicy">
       <enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
      </property>
      <property name="undoRedoEnabled">
       <bool>false</bool>
      </property>
      <property name="readOnly">
       <bool>true</bool>
      </property>
      <property name="centerOnScroll">
       <bool>false</bool>
      </property>
      <property name="tabStopWidth" stdset="0">
       <number>4</number>
      </property>
     </widget>
    </item>
    <item row="2" column="1">
     <widget class="QLabel" name="computerImage">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="minimumSize">
       <size>
        <width>160</width>
        <height>120</height>
       </size>
      </property>
      <property name="maximumSize">
       <size>
        <width>160</width>
        <height>120</height>
       </size>
      </property>
      <property name="text">
       <string/>
      </property>
      <property name="pixmap">
       <pixmap>:/Images/frog_160x120.png</pixmap>
      </property>
     </widget>
    </item>
    <item row="2" column="2">
     <spacer name="horizontalSpacer_3">
      <property name="orientation">
       <enum>Qt::Orientation::Horizontal</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>40</width>
        <height>20</height>
       </size>
      </property>
     </spacer>
    </item>
    <item row="0" column="2">
     <spacer name="horizontalSpacer">
      <property name="orientation">
       <enum>Qt::Orientation::Horizontal</enum>
      </property>
      <property name="sizeType">
       <enum>QSizePolicy::Policy::Minimum</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>8</width>
        <height>20</height>
       </size>
      </property>
     </spacer>
    </item>
    <item row="5" column="1">
     <spacer name="verticalSpacer_3">
      <property name="orientation">
       <enum>Qt::Orientation::Vertical</enum>
      </property>
      <property name="sizeType">
       <enum>QSizePolicy::Policy::Minimum</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>0</height>
       </size>
      </property>
     </spacer>
    </item>
    <item row="1" column="1">
     <spacer name="verticalSpacer_2">
      <property name="orientation">
       <enum>Qt::Orientation::Vertical</enum>
      </property>
      <property name="sizeType">
       <enum>QSizePolicy::Policy::Minimum</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>0</height>
       </size>
      </property>
     </spacer>
    </item>
    <item row="5" column="2">
     <widget class="QPushButton" name="editLog">
      <property name="enabled">
       <bool>false</bool>
      </property>
      <property name="text">
       <string>Edit Log</string>
      </property>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections>
  <connection>
   <sender>computerType</sender>
   <signal>activated(int)</signal>
   <receiver>MainWindow</receiver>
   <slot>changeTypeSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>113</x>
     <y>29</y>
    </hint>
    <hint type="destinationlabel">
     <x>34</x>
     <y>67</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>quitButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>close()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>351</x>
     <y>210</y>
    </hint>
    <hint type="destinationlabel">
     <x>320</x>
     <y>211</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>dateButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>dateSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>406</x>
     <y>57</y>
    </hint>
    <hint type="destinationlabel">
     <x>324</x>
     <y>81</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>nameButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>nameSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>406</x>
     <y>80</y>
    </hint>
    <hint type="destinationlabel">
     <x>324</x>
     <y>111</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>iconButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>iconSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>406</x>
     <y>103</y>
    </hint>
    <hint type="destinationlabel">
     <x>325</x>
     <y>141</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>upgradeButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>upgradeSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>406</x>
     <y>149</y>
    </hint>
    <hint type="destinationlabel">
     <x>323</x>
     <y>171</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>connectButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>connectSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>405</x>
     <y>33</y>
    </hint>
    <hint type="destinationlabel">
     <x>323</x>
     <y>53</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>settingsButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>settingsSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>31</x>
     <y>30</y>
    </hint>
    <hint type="destinationlabel">
     <x>191</x>
     <y>63</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>closeButton</sender>
   <signal>clicked()</signal>
   <receiver>MainWindow</receiver>
   <slot>closeSlot()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>305</x>
     <y>186</y>
    </hint>
    <hint type="destinationlabel">
     <x>357</x>
     <y>183</y>
    </hint>
   </hints>
  </connection>
 </connections>
 <slots>
  <slot>changeTypeSlot()</slot>
  <slot>dateSlot()</slot>
  <slot>nameSlot()</slot>
  <slot>iconSlot()</slot>
  <slot>upgradeSlot()</slot>
  <slot>connectSlot()</slot>
  <slot>settingsSlot()</slot>
  <slot>scanSlot()</slot>
  <slot>closeSlot()</slot>
 </slots>
</ui>