Commit a6f7444e authored by Summer Stapleton's avatar Summer Stapleton
Browse files

Commented-out creation of RemoveImagesWorkOrder from Directory.cpp. Fixes #5224

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/trunk@8320 41f8697f-d340-4b68-9986-7bafba869bb8
parent a18ec6ca
Loading
Loading
Loading
Loading
+60 −38
Original line number Diff line number Diff line
@@ -29,13 +29,16 @@
#include <QGridLayout>
#include <QMenu>
#include <QMenuBar>
#include <QMessageBox>
#include <QRegExp>
#include <QSettings>
#include <QSizePolicy>
#include <QSplitter>
#include <QStringList>
#include <QtDebug>
#include <QVariant>
#include <QXmlStreamWriter>

#include <QtDebug>
#include <QMessageBox>

#include "BundleObservation.h"
#include "BundleObservationView.h"
@@ -62,18 +65,17 @@
#include "IException.h"
#include "IString.h"
#include "ImageFileListViewWorkOrder.h"
#include "ImageFileListWidget.h"
#include "ImportControlNetWorkOrder.h"
#include "ImportImagesWorkOrder.h"
#include "ImportShapesWorkOrder.h"
#include "ImportTemplateWorkOrder.h"
#include "ImageFileListWidget.h"
#include "JigsawWorkOrder.h"
#include "MatrixSceneWidget.h"
#include "MatrixViewWorkOrder.h"
#include "MosaicControlNetTool.h"
#include "MosaicSceneWidget.h"
#include "OpenProjectWorkOrder.h"
#include "OpenRecentProjectWorkOrder.h"
#include "Project.h"
#include "ProjectItem.h"
#include "ProjectItemModel.h"
@@ -135,6 +137,7 @@ namespace Isis {

    m_projectItemModel = new ProjectItemModel(this);
    m_projectItemModel->addProject(m_project);
    connect(m_projectItemModel, SIGNAL(cleanProject(bool)), SIGNAL(cleanProject(bool)));

//  qDebug()<<"Directory::Directory  model row counter after addProject = "<<m_projectItemModel->rowCount();

@@ -148,7 +151,7 @@ namespace Isis {
      createWorkOrder<Footprint2DViewWorkOrder>();
      createWorkOrder<MatrixViewWorkOrder>();
      createWorkOrder<SensorGetInfoWorkOrder>();
      createWorkOrder<RemoveImagesWorkOrder>();
      //createWorkOrder<RemoveImagesWorkOrder>();
      createWorkOrder<TargetGetInfoWorkOrder>();
      createWorkOrder<BundleObservationViewWorkOrder>();

@@ -162,10 +165,10 @@ namespace Isis {
      m_openProjectWorkOrder = createWorkOrder<OpenProjectWorkOrder>();
      m_saveProjectWorkOrder = createWorkOrder<SaveProjectWorkOrder>();
      m_saveProjectAsWorkOrder = createWorkOrder<SaveProjectAsWorkOrder>();      
      m_openRecentProjectWorkOrder = createWorkOrder<OpenRecentProjectWorkOrder>();
      m_runJigsawWorkOrder = createWorkOrder<JigsawWorkOrder>();
      m_closeProjectWorkOrder = createWorkOrder<CloseProjectWorkOrder>();
      m_renameProjectWorkOrder = createWorkOrder<RenameProjectWorkOrder>();
      m_recentProjectsLoaded = false;
    }
    catch (IException &e) {
      throw IException(e, IException::Programmer,
@@ -183,13 +186,12 @@ namespace Isis {
   */
  Directory::~Directory() {

    delete m_project;
    m_workOrders.clear();

    foreach (WorkOrder *workOrder, m_workOrders) {
      delete workOrder;
    if (m_project) {     
      m_project ->deleteLater();
      m_project = NULL;
    }

    m_workOrders.clear();
  }


@@ -297,6 +299,50 @@ namespace Isis {
  }


  /**
   * @brief Loads and displays a list of recently opened projects in the file menu.
   * @internal
   *   @history Tyler Wilson 2017-10-17 - This function updates the Recent Projects File
   *                                      menu.  References #4492.
   */
  void Directory::updateRecentProjects(){

    if (m_recentProjectsLoaded)  {
      return;      
  }
    else {

    QMenu *fileMenu = new QMenu();

    QMenu *recentProjectsMenu = fileMenu->addMenu("&Recent Projects");
    int nRecentProjects = m_recentProjects.size();

    for (int i = 0; i < nRecentProjects; i++) {
      FileName projectFileName = m_recentProjects.at(i);

      if (!projectFileName.fileExists() )
        continue;

      QAction *openRecentProjectAction = m_openProjectWorkOrder->clone();

      if ( !( (OpenProjectWorkOrder*)openRecentProjectAction )
           ->isExecutable(m_recentProjects.at(i),true ) )
        continue;


      QString projName = m_recentProjects.at(i).split("/").last();      
      openRecentProjectAction->setText(m_recentProjects.at(i).split("/").last() );
      openRecentProjectAction->setToolTip(m_recentProjects.at(i));
      recentProjectsMenu->addAction(openRecentProjectAction);
      }
      fileMenu->addSeparator();
      m_fileMenuActions.append( fileMenu->actions() );
      m_recentProjectsLoaded = true;

    }

  }

  /**
   * @brief Initializes the actions that the Directory can provide to a main window.
   *
@@ -321,27 +367,6 @@ namespace Isis {
    fileMenu->addAction(openProjectAction);
    m_permToolBarActions.append(openProjectAction);

    QMenu *recentProjectsMenu = fileMenu->addMenu("&Recent Projects");
    int nRecentProjects = m_recentProjects.size();

    for (int i = 0; i < nRecentProjects; i++) {
      FileName projectFileName = m_recentProjects.at(i);
      if (!projectFileName.fileExists() )
        continue;

      QAction *openRecentProjectAction = m_openRecentProjectWorkOrder->clone();

      openRecentProjectAction->setData(m_recentProjects.at(i) );
      openRecentProjectAction->setText(m_recentProjects.at(i) );

      if ( !( (OpenRecentProjectWorkOrder*)openRecentProjectAction )
           ->isExecutable(m_recentProjects.at(i) ) )
        continue;

      recentProjectsMenu->addAction(openRecentProjectAction);
    }

    fileMenu->addSeparator();

    QAction *saveAction = m_saveProjectWorkOrder->clone();
    saveAction->setShortcut(Qt::Key_S | Qt::CTRL);
@@ -454,6 +479,7 @@ namespace Isis {
   * @param recentProjects List of projects to add to list.
   */
  void Directory::setRecentProjectsList(QStringList recentProjects) {

    m_recentProjects.append(recentProjects);
  }

@@ -876,7 +902,6 @@ namespace Isis {
   */

  ImageFileListWidget *Directory::addImageFileListView() {
    //qDebug()<<"Directory::addImageFileListView";
    ImageFileListWidget *result = new ImageFileListWidget(this);

    connect( result, SIGNAL( destroyed(QObject *) ),
@@ -1031,10 +1056,7 @@ namespace Isis {
       return;
     }
     m_project->setClean(false);
     //  For now delete the ChipViewportsWidget also, which must be done first since it is a child
     //  of ControlPointEditView
 //    delete m_chipViewports;
 //    qDebug()<<"Directory::cleanupControlPointEditViewWidget  m_controlPointEditViewWidget = "<<m_controlPointEditViewWidget;

   }


+20 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
#include "ImageList.h"
#include "MosaicSceneWidget.h"
#include "TargetBodyList.h"
#include "TemplateList.h"
#include "WorkOrder.h"

class QAction;
@@ -187,6 +188,18 @@ namespace Isis {
   *   @history 2017-08-23 Tracie Sucharski - Fixed some code involving connections in
   *                           in ::addFootprint2DView which got messed up in a svn merge.  Removed
   *                           unused signal, controlPointAdded.
   *   @history 2017-11-02 Tyler Wilson - Added the updateRecentProjects() function which
   *                           updates the Recent Projects file menu with recently loaded projects.
   *                           Fixes #4492.
   *   @history 2017-11-03 Christopher Combs - Added support for new Template and TemplateList
   *                           classes. Fixes #5117.
   *   @history 2017-11-09 Tyler Wilson - Made changes to updateRecentProjects() to handle deleting
   *                           the OpenRecentProjectWorkOrder.  Fixes #5220.
   *   @history 2017-11-13 Makayla Shepherd - Modifying the name of an ImageList, ShapeList or 
   *                           BundeSolutionInfo on the ProjectTree now sets the project to 
   *                           not clean. Fixes #5174.
   *   @history 2017-12-01 Summer Stapleton - Commented-out RemoveImagesWorkOrder being created. 
   *                           Fixes #5224
   */
  class Directory : public QObject {
    Q_OBJECT
@@ -306,6 +319,8 @@ namespace Isis {
      void cnetModified();
      void redrawMeasures();
      
      void cleanProject(bool);

    public slots:
      void cleanupBundleObservationViews(QObject *);
      void cleanupCnetEditorViewWidgets(QObject *);
@@ -331,6 +346,7 @@ namespace Isis {


      void updateRecentProjects(Project *project);
      void updateRecentProjects();

    private slots:
      void initiateRenameProjectWorkOrder(QString projectName);
@@ -375,6 +391,7 @@ namespace Isis {
        return newWorkOrder;
      }


      static QList<QAction *> restructureActions(QList< QPair< QString, QList<QAction *> > >);
      static bool actionTextLessThan(QAction *lhs, QAction *rhs);

@@ -434,6 +451,8 @@ namespace Isis {
      QMultiMap<Control*, QWidget*> m_controlMap; //!< Map to hold every view with an open Control

      QString m_editPointId; //!< Current control point that is in the ControlPointEditWidget

      bool m_recentProjectsLoaded;
  };
}