|
|
|
@ -3,21 +3,107 @@
|
|
|
|
|
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
#include <QDesktopWidget>
|
|
|
|
|
#include <QPushButton>
|
|
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
#include <QHBoxLayout>
|
|
|
|
|
#include <QRect>
|
|
|
|
|
#include <QGridLayout>
|
|
|
|
|
#include <QLabel>
|
|
|
|
|
#include <QIcon>
|
|
|
|
|
#include <QPushButton>
|
|
|
|
|
|
|
|
|
|
QPushButton *CSVDoc::StartupDialogue::addButton (const QString& label, const QIcon& icon)
|
|
|
|
|
{
|
|
|
|
|
int column = mColumn++;
|
|
|
|
|
|
|
|
|
|
QPushButton *button = new QPushButton (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();
|
|
|
|
|
|
|
|
|
|
CSVDoc::StartupDialogue::StartupDialogue()
|
|
|
|
|
if (width>mWidth)
|
|
|
|
|
mWidth = width;
|
|
|
|
|
|
|
|
|
|
return button;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QWidget *CSVDoc::StartupDialogue::createButtons()
|
|
|
|
|
{
|
|
|
|
|
QHBoxLayout *layout = new QHBoxLayout (this);
|
|
|
|
|
QWidget *widget = new QWidget (this);
|
|
|
|
|
|
|
|
|
|
mLayout = new QGridLayout (widget);
|
|
|
|
|
|
|
|
|
|
QPushButton *createDocument = new QPushButton ("new", this);
|
|
|
|
|
connect (createDocument, SIGNAL (clicked()), this, SIGNAL (createDocument()));
|
|
|
|
|
layout->addWidget (createDocument);
|
|
|
|
|
/// \todo add icons
|
|
|
|
|
QPushButton *createGame = addButton ("Create A New Game", QIcon (""));
|
|
|
|
|
connect (createGame, SIGNAL (clicked()), this, SIGNAL (createGame()));
|
|
|
|
|
|
|
|
|
|
QPushButton *loadDocument = new QPushButton ("load", this);
|
|
|
|
|
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()));
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|