From b5450042b5f9ddaad7585f644591b7d009aeb5cb Mon Sep 17 00:00:00 2001 From: Stiepen Date: Sun, 14 Jul 2013 22:01:30 +0200 Subject: [PATCH] Broke instance loading(?), also attempted to make Toolbar grayed out when no instance is selected. For debug purposes it is initially not grayed out --- CMakeLists.txt | 3 +++ gui/instancesettings.cpp | 24 ++++++++++++++++++++++-- gui/instancesettings.h | 3 +-- gui/instancesettings.ui | 11 +++++++---- gui/mainwindow.cpp | 9 +++++++++ gui/mainwindow.h | 4 ++++ gui/mainwindow.ui | 5 ++++- 7 files changed, 50 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0a2123ed..7463e063d 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 7e82e1d62..d0e02b8e4 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 af75a0f1d..abd631997 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 1fb8b023c..187275de6 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 0b592cf0d..4326431e5 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 f13d93959..a10d570cc 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 771e7096a..e6a826351 100644 --- a/gui/mainwindow.ui +++ b/gui/mainwindow.ui @@ -65,6 +65,9 @@ + + true + Instance Toolbar @@ -300,7 +303,7 @@ - false + true Settings