<table><tr><td style="">TallFurryMan created this revision.<br />TallFurryMan added a reviewer: mutlaqja.<br />Restricted Application added a subscriber: KDE Edu.<br />Restricted Application added a project: KDE Edu.<br />TallFurryMan requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D12325">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Added sequence completion column</li>
</ul>

<p>Added a column to the Scheduler list, with light frame currently captured, and<br />
required. These are connected to SchedulerJob attributes. The scheduler fills<br />
the current and required capture counts when it estimates the duration of the<br />
job, displaying "<current>/<required>" in the new column. Note that several<br />
issues make the actual count incorrect in some cases, this will be reworked<br />
later on.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Enum-defined jobs columns and positions</li>
</ul>

<p>Used an enum to position jobs columns in the UI. While this eases repositioning<br />
in code, .ui still needs to be updated because column headers are not populated<br />
dynamically (yet). Also removed a useless cell reset in SchedulerJob (will be<br />
reworked later on).</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Reworked SchedulerJob cell widget management</li>
</ul>

<p>Improved the shortcuts to update cell widgets in queueTable from<br />
SchedulerJob instances, even if SchedulerJob should only be a data<br />
model. Centralized updates in updateJobCell, but will somehow optimize<br />
it by relocating the code to the relevant functions instead.<br />
Rewriting this also makes it obvious that when a job is scheduled, there's<br />
something weird happening with the startup time.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Added score column</li>
</ul>

<p>Added a widget cell for the score, now displayed in queueTable.  Because<br />
negative scores are a bit of an ergonomy issue, those will simply render as<br />
"<0". Basically, negative scores are a no-go for now. Current rework makes a<br />
few issues more obvious, in order to fix them later on.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Connected completion time to widget cell</li>
</ul>

<p>Now completion time will update its widget cell when a job is scheduled to end<br />
at a particular time. This is not very helpful for other states right now, but<br />
also makes it obvious that there are no other states using that column.</p>

<p>FIXME on altitude cutoff, which sometimes cancels a rising target.<br />
FIXME on location of cell updates, either UpdateJobCell or in each setter.<br />
FIXME on resetting a scheduler job when adding it, in the case there is no change.<br />
FIXME on proper "reset" function for scheduler jobs.<br />
FIXME on KNotification on error state from SchedulerJob.<br />
FIXME on special case where estimatedTime is zero, set when job is complete.<br />
FIXME on displaying negative scores.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>This patch doesn't really add any functionality change. The user interface gets a<br />
few cell refreshes and two new views on score and capture counts in order to ease<br />
bug detection later on. Although the capture counts are new, the values filled in<br />
already exist in estimateJobTime. No real fix yet in there.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R321 KStars</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D12325">https://phabricator.kde.org/D12325</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kstars/ekos/scheduler/scheduler.cpp<br />
kstars/ekos/scheduler/scheduler.h<br />
kstars/ekos/scheduler/scheduler.ui<br />
kstars/ekos/scheduler/schedulerjob.cpp<br />
kstars/ekos/scheduler/schedulerjob.h</div></div></div><br /><div><strong>To: </strong>TallFurryMan, mutlaqja<br /><strong>Cc: </strong>KDE Edu, narvaez, apol<br /></div>