diff --git a/CMakeLists.txt b/CMakeLists.txt index 20675e0d5..0f5bd8eda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,7 @@ data/version.cpp gui/mainwindow.cpp gui/modeditwindow.cpp gui/settingsdialog.cpp +gui/newinstancedialog.cpp util/pathutils.cpp util/osutils.cpp @@ -112,6 +113,7 @@ SET(MULTIMC_HEADERS gui/mainwindow.h gui/modeditwindow.h gui/settingsdialog.h +gui/newinstancedialog.h data/appsettings.h data/inifile.h @@ -139,6 +141,7 @@ SET(MULTIMC5_UIS gui/mainwindow.ui gui/modeditwindow.ui gui/settingsdialog.ui +gui/newinstancedialog.ui ) SET_SOURCE_FILES_PROPERTIES(resources/MultiMCLauncher.jar GENERATED) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 3a5e3d863..1ff633b2f 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -17,12 +17,16 @@ #include "ui_mainwindow.h" #include +#include #include #include #include "util/osutils.h" + #include "gui/settingsdialog.h" +#include "gui/newinstancedialog.h" + #include "data/appsettings.h" #include "data/version.h" @@ -48,7 +52,8 @@ MainWindow::~MainWindow() void MainWindow::on_actionAddInstance_triggered() { - + NewInstanceDialog *newInstDlg = new NewInstanceDialog(this); + newInstDlg->exec(); } void MainWindow::on_actionViewInstanceFolder_triggered() diff --git a/gui/newinstancedialog.cpp b/gui/newinstancedialog.cpp new file mode 100644 index 000000000..400b42d80 --- /dev/null +++ b/gui/newinstancedialog.cpp @@ -0,0 +1,33 @@ +/* Copyright 2013 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "newinstancedialog.h" +#include "ui_newinstancedialog.h" + +#include + +NewInstanceDialog::NewInstanceDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::NewInstanceDialog) +{ + ui->setupUi(this); + resize(minimumSizeHint()); + layout()->setSizeConstraint(QLayout::SetFixedSize); +} + +NewInstanceDialog::~NewInstanceDialog() +{ + delete ui; +} diff --git a/gui/newinstancedialog.h b/gui/newinstancedialog.h new file mode 100644 index 000000000..263136f12 --- /dev/null +++ b/gui/newinstancedialog.h @@ -0,0 +1,37 @@ +/* Copyright 2013 MultiMC Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef NEWINSTANCEDIALOG_H +#define NEWINSTANCEDIALOG_H + +#include + +namespace Ui { +class NewInstanceDialog; +} + +class NewInstanceDialog : public QDialog +{ + Q_OBJECT + +public: + explicit NewInstanceDialog(QWidget *parent = 0); + ~NewInstanceDialog(); + +private: + Ui::NewInstanceDialog *ui; +}; + +#endif // NEWINSTANCEDIALOG_H diff --git a/gui/newinstancedialog.ui b/gui/newinstancedialog.ui new file mode 100644 index 000000000..865f63016 --- /dev/null +++ b/gui/newinstancedialog.ui @@ -0,0 +1,166 @@ + + + NewInstanceDialog + + + Qt::ApplicationModal + + + + 0 + 0 + 220 + 230 + + + + New Instance + + + + :/icons/toolbar/new:/icons/toolbar/new + + + true + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + :/icons/instances/infinity:/icons/instances/infinity + + + + 80 + 80 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Name + + + + + + + Qt::Horizontal + + + + + + + + + Version: + + + + + + + true + + + + + + + ... + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + NewInstanceDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + NewInstanceDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/multimc.qrc b/multimc.qrc index a3c465488..d0171fa30 100644 --- a/multimc.qrc +++ b/multimc.qrc @@ -1,32 +1,33 @@ - - resources/icons/toolbar/about.png - resources/icons/toolbar/bug.svg - resources/icons/toolbar/centralmods.png - resources/icons/toolbar/checkupdate.png - resources/icons/toolbar/help.png - resources/icons/toolbar/new.png - resources/icons/toolbar/news.svg - resources/icons/toolbar/refresh.png - resources/icons/toolbar/settings.png - resources/icons/toolbar/viewfolder.png - - - resources/icons/instances/clucker.svg - resources/icons/instances/creeper.svg - resources/icons/instances/enderpearl.svg - resources/icons/instances/ftb-glow.svg - resources/icons/instances/ftb-logo.svg - resources/icons/instances/gear.svg - resources/icons/instances/herobrine.svg - resources/icons/instances/magitech.svg - resources/icons/instances/meat.svg - resources/icons/instances/netherstar.svg - resources/icons/instances/skeleton.svg - resources/icons/instances/squarecreeper.svg - resources/icons/instances/steve.svg - - - resources/MultiMCLauncher.jar - + + resources/icons/toolbar/about.png + resources/icons/toolbar/bug.svg + resources/icons/toolbar/centralmods.png + resources/icons/toolbar/checkupdate.png + resources/icons/toolbar/help.png + resources/icons/toolbar/new.png + resources/icons/toolbar/news.svg + resources/icons/toolbar/refresh.png + resources/icons/toolbar/settings.png + resources/icons/toolbar/viewfolder.png + + + resources/icons/instances/clucker.svg + resources/icons/instances/creeper.svg + resources/icons/instances/enderpearl.svg + resources/icons/instances/ftb-glow.svg + resources/icons/instances/ftb-logo.svg + resources/icons/instances/gear.svg + resources/icons/instances/herobrine.svg + resources/icons/instances/magitech.svg + resources/icons/instances/meat.svg + resources/icons/instances/netherstar.svg + resources/icons/instances/skeleton.svg + resources/icons/instances/squarecreeper.svg + resources/icons/instances/steve.svg + resources/icons/multimc.svg + + + resources/MultiMCLauncher.jar +