mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-01 01:06:35 -04:00
Commands: corrected edit command dialog focus handling to capture associated key
This commit is contained in:
parent
8a032d0532
commit
b002596677
@ -153,8 +153,8 @@ void EditCommandDialog::on_keyCapture_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
ui->keyCapture->setFocus();
|
setFocus();
|
||||||
ui->keyCapture->setFocusPolicy(Qt::StrongFocus);
|
setFocusPolicy(Qt::StrongFocus);
|
||||||
connect(m_commandKeyReceiver, SIGNAL(capturedKey(Qt::Key, Qt::KeyboardModifiers, bool)),
|
connect(m_commandKeyReceiver, SIGNAL(capturedKey(Qt::Key, Qt::KeyboardModifiers, bool)),
|
||||||
this, SLOT(commandKeyPressed(Qt::Key, Qt::KeyboardModifiers, bool)));
|
this, SLOT(commandKeyPressed(Qt::Key, Qt::KeyboardModifiers, bool)));
|
||||||
}
|
}
|
||||||
@ -162,8 +162,8 @@ void EditCommandDialog::on_keyCapture_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
disconnect(m_commandKeyReceiver, SIGNAL(capturedKey(Qt::Key, Qt::KeyboardModifiers, bool)),
|
disconnect(m_commandKeyReceiver, SIGNAL(capturedKey(Qt::Key, Qt::KeyboardModifiers, bool)),
|
||||||
this, SLOT(commandKeyPressed(Qt::Key, Qt::KeyboardModifiers, bool)));
|
this, SLOT(commandKeyPressed(Qt::Key, Qt::KeyboardModifiers, bool)));
|
||||||
ui->keyCapture->setFocusPolicy(Qt::NoFocus);
|
setFocusPolicy(Qt::NoFocus);
|
||||||
ui->keyCapture->clearFocus();
|
clearFocus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
dev_focus_url#!/usr/bin/env python
|
||||||
|
|
||||||
import requests, traceback, sys
|
import requests, traceback, sys
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
55
swagger/sdrangel/examples/ptt.py
Normal file → Executable file
55
swagger/sdrangel/examples/ptt.py
Normal file → Executable file
@ -1,6 +1,17 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
'''
|
||||||
|
PTT (Push To Talk) script example.
|
||||||
|
|
||||||
import requests, json, traceback, sys
|
Assumes Rx and Tx are contiguous device sets with Rx at index i and Tx at index i+1
|
||||||
|
|
||||||
|
When going from Rx to Tx (push) the device set index specified must be the Rx one
|
||||||
|
When going from Tx to Rx (release) the device set index specified must be the Tx one
|
||||||
|
Defaults are Rx at index 0 and Tx at index 1
|
||||||
|
|
||||||
|
Default web API base address is http://127.0.0.1:8091/sdrangel (default of sdrangel web API)
|
||||||
|
You may change the address and port portion with the -a parameter. Ex: -a 44.168.40.128:8888
|
||||||
|
'''
|
||||||
|
import requests, json, traceback, sys, time
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
||||||
base_url = "http://127.0.0.1:8091/sdrangel"
|
base_url = "http://127.0.0.1:8091/sdrangel"
|
||||||
@ -8,14 +19,18 @@ base_url = "http://127.0.0.1:8091/sdrangel"
|
|||||||
# ======================================================================
|
# ======================================================================
|
||||||
def getInputOptions():
|
def getInputOptions():
|
||||||
|
|
||||||
parser = OptionParser(usage="usage: %%prog [-t]\n")
|
parser = OptionParser(usage="usage: %prog [-a address:port] [-d index][-t]\n")
|
||||||
parser.add_option("-a", "--address", dest="address", help="address and port", metavar="ADDRESS", type="string")
|
parser.add_option("-a", "--address", dest="address", help="address and port", metavar="ADDRESS", type="string")
|
||||||
parser.add_option("-t", "--transmit", dest="transmit", help="transmit", metavar="TRANSMIT", action="store_true", default=False)
|
parser.add_option("-t", "--transmit", dest="transmit", help="transmit", metavar="TRANSMIT", action="store_true", default=False)
|
||||||
|
parser.add_option("-d", "--deviceset-index", dest="deviceset_index", help="index of currently active device set (Rx or Tx)", metavar="INDEX", type="int")
|
||||||
|
|
||||||
(options, args) = parser.parse_args()
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
if (options.address == None):
|
if options.address == None:
|
||||||
options.address = "127.0.0.1:8888"
|
options.address = "127.0.0.1:8091"
|
||||||
|
|
||||||
|
if options.deviceset_index == None:
|
||||||
|
options.deviceset_index = 0
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
@ -61,6 +76,17 @@ def stopDevice(deviceIndex):
|
|||||||
else:
|
else:
|
||||||
print("Error getting device %d running state" % deviceIndex)
|
print("Error getting device %d running state" % deviceIndex)
|
||||||
|
|
||||||
|
# ======================================================================
|
||||||
|
def setFocus(deviceIndex):
|
||||||
|
dev_focus_url = base_url+("/deviceset/%d/focus" % deviceIndex)
|
||||||
|
r = requests.patch(url=dev_focus_url)
|
||||||
|
if r.status_code / 100 == 2:
|
||||||
|
print("Focus set on device set %d" % deviceIndex)
|
||||||
|
elif r.status_code == 400:
|
||||||
|
print("Set focus on device set is not supported in a server instance")
|
||||||
|
else:
|
||||||
|
print("Error setting focus on device set %d" % deviceIndex)
|
||||||
|
|
||||||
# ======================================================================
|
# ======================================================================
|
||||||
def main():
|
def main():
|
||||||
try:
|
try:
|
||||||
@ -73,15 +99,22 @@ def main():
|
|||||||
deviceSets = rj.get("deviceSets", None)
|
deviceSets = rj.get("deviceSets", None)
|
||||||
if deviceSets is not None:
|
if deviceSets is not None:
|
||||||
if len(deviceSets) > 1:
|
if len(deviceSets) > 1:
|
||||||
if deviceSets[0]["samplingDevice"]["tx"] == 0 and deviceSets[1]["samplingDevice"]["tx"] == 1:
|
if options.transmit:
|
||||||
if options.transmit:
|
if deviceSets[options.deviceset_index]["samplingDevice"]["tx"] == 0 and deviceSets[options.deviceset_index+1]["samplingDevice"]["tx"] == 1:
|
||||||
stopDevice(0)
|
stopDevice(options.deviceset_index)
|
||||||
startDevice(1)
|
time.sleep(1)
|
||||||
|
startDevice(options.deviceset_index+1)
|
||||||
|
setFocus(options.deviceset_index+1)
|
||||||
else:
|
else:
|
||||||
stopDevice(1)
|
print("Incorrect configuration expecting Rx%d and Tx%d" % (options.deviceset_index, options.deviceset_index+1))
|
||||||
startDevice(0)
|
|
||||||
else:
|
else:
|
||||||
print("Incorrect configuration expecting Rx0 and Tx1")
|
if deviceSets[options.deviceset_index-1]["samplingDevice"]["tx"] == 0 and deviceSets[options.deviceset_index]["samplingDevice"]["tx"] == 1:
|
||||||
|
stopDevice(options.deviceset_index)
|
||||||
|
time.sleep(1)
|
||||||
|
startDevice(options.deviceset_index-1)
|
||||||
|
setFocus(options.deviceset_index-1)
|
||||||
|
else:
|
||||||
|
print("Incorrect configuration expecting Rx%d and Tx%d" % (options.deviceset_index-1, options.deviceset_index))
|
||||||
else:
|
else:
|
||||||
print("Need at least a Rx and a Tx device set")
|
print("Need at least a Rx and a Tx device set")
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user