summaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorTakSuyu <taksuyu@gmail.com>2013-07-27 12:55:51 -0700
committerTakSuyu <taksuyu@gmail.com>2013-07-27 12:55:51 -0700
commitdc39d093396c9a0ed4f03d81f95fcc8fa5705b65 (patch)
treeb88bf5fa692de82ce3418bdf5c55e9cd9eff37bc /gui
parent44498f98945b7501486da35c5fdc32f94a2be080 (diff)
parenta7a84d4dbb58565f108cb0886da6cb786e34d10d (diff)
downloadMultiMC-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar
MultiMC-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar.gz
MultiMC-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar.lz
MultiMC-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.tar.xz
MultiMC-dc39d093396c9a0ed4f03d81f95fcc8fa5705b65.zip
Merge remote-tracking branch 'upstream/master'
Conflicts: gui/mainwindow.cpp
Diffstat (limited to 'gui')
-rw-r--r--gui/instancesettings.cpp180
-rw-r--r--gui/instancesettings.h34
-rw-r--r--gui/instancesettings.ui416
-rw-r--r--gui/mainwindow.cpp23
-rw-r--r--gui/mainwindow.h4
-rw-r--r--gui/mainwindow.ui5
6 files changed, 660 insertions, 2 deletions
diff --git a/gui/instancesettings.cpp b/gui/instancesettings.cpp
new file mode 100644
index 00000000..eea61ce8
--- /dev/null
+++ b/gui/instancesettings.cpp
@@ -0,0 +1,180 @@
+/* Copyright 2013 MultiMC Contributors
+ *
+ * Authors: Andrew Okin
+ * Peterix
+ * Orochimarufan <orochimarufan.x3@gmail.com>
+ *
+ * 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"
+
+InstanceSettings::InstanceSettings( SettingsObject * obj, QWidget *parent) :
+ m_obj(obj),
+ QDialog(parent),
+ ui(new Ui::InstanceSettings)
+{
+ ui->setupUi(this);
+ loadSettings();
+}
+
+InstanceSettings::~InstanceSettings()
+{
+ delete ui;
+}
+
+void InstanceSettings::on_customCommandsGroupBox_toggled(bool state)
+{
+ ui->labelCustomCmdsDescription->setEnabled(state);
+}
+
+void InstanceSettings::on_buttonBox_accepted()
+{
+ applySettings();
+ accept();
+}
+
+void InstanceSettings::on_buttonBox_rejected()
+{
+ reject();
+}
+
+
+void InstanceSettings::applySettings()
+{
+ // Console
+ bool console = ui->consoleSettingsBox->isChecked();
+ m_obj->set("OverrideConsole", console);
+ if(console)
+ {
+ m_obj->set("ShowConsole", ui->showConsoleCheck->isChecked());
+ m_obj->set("AutoCloseConsole", ui->autoCloseConsoleCheck->isChecked());
+ }
+ else
+ {
+ m_obj->reset("ShowConsole");
+ m_obj->reset("AutoCloseConsole");
+ }
+
+ // Window Size
+ bool window = ui->windowSizeGroupBox->isChecked();
+ m_obj->set("OverrideWindow", window);
+ if(window)
+ {
+ m_obj->set("LaunchCompatMode", ui->compatModeCheckBox->isChecked());
+ m_obj->set("LaunchMaximized", ui->maximizedCheckBox->isChecked());
+ m_obj->set("MinecraftWinWidth", ui->windowWidthSpinBox->value());
+ m_obj->set("MinecraftWinHeight", ui->windowHeightSpinBox->value());
+ }
+ else
+ {
+ m_obj->reset("LaunchCompatMode");
+ m_obj->reset("LaunchMaximized");
+ m_obj->reset("MinecraftWinWidth");
+ m_obj->reset("MinecraftWinHeight");
+ }
+
+
+ // Auto Login
+ bool login = ui->accountSettingsGroupBox->isChecked();
+ m_obj->set("OverrideLogin", login);
+ if(login)
+ {
+ m_obj->set("AutoLogin", ui->autoLoginChecBox->isChecked());
+ }
+ else
+ {
+ m_obj->reset("AutoLogin");
+ }
+
+
+ // Memory
+ bool memory = ui->memoryGroupBox->isChecked();
+ m_obj->set("OverrideMemory", memory);
+ if(memory)
+ {
+ m_obj->set("MinMemAlloc", ui->minMemSpinBox->value());
+ m_obj->set("MaxMemAlloc", ui->maxMemSpinBox->value());
+ }
+ else
+ {
+ m_obj->reset("MinMemAlloc");
+ m_obj->reset("MaxMemAlloc");
+ }
+
+
+ // Java Settings
+ bool java = ui->javaSettingsGroupBox->isChecked();
+ m_obj->set("OverrideJava", java);
+ if(java)
+ {
+ m_obj->set("JavaPath", ui->javaPathTextBox->text());
+ m_obj->set("JvmArgs", ui->jvmArgsTextBox->text());
+ }
+ else
+ {
+ m_obj->reset("JavaPath");
+ m_obj->reset("JvmArgs");
+ }
+
+
+ // Custom Commands
+ bool custcmd = ui->customCommandsGroupBox->isChecked();
+ m_obj->set("OverrideCommands", custcmd);
+ if(custcmd)
+ {
+ m_obj->set("PreLaunchCommand", ui->preLaunchCmdTextBox->text());
+ m_obj->set("PostExitCommand", ui->postExitCmdTextBox->text());
+ }
+ else
+ {
+ m_obj->reset("PreLaunchCommand");
+ m_obj->reset("PostExitCommand");
+ }
+
+}
+
+void InstanceSettings::loadSettings()
+{
+ // Console
+ ui->showConsoleCheck->setChecked(m_obj->get("ShowConsole").toBool());
+ ui->autoCloseConsoleCheck->setChecked(m_obj->get("AutoCloseConsole").toBool());
+ ui->consoleSettingsBox->setChecked(m_obj->get("OverrideConsole").toBool());
+
+ // Window Size
+ ui->compatModeCheckBox->setChecked(m_obj->get("LaunchCompatMode").toBool());
+ ui->maximizedCheckBox->setChecked(m_obj->get("LaunchMaximized").toBool());
+ ui->windowWidthSpinBox->setValue(m_obj->get("MinecraftWinWidth").toInt());
+ ui->windowHeightSpinBox->setValue(m_obj->get("MinecraftWinHeight").toInt());
+ ui->windowSizeGroupBox->setChecked(m_obj->get("OverrideWindow").toBool());
+
+ // Auto Login
+ ui->autoLoginChecBox->setChecked(m_obj->get("AutoLogin").toBool());
+ ui->accountSettingsGroupBox->setChecked(m_obj->get("OverrideLogin").toBool());
+
+ // Memory
+ ui->minMemSpinBox->setValue(m_obj->get("MinMemAlloc").toInt());
+ ui->maxMemSpinBox->setValue(m_obj->get("MaxMemAlloc").toInt());
+ ui->memoryGroupBox->setChecked(m_obj->get("OverrideMemory").toBool());
+
+ // Java Settings
+ ui->javaPathTextBox->setText(m_obj->get("JavaPath").toString());
+ ui->jvmArgsTextBox->setText(m_obj->get("JvmArgs").toString());
+ ui->javaSettingsGroupBox->setChecked(m_obj->get("OverrideJava").toBool());
+
+ // Custom Commands
+ ui->preLaunchCmdTextBox->setText(m_obj->get("PreLaunchCommand").toString());
+ ui->postExitCmdTextBox->setText(m_obj->get("PostExitCommand").toString());
+ ui->customCommandsGroupBox->setChecked(m_obj->get("OverrideCommands").toBool());
+}
diff --git a/gui/instancesettings.h b/gui/instancesettings.h
new file mode 100644
index 00000000..afbd0c16
--- /dev/null
+++ b/gui/instancesettings.h
@@ -0,0 +1,34 @@
+#ifndef INSTANCESETTINGS_H
+#define INSTANCESETTINGS_H
+
+#include <QDialog>
+#include "settingsobject.h"
+
+namespace Ui {
+class InstanceSettings;
+}
+
+class InstanceSettings : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit InstanceSettings(SettingsObject *s, QWidget *parent = 0);
+ ~InstanceSettings();
+
+ void updateCheckboxStuff();
+
+ void applySettings();
+ void loadSettings();
+
+private slots:
+ void on_customCommandsGroupBox_toggled(bool arg1);
+ void on_buttonBox_accepted();
+ void on_buttonBox_rejected();
+
+private:
+ Ui::InstanceSettings *ui;
+ SettingsObject * m_obj;
+};
+
+#endif // INSTANCESETTINGS_H
diff --git a/gui/instancesettings.ui b/gui/instancesettings.ui
new file mode 100644
index 00000000..16e64100
--- /dev/null
+++ b/gui/instancesettings.ui
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>InstanceSettings</class>
+ <widget class="QDialog" name="InstanceSettings">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>453</width>
+ <height>563</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string/>
+ </property>
+ <widget class="QTabWidget" name="settingsTabs">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>9</y>
+ <width>435</width>
+ <height>516</height>
+ </rect>
+ </property>
+ <property name="tabShape">
+ <enum>QTabWidget::Rounded</enum>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="minecraftTab">
+ <attribute name="title">
+ <string>Minecraft</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QGroupBox" name="windowSizeGroupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Window Size</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QCheckBox" name="compatModeCheckBox">
+ <property name="text">
+ <string>Compatibility mode?</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="maximizedCheckBox">
+ <property name="text">
+ <string>Start Minecraft maximized?</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayoutWindowSize">
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelWindowHeight">
+ <property name="text">
+ <string>Window height:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelWindowWidth">
+ <property name="text">
+ <string>Window width:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="windowWidthSpinBox">
+ <property name="minimum">
+ <number>854</number>
+ </property>
+ <property name="maximum">
+ <number>65536</number>
+ </property>
+ <property name="singleStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>854</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="windowHeightSpinBox">
+ <property name="minimum">
+ <number>480</number>
+ </property>
+ <property name="maximum">
+ <number>65536</number>
+ </property>
+ <property name="value">
+ <number>480</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="consoleSettingsBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Console Settings</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QCheckBox" name="showConsoleCheck">
+ <property name="text">
+ <string>Show console while the game is running?</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="autoCloseConsoleCheck">
+ <property name="text">
+ <string>Automatically close console when the game quits?</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="accountSettingsGroupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Account Settings</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <item>
+ <widget class="QCheckBox" name="autoLoginChecBox">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Login automatically when an instance icon is double clicked?</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacerMinecraft">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="javaTab">
+ <attribute name="title">
+ <string>Java</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QGroupBox" name="memoryGroupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Memory</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="maxMemSpinBox">
+ <property name="minimum">
+ <number>512</number>
+ </property>
+ <property name="maximum">
+ <number>65536</number>
+ </property>
+ <property name="singleStep">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>1024</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelMinMem">
+ <property name="text">
+ <string>Minimum memory allocation:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelMaxMem">
+ <property name="text">
+ <string>Maximum memory allocation:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="minMemSpinBox">
+ <property name="minimum">
+ <number>256</number>
+ </property>
+ <property name="maximum">
+ <number>65536</number>
+ </property>
+ <property name="singleStep">
+ <number>128</number>
+ </property>
+ <property name="value">
+ <number>256</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="javaSettingsGroupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Java Settings</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelJavaPath">
+ <property name="text">
+ <string>Java path:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="javaPathTextBox"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelJVMArgs">
+ <property name="text">
+ <string>JVM arguments:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
+ <string>Auto-detect</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QLineEdit" name="jvmArgsTextBox"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="customCommandsGroupBox">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Custom Commands</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="preLaunchCmdTextBox"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="labelPostExitCmd">
+ <property name="text">
+ <string>Post-exit command:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="labelPreLaunchCmd">
+ <property name="text">
+ <string>Pre-launch command:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="postExitCmdTextBox"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelCustomCmdsDescription">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Pre-launch command runs before the instance launches and post-exit command runs after it exits. Both will be run in MultiMC's working directory with INST_ID, INST_DIR, and INST_NAME as environment variables.</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="geometry">
+ <rect>
+ <x>9</x>
+ <y>530</y>
+ <width>435</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </widget>
+ <tabstops>
+ <tabstop>settingsTabs</tabstop>
+ <tabstop>windowSizeGroupBox</tabstop>
+ <tabstop>compatModeCheckBox</tabstop>
+ <tabstop>maximizedCheckBox</tabstop>
+ <tabstop>windowWidthSpinBox</tabstop>
+ <tabstop>windowHeightSpinBox</tabstop>
+ <tabstop>consoleSettingsBox</tabstop>
+ <tabstop>showConsoleCheck</tabstop>
+ <tabstop>autoCloseConsoleCheck</tabstop>
+ <tabstop>accountSettingsGroupBox</tabstop>
+ <tabstop>autoLoginChecBox</tabstop>
+ <tabstop>memoryGroupBox</tabstop>
+ <tabstop>minMemSpinBox</tabstop>
+ <tabstop>maxMemSpinBox</tabstop>
+ <tabstop>javaSettingsGroupBox</tabstop>
+ <tabstop>javaPathTextBox</tabstop>
+ <tabstop>pushButton</tabstop>
+ <tabstop>jvmArgsTextBox</tabstop>
+ <tabstop>customCommandsGroupBox</tabstop>
+ <tabstop>preLaunchCmdTextBox</tabstop>
+ <tabstop>postExitCmdTextBox</tabstop>
+ <tabstop>buttonBox</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp
index 80f737e3..f9398c8b 100644
--- a/gui/mainwindow.cpp
+++ b/gui/mainwindow.cpp
@@ -43,6 +43,7 @@
#include "gui/lwjglselectdialog.h"
#include "gui/consolewindow.h"
#include "gui/legacymodeditdialog.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();
@@ -417,7 +421,7 @@ void MainWindow::onLoginComplete(LoginResponse response)
{
Q_ASSERT_X(m_activeInst != NULL, "onLoginComplete", "no active instance is set");
- if (!m_activeInst->shouldUpdateGame())
+ if (!m_activeInst->shouldUpdate())
{
launchInstance(m_activeInst, response);
}
@@ -554,3 +558,20 @@ void MainWindow::on_actionChangeInstLWJGLVersion_triggered()
}
}
+
+void MainWindow::on_actionInstanceSettings_triggered()
+{
+ if (view->selectionModel()->selectedIndexes().count() < 1)
+ return;
+
+ Instance *inst = selectedInstance();
+ SettingsObject *s;
+ s = &inst->settings();
+ InstanceSettings settings(s, this);
+ settings.setWindowTitle(QString("Instance settings"));
+ settings.exec();
+}
+
+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 @@
</widget>
<widget class="QStatusBar" name="statusBar"/>
<widget class="QToolBar" name="instanceToolBar">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
<property name="windowTitle">
<string>Instance Toolbar</string>
</property>
@@ -300,7 +303,7 @@
</action>
<action name="actionInstanceSettings">
<property name="enabled">
- <bool>false</bool>
+ <bool>true</bool>
</property>
<property name="text">
<string>Settings</string>