File indexing completed on 2024-04-14 03:43:23

0001 /*
0002     SPDX-FileCopyrightText: 2008 Prakash Mohan <prakash.mohan@kdemail.net>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "obslistpopupmenu.h"
0008 
0009 #include "config-kstars.h"
0010 #include "kstars.h"
0011 #include "kstarsdata.h"
0012 #include "observinglist.h"
0013 
0014 ObsListPopupMenu::ObsListPopupMenu() : QMenu(nullptr)
0015 {
0016 }
0017 
0018 void ObsListPopupMenu::initPopupMenu(bool sessionView, bool multiSelection, bool showScope)
0019 {
0020     KStarsData *ksdata = KStarsData::Instance();
0021 
0022     clear();
0023 
0024     //Insert item for adding the object to the session view
0025     if (!sessionView)
0026     {
0027         addAction(i18n("Add to session plan"), ksdata->observingList(), SLOT(slotAddToSession()));
0028         addAction(i18n("Add objects visible tonight to session plan"), ksdata->observingList(),
0029                   SLOT(slotAddVisibleObj()));
0030 #ifdef HAVE_INDI
0031         addAction(i18n("Add to Ekos Scheduler"), ksdata->observingList(), SLOT(slotAddToEkosScheduler()));
0032 #endif
0033     }
0034 
0035     addSeparator();
0036 
0037     if (!multiSelection)
0038         addAction(i18n("Center"), ksdata->observingList(),
0039                   SLOT(slotCenterObject())); //Insert item for centering on object
0040 
0041     if (!multiSelection && showScope) // Insert item for slewing telescope
0042         addAction(i18nc("Show the selected object in the telescope", "Scope"), ksdata->observingList(),
0043                   SLOT(slotSlewToObject()));
0044 
0045     addSeparator();
0046 
0047     if (!multiSelection)
0048     {
0049         addAction(i18nc("Show Detailed Information Dialog", "Details"), ksdata->observingList(),
0050                   SLOT(slotDetails())); // Insert item for showing details dialog
0051         addAction(i18n("Eyepiece view"), ksdata->observingList(),
0052                   SLOT(slotEyepieceView())); // Insert item for showing eyepiece view
0053     }
0054 
0055     //Insert item for opening the Altitude vs time dialog
0056     addAction(i18n("Altitude vs. Time"), ksdata->observingList(), SLOT(slotAVT()));
0057 
0058     addSeparator();
0059 
0060     //Insert item for downloading different images
0061     if (!multiSelection)
0062     {
0063         if (ksdata->observingList()->currentObject() != nullptr &&
0064             !ksdata->observingList()->currentObject()->isSolarSystem())
0065         {
0066             addAction(i18n("Show SDSS image"), ksdata->observingList(), SLOT(slotGetImage()));
0067             addAction(i18n("Show DSS image"), ksdata->observingList(), SLOT(slotDSS()));
0068             addAction(i18n("Customized DSS download"), ksdata->observingList(), SLOT(slotCustomDSS()));
0069         }
0070         addAction(i18n("Show images from web "), ksdata->observingList(), SLOT(slotSearchImage()));
0071         addSeparator();
0072     }
0073 
0074     //Insert item for Removing the object(s)
0075     if (!sessionView)
0076         addAction(i18n("Remove from WishList"), ksdata->observingList(), SLOT(slotRemoveSelectedObjects()));
0077     else
0078         addAction(i18n("Remove from Session Plan"), ksdata->observingList(), SLOT(slotRemoveSelectedObjects()));
0079 }