Warning, file /education/kstars/kstars/ekos/align/opsalign.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2017 Jasem Mutlaq <mutlaqja@ikarustech.com> 0003 SPDX-FileCopyrightText: 2017 Robert Lancaster <rlancaste@gmail.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "opsalign.h" 0009 0010 #include "align.h" 0011 #include "fov.h" 0012 #include "kstars.h" 0013 #include "ksnotification.h" 0014 #include "Options.h" 0015 #include "kspaths.h" 0016 #include "ekos/auxiliary/stellarsolverprofile.h" 0017 0018 #include <KConfigDialog> 0019 #include <QProcess> 0020 #include <ekos_align_debug.h> 0021 0022 namespace Ekos 0023 { 0024 OpsAlign::OpsAlign(Align *parent) : QWidget(KStars::Instance()) 0025 { 0026 setupUi(this); 0027 0028 alignModule = parent; 0029 0030 //Get a pointer to the KConfigDialog 0031 m_ConfigDialog = KConfigDialog::exists("alignsettings"); 0032 0033 editSolverProfile->setIcon(QIcon::fromTheme("document-edit")); 0034 editSolverProfile->setAttribute(Qt::WA_LayoutUsesWidgetRect); 0035 connect(editSolverProfile, &QAbstractButton::clicked, this, [this] 0036 { 0037 emit needToLoadProfile(kcfg_SolveOptionsProfile->currentText()); 0038 }); 0039 0040 reloadOptionsProfiles(); 0041 0042 connect(m_ConfigDialog->button(QDialogButtonBox::Apply), SIGNAL(clicked()), SLOT(slotApply())); 0043 connect(m_ConfigDialog->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), SLOT(slotApply())); 0044 connect(m_ConfigDialog->button(QDialogButtonBox::Ok), SIGNAL(clicked()), SLOT(slotApply())); 0045 } 0046 0047 void OpsAlign::setFlipPolicy(const Ekos::OpsAlign::FlipPriority Priority) 0048 { 0049 if (Priority == Ekos::OpsAlign::ROTATOR_ANGLE) 0050 kcfg_AstrometryFlipRotationAllowed->setChecked(true); 0051 else if (Priority == Ekos::OpsAlign::POSITION_ANGLE) 0052 FlipRotationNotAllowed->setChecked(true); 0053 OpsAlign::update(); 0054 emit m_ConfigDialog->button(QDialogButtonBox::Apply)->click(); 0055 } 0056 0057 void OpsAlign::reloadOptionsProfiles() 0058 { 0059 QString savedOptionsProfiles = QDir(KSPaths::writableLocation( 0060 QStandardPaths::AppLocalDataLocation)).filePath("SavedAlignProfiles.ini"); 0061 0062 if(QFile(savedOptionsProfiles).exists()) 0063 optionsList = StellarSolver::loadSavedOptionsProfiles(savedOptionsProfiles); 0064 else 0065 optionsList = getDefaultAlignOptionsProfiles(); 0066 int currentIndex = kcfg_SolveOptionsProfile->currentIndex(); 0067 kcfg_SolveOptionsProfile->clear(); 0068 for(auto ¶m : optionsList) 0069 kcfg_SolveOptionsProfile->addItem(param.listName); 0070 0071 if (currentIndex >= 0) 0072 { 0073 kcfg_SolveOptionsProfile->setCurrentIndex(currentIndex); 0074 Options::setSolveOptionsProfile(currentIndex); 0075 } 0076 else 0077 kcfg_SolveOptionsProfile->setCurrentIndex(Options::solveOptionsProfile()); 0078 } 0079 0080 void OpsAlign::slotApply() 0081 { 0082 emit settingsUpdated(); 0083 } 0084 }