Added new instance dialog.

This commit is contained in:
Andrew 2013-02-01 13:07:36 -06:00
parent a96e1853de
commit 3c8a12aded
6 changed files with 276 additions and 31 deletions

View File

@ -100,6 +100,7 @@ data/version.cpp
gui/mainwindow.cpp gui/mainwindow.cpp
gui/modeditwindow.cpp gui/modeditwindow.cpp
gui/settingsdialog.cpp gui/settingsdialog.cpp
gui/newinstancedialog.cpp
util/pathutils.cpp util/pathutils.cpp
util/osutils.cpp util/osutils.cpp
@ -112,6 +113,7 @@ SET(MULTIMC_HEADERS
gui/mainwindow.h gui/mainwindow.h
gui/modeditwindow.h gui/modeditwindow.h
gui/settingsdialog.h gui/settingsdialog.h
gui/newinstancedialog.h
data/appsettings.h data/appsettings.h
data/inifile.h data/inifile.h
@ -139,6 +141,7 @@ SET(MULTIMC5_UIS
gui/mainwindow.ui gui/mainwindow.ui
gui/modeditwindow.ui gui/modeditwindow.ui
gui/settingsdialog.ui gui/settingsdialog.ui
gui/newinstancedialog.ui
) )
SET_SOURCE_FILES_PROPERTIES(resources/MultiMCLauncher.jar GENERATED) SET_SOURCE_FILES_PROPERTIES(resources/MultiMCLauncher.jar GENERATED)

View File

@ -17,12 +17,16 @@
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#include <QMenu> #include <QMenu>
#include <QMessageBox>
#include <QDesktopServices> #include <QDesktopServices>
#include <QUrl> #include <QUrl>
#include "util/osutils.h" #include "util/osutils.h"
#include "gui/settingsdialog.h" #include "gui/settingsdialog.h"
#include "gui/newinstancedialog.h"
#include "data/appsettings.h" #include "data/appsettings.h"
#include "data/version.h" #include "data/version.h"
@ -48,7 +52,8 @@ MainWindow::~MainWindow()
void MainWindow::on_actionAddInstance_triggered() void MainWindow::on_actionAddInstance_triggered()
{ {
NewInstanceDialog *newInstDlg = new NewInstanceDialog(this);
newInstDlg->exec();
} }
void MainWindow::on_actionViewInstanceFolder_triggered() void MainWindow::on_actionViewInstanceFolder_triggered()

33
gui/newinstancedialog.cpp Normal file
View File

@ -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 <QLayout>
NewInstanceDialog::NewInstanceDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::NewInstanceDialog)
{
ui->setupUi(this);
resize(minimumSizeHint());
layout()->setSizeConstraint(QLayout::SetFixedSize);
}
NewInstanceDialog::~NewInstanceDialog()
{
delete ui;
}

37
gui/newinstancedialog.h Normal file
View File

@ -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 <QDialog>
namespace Ui {
class NewInstanceDialog;
}
class NewInstanceDialog : public QDialog
{
Q_OBJECT
public:
explicit NewInstanceDialog(QWidget *parent = 0);
~NewInstanceDialog();
private:
Ui::NewInstanceDialog *ui;
};
#endif // NEWINSTANCEDIALOG_H

166
gui/newinstancedialog.ui Normal file
View File

@ -0,0 +1,166 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NewInstanceDialog</class>
<widget class="QDialog" name="NewInstanceDialog">
<property name="windowModality">
<enum>Qt::ApplicationModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>220</width>
<height>230</height>
</rect>
</property>
<property name="windowTitle">
<string>New Instance</string>
</property>
<property name="windowIcon">
<iconset resource="../multimc.qrc">
<normaloff>:/icons/toolbar/new</normaloff>:/icons/toolbar/new</iconset>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="iconBtnLayout">
<item>
<spacer name="iconBtnLeftSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QToolButton" name="iconButton">
<property name="icon">
<iconset resource="../multimc.qrc">
<normaloff>:/icons/instances/infinity</normaloff>:/icons/instances/infinity</iconset>
</property>
<property name="iconSize">
<size>
<width>80</width>
<height>80</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="iconBtnRightSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLineEdit" name="instNameTextBox">
<property name="placeholderText">
<string>Name</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="labelVersion">
<property name="text">
<string>Version:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="versionTextBox">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="btnChangeVersion">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../multimc.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>NewInstanceDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>NewInstanceDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -25,8 +25,9 @@
<file alias="skeleton">resources/icons/instances/skeleton.svg</file> <file alias="skeleton">resources/icons/instances/skeleton.svg</file>
<file alias="squarecreeper">resources/icons/instances/squarecreeper.svg</file> <file alias="squarecreeper">resources/icons/instances/squarecreeper.svg</file>
<file alias="steve">resources/icons/instances/steve.svg</file> <file alias="steve">resources/icons/instances/steve.svg</file>
<file alias="infinity">resources/icons/multimc.svg</file>
</qresource> </qresource>
<qresource prefix="launcher"> <qresource prefix="/launcher">
<file alias="launcherjar">resources/MultiMCLauncher.jar</file> <file alias="launcherjar">resources/MultiMCLauncher.jar</file>
</qresource> </qresource>
</RCC> </RCC>