diff --git a/CMakeLists.txt b/CMakeLists.txt index e0a2123e..7463e063 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,6 +175,7 @@ gui/instancedelegate.h gui/versionselectdialog.h gui/lwjglselectdialog.h gui/iconcache.h +gui/instancesettings.h multimc_pragma.h @@ -206,6 +207,7 @@ gui/instancedelegate.cpp gui/versionselectdialog.cpp gui/lwjglselectdialog.cpp gui/iconcache.cpp +gui/instancesettings.cpp java/javautils.cpp java/annotations.cpp @@ -225,6 +227,7 @@ gui/aboutdialog.ui gui/consolewindow.ui gui/versionselectdialog.ui gui/lwjglselectdialog.ui +gui/instancesettings.ui ) diff --git a/gui/instancesettings.cpp b/gui/instancesettings.cpp index 7e82e1d6..d0e02b8e 100644 --- a/gui/instancesettings.cpp +++ b/gui/instancesettings.cpp @@ -1,3 +1,22 @@ +/* Copyright 2013 MultiMC Contributors + * + * Authors: Andrew Okin + * Peterix + * Orochimarufan + * + * 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 "instancesettings.h" #include "ui_instancesettings.h" @@ -35,7 +54,7 @@ void InstanceSettings::applySettings(SettingsObject *s) s->set("OverrideWindow", ui->windowSizeGroupBox->isChecked()); // Auto Login - s->set("AutoLogin", ui->autoLoginCheckBox->isChecked()); + s->set("AutoLogin", ui->autoLoginChecBox->isChecked()); s->set("OverrideLogin", ui->accountSettingsGroupBox->isChecked()); // Memory @@ -56,6 +75,7 @@ void InstanceSettings::applySettings(SettingsObject *s) void InstanceSettings::loadSettings(SettingsObject *s) { + // Console ui->showConsoleCheck->setChecked(s->get("ShowConsole").toBool()); ui->autoCloseConsoleCheck->setChecked(s->get("AutoCloseConsole").toBool()); @@ -69,7 +89,7 @@ void InstanceSettings::loadSettings(SettingsObject *s) ui->windowSizeGroupBox->setChecked(s->get("OverrideWindow").toBool()); // Auto Login - ui->autoLoginCheckBox->setChecked(s->get("AutoLogin").toBool()); + ui->autoLoginChecBox->setChecked(s->get("AutoLogin").toBool()); ui->accountSettingsGroupBox->setChecked(s->get("OverrideLogin").toBool()); // Memory diff --git a/gui/instancesettings.h b/gui/instancesettings.h index af75a0f1..abd63199 100644 --- a/gui/instancesettings.h +++ b/gui/instancesettings.h @@ -2,6 +2,7 @@ #define INSTANCESETTINGS_H #include +#include "settingsobject.h" namespace Ui { class InstanceSettings; @@ -21,8 +22,6 @@ public: void loadSettings(SettingsObject* s); private slots: - void on_overrideGlobalMcCheck_clicked(bool checked); - void on_customCommandsGroupBox_toggled(bool arg1); private: diff --git a/gui/instancesettings.ui b/gui/instancesettings.ui index 1fb8b023..187275de 100644 --- a/gui/instancesettings.ui +++ b/gui/instancesettings.ui @@ -11,7 +11,7 @@ - Dialog + @@ -162,7 +162,7 @@ - false + true Login automatically when an instance icon is double clicked? @@ -370,12 +370,15 @@ - 270 + 9 530 - 166 + 435 23 + + Qt::Horizontal + QDialogButtonBox::Cancel|QDialogButtonBox::Ok diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 0b592cf0..4326431e 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -43,6 +43,7 @@ #include "gui/lwjglselectdialog.h" #include "gui/consolewindow.h" #include "gui/modeditwindow.h" +#include "gui/instancesettings.h" #include "kcategorizedview.h" #include "kcategorydrawer.h" @@ -130,6 +131,9 @@ MainWindow::MainWindow ( QWidget *parent ) : view->setModel ( proxymodel ); connect(view, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(instanceActivated(const QModelIndex &))); + + connect(view, SIGNAL(clicked(const QModelIndex &)), + this, SLOT(instanceChanged(const QModelIndex &))); // Load the instances. instList.loadList(); @@ -563,9 +567,14 @@ void MainWindow::on_actionInstanceSettings_triggered() SettingsObject *s; s = &inst->settings(); InstanceSettings *settings = new InstanceSettings (this); + settings->setWindowTitle(QString("Instance settings")); settings->loadSettings(s); if (settings->exec()) { settings->applySettings(s); } delete settings; } + +void MainWindow::instanceChanged(QModelIndex idx) { + ui->instanceToolBar->setEnabled(idx.isValid()); +} diff --git a/gui/mainwindow.h b/gui/mainwindow.h index f13d9395..a10d570c 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -108,8 +108,12 @@ private slots: void on_actionChangeInstLWJGLVersion_triggered(); + void on_actionInstanceSettings_triggered(); + public slots: void instanceActivated ( QModelIndex ); + + void instanceChanged ( QModelIndex ); void startTask(Task *task); diff --git a/gui/mainwindow.ui b/gui/mainwindow.ui index 771e7096..e6a82635 100644 --- a/gui/mainwindow.ui +++ b/gui/mainwindow.ui @@ -65,6 +65,9 @@ + + true + Instance Toolbar @@ -300,7 +303,7 @@ - false + true Settings