8 #include "focusmanager.h"
9 #include "kstarsdata.h"
19 void FocusManager::updateCurrentHFR(
double newHFR)
21 currentHFR->setText(
QString(
"%1").arg(newHFR, 0,
'f', 2) +
" px");
22 profilePlot->drawProfilePlot(newHFR);
25 void FocusManager::updateFocusDetailView()
27 const int pos = focusDetailView->currentIndex();
28 if (pos == 1 && focusStarPixmap.get() !=
nullptr)
30 focusStarView->setPixmap(focusStarPixmap.get()->scaled(focusDetailView->width(), focusDetailView->height(),
35 void FocusManager::stopAnimation()
37 if (focusPI->isAnimated())
38 focusPI->stopAnimation();
41 void FocusManager::updateFocusStarPixmap(
QPixmap &starPixmap)
46 focusStarPixmap.reset(
new QPixmap(starPixmap));
47 updateFocusDetailView();
50 void FocusManager::updateFocusStatus(Ekos::FocusState status)
52 focusStatus->setText(Ekos::getFocusStatusString(status));
54 if (status >= Ekos::FOCUS_PROGRESS)
56 focusPI->setColor(
QColor(KStarsData::Instance()->colorScheme()->colorNamed(
"TargetColor")));
57 if (focusPI->isAnimated() ==
false)
58 focusPI->startAnimation();
60 else if (status == Ekos::FOCUS_COMPLETE && Options::enforceAutofocus())
63 if (focusPI->isAnimated() ==
false)
64 focusPI->startAnimation();
68 if (focusPI->isAnimated())
69 focusPI->stopAnimation();
73 void FocusManager::init(Focus *focusProcess)
78 const int pos = focusDetailView->currentIndex();
79 if (pos == 0 || (pos == 1 && focusStarPixmap.get() !=
nullptr))
80 focusDetailView->setCurrentIndex(pos+1);
82 focusDetailView->setCurrentIndex(0);
83 updateFocusDetailView();
86 const int pos = focusDetailView->currentIndex();
87 if (pos == 0 && focusStarPixmap.get() !=
nullptr)
88 focusDetailView->setCurrentIndex(pos+2);
90 focusDetailView->setCurrentIndex(pos+1);
92 focusDetailView->setCurrentIndex(pos-1);
93 updateFocusDetailView();
99 focusTitleLayout->insertWidget(2, focusPI);
104 void FocusManager::reset()
106 focusStatus->setText(
i18n(
"Idle"));
109 focusPI->stopAnimation();