1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-04-12 16:36:45 +00:00

replaced return value of removeDocument with a signal

This commit is contained in:
Marc Zinnschlag 2014-04-26 13:11:27 +02:00
parent dbb192f084
commit ddb0496dca
4 changed files with 17 additions and 6 deletions

View file

@ -39,6 +39,8 @@ CS::Editor::Editor (OgreInit::OgreInit& ogreInit)
connect (&mDocumentManager, SIGNAL (documentAdded (CSMDoc::Document *)), connect (&mDocumentManager, SIGNAL (documentAdded (CSMDoc::Document *)),
this, SLOT (documentAdded (CSMDoc::Document *))); this, SLOT (documentAdded (CSMDoc::Document *)));
connect (&mDocumentManager, SIGNAL (lastDocumentDeleted()),
this, SLOT (lastDocumentDeleted()));
connect (&mViewManager, SIGNAL (newGameRequest ()), this, SLOT (createGame ())); connect (&mViewManager, SIGNAL (newGameRequest ()), this, SLOT (createGame ()));
connect (&mViewManager, SIGNAL (newAddonRequest ()), this, SLOT (createAddon ())); connect (&mViewManager, SIGNAL (newAddonRequest ()), this, SLOT (createAddon ()));
@ -291,3 +293,8 @@ void CS::Editor::documentAdded (CSMDoc::Document *document)
{ {
mViewManager.addView (document); mViewManager.addView (document);
} }
void CS::Editor::lastDocumentDeleted()
{
exit (0);
}

View file

@ -87,6 +87,8 @@ namespace CS
void documentAdded (CSMDoc::Document *document); void documentAdded (CSMDoc::Document *document);
void lastDocumentDeleted();
private: private:
QString mIpcServerName; QString mIpcServerName;

View file

@ -53,7 +53,7 @@ void CSMDoc::DocumentManager::addDocument (const std::vector<boost::filesystem::
mLoader.hasThingsToDo().wakeAll(); mLoader.hasThingsToDo().wakeAll();
} }
bool CSMDoc::DocumentManager::removeDocument (Document *document) void CSMDoc::DocumentManager::removeDocument (Document *document)
{ {
std::vector<Document *>::iterator iter = std::find (mDocuments.begin(), mDocuments.end(), document); std::vector<Document *>::iterator iter = std::find (mDocuments.begin(), mDocuments.end(), document);
@ -63,7 +63,8 @@ bool CSMDoc::DocumentManager::removeDocument (Document *document)
mDocuments.erase (iter); mDocuments.erase (iter);
delete document; delete document;
return mDocuments.empty(); if (mDocuments.empty())
emit lastDocumentDeleted();
} }
void CSMDoc::DocumentManager::setResourceDir (const boost::filesystem::path& parResDir) void CSMDoc::DocumentManager::setResourceDir (const boost::filesystem::path& parResDir)
@ -80,5 +81,4 @@ void CSMDoc::DocumentManager::documentNotLoaded (Document *document, const std::
{ {
removeDocument (document); removeDocument (document);
/// \todo report error /// \todo report error
/// \todo handle removeDocument returning true
} }

View file

@ -43,8 +43,8 @@ namespace CSMDoc
///< \param new_ Do not load the last content file in \a files and instead create in an ///< \param new_ Do not load the last content file in \a files and instead create in an
/// appropriate way. /// appropriate way.
bool removeDocument (Document *document); void removeDocument (Document *document);
///< \return last document removed? ///< Emits the lastDocumentDeleted signal, if applicable.
void setResourceDir (const boost::filesystem::path& parResDir); void setResourceDir (const boost::filesystem::path& parResDir);
@ -66,6 +66,8 @@ namespace CSMDoc
void documentAdded (CSMDoc::Document *document); void documentAdded (CSMDoc::Document *document);
void loadRequest (Document *document, bool _new); void loadRequest (Document *document, bool _new);
void lastDocumentDeleted();
}; };
} }