JogShuttle::~JogShuttle()
{
- if (m_shuttleProcess.isRunning()) m_shuttleProcess.exit();
+ stopDevice();
}
void JogShuttle::initDevice(QString device)
void JogShuttle::stopDevice()
{
- if (m_shuttleProcess.isRunning())
+ if (m_shuttleProcess.isRunning()) {
+ /* the read fd is in blocking mode => stop_me is broken at the moment */
m_shuttleProcess.stop_me = true;
+ m_shuttleProcess.exit();
+ /* give the thread some time to shutdown */
+ m_shuttleProcess.wait(100);
+
+ /* if still running - do it in the hardcore way */
+ if (m_shuttleProcess.isRunning()) {
+ m_shuttleProcess.terminate();
+ kDebug() << "/// terminate jogshuttle process\n";
+ }
+ }
}
void JogShuttle::customEvent(QEvent* e)
m_configShuttle.shuttledisabled->hide();
// Store the button pointers into an array for easier handling them in the other functions.
+ // TODO: impl enumerator or live with cut and paste :-)))
m_shuttle_buttons.push_back(m_configShuttle.shuttle1);
m_shuttle_buttons.push_back(m_configShuttle.shuttle2);
m_shuttle_buttons.push_back(m_configShuttle.shuttle3);
m_shuttle_buttons.push_back(m_configShuttle.shuttle8);
m_shuttle_buttons.push_back(m_configShuttle.shuttle9);
m_shuttle_buttons.push_back(m_configShuttle.shuttle10);
+ m_shuttle_buttons.push_back(m_configShuttle.shuttle11);
+ m_shuttle_buttons.push_back(m_configShuttle.shuttle12);
+ m_shuttle_buttons.push_back(m_configShuttle.shuttle13);
+ m_shuttle_buttons.push_back(m_configShuttle.shuttle14);
+ m_shuttle_buttons.push_back(m_configShuttle.shuttle15);
// populate the buttons with the current configuration. The items are sorted
// according to the user-selected language, so they do not appear in random order.
<rect>
<x>0</x>
<y>0</y>
- <width>327</width>
- <height>393</height>
+ <width>299</width>
+ <height>548</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<string>Device configuration</string>
</property>
<layout class="QGridLayout" name="gridLayout">
+ <item row="12" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Button 12</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Button 14</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Button 13</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Button 11</string>
+ </property>
+ </widget>
+ </item>
<item row="7" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<item row="3" column="1" colspan="2">
<widget class="KComboBox" name="shuttle3"/>
</item>
+ <item row="4" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle4"/>
+ </item>
<item row="4" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
</property>
</widget>
</item>
- <item row="4" column="1" colspan="2">
- <widget class="KComboBox" name="shuttle4"/>
- </item>
<item row="5" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<item row="10" column="1" colspan="2">
<widget class="KComboBox" name="shuttle10"/>
</item>
+ <item row="15" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Button 15</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle11"/>
+ </item>
+ <item row="12" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle12"/>
+ </item>
+ <item row="13" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle13"/>
+ </item>
+ <item row="14" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle14"/>
+ </item>
+ <item row="15" column="1" colspan="2">
+ <widget class="KComboBox" name="shuttle15"/>
+ </item>
</layout>
</widget>
</item>