diff options
Diffstat (limited to 'application/dialogs')
-rw-r--r-- | application/dialogs/AboutDialog.cpp | 81 | ||||
-rw-r--r-- | application/dialogs/AboutDialog.ui | 30 | ||||
-rw-r--r-- | application/dialogs/CopyInstanceDialog.cpp | 19 | ||||
-rw-r--r-- | application/dialogs/CopyInstanceDialog.h | 3 | ||||
-rw-r--r-- | application/dialogs/CopyInstanceDialog.ui | 16 | ||||
-rw-r--r-- | application/dialogs/EditAccountDialog.ui | 2 | ||||
-rw-r--r-- | application/dialogs/LoginDialog.ui | 2 | ||||
-rw-r--r-- | application/dialogs/NewInstanceDialog.cpp | 20 |
8 files changed, 88 insertions, 85 deletions
diff --git a/application/dialogs/AboutDialog.cpp b/application/dialogs/AboutDialog.cpp index ca1dfd94..c4e4ee24 100644 --- a/application/dialogs/AboutDialog.cpp +++ b/application/dialogs/AboutDialog.cpp @@ -23,56 +23,44 @@ #include "HoeDown.h" +namespace { // Credits // This is a hack, but I can't think of a better way to do this easily without screwing with QTextDocument... -static QString getCreditsHtml(QStringList patrons) +QString getCreditsHtml(QStringList patrons) { - QString creditsHtml = QObject::tr( - "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN' 'http://www.w3.org/TR/REC-html40/strict.dtd'>" - "<html>" - "" - "<head>" - "<meta name='qrichtext' content='1' />" - "<style type='text/css'>" - "p { white-space: pre-wrap; margin-top:2px; margin-bottom:2px; }" - "</style>" - "</head>" - "" - "<body style=' font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;'>" - "" - "<h3>MultiMC Developers</h3>" - "<p>Andrew Okin <<a href='mailto:forkk@forkk.net'>forkk@forkk.net</a>></p>" - "<p>Petr Mrázek <<a href='mailto:peterix@gmail.com'>peterix@gmail.com</a>></p>" - "<p>Sky Welch <<a href='mailto:multimc@bunnies.io'>multimc@bunnies.io</a>></p>" - "<p>Jan (02JanDal) <<a href='mailto:02jandal@gmail.com'>02jandal@gmail.com</a>></p>" - "<p>RoboSky <<a href='https://twitter.com/RoboSky_'>@RoboSky_</a>></p>" - "" - "<h3>With thanks to</h3>" - "<p>Orochimarufan <<a href='mailto:orochimarufan.x3@gmail.com'>orochimarufan.x3@gmail.com</a>></p>" - "<p>TakSuyu <<a href='mailto:taksuyu@gmail.com'>taksuyu@gmail.com</a>></p>" - "<p>Kilobyte <<a href='mailto:stiepen22@gmx.de'>stiepen22@gmx.de</a>></p>" - "<p>Rootbear75 <<a href='https://twitter.com/rootbear75'>@rootbear75</a>></p>" - "" - "<h3>Patrons</h3>" - "%1" - "" - "</body>" - "</html>"); - if (patrons.isEmpty()) - return creditsHtml.arg(QObject::tr("<p>Loading...</p>")); - else - { - QString patronsStr; + QString patronsHeading = QObject::tr("Patrons", "About Credits"); + QString output; + QTextStream stream(&output); + stream << "<center>\n"; + // TODO: possibly retrieve from git history at build time? + stream << "<h3>" << QObject::tr("MultiMC Developers", "About Credits") << "</h3>\n"; + stream << "<p>Andrew Okin <<a href='mailto:forkk@forkk.net'>forkk@forkk.net</a>></p>\n"; + stream << "<p>Petr Mrázek <<a href='mailto:peterix@gmail.com'>peterix@gmail.com</a>></p>\n"; + stream << "<p>Sky Welch <<a href='mailto:multimc@bunnies.io'>multimc@bunnies.io</a>></p>\n"; + stream << "<p>Jan (02JanDal) <<a href='mailto:02jandal@gmail.com'>02jandal@gmail.com</a>></p>\n"; + stream << "<p>RoboSky <<a href='https://twitter.com/RoboSky_'>@RoboSky_</a>></p>\n"; + stream << "<br />\n"; + + stream << "<h3>" << QObject::tr("With thanks to", "About Credits") << "</h3>\n"; + stream << "<p>Orochimarufan <<a href='mailto:orochimarufan.x3@gmail.com'>orochimarufan.x3@gmail.com</a>></p>\n"; + stream << "<p>TakSuyu <<a href='mailto:taksuyu@gmail.com'>taksuyu@gmail.com</a>></p>\n"; + stream << "<p>Kilobyte <<a href='mailto:stiepen22@gmx.de'>stiepen22@gmx.de</a>></p>\n"; + stream << "<p>Rootbear75 <<a href='https://twitter.com/rootbear75'>@rootbear75</a>></p>\n"; + stream << "<p>Zeker Zhayard <<a href='https://twitter.com/zeker_zhayard'>@Zeker_Zhayard</a>></p>\n"; + stream << "<br />\n"; + + if(!patrons.isEmpty()) { + stream << "<h3>" << QObject::tr("Patrons", "About Credits") << "</h3>\n"; for (QString patron : patrons) { - patronsStr.append(QString("<p>%1</p>").arg(patron)); + stream << "<p>" << patron << "</p>\n"; } - - return creditsHtml.arg(patronsStr); } + stream << "</center>\n"; + return output; } -static QString getLicenseHtml() +QString getLicenseHtml() { HoeDown hoedown; QFile dataFile(":/documents/COPYING.md"); @@ -81,6 +69,8 @@ static QString getLicenseHtml() return output; } +} + AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDialog) { ui->setupUi(this); @@ -109,6 +99,15 @@ AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDia else ui->channelLabel->setVisible(false); + ui->redistributionText->setHtml(tr( +"<p>We keep MultiMC open source because we think it's important to be able to see the source code for a project like this, and we do so using the Apache license.</p>\n" +"<p>Part of the reason for using the Apache license is we don't want people using the "MultiMC" name when redistributing the project. " +"This means people must take the time to go through the source code and remove all references to "MultiMC", including but not limited to the project " +"icon and the title of windows, (no <b>MultiMC-fork</b> in the title).</p>\n" +"<p>The Apache license covers reasonable use for the name - a mention of the project's origins in the About dialog and the license is acceptable. " +"However, it should be abundantly clear that the project is a fork <b>without</b> implying that you have our blessing.</p>" + )); + connect(ui->closeButton, SIGNAL(clicked()), SLOT(close())); connect(ui->aboutQt, &QPushButton::clicked, &QApplication::aboutQt); diff --git a/application/dialogs/AboutDialog.ui b/application/dialogs/AboutDialog.ui index 47ec0293..c4096b32 100644 --- a/application/dialogs/AboutDialog.ui +++ b/application/dialogs/AboutDialog.ui @@ -217,16 +217,6 @@ </property> </widget> </item> - <item> - <widget class="QLineEdit" name="translationInfo"> - <property name="text"> - <string extracomment="Hey, Translator, feel free to put credit to you here">No Language file loaded.</string> - </property> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> </layout> </widget> <widget class="QWidget" name="licenseTab"> @@ -263,18 +253,7 @@ </attribute> <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <widget class="QTextEdit" name="textEdit"> - <property name="html"> - <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Noto Sans'; font-size:12pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Bitstream Vera Sans'; font-size:11pt;">We keep MultiMC open source because we think it's important to be able to see the source code for a project like this, and we do so using the Apache license.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Bitstream Vera Sans'; font-size:11pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Bitstream Vera Sans'; font-size:11pt;">Part of the reason for using the Apache license is we don't want people using the &quot;MultiMC&quot; name when redistributing the project. This means people must take the time to go through the source code and remove all references to &quot;MultiMC&quot;, including but not limited to the project icon and the title of windows, (no *MultiMC-fork* in the title).</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Bitstream Vera Sans'; font-size:11pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Bitstream Vera Sans'; font-size:11pt;">The Apache license covers reasonable use for the name - a mention of the project's origins in the About dialog and the license is acceptable. However, it should be abundantly clear that the project is a fork </span><span style=" font-family:'Bitstream Vera Sans'; font-size:11pt; font-weight:600;">without</span><span style=" font-family:'Bitstream Vera Sans'; font-size:11pt;"> implying that you have our blessing.</span></p></body></html></string> - </property> + <widget class="QTextEdit" name="redistributionText"> <property name="textInteractionFlags"> <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set> </property> @@ -323,14 +302,11 @@ p, li { white-space: pre-wrap; } <tabstops> <tabstop>tabWidget</tabstop> <tabstop>creditsText</tabstop> - <tabstop>translationInfo</tabstop> <tabstop>licenseText</tabstop> - <tabstop>textEdit</tabstop> + <tabstop>redistributionText</tabstop> <tabstop>aboutQt</tabstop> <tabstop>closeButton</tabstop> </tabstops> - <resources> - <include location="../../resources/multimc/multimc.qrc"/> - </resources> + <resources/> <connections/> </ui> diff --git a/application/dialogs/CopyInstanceDialog.cpp b/application/dialogs/CopyInstanceDialog.cpp index 6100860c..ab76e737 100644 --- a/application/dialogs/CopyInstanceDialog.cpp +++ b/application/dialogs/CopyInstanceDialog.cpp @@ -53,6 +53,7 @@ CopyInstanceDialog::CopyInstanceDialog(InstancePtr original, QWidget *parent) ui->groupBox->setCurrentIndex(index); ui->groupBox->lineEdit()->setPlaceholderText(tr("No group")); ui->copySavesCheckbox->setChecked(m_copySaves); + ui->keepPlaytimeCheckbox->setChecked(m_keepPlaytime); } CopyInstanceDialog::~CopyInstanceDialog() @@ -123,3 +124,21 @@ void CopyInstanceDialog::on_copySavesCheckbox_stateChanged(int state) m_copySaves = true; } } + +bool CopyInstanceDialog::shouldKeepPlaytime() const +{ + return m_keepPlaytime; +} + + +void CopyInstanceDialog::on_keepPlaytimeCheckbox_stateChanged(int state) +{ + if(state == Qt::Unchecked) + { + m_keepPlaytime = false; + } + else if(state == Qt::Checked) + { + m_keepPlaytime = true; + } +} diff --git a/application/dialogs/CopyInstanceDialog.h b/application/dialogs/CopyInstanceDialog.h index d46e647c..2b8475b7 100644 --- a/application/dialogs/CopyInstanceDialog.h +++ b/application/dialogs/CopyInstanceDialog.h @@ -40,16 +40,19 @@ public: QString instGroup() const; QString iconKey() const; bool shouldCopySaves() const; + bool shouldKeepPlaytime() const; private slots: void on_iconButton_clicked(); void on_instNameTextBox_textChanged(const QString &arg1); void on_copySavesCheckbox_stateChanged(int state); + void on_keepPlaytimeCheckbox_stateChanged(int state); private: Ui::CopyInstanceDialog *ui; QString InstIconKey; InstancePtr m_original; bool m_copySaves = true; + bool m_keepPlaytime = true; }; diff --git a/application/dialogs/CopyInstanceDialog.ui b/application/dialogs/CopyInstanceDialog.ui index bbb1bbb3..fa675455 100644 --- a/application/dialogs/CopyInstanceDialog.ui +++ b/application/dialogs/CopyInstanceDialog.ui @@ -10,7 +10,7 @@ <x>0</x> <y>0</y> <width>345</width> - <height>240</height> + <height>323</height> </rect> </property> <property name="windowTitle"> @@ -117,6 +117,13 @@ </widget> </item> <item> + <widget class="QCheckBox" name="keepPlaytimeCheckbox"> + <property name="text"> + <string>Keep play time</string> + </property> + </widget> + </item> + <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -128,6 +135,13 @@ </item> </layout> </widget> + <tabstops> + <tabstop>iconButton</tabstop> + <tabstop>instNameTextBox</tabstop> + <tabstop>groupBox</tabstop> + <tabstop>copySavesCheckbox</tabstop> + <tabstop>keepPlaytimeCheckbox</tabstop> + </tabstops> <resources> <include location="../../graphics.qrc"/> </resources> diff --git a/application/dialogs/EditAccountDialog.ui b/application/dialogs/EditAccountDialog.ui index 85e235ce..e87509bc 100644 --- a/application/dialogs/EditAccountDialog.ui +++ b/application/dialogs/EditAccountDialog.ui @@ -30,7 +30,7 @@ <item> <widget class="QLineEdit" name="userTextBox"> <property name="placeholderText"> - <string>Email / Username</string> + <string>Email</string> </property> </widget> </item> diff --git a/application/dialogs/LoginDialog.ui b/application/dialogs/LoginDialog.ui index 99b98215..d92fbae3 100644 --- a/application/dialogs/LoginDialog.ui +++ b/application/dialogs/LoginDialog.ui @@ -36,7 +36,7 @@ <item> <widget class="QLineEdit" name="userTextBox"> <property name="placeholderText"> - <string>Email / Username</string> + <string>Email</string> </property> </widget> </item> diff --git a/application/dialogs/NewInstanceDialog.cpp b/application/dialogs/NewInstanceDialog.cpp index 3533763d..511f991e 100644 --- a/application/dialogs/NewInstanceDialog.cpp +++ b/application/dialogs/NewInstanceDialog.cpp @@ -34,11 +34,9 @@ #include "widgets/PageContainer.h" #include <pages/modplatform/VanillaPage.h> -#include <pages/modplatform/FTBPage.h> -#include <pages/modplatform/TwitchPage.h> +#include <pages/modplatform/legacy_ftb/Page.h> +#include <pages/modplatform/twitch/TwitchPage.h> #include <pages/modplatform/ImportPage.h> -#include <pages/modplatform/TechnicPage.h> - NewInstanceDialog::NewInstanceDialog(const QString & initialGroup, const QString & url, QWidget *parent) @@ -97,14 +95,8 @@ NewInstanceDialog::NewInstanceDialog(const QString & initialGroup, const QString if(!url.isEmpty()) { QUrl actualUrl(url); - if(actualUrl.host() == "www.curseforge.com") { - m_container->selectPage("twitch"); - twitchPage->setUrl(url); - } - else { - m_container->selectPage("import"); - importPage->setUrl(url); - } + m_container->selectPage("import"); + importPage->setUrl(url); } updateDialogState(); @@ -133,8 +125,8 @@ QList<BasePage *> NewInstanceDialog::getPages() { new VanillaPage(this), importPage, - twitchPage, - new FTBPage(this) + new LegacyFTB::Page(this), + twitchPage }; } |