Replace notes dialog with a page.
This commit is contained in:
parent
702e00e059
commit
d911c9908c
@ -301,6 +301,8 @@ SET(MULTIMC_SOURCES
|
||||
gui/pages/ResourcePackPage.h
|
||||
gui/pages/ModFolderPage.cpp
|
||||
gui/pages/ModFolderPage.h
|
||||
gui/pages/NotesPage.cpp
|
||||
gui/pages/NotesPage.h
|
||||
gui/pages/LegacyUpgradePage.cpp
|
||||
gui/pages/LegacyUpgradePage.h
|
||||
gui/pages/LegacyJarModPage.cpp
|
||||
@ -321,8 +323,6 @@ SET(MULTIMC_SOURCES
|
||||
gui/dialogs/CustomMessageBox.h
|
||||
gui/dialogs/EditAccountDialog.cpp
|
||||
gui/dialogs/EditAccountDialog.h
|
||||
gui/dialogs/EditNotesDialog.cpp
|
||||
gui/dialogs/EditNotesDialog.h
|
||||
gui/dialogs/IconPickerDialog.cpp
|
||||
gui/dialogs/IconPickerDialog.h
|
||||
gui/dialogs/LoginDialog.cpp
|
||||
@ -615,6 +615,7 @@ SET(MULTIMC_UIS
|
||||
gui/pages/LegacyUpgradePage.ui
|
||||
gui/pages/LegacyJarModPage.ui
|
||||
gui/pages/InstanceSettingsPage.ui
|
||||
gui/pages/NotesPage.ui
|
||||
|
||||
# Dialogs
|
||||
gui/dialogs/SettingsDialog.ui
|
||||
@ -625,7 +626,6 @@ SET(MULTIMC_UIS
|
||||
gui/dialogs/LwjglSelectDialog.ui
|
||||
gui/dialogs/ProgressDialog.ui
|
||||
gui/dialogs/IconPickerDialog.ui
|
||||
gui/dialogs/EditNotesDialog.ui
|
||||
gui/dialogs/AccountListDialog.ui
|
||||
gui/dialogs/AccountSelectDialog.ui
|
||||
gui/dialogs/EditAccountDialog.ui
|
||||
|
@ -57,7 +57,6 @@
|
||||
#include "gui/dialogs/CustomMessageBox.h"
|
||||
#include "gui/dialogs/LwjglSelectDialog.h"
|
||||
#include "gui/dialogs/IconPickerDialog.h"
|
||||
#include "gui/dialogs/EditNotesDialog.h"
|
||||
#include "gui/dialogs/CopyInstanceDialog.h"
|
||||
#include "gui/dialogs/AccountListDialog.h"
|
||||
#include "gui/dialogs/AccountSelectDialog.h"
|
||||
@ -941,17 +940,31 @@ void MainWindow::on_actionSettings_triggered()
|
||||
updateToolsMenu();
|
||||
}
|
||||
|
||||
void MainWindow::on_actionInstanceSettings_triggered()
|
||||
template <typename T>
|
||||
void ShowPageDialog(T raw_provider, QWidget * parent, QString open_page = QString())
|
||||
{
|
||||
if (!m_selectedInstance)
|
||||
return;
|
||||
auto provider = std::dynamic_pointer_cast<BasePageProvider>(m_selectedInstance);
|
||||
auto provider = std::dynamic_pointer_cast<BasePageProvider>(raw_provider);
|
||||
if(!provider)
|
||||
return;
|
||||
PageDialog dlg(provider, "settings" , this);
|
||||
PageDialog dlg(provider, open_page, parent);
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
void MainWindow::on_actionInstanceSettings_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this, "settings");
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstNotes_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this, "notes");
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstance_triggered()
|
||||
{
|
||||
ShowPageDialog(m_selectedInstance, this);
|
||||
}
|
||||
|
||||
void MainWindow::on_actionManageAccounts_triggered()
|
||||
{
|
||||
AccountListDialog dialog(this);
|
||||
@ -1040,17 +1053,6 @@ void MainWindow::on_actionViewSelectedInstFolder_triggered()
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstance_triggered()
|
||||
{
|
||||
if (!m_selectedInstance)
|
||||
return;
|
||||
auto provider = std::dynamic_pointer_cast<BasePageProvider>(m_selectedInstance);
|
||||
if(!provider)
|
||||
return;
|
||||
PageDialog dlg(provider, "" , this);
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
void MainWindow::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
// Save the window state and geometry.
|
||||
@ -1398,20 +1400,6 @@ void MainWindow::selectionBad()
|
||||
setSelectedInstanceById(MMC->settings()->get("SelectedInstance").toString());
|
||||
}
|
||||
|
||||
void MainWindow::on_actionEditInstNotes_triggered()
|
||||
{
|
||||
if (!m_selectedInstance)
|
||||
return;
|
||||
|
||||
EditNotesDialog noteedit(m_selectedInstance->notes(), m_selectedInstance->name(), this);
|
||||
noteedit.exec();
|
||||
if (noteedit.result() == QDialog::Accepted)
|
||||
{
|
||||
|
||||
m_selectedInstance->setNotes(noteedit.getText());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::instanceEnded()
|
||||
{
|
||||
this->show();
|
||||
|
@ -1,43 +0,0 @@
|
||||
/* 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 "EditNotesDialog.h"
|
||||
#include "ui_EditNotesDialog.h"
|
||||
#include "gui/Platform.h"
|
||||
|
||||
#include <QIcon>
|
||||
#include <QApplication>
|
||||
|
||||
EditNotesDialog::EditNotesDialog(QString notes, QString name, QWidget *parent)
|
||||
: QDialog(parent), ui(new Ui::EditNotesDialog), m_instance_name(name),
|
||||
m_instance_notes(notes)
|
||||
{
|
||||
MultiMCPlatform::fixWM_CLASS(this);
|
||||
ui->setupUi(this);
|
||||
ui->noteEditor->setText(notes);
|
||||
setWindowTitle(tr("Edit notes of %1").arg(m_instance_name));
|
||||
// connect(ui->closeButton, SIGNAL(clicked()), SLOT(close()));
|
||||
}
|
||||
|
||||
EditNotesDialog::~EditNotesDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
QString EditNotesDialog::getText()
|
||||
{
|
||||
QString test = ui->noteEditor->toPlainText();
|
||||
return test;
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>EditNotesDialog</class>
|
||||
<widget class="QDialog" name="EditNotesDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>459</width>
|
||||
<height>399</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Edit Notes</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTextEdit" name="noteEditor">
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||
</property>
|
||||
<property name="acceptRichText">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextEditable|Qt::TextEditorInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</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/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>EditNotesDialog</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>EditNotesDialog</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>
|
35
gui/pages/NotesPage.cpp
Normal file
35
gui/pages/NotesPage.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
#include "NotesPage.h"
|
||||
#include "ui_NotesPage.h"
|
||||
|
||||
QString NotesPage::displayName()
|
||||
{
|
||||
return tr("Notes");
|
||||
}
|
||||
|
||||
QIcon NotesPage::icon()
|
||||
{
|
||||
return QIcon::fromTheme("news");
|
||||
}
|
||||
|
||||
QString NotesPage::id()
|
||||
{
|
||||
return "notes";
|
||||
}
|
||||
|
||||
NotesPage::NotesPage(BaseInstance *inst, QWidget *parent)
|
||||
: QWidget(parent), ui(new Ui::NotesPage), m_inst(inst)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->noteEditor->setText(m_inst->notes());
|
||||
}
|
||||
|
||||
NotesPage::~NotesPage()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
bool NotesPage::apply()
|
||||
{
|
||||
m_inst->setNotes(ui->noteEditor->toPlainText());
|
||||
return true;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
/* Copyright 2013 MultiMC Contributors
|
||||
/* Copyright 2014 MultiMC Contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -14,25 +14,32 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <QWidget>
|
||||
|
||||
#include <QDialog>
|
||||
#include <logic/BaseInstance.h>
|
||||
#include <logic/net/NetJob.h>
|
||||
#include "BasePage.h"
|
||||
|
||||
class EnabledItemFilter;
|
||||
namespace Ui
|
||||
{
|
||||
class EditNotesDialog;
|
||||
class NotesPage;
|
||||
}
|
||||
|
||||
class EditNotesDialog : public QDialog
|
||||
class NotesPage : public QWidget, public BasePage
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit EditNotesDialog(QString notes, QString name, QWidget *parent = 0);
|
||||
~EditNotesDialog();
|
||||
QString getText();
|
||||
explicit NotesPage(BaseInstance *inst, QWidget *parent = 0);
|
||||
virtual ~NotesPage();
|
||||
virtual QString displayName() override;
|
||||
virtual QIcon icon() override;
|
||||
virtual QString id() override;
|
||||
virtual bool apply();
|
||||
virtual QString helpPage() override { return "Notes"; };
|
||||
|
||||
private:
|
||||
Ui::EditNotesDialog *ui;
|
||||
QString m_instance_name;
|
||||
QString m_instance_notes;
|
||||
Ui::NotesPage *ui;
|
||||
BaseInstance *m_inst;
|
||||
};
|
46
gui/pages/NotesPage.ui
Normal file
46
gui/pages/NotesPage.ui
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>NotesPage</class>
|
||||
<widget class="QWidget" name="NotesPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>300</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="noteEditor">
|
||||
<property name="verticalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOn</enum>
|
||||
</property>
|
||||
<property name="acceptRichText">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextEditable|Qt::TextEditorInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
@ -33,6 +33,7 @@
|
||||
#include "gui/pages/LegacyJarModPage.h"
|
||||
#include <gui/pages/TexturePackPage.h>
|
||||
#include <gui/pages/InstanceSettingsPage.h>
|
||||
#include <gui/pages/NotesPage.h>
|
||||
|
||||
LegacyInstance::LegacyInstance(const QString &rootDir, SettingsObject *settings,
|
||||
QObject *parent)
|
||||
@ -55,6 +56,7 @@ QList<BasePage *> LegacyInstance::getPages()
|
||||
values.append(new ModFolderPage(coreModList(), "coremods", "plugin-green", tr("Core mods"),
|
||||
"Core-mods"));
|
||||
values.append(new TexturePackPage(this));
|
||||
values.append(new NotesPage(this));
|
||||
values.append(new InstanceSettingsPage(&settings()));
|
||||
return values;
|
||||
}
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include <gui/pages/ResourcePackPage.h>
|
||||
#include <gui/pages/TexturePackPage.h>
|
||||
#include <gui/pages/InstanceSettingsPage.h>
|
||||
#include <gui/pages/NotesPage.h>
|
||||
|
||||
OneSixInstance::OneSixInstance(const QString &rootDir, SettingsObject *settings,
|
||||
QObject *parent)
|
||||
@ -67,6 +68,7 @@ QList<BasePage *> OneSixInstance::getPages()
|
||||
"Core-mods"));
|
||||
values.append(new ResourcePackPage(this));
|
||||
values.append(new TexturePackPage(this));
|
||||
values.append(new NotesPage(this));
|
||||
values.append(new InstanceSettingsPage(&settings()));
|
||||
return values;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user