From 71faa61802346460b5870921cc4615bb18b1d762 Mon Sep 17 00:00:00 2001 From: Garrett Bates <gbates@passcal.nmt.edu> Date: Mon, 28 Jun 2021 02:39:40 -0600 Subject: [PATCH] Bug / formatting fixes --- .../view/{ui => }/calendarwidget.py | 0 sohstationviewer/view/{ui => }/filelist.py | 0 sohstationviewer/view/mainwindow.py | 46 ++++++- sohstationviewer/view/ui/calendar_ui.py | 2 +- sohstationviewer/view/ui/main.ui | 2 +- sohstationviewer/view/ui/main_ui.py | 120 +++++++++--------- 6 files changed, 101 insertions(+), 69 deletions(-) rename sohstationviewer/view/{ui => }/calendarwidget.py (100%) rename sohstationviewer/view/{ui => }/filelist.py (100%) diff --git a/sohstationviewer/view/ui/calendarwidget.py b/sohstationviewer/view/calendarwidget.py similarity index 100% rename from sohstationviewer/view/ui/calendarwidget.py rename to sohstationviewer/view/calendarwidget.py diff --git a/sohstationviewer/view/ui/filelist.py b/sohstationviewer/view/filelist.py similarity index 100% rename from sohstationviewer/view/ui/filelist.py rename to sohstationviewer/view/filelist.py diff --git a/sohstationviewer/view/mainwindow.py b/sohstationviewer/view/mainwindow.py index 5dcd4ef7e..592700a8b 100755 --- a/sohstationviewer/view/mainwindow.py +++ b/sohstationviewer/view/mainwindow.py @@ -4,8 +4,8 @@ import pathlib from PySide2 import QtCore, QtGui, QtWidgets from sohstationviewer.view.ui.main_ui import Ui_MainWindow from sohstationviewer.view.calendardialog import CalendarDialog -from sohstationviewer.view.ui.calendarwidget import CalendarWidget -from sohstationviewer.view.ui.filelist import FileListItem +from sohstationviewer.view.calendarwidget import CalendarWidget +from sohstationviewer.view.filelist import FileListItem class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): """ @@ -139,16 +139,34 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): def reloadFile(self): print('Reloading last file.') - @QtCore.Slot() + @QtCore.Slot(FileListItem) def openFilesListItemDoubleClicked(self, item): + """ + Handles the double-click event emitted when a user double-clicks on an + item contained within openFilesList + + Parameters + ---------- + item : FileListItem + The item contained within openFilesList which was double-clicked. + """ print(f'Opening {item.text()}') # Do something with the Path object, # i.e., path.open(), or path.iterdir() ... path = item.filePath - @QtCore.Slot() + @QtCore.Slot(str) def setDateFormat(self, displayFormat): + """ + Sets the calendar format used by the QDateEdit + text boxes. + + Parameters + ---------- + displayFormat : str + A valid display format to be used for date conversion. + """ self.timeToDateEdit.setDisplayFormat(displayFormat) self.timeFromDateEdit.setDisplayFormat(displayFormat) @@ -158,18 +176,32 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): # Signal cwd changed, and gather list of files in new cwd self.currentDirectoryChanged.emit(path) for dent in pathlib.Path(path).iterdir(): + if not dent.is_dir() or dent.name.startswith('.'): + continue + self.openFilesList.addItem(FileListItem(dent)) - @QtCore.Slot(str) - def changeCurrentDirectory(self, path=''): + @QtCore.Slot() + def changeCurrentDirectory(self): + """ + Constructs a QFileDialog to select a new working directory + from which the user can load data. The starting directory + is taken from cwdLineEdit. + """ fd = QtWidgets.QFileDialog(self) fd.setFileMode(QtWidgets.QFileDialog.Directory) + fd.setDirectory(self.cwdLineEdit.text()) fd.exec_() new_path = fd.selectedFiles()[0] self.setCurrentDirectory(new_path) - @QtCore.Slot(str) + @QtCore.Slot() def openCalendarWidget(self): + """ + Constructs a subclass of QCalendarDialog + which implements additional functionality to display + Julian dates alongside standard calendar format. + """ calendar = CalendarDialog(self) calendar.show() diff --git a/sohstationviewer/view/ui/calendar_ui.py b/sohstationviewer/view/ui/calendar_ui.py index be2303339..0b272eefd 100644 --- a/sohstationviewer/view/ui/calendar_ui.py +++ b/sohstationviewer/view/ui/calendar_ui.py @@ -36,4 +36,4 @@ class Ui_CalendarDialog(object): def retranslateUi(self, CalendarDialog): CalendarDialog.setWindowTitle(QtWidgets.QApplication.translate("CalendarDialog", "Calendar", None, -1)) -from .calendarwidget import CalendarWidget +from sohstationviewer.view.calendarwidget import CalendarWidget diff --git a/sohstationviewer/view/ui/main.ui b/sohstationviewer/view/ui/main.ui index 09586bb79..117fd8eb7 100755 --- a/sohstationviewer/view/ui/main.ui +++ b/sohstationviewer/view/ui/main.ui @@ -706,7 +706,7 @@ </item> </layout> </widget> - <widget class="QTextBrowser" name="textBrowser"> + <widget class="QTextBrowser" name="trackingInfoTextBrowser"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Maximum"> <horstretch>0</horstretch> diff --git a/sohstationviewer/view/ui/main_ui.py b/sohstationviewer/view/ui/main_ui.py index 8465d6c77..53dac5eab 100644 --- a/sohstationviewer/view/ui/main_ui.py +++ b/sohstationviewer/view/ui/main_ui.py @@ -295,29 +295,29 @@ class Ui_MainWindow(object): # self.gridLayout_2.addWidget(self.plottingWidget, 0, 0, 1, 1) self.mainScrollArea.setWidget(self.mainScrollAreaContents) self.gridLayout_3.addWidget(self.horizontalSplit, 0, 0, 1, 1) - self.textBrowser = QtWidgets.QTextBrowser(self.verticalSplit) + self.trackingInfoTextBrowser = QtWidgets.QTextBrowser(self.verticalSplit) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.textBrowser.sizePolicy().hasHeightForWidth()) - self.textBrowser.setSizePolicy(sizePolicy) - self.textBrowser.setMaximumSize(QtCore.QSize(16777215, 200)) - self.textBrowser.setObjectName("textBrowser") + sizePolicy.setHeightForWidth(self.trackingInfoTextBrowser.sizePolicy().hasHeightForWidth()) + self.trackingInfoTextBrowser.setSizePolicy(sizePolicy) + self.trackingInfoTextBrowser.setMaximumSize(QtCore.QSize(16777215, 200)) + self.trackingInfoTextBrowser.setObjectName("trackingInfoTextBrowser") self.gridLayout.addWidget(self.verticalSplit, 1, 0, 1, 5) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1798, 20)) self.menubar.setObjectName("menubar") - self.menu_File = QtWidgets.QMenu(self.menubar) - self.menu_File.setObjectName("menu_File") - self.menu_Command = QtWidgets.QMenu(self.menubar) - self.menu_Command.setObjectName("menu_Command") - self.menu_Export_TT_Times_As = QtWidgets.QMenu(self.menu_Command) - self.menu_Export_TT_Times_As.setObjectName("menu_Export_TT_Times_As") - self.menu_Options = QtWidgets.QMenu(self.menubar) - self.menu_Options.setObjectName("menu_Options") - self.menu_Help = QtWidgets.QMenu(self.menubar) - self.menu_Help.setObjectName("menu_Help") + self.menuFile = QtWidgets.QMenu(self.menubar) + self.menuFile.setObjectName("menuFile") + self.menuCommand = QtWidgets.QMenu(self.menubar) + self.menuCommand.setObjectName("menuCommand") + self.menuExport_TT_Times_As = QtWidgets.QMenu(self.menuCommand) + self.menuExport_TT_Times_As.setObjectName("menuExport_TT_Times_As") + self.menuOptions = QtWidgets.QMenu(self.menubar) + self.menuOptions.setObjectName("menuOptions") + self.menuHelp = QtWidgets.QMenu(self.menubar) + self.menuHelp.setObjectName("menuHelp") self.menuForm = QtWidgets.QMenu(self.menubar) self.menuForm.setObjectName("menuForm") self.menuPlots = QtWidgets.QMenu(self.menubar) @@ -459,42 +459,42 @@ class Ui_MainWindow(object): self.setFontSizes.setObjectName("setFontSizes") self.openAbout = QtWidgets.QAction(MainWindow) self.openAbout.setObjectName("openAbout") - self.menu_File.addAction(self.deleteSetup) - self.menu_File.addSeparator() - self.menu_File.addAction(self.quit) - self.menu_Export_TT_Times_As.addAction(self.exportDeploymentFile) - self.menu_Export_TT_Times_As.addAction(self.exportDeploymentBlock) - self.menu_Export_TT_Times_As.addAction(self.exportTSPGeometry) - self.menu_Export_TT_Times_As.addAction(self.exportShotInfo) - self.menu_Command.addAction(self.openGPSPlots) - self.menu_Command.addAction(self.searchLog) - self.menu_Command.addAction(self.plotTimeRanges) - self.menu_Command.addAction(self.plotPositions) - self.menu_Command.addSeparator() - self.menu_Command.addAction(self.menu_Export_TT_Times_As.menuAction()) - self.menu_Options.addAction(self.plotTimingProblems) - self.menu_Options.addAction(self.filterNonSOHLines) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.sortFilesByType) - self.menu_Options.addAction(self.sortFilesAlphabetically) - self.menu_Options.addAction(self.calculateFileSizes) - self.menu_Options.addAction(self.warnIfBig) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.addMassPositionToSOH) - self.menu_Options.addAction(self.colorMPRegular) - self.menu_Options.addAction(self.colorMPTrillium) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.addPositionsToET) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.readAntellopeLog) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.showYYYYDOYDates) - self.menu_Options.addAction(self.showYYYY_MM_DDDates) - self.menu_Options.addAction(self.showYYYYMMMDDDates) - self.menu_Options.addSeparator() - self.menu_Options.addAction(self.setFontSizes) - self.menu_Help.addAction(self.openCalendar) - self.menu_Help.addAction(self.openAbout) + self.menuFile.addAction(self.deleteSetup) + self.menuFile.addSeparator() + self.menuFile.addAction(self.quit) + self.menuExport_TT_Times_As.addAction(self.exportDeploymentFile) + self.menuExport_TT_Times_As.addAction(self.exportDeploymentBlock) + self.menuExport_TT_Times_As.addAction(self.exportTSPGeometry) + self.menuExport_TT_Times_As.addAction(self.exportShotInfo) + self.menuCommand.addAction(self.openGPSPlots) + self.menuCommand.addAction(self.searchLog) + self.menuCommand.addAction(self.plotTimeRanges) + self.menuCommand.addAction(self.plotPositions) + self.menuCommand.addSeparator() + self.menuCommand.addAction(self.menuExport_TT_Times_As.menuAction()) + self.menuOptions.addAction(self.plotTimingProblems) + self.menuOptions.addAction(self.filterNonSOHLines) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.sortFilesByType) + self.menuOptions.addAction(self.sortFilesAlphabetically) + self.menuOptions.addAction(self.calculateFileSizes) + self.menuOptions.addAction(self.warnIfBig) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.addMassPositionToSOH) + self.menuOptions.addAction(self.colorMPRegular) + self.menuOptions.addAction(self.colorMPTrillium) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.addPositionsToET) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.readAntellopeLog) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.showYYYYDOYDates) + self.menuOptions.addAction(self.showYYYY_MM_DDDates) + self.menuOptions.addAction(self.showYYYYMMMDDDates) + self.menuOptions.addSeparator() + self.menuOptions.addAction(self.setFontSizes) + self.menuHelp.addAction(self.openCalendar) + self.menuHelp.addAction(self.openAbout) self.menuPlots.addAction(self.plotDSPClkDifference) self.menuPlots.addAction(self.plotPhaseError) self.menuPlots.addAction(self.plotJerk) @@ -518,12 +518,12 @@ class Ui_MainWindow(object): self.menuPlots.addAction(self.plotMassPositions456) self.menuPlots.addSeparator() self.menuPlots.addAction(self.plotAll) - self.menubar.addAction(self.menu_File.menuAction()) - self.menubar.addAction(self.menu_Command.menuAction()) + self.menubar.addAction(self.menuFile.menuAction()) + self.menubar.addAction(self.menuCommand.menuAction()) self.menubar.addAction(self.menuPlots.menuAction()) - self.menubar.addAction(self.menu_Options.menuAction()) + self.menubar.addAction(self.menuOptions.menuAction()) self.menubar.addAction(self.menuForm.menuAction()) - self.menubar.addAction(self.menu_Help.menuAction()) + self.menubar.addAction(self.menuHelp.menuAction()) self.timeFromLabel.setBuddy(self.timeFromDateEdit) self.timeToLabel.setBuddy(self.timeToDateEdit) self.dsLabel.setBuddy(self.ds1CheckBox) @@ -575,11 +575,11 @@ class Ui_MainWindow(object): self.clearPushButton.setText(QtWidgets.QApplication.translate("MainWindow", "Clear", None, -1)) self.replotPushButton.setText(QtWidgets.QApplication.translate("MainWindow", "Replot", None, -1)) self.reloadPushButton.setText(QtWidgets.QApplication.translate("MainWindow", "Reload", None, -1)) - self.menu_File.setTitle(QtWidgets.QApplication.translate("MainWindow", "&File", None, -1)) - self.menu_Command.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Commands", None, -1)) - self.menu_Export_TT_Times_As.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Export TT Times As...", None, -1)) - self.menu_Options.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Options", None, -1)) - self.menu_Help.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Help", None, -1)) + self.menuFile.setTitle(QtWidgets.QApplication.translate("MainWindow", "&File", None, -1)) + self.menuCommand.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Commands", None, -1)) + self.menuExport_TT_Times_As.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Export TT Times As...", None, -1)) + self.menuOptions.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Options", None, -1)) + self.menuHelp.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Help", None, -1)) self.menuForm.setTitle(QtWidgets.QApplication.translate("MainWindow", "F&orms", None, -1)) self.menuPlots.setTitle(QtWidgets.QApplication.translate("MainWindow", "&Plots", None, -1)) self.quit.setText(QtWidgets.QApplication.translate("MainWindow", "&Quit", None, -1)) -- GitLab