removed duplicate code for scrollareas

pull/607/head
Holger Müller 2023-02-27 21:01:35 +01:00
rodzic b47e665575
commit 92a8a0e39d
9 zmienionych plików z 55 dodań i 79 usunięć

Wyświetl plik

@ -25,6 +25,7 @@ from PyQt5 import QtWidgets, QtCore
from NanoVNASaver.About import VERSION_URL, INFO_URL
from NanoVNASaver.Version import Version
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
@ -36,17 +37,9 @@ class AboutWindow(QtWidgets.QWidget):
self.setWindowTitle("About NanoVNASaver")
self.setWindowIcon(self.app.icon)
top_layout = QtWidgets.QHBoxLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
top_layout = QtWidgets.QHBoxLayout()
make_scrollable(self, top_layout)
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)

Wyświetl plik

@ -31,6 +31,7 @@ from NanoVNASaver.Analysis.PeakSearchAnalysis import PeakSearchAnalysis
from NanoVNASaver.Analysis.ResonanceAnalysis import ResonanceAnalysis
from NanoVNASaver.Analysis.SimplePeakSearchAnalysis import SimplePeakSearchAnalysis
from NanoVNASaver.Analysis.VSWRAnalysis import VSWRAnalysis
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
@ -49,16 +50,7 @@ class AnalysisWindow(QtWidgets.QWidget):
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)
layout = QtWidgets.QVBoxLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, layout)
select_analysis_box = QtWidgets.QGroupBox("Select analysis")
select_analysis_layout = QtWidgets.QFormLayout(select_analysis_box)

Wyświetl plik

@ -24,6 +24,7 @@ from PyQt5 import QtWidgets, QtCore
from NanoVNASaver.Calibration import Calibration
from NanoVNASaver.Settings.Sweep import SweepMode
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
@ -60,15 +61,7 @@ class CalibrationWindow(QtWidgets.QWidget):
top_layout.addLayout(left_layout)
top_layout.addLayout(right_layout)
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, top_layout)
calibration_status_group = QtWidgets.QGroupBox("Active calibration")
calibration_status_layout = QtWidgets.QFormLayout()

Wyświetl plik

@ -0,0 +1,36 @@
# NanoVNASaver
#
# A python program to view and export Touchstone data from a NanoVNA
# Copyright (C) 2019, 2020 Rune B. Broberg
# Copyright (C) 2020ff NanoVNA-Saver Authors
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
import logging
from typing import Tuple
from PyQt5 import QtWidgets, QtCore
logger = logging.getLogger(__name__)
def make_scrollable(window: QtWidgets.QWidget, layout: QtWidgets.QLayout) -> None:
area = QtWidgets.QScrollArea()
area.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(area)
widget = QtWidgets.QWidget()
widget.setLayout(layout)
area.setWidget(widget)
window.setLayout(outer)
window.resize(area.size())

Wyświetl plik

@ -20,6 +20,7 @@ import logging
from PyQt5 import QtWidgets, QtCore
from NanoVNASaver.Windows.Defaults import make_scrollable
from NanoVNASaver.Windows.Screenshot import ScreenshotWindow
logger = logging.getLogger(__name__)
@ -46,16 +47,7 @@ class DeviceSettingsWindow(QtWidgets.QWidget):
right_layout = QtWidgets.QVBoxLayout()
top_layout.addLayout(left_layout)
top_layout.addLayout(right_layout)
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(top_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, top_layout)
status_box = QtWidgets.QGroupBox("Status")
status_layout = QtWidgets.QFormLayout(status_box)

Wyświetl plik

@ -25,6 +25,7 @@ from NanoVNASaver import Defaults
from NanoVNASaver.Charts.Chart import (
Chart, ChartColors)
from NanoVNASaver.Windows.Bands import BandsWindow
from NanoVNASaver.Windows.Defaults import make_scrollable
from NanoVNASaver.Windows.MarkerSettings import MarkerSettingsWindow
from NanoVNASaver.Marker.Widget import Marker
@ -44,16 +45,7 @@ class DisplaySettingsWindow(QtWidgets.QWidget):
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)
layout = QtWidgets.QHBoxLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, layout)
left_layout = QtWidgets.QVBoxLayout()
layout.addLayout(left_layout)

Wyświetl plik

@ -21,6 +21,7 @@ import logging
from PyQt5 import QtWidgets, QtCore
from NanoVNASaver.Touchstone import Touchstone
from NanoVNASaver.RFTools import Datapoint
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
@ -34,17 +35,9 @@ class FilesWindow(QtWidgets.QWidget):
self.setWindowIcon(self.app.icon)
self.setMinimumWidth(200)
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)
file_window_layout = QtWidgets.QVBoxLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(file_window_layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
file_window_layout = QtWidgets.QVBoxLayout()
make_scrollable(self, file_window_layout)
load_file_control_box = QtWidgets.QGroupBox("Import file")
load_file_control_box.setMaximumWidth(300)

Wyświetl plik

@ -24,6 +24,7 @@ from NanoVNASaver.Formatting import (
format_frequency_short, format_frequency_sweep,
)
from NanoVNASaver.Settings.Sweep import SweepMode
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
@ -40,16 +41,7 @@ class SweepSettingsWindow(QtWidgets.QWidget):
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)
layout = QtWidgets.QVBoxLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, layout)
layout.addWidget(self.title_box())
layout.addWidget(self.settings_box())

Wyświetl plik

@ -26,6 +26,8 @@ from scipy.constants import speed_of_light
from PyQt5 import QtWidgets, QtCore
from NanoVNASaver.Windows.Defaults import make_scrollable
logger = logging.getLogger(__name__)
CABLE_PARAMETERS = (
@ -84,16 +86,7 @@ class TDRWindow(QtWidgets.QWidget):
QtWidgets.QShortcut(QtCore.Qt.Key_Escape, self, self.hide)
layout = QtWidgets.QFormLayout()
scrollarea = QtWidgets.QScrollArea()
scrollarea.setWidgetResizable(True)
outer = QtWidgets.QVBoxLayout()
outer.addWidget(scrollarea)
widget = QtWidgets.QWidget()
widget.setLayout(layout)
scrollarea.setWidget(widget)
self.setLayout(outer)
self.resize(scrollarea.size())
make_scrollable(self, layout)
self.tdr_velocity_dropdown = QtWidgets.QComboBox()
for cable_name, velocity in CABLE_PARAMETERS: