mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-13 21:40:11 +00:00
Merge branch 'startup'
This commit is contained in:
commit
2d9e9fe3e1
@ -14,9 +14,12 @@ CS::Editor::Editor() : mViewManager (mDocumentManager)
|
|||||||
|
|
||||||
connect (&mViewManager, SIGNAL (newDocumentRequest ()), this, SLOT (createDocument ()));
|
connect (&mViewManager, SIGNAL (newDocumentRequest ()), this, SLOT (createDocument ()));
|
||||||
connect (&mViewManager, SIGNAL (loadDocumentRequest ()), this, SLOT (loadDocument ()));
|
connect (&mViewManager, SIGNAL (loadDocumentRequest ()), this, SLOT (loadDocument ()));
|
||||||
|
connect (&mViewManager, SIGNAL (editSettingsRequest()), this, SLOT (showSettings ()));
|
||||||
|
|
||||||
connect (&mStartup, SIGNAL (createDocument()), this, SLOT (createDocument ()));
|
connect (&mStartup, SIGNAL (createGame()), this, SLOT (createDocument ())); /// \todo split
|
||||||
|
connect (&mStartup, SIGNAL (createAddon()), this, SLOT (createDocument ()));
|
||||||
connect (&mStartup, SIGNAL (loadDocument()), this, SLOT (loadDocument ()));
|
connect (&mStartup, SIGNAL (loadDocument()), this, SLOT (loadDocument ()));
|
||||||
|
connect (&mStartup, SIGNAL (editConfig()), this, SLOT (showSettings ()));
|
||||||
|
|
||||||
connect (&mFileDialog, SIGNAL(openFiles()), this, SLOT(openFiles()));
|
connect (&mFileDialog, SIGNAL(openFiles()), this, SLOT(openFiles()));
|
||||||
connect (&mFileDialog, SIGNAL(createNewFile()), this, SLOT(createNewFile()));
|
connect (&mFileDialog, SIGNAL(createNewFile()), this, SLOT(createNewFile()));
|
||||||
@ -69,7 +72,7 @@ void CS::Editor::setupDataFiles()
|
|||||||
//load the settings into the userSettings instance.
|
//load the settings into the userSettings instance.
|
||||||
const QString settingFileName = "opencs.cfg";
|
const QString settingFileName = "opencs.cfg";
|
||||||
CSMSettings::UserSettings::instance().loadSettings(settingFileName);
|
CSMSettings::UserSettings::instance().loadSettings(settingFileName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CS::Editor::createDocument()
|
void CS::Editor::createDocument()
|
||||||
@ -126,6 +129,15 @@ void CS::Editor::showStartup()
|
|||||||
mStartup.activateWindow();
|
mStartup.activateWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CS::Editor::showSettings()
|
||||||
|
{
|
||||||
|
if (mSettings.isHidden())
|
||||||
|
mSettings.show();
|
||||||
|
|
||||||
|
mSettings.raise();
|
||||||
|
mSettings.activateWindow();
|
||||||
|
}
|
||||||
|
|
||||||
bool CS::Editor::makeIPCServer()
|
bool CS::Editor::makeIPCServer()
|
||||||
{
|
{
|
||||||
mServer = new QLocalServer(this);
|
mServer = new QLocalServer(this);
|
||||||
|
@ -9,12 +9,15 @@
|
|||||||
#ifndef Q_MOC_RUN
|
#ifndef Q_MOC_RUN
|
||||||
#include <components/files/configurationmanager.hpp>
|
#include <components/files/configurationmanager.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "model/settings/usersettings.hpp"
|
||||||
#include "model/doc/documentmanager.hpp"
|
#include "model/doc/documentmanager.hpp"
|
||||||
|
|
||||||
#include "view/doc/viewmanager.hpp"
|
#include "view/doc/viewmanager.hpp"
|
||||||
#include "view/doc/startup.hpp"
|
#include "view/doc/startup.hpp"
|
||||||
#include "view/doc/filedialog.hpp"
|
#include "view/doc/filedialog.hpp"
|
||||||
#include "model/settings/usersettings.hpp"
|
|
||||||
|
#include "view/settings/usersettingsdialog.hpp"
|
||||||
|
|
||||||
namespace CS
|
namespace CS
|
||||||
{
|
{
|
||||||
@ -26,6 +29,7 @@ namespace CS
|
|||||||
CSMDoc::DocumentManager mDocumentManager;
|
CSMDoc::DocumentManager mDocumentManager;
|
||||||
CSVDoc::ViewManager mViewManager;
|
CSVDoc::ViewManager mViewManager;
|
||||||
CSVDoc::StartupDialogue mStartup;
|
CSVDoc::StartupDialogue mStartup;
|
||||||
|
CSVSettings::UserSettingsDialog mSettings;
|
||||||
FileDialog mFileDialog;
|
FileDialog mFileDialog;
|
||||||
|
|
||||||
Files::ConfigurationManager mCfgMgr;
|
Files::ConfigurationManager mCfgMgr;
|
||||||
@ -55,6 +59,8 @@ namespace CS
|
|||||||
|
|
||||||
void showStartup();
|
void showStartup();
|
||||||
|
|
||||||
|
void showSettings();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
QString mIpcServerName;
|
QString mIpcServerName;
|
||||||
|
@ -3,21 +3,107 @@
|
|||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDesktopWidget>
|
#include <QDesktopWidget>
|
||||||
#include <QPushButton>
|
#include <QVBoxLayout>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QRect>
|
#include <QRect>
|
||||||
|
#include <QGridLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QIcon>
|
||||||
|
#include <QPushButton>
|
||||||
|
|
||||||
CSVDoc::StartupDialogue::StartupDialogue()
|
QPushButton *CSVDoc::StartupDialogue::addButton (const QString& label, const QIcon& icon)
|
||||||
{
|
{
|
||||||
QHBoxLayout *layout = new QHBoxLayout (this);
|
int column = mColumn++;
|
||||||
|
|
||||||
QPushButton *createDocument = new QPushButton ("new", this);
|
QPushButton *button = new QPushButton (this);
|
||||||
connect (createDocument, SIGNAL (clicked()), this, SIGNAL (createDocument()));
|
|
||||||
layout->addWidget (createDocument);
|
|
||||||
|
|
||||||
QPushButton *loadDocument = new QPushButton ("load", this);
|
button->setIcon (QIcon (icon));
|
||||||
|
|
||||||
|
button->setSizePolicy (QSizePolicy (QSizePolicy::Preferred, QSizePolicy::Preferred));
|
||||||
|
|
||||||
|
mLayout->addWidget (button, 0, column);
|
||||||
|
|
||||||
|
mLayout->addWidget (new QLabel (label, this), 1, column, Qt::AlignCenter);
|
||||||
|
|
||||||
|
int width = mLayout->itemAtPosition (1, column)->widget()->sizeHint().width();
|
||||||
|
|
||||||
|
if (width>mWidth)
|
||||||
|
mWidth = width;
|
||||||
|
|
||||||
|
return button;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QWidget *CSVDoc::StartupDialogue::createButtons()
|
||||||
|
{
|
||||||
|
QWidget *widget = new QWidget (this);
|
||||||
|
|
||||||
|
mLayout = new QGridLayout (widget);
|
||||||
|
|
||||||
|
/// \todo add icons
|
||||||
|
QPushButton *createGame = addButton ("Create A New Game", QIcon (""));
|
||||||
|
connect (createGame, SIGNAL (clicked()), this, SIGNAL (createGame()));
|
||||||
|
|
||||||
|
QPushButton *createAddon = addButton ("Create A New Addon", QIcon (""));
|
||||||
|
connect (createAddon, SIGNAL (clicked()), this, SIGNAL (createAddon()));
|
||||||
|
|
||||||
|
QPushButton *loadDocument = addButton ("Edit A Content File", QIcon (""));
|
||||||
connect (loadDocument, SIGNAL (clicked()), this, SIGNAL (loadDocument()));
|
connect (loadDocument, SIGNAL (clicked()), this, SIGNAL (loadDocument()));
|
||||||
layout->addWidget (loadDocument);
|
|
||||||
|
for (int i=0; i<3; ++i)
|
||||||
|
mLayout->setColumnMinimumWidth (i, mWidth);
|
||||||
|
|
||||||
|
mLayout->setRowMinimumHeight (0, mWidth);
|
||||||
|
|
||||||
|
mLayout->setSizeConstraint (QLayout::SetMinimumSize);
|
||||||
|
mLayout->setHorizontalSpacing (32);
|
||||||
|
|
||||||
|
mLayout->setContentsMargins (16, 16, 16, 8);
|
||||||
|
|
||||||
|
loadDocument->setIconSize (QSize (mWidth, mWidth));
|
||||||
|
createGame->setIconSize (QSize (mWidth, mWidth));
|
||||||
|
createAddon->setIconSize (QSize (mWidth, mWidth));
|
||||||
|
|
||||||
|
widget->setLayout (mLayout);
|
||||||
|
|
||||||
|
return widget;
|
||||||
|
}
|
||||||
|
|
||||||
|
#include <QStyle>
|
||||||
|
QWidget *CSVDoc::StartupDialogue::createTools()
|
||||||
|
{
|
||||||
|
QWidget *widget = new QWidget (this);
|
||||||
|
|
||||||
|
QHBoxLayout *layout = new QHBoxLayout (widget);
|
||||||
|
layout->setDirection (QBoxLayout::RightToLeft);
|
||||||
|
layout->setContentsMargins (4, 4, 4, 4);
|
||||||
|
|
||||||
|
QPushButton *config = new QPushButton (widget);
|
||||||
|
|
||||||
|
config->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed));
|
||||||
|
config->setIcon (style()->standardIcon (QStyle::SP_FileDialogStart)); /// \todo replace icon
|
||||||
|
|
||||||
|
layout->addWidget (config);
|
||||||
|
|
||||||
|
layout->addWidget (new QWidget, 1); // dummy icon; stops buttons from taking all the space
|
||||||
|
|
||||||
|
widget->setLayout (layout);
|
||||||
|
|
||||||
|
connect (config, SIGNAL (clicked()), this, SIGNAL (editConfig()));
|
||||||
|
|
||||||
|
return widget;
|
||||||
|
}
|
||||||
|
|
||||||
|
CSVDoc::StartupDialogue::StartupDialogue() : mWidth (0), mColumn (0)
|
||||||
|
{
|
||||||
|
setWindowTitle ("Open CS");
|
||||||
|
|
||||||
|
QVBoxLayout *layout = new QVBoxLayout (this);
|
||||||
|
|
||||||
|
layout->setContentsMargins (0, 0, 0, 0);
|
||||||
|
|
||||||
|
layout->addWidget (createButtons());
|
||||||
|
layout->addWidget (createTools());
|
||||||
|
|
||||||
setLayout (layout);
|
setLayout (layout);
|
||||||
|
|
||||||
|
@ -3,21 +3,43 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
|
class QGridLayout;
|
||||||
|
class QString;
|
||||||
|
class QPushButton;
|
||||||
|
class QWidget;
|
||||||
|
class QIcon;
|
||||||
|
|
||||||
namespace CSVDoc
|
namespace CSVDoc
|
||||||
{
|
{
|
||||||
class StartupDialogue : public QWidget
|
class StartupDialogue : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
int mWidth;
|
||||||
|
int mColumn;
|
||||||
|
QGridLayout *mLayout;
|
||||||
|
|
||||||
|
QPushButton *addButton (const QString& label, const QIcon& icon);
|
||||||
|
|
||||||
|
QWidget *createButtons();
|
||||||
|
|
||||||
|
QWidget *createTools();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
StartupDialogue();
|
StartupDialogue();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
void createDocument();
|
void createGame();
|
||||||
|
|
||||||
|
void createAddon();
|
||||||
|
|
||||||
void loadDocument();
|
void loadDocument();
|
||||||
|
|
||||||
|
void editConfig();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ void CSVDoc::View::setupEditMenu()
|
|||||||
edit->addAction (mRedo);
|
edit->addAction (mRedo);
|
||||||
|
|
||||||
QAction *userSettings = new QAction (tr ("&Preferences"), this);
|
QAction *userSettings = new QAction (tr ("&Preferences"), this);
|
||||||
connect (userSettings, SIGNAL (triggered()), this, SLOT (showUserSettings()));
|
connect (userSettings, SIGNAL (triggered()), this, SIGNAL (editSettingsRequest()));
|
||||||
edit->addAction (userSettings);
|
edit->addAction (userSettings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -415,13 +415,6 @@ void CSVDoc::View::exit()
|
|||||||
emit exitApplicationRequest (this);
|
emit exitApplicationRequest (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVDoc::View::showUserSettings()
|
|
||||||
{
|
|
||||||
CSVSettings::UserSettingsDialog *settingsDialog = new CSVSettings::UserSettingsDialog(this);
|
|
||||||
|
|
||||||
settingsDialog->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CSVDoc::View::resizeViewWidth (int width)
|
void CSVDoc::View::resizeViewWidth (int width)
|
||||||
{
|
{
|
||||||
if (width >= 0)
|
if (width >= 0)
|
||||||
|
@ -112,6 +112,8 @@ namespace CSVDoc
|
|||||||
|
|
||||||
void exitApplicationRequest (CSVDoc::View *view);
|
void exitApplicationRequest (CSVDoc::View *view);
|
||||||
|
|
||||||
|
void editSettingsRequest();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
void addSubView (const CSMWorld::UniversalId& id);
|
void addSubView (const CSMWorld::UniversalId& id);
|
||||||
@ -160,8 +162,6 @@ namespace CSVDoc
|
|||||||
|
|
||||||
void addFiltersSubView();
|
void addFiltersSubView();
|
||||||
|
|
||||||
void showUserSettings();
|
|
||||||
|
|
||||||
void toggleShowStatusBar (bool show);
|
void toggleShowStatusBar (bool show);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -114,6 +114,7 @@ CSVDoc::View *CSVDoc::ViewManager::addView (CSMDoc::Document *document)
|
|||||||
|
|
||||||
connect (view, SIGNAL (newDocumentRequest ()), this, SIGNAL (newDocumentRequest()));
|
connect (view, SIGNAL (newDocumentRequest ()), this, SIGNAL (newDocumentRequest()));
|
||||||
connect (view, SIGNAL (loadDocumentRequest ()), this, SIGNAL (loadDocumentRequest()));
|
connect (view, SIGNAL (loadDocumentRequest ()), this, SIGNAL (loadDocumentRequest()));
|
||||||
|
connect (view, SIGNAL (editSettingsRequest()), this, SIGNAL (editSettingsRequest()));
|
||||||
|
|
||||||
updateIndices();
|
updateIndices();
|
||||||
|
|
||||||
|
@ -61,6 +61,8 @@ namespace CSVDoc
|
|||||||
|
|
||||||
void closeMessageBox();
|
void closeMessageBox();
|
||||||
|
|
||||||
|
void editSettingsRequest();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
void exitApplication (CSVDoc::View *view);
|
void exitApplication (CSVDoc::View *view);
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "usersettingsdialog.hpp"
|
#include "usersettingsdialog.hpp"
|
||||||
|
|
||||||
|
#include <boost/filesystem/path.hpp>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDesktopWidget>
|
#include <QDesktopWidget>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
@ -9,14 +11,14 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QDockWidget>
|
#include <QDockWidget>
|
||||||
|
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QDesktopWidget>
|
||||||
|
|
||||||
|
#include "../../model/settings/support.hpp"
|
||||||
|
|
||||||
#include "datadisplayformatpage.hpp"
|
#include "datadisplayformatpage.hpp"
|
||||||
#include "windowpage.hpp"
|
#include "windowpage.hpp"
|
||||||
|
|
||||||
#include "../../model/settings/support.hpp"
|
|
||||||
#include <boost/filesystem/path.hpp>
|
|
||||||
#include "settingwidget.hpp"
|
#include "settingwidget.hpp"
|
||||||
|
|
||||||
CSVSettings::UserSettingsDialog::UserSettingsDialog(QMainWindow *parent) :
|
CSVSettings::UserSettingsDialog::UserSettingsDialog(QMainWindow *parent) :
|
||||||
@ -29,7 +31,11 @@ CSVSettings::UserSettingsDialog::UserSettingsDialog(QMainWindow *parent) :
|
|||||||
connect (mListWidget,
|
connect (mListWidget,
|
||||||
SIGNAL (currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
|
SIGNAL (currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
|
||||||
this,
|
this,
|
||||||
SLOT (slotChangePage (QListWidgetItem*, QListWidgetItem*)));
|
SLOT (slotChangePage (QListWidgetItem*, QListWidgetItem*)));
|
||||||
|
|
||||||
|
QRect scr = QApplication::desktop()->screenGeometry();
|
||||||
|
QRect rect = geometry();
|
||||||
|
move (scr.center().x() - rect.center().x(), scr.center().y() - rect.center().y());
|
||||||
}
|
}
|
||||||
|
|
||||||
CSVSettings::UserSettingsDialog::~UserSettingsDialog()
|
CSVSettings::UserSettingsDialog::~UserSettingsDialog()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user