1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-20 20:09:41 +00:00
openmw-tes3mp/apps/opencs/editor.hpp
2013-10-16 13:07:26 +02:00

81 lines
2 KiB
C++

#ifndef CS_EDITOR_H
#define CS_EDITOR_H
#include <QObject>
#include <QString>
#include <QLocalServer>
#include <QLocalSocket>
#ifndef Q_MOC_RUN
#include <components/files/configurationmanager.hpp>
#endif
#include "model/settings/usersettings.hpp"
#include "model/doc/documentmanager.hpp"
#include "view/doc/viewmanager.hpp"
#include "view/doc/startup.hpp"
#include "view/doc/filedialog.hpp"
#include "view/doc/newgame.hpp"
#include "view/settings/usersettingsdialog.hpp"
namespace CS
{
class Editor : public QObject
{
Q_OBJECT
Files::ConfigurationManager mCfgMgr;
CSMSettings::UserSettings mUserSettings;
CSMDoc::DocumentManager mDocumentManager;
CSVDoc::ViewManager mViewManager;
CSVDoc::StartupDialogue mStartup;
CSVDoc::NewGameDialogue mNewGame;
CSVSettings::UserSettingsDialog mSettings;
CSVDoc::FileDialog mFileDialog;
boost::filesystem::path mLocal;
void setupDataFiles();
// not implemented
Editor (const Editor&);
Editor& operator= (const Editor&);
public:
Editor();
bool makeIPCServer();
void connectToIPCServer();
int run(int argc, char** argv);
///< \return error status
private slots:
void createGame();
void createAddon();
void loadDocument();
void openFiles();
void createNewFile (const boost::filesystem::path& savePath);
void createNewGame (const boost::filesystem::path& file);
void showStartup();
void showSettings();
bool parseOptions (int argc, char** argv);
void setResourceDir (const boost::filesystem::path& parResDir);
private:
QString mIpcServerName;
QLocalServer *mServer;
QLocalSocket *mClientSocket;
boost::filesystem::path mResDir;
};
}
#endif