KStars Developers Hangout #1

Eric Dejouhanet eric.dejouhanet at gmail.com
Thu Jun 4 12:40:19 BST 2020


Hello,

Sorry for taking so long to get the mailing list account back.

I’d like to step in to tell what I pondered to implement for the Focus 
module.

I believe each Ekos module should be able to save and load its settings 
to files. This comes in addition to the regular Options mechanism, which 
are the “current” settings. We already have this for the Capture module 
as Ekos Sequence .esq files, and for the Scheduler module as Ekos 
Schedule .esl files.

My proposal is therefore to have Ekos Focus, Align, Guide and 
Observatory settings serialized like Capture and Schedule. Because that 
would make that much file extensions, I propose to embed the type of 
settings inside the serialized file. Additionally, I propose to 
disconnect the format of the file from the actual content, so that a 
« settings list » suitable for a particular module could be stored as 
XML, or JSON, or whatever serialization plug-in we may add to Ekos.

On the settings themselves, Qt has a generic Model/View Framework using 
QAbstractTableModel. I propose to implement a ModuleSettings class above 
the table specialization of this framework. This will offer a low-cost 
generic view of Module settings that can be included as a summary in 
each module, read-only but eventually with modification features.

Then each Module can declare its settings, connect them to UI elements, 
and gain automatic serialization. This will help separating the view and 
the data in our architecture (it really needs that).

My original idea was to store all Module settings in Scheduler settings 
(tree+table model), and forward them when initiating observation steps. 
In the preliminaries I worked out, I could also redesign the Scheduler 
UI into a (relatively ugly) tree view that I showed last year in the 
forum (or was it even before?).

-- 
-Eric

mailto:eric.dejouhanet at gmail.com -- https://astronomy.dejouha.net



More information about the Kstars-devel mailing list