Merge branch 'AlexandreRouma:master' into sdrplay-lowif

This commit is contained in:
arkhnchul 2021-08-30 17:37:00 +03:00 committed by GitHub
commit 0a54b92c58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 7 deletions

View File

@ -598,8 +598,14 @@ void MainWindow::draw() {
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2.0) - (ImGui::CalcTextSize("Zoom").x / 2.0));
ImGui::Text("Zoom");
ImGui::SetCursorPosX((ImGui::GetWindowSize().x / 2.0) - 10);
if (ImGui::VSliderFloat("##_7_", ImVec2(20.0, 150.0), &bw, gui::waterfall.getBandwidth(), 1000.0, "")) {
gui::waterfall.setViewBandwidth(bw);
float minSliderBw = 1000.0;
float maxSliderBw = gui::waterfall.getBandwidth();
if (ImGui::VSliderFloat("##_7_", ImVec2(20.0, 150.0), &bw, maxSliderBw, minSliderBw, "")) {
float normBw = bw / (maxSliderBw - minSliderBw);
float factor = normBw * normBw;
float finalBw = minSliderBw + bw * factor;
gui::waterfall.setViewBandwidth(finalBw);
if (vfo != NULL) {
gui::waterfall.setViewOffset(vfo->centerOffset); // center vfo on screen
}

View File

@ -296,6 +296,11 @@ private:
static void start(void* ctx) {
SoapyModule* _this = (SoapyModule*)ctx;
if (_this->running) { return; }
if (_this->devId < 0) {
spdlog::error("No device available");
return;
}
_this->dev = SoapySDR::Device::make(_this->devArgs);
_this->dev->setSampleRate(SOAPY_SDR_RX, _this->channelId, _this->sampleRate);
@ -354,13 +359,17 @@ private:
static void menuHandler(void* ctx) {
SoapyModule* _this = (SoapyModule*)ctx;
// If no device is available, do not attempt to display menu
float menuWidth = ImGui::GetContentRegionAvailWidth();
// If no device is selected, draw only the refresh button
if (_this->devId < 0) {
if (ImGui::Button(CONCAT("Refresh##_dev_select_", _this->name), ImVec2(menuWidth, 0))) {
_this->refresh();
_this->selectDevice(config.conf["device"]);
}
return;
}
float menuWidth = ImGui::GetContentRegionAvailWidth();
if (_this->running) { style::beginDisabled(); }
ImGui::SetNextItemWidth(menuWidth);