From 347a734364fa28e045bc1809b3e0a9ca540ca870 Mon Sep 17 00:00:00 2001 From: Michal Sciubidlo Date: Tue, 5 Feb 2013 22:06:36 +0100 Subject: [PATCH] Move OpenDialog to editor and use it in startup dialogue. Remove debug output from DataFilesList. --- apps/opencs/editor.cpp | 32 +++++++++++----------- apps/opencs/editor.hpp | 3 ++ apps/opencs/view/doc/view.cpp | 29 ++------------------ apps/opencs/view/doc/view.hpp | 5 ---- components/fileorderlist/datafileslist.cpp | 2 -- 5 files changed, 21 insertions(+), 50 deletions(-) diff --git a/apps/opencs/editor.cpp b/apps/opencs/editor.cpp index 7156db94e..02b494d3d 100644 --- a/apps/opencs/editor.cpp +++ b/apps/opencs/editor.cpp @@ -15,6 +15,8 @@ CS::Editor::Editor() : mViewManager (mDocumentManager), mNewDocumentIndex (0) connect (&mStartup, SIGNAL (createDocument()), this, SLOT (createDocument ())); connect (&mStartup, SIGNAL (loadDocument()), this, SLOT (loadDocument ())); + + connect (&mOpenDialog, SIGNAL(accepted()), this, SLOT(openFiles())); } void CS::Editor::createDocument() @@ -36,26 +38,24 @@ void CS::Editor::createDocument() } void CS::Editor::loadDocument() +{ + mOpenDialog.show(); + mOpenDialog.raise(); + mOpenDialog.activateWindow(); +} + +void CS::Editor::openFiles() { mStartup.hide(); - - /// \todo open the ESX picker instead - /// \todo remove the manual record creation and load the ESX files instead - - std::ostringstream stream; - - stream << "Document" << (++mNewDocumentIndex); - - std::vector files; - files.push_back (stream.str()); - - CSMDoc::Document *document = mDocumentManager.addDocument (files, false); - + std::vector paths; + mOpenDialog.getFileList(paths); + CSMDoc::Document *document = mDocumentManager.addDocument(paths, false); + static const char *sGlobals[] = { "Day", "DaysPassed", "GameHour", "Month", "PCRace", "PCVampire", "PCWerewolf", "PCYear", 0 }; - + for (int i=0; sGlobals[i]; ++i) { ESM::Global record; @@ -64,9 +64,9 @@ void CS::Editor::loadDocument() record.mType = ESM::VT_Float; document->getData().getGlobals().add (record); } - + document->getData().merge(); /// \todo remove once proper ESX loading is implemented - + mViewManager.addView (document); } diff --git a/apps/opencs/editor.hpp b/apps/opencs/editor.hpp index 0cd780f7f..024475bf0 100644 --- a/apps/opencs/editor.hpp +++ b/apps/opencs/editor.hpp @@ -7,6 +7,7 @@ #include "view/doc/viewmanager.hpp" #include "view/doc/startup.hpp" +#include "view/doc/opendialog.hpp" namespace CS { @@ -19,6 +20,7 @@ namespace CS CSMDoc::DocumentManager mDocumentManager; CSVDoc::ViewManager mViewManager; CSVDoc::StartupDialogue mStartup; + OpenDialog mOpenDialog; // not implemented Editor (const Editor&); @@ -36,6 +38,7 @@ namespace CS void createDocument(); void loadDocument(); + void openFiles(); }; } diff --git a/apps/opencs/view/doc/view.cpp b/apps/opencs/view/doc/view.cpp index 146e6634e..f5cc3d85b 100644 --- a/apps/opencs/view/doc/view.cpp +++ b/apps/opencs/view/doc/view.cpp @@ -14,7 +14,6 @@ #include "../tools/subviews.hpp" -#include "opendialog.hpp" #include "viewmanager.hpp" #include "operations.hpp" #include "subview.hpp" @@ -32,12 +31,8 @@ void CSVDoc::View::setupFileMenu() QAction *new_ = new QAction (tr ("New"), this); connect (new_, SIGNAL (triggered()), this, SIGNAL (newDocumentRequest())); file->addAction (new_); - - mOpen = new QAction(tr ("&Open"), this); - connect (mOpen, SIGNAL (triggered()), this, SLOT (open())); - file->addAction (mOpen); - QAction *open = new QAction (tr ("Open"), this); + QAction *open = new QAction (tr ("&Open"), this); connect (open, SIGNAL (triggered()), this, SIGNAL (loadDocumentRequest())); file->addAction (open); @@ -119,7 +114,7 @@ void CSVDoc::View::updateActions() } CSVDoc::View::View (ViewManager& viewManager, CSMDoc::Document *document, int totalViews) -: mViewManager (viewManager), mDocument (document), mViewIndex (totalViews-1), mViewTotal (totalViews), mOpenDialog(0) +: mViewManager (viewManager), mDocument (document), mViewIndex (totalViews-1), mViewTotal (totalViews) { setDockOptions (QMainWindow::AllowNestedDocks); @@ -214,26 +209,6 @@ void CSVDoc::View::save() mDocument->save(); } -void CSVDoc::View::open() -{ - if (!mOpenDialog) { - mOpenDialog = new OpenDialog(this); - connect(mOpenDialog, SIGNAL(accepted()), this, SLOT(openNewFiles())); - } - - mOpenDialog->show(); - mOpenDialog->raise(); - mOpenDialog->activateWindow(); -} - -void CSVDoc::View::openNewFiles() -{ - std::vector paths; - mOpenDialog->getFileList(paths); - //FIXME load new files - -} - void CSVDoc::View::verify() { addSubView (mDocument->verify()); diff --git a/apps/opencs/view/doc/view.hpp b/apps/opencs/view/doc/view.hpp index bb3763bb9..05d7210dc 100644 --- a/apps/opencs/view/doc/view.hpp +++ b/apps/opencs/view/doc/view.hpp @@ -9,7 +9,6 @@ #include "subviewfactory.hpp" class QAction; -class OpenDialog; namespace CSMDoc { @@ -37,12 +36,10 @@ namespace CSVDoc QAction *mUndo; QAction *mRedo; QAction *mSave; - QAction *mOpen; QAction *mVerify; std::vector mEditingActions; Operations *mOperations; SubViewFactoryManager mSubViewFactory; - OpenDialog * mOpenDialog; // not implemented View (const View&); @@ -97,8 +94,6 @@ namespace CSVDoc void newView(); - void open(); - void openNewFiles(); void save(); void verify(); diff --git a/components/fileorderlist/datafileslist.cpp b/components/fileorderlist/datafileslist.cpp index 38e0bfb1a..d25060baa 100644 --- a/components/fileorderlist/datafileslist.cpp +++ b/components/fileorderlist/datafileslist.cpp @@ -204,13 +204,11 @@ void DataFilesList::selectedFiles(std::vector& paths) foreach (const QString &path, masterPaths) { paths.push_back(path.toStdString()); - cerr << path.toStdString() << endl; } QStringList pluginPaths = mPluginsModel->checkedItemsPaths(); foreach (const QString &path, pluginPaths) { paths.push_back(path.toStdString()); - cerr << path.toStdString() << endl; } }