From b57d6e6353a3048a4052201bf2a56bea00d94b0a Mon Sep 17 00:00:00 2001 From: Thomas Groman Date: Tue, 22 Dec 2020 22:13:43 -0800 Subject: clean up vistigual UI elements --- CMakeLists.txt | 2 +- application/CMakeLists.txt | 6 - application/MultiMC.cpp | 20 -- application/pages/global/MultiMCPage.ui | 63 ------ application/pages/global/PackagesPage.cpp | 224 --------------------- application/pages/global/PackagesPage.h | 57 ------ application/pages/global/PackagesPage.ui | 252 ------------------------ application/setupwizard/AnalyticsWizardPage.cpp | 60 ------ application/setupwizard/AnalyticsWizardPage.h | 25 --- application/setupwizard/SetupWizard.cpp | 1 - 10 files changed, 1 insertion(+), 709 deletions(-) delete mode 100644 application/pages/global/PackagesPage.cpp delete mode 100644 application/pages/global/PackagesPage.h delete mode 100644 application/pages/global/PackagesPage.ui delete mode 100644 application/setupwizard/AnalyticsWizardPage.cpp delete mode 100644 application/setupwizard/AnalyticsWizardPage.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 005487a1..63c658de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,7 @@ set(CMAKE_C_STANDARD_REQUIRED true) set(CMAKE_CXX_STANDARD 11) set(CMAKE_C_STANDARD 11) include(GenerateExportHeader) -set(CMAKE_CXX_FLAGS " -Wall -pedantic -Werror -Wno-deprecated-declarations -D_GLIBCXX_USE_CXX11_ABI=0 -fstack-protector-strong --param=ssp-buffer-size=4 -O3 -D_FORTIFY_SOURCE=2 ${CMAKE_CXX_FLAGS}") +set(CMAKE_CXX_FLAGS " -Wall -pedantic -Werror -Wno-deprecated-declarations -D_GLIBCXX_USE_CXX11_ABI=0 -fstack-protector-strong --param=ssp-buffer-size=4 -Os -D_FORTIFY_SOURCE=2 ${CMAKE_CXX_FLAGS}") if(UNIX AND APPLE) set(CMAKE_CXX_FLAGS " -stdlib=libc++ ${CMAKE_CXX_FLAGS}") endif() diff --git a/application/CMakeLists.txt b/application/CMakeLists.txt index 8e73f2d0..04f424ac 100644 --- a/application/CMakeLists.txt +++ b/application/CMakeLists.txt @@ -42,8 +42,6 @@ SET(MULTIMC_SOURCES # GUI - setup wizard setupwizard/SetupWizard.h setupwizard/SetupWizard.cpp - setupwizard/AnalyticsWizardPage.cpp - setupwizard/AnalyticsWizardPage.h setupwizard/BaseWizardPage.h setupwizard/JavaWizardPage.cpp setupwizard/JavaWizardPage.h @@ -125,8 +123,6 @@ SET(MULTIMC_SOURCES pages/global/ProxyPage.h pages/global/PasteEEPage.cpp pages/global/PasteEEPage.h - pages/global/PackagesPage.cpp - pages/global/PackagesPage.h # GUI - platform pages pages/modplatform/VanillaPage.cpp @@ -251,7 +247,6 @@ SET(MULTIMC_UIS pages/global/MultiMCPage.ui pages/global/ProxyPage.ui pages/global/PasteEEPage.ui - pages/global/PackagesPage.ui # Platform pages pages/modplatform/VanillaPage.ui @@ -305,7 +300,6 @@ qt5_add_resources(MULTIMC_RESOURCES ${MULTIMC_QRCS}) # Add executable add_executable(MultiMC MACOSX_BUNDLE WIN32 ${MULTIMC_SOURCES} ${MULTIMC_UI} ${MULTIMC_RESOURCES} ${MULTIMC_RCS}) -#target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_rainbow LocalPeer ganalytics) target_link_libraries(MultiMC MultiMC_gui ${QUAZIP_LIBRARIES} hoedown MultiMC_rainbow LocalPeer) if(DEFINED MultiMC_APP_BINARY_NAME) set_target_properties(MultiMC PROPERTIES OUTPUT_NAME "${MultiMC_APP_BINARY_NAME}") diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp index 5626b672..d550987f 100644 --- a/application/MultiMC.cpp +++ b/application/MultiMC.cpp @@ -15,7 +15,6 @@ #include "pages/global/ExternalToolsPage.h" #include "pages/global/AccountListPage.h" #include "pages/global/PasteEEPage.h" -#include "pages/global/PackagesPage.h" #include "pages/global/CustomCommandsPage.h" #include "themes/ITheme.h" @@ -27,7 +26,6 @@ #include "setupwizard/SetupWizard.h" #include "setupwizard/LanguageWizardPage.h" #include "setupwizard/JavaWizardPage.h" -#include "setupwizard/AnalyticsWizardPage.h" #include #include @@ -518,7 +516,6 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) m_globalSettingsProvider->addPage(); m_globalSettingsProvider->addPage(); m_globalSettingsProvider->addPage(); - // m_globalSettingsProvider->addPage(); m_globalSettingsProvider->addPage(); m_globalSettingsProvider->addPage(); m_globalSettingsProvider->addPage(); @@ -793,23 +790,6 @@ void MultiMC::messageReceived(const QString& message) } } } -/* -void MultiMC::analyticsSettingChanged(const Setting&, QVariant value) -{ - if(!m_analytics) - return; - bool enabled = value.toBool(); - if(enabled) - { - qDebug() << "Analytics enabled by user."; - } - else - { - qDebug() << "Analytics disabled by user."; - } - m_analytics->enable(enabled); -} -*/ std::shared_ptr MultiMC::translations() { return m_translations; diff --git a/application/pages/global/MultiMCPage.ui b/application/pages/global/MultiMCPage.ui index ea034919..0d886b5a 100644 --- a/application/pages/global/MultiMCPage.ui +++ b/application/pages/global/MultiMCPage.ui @@ -478,69 +478,6 @@ - - - Analytics - - - - - - Analytics Settings - - - - - - Send anonymous usage statistics? - - - - - - - Qt::Horizontal - - - - - - - <html><head/> -<body> -<p>MultiMC sends anonymous usage statistics on every start of the application.</p><p>The following data is collected:</p> -<ul> -<li>MultiMC version.</li> -<li>Operating system name, version and architecture.</li> -<li>CPU architecture (kernel architecture on linux).</li> -<li>Size of system memory.</li> -<li>Java version, architecture and memory settings.</li> -</ul> -</body></html> - - - true - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - diff --git a/application/pages/global/PackagesPage.cpp b/application/pages/global/PackagesPage.cpp deleted file mode 100644 index 1bbbed7a..00000000 --- a/application/pages/global/PackagesPage.cpp +++ /dev/null @@ -1,224 +0,0 @@ -/* Copyright 2015-2019 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 "PackagesPage.h" -#include "ui_PackagesPage.h" - -#include -#include -#include - -#include "dialogs/ProgressDialog.h" -#include "VersionProxyModel.h" - -#include "meta/Index.h" -#include "meta/VersionList.h" -#include "meta/Version.h" -#include "Env.h" -#include "MultiMC.h" - -using namespace Meta; - -static QString formatRequires(const VersionPtr &version) -{ - QStringList lines; - auto & reqs = version->requires(); - auto iter = reqs.begin(); - while (iter != reqs.end()) - { - auto &uid = iter->uid; - auto &version = iter->equalsVersion; - const QString readable = ENV.metadataIndex()->hasUid(uid) ? ENV.metadataIndex()->get(uid)->humanReadable() : uid; - if(!version.isEmpty()) - { - lines.append(QString("%1 (%2)").arg(readable, version)); - } - else - { - lines.append(QString("%1").arg(readable)); - } - iter++; - } - return lines.join('\n'); -} - -PackagesPage::PackagesPage(QWidget *parent) : - QWidget(parent), - ui(new Ui::PackagesPage) -{ - ui->setupUi(this); - ui->tabWidget->tabBar()->hide(); - - m_fileProxy = new QSortFilterProxyModel(this); - m_fileProxy->setSortRole(Qt::DisplayRole); - m_fileProxy->setSortCaseSensitivity(Qt::CaseInsensitive); - m_fileProxy->setFilterCaseSensitivity(Qt::CaseInsensitive); - m_fileProxy->setFilterRole(Qt::DisplayRole); - m_fileProxy->setFilterKeyColumn(0); - m_fileProxy->sort(0); - m_fileProxy->setSourceModel(ENV.metadataIndex().get()); - ui->indexView->setModel(m_fileProxy); - - m_filterProxy = new QSortFilterProxyModel(this); - m_filterProxy->setSortRole(VersionList::SortRole); - m_filterProxy->setFilterCaseSensitivity(Qt::CaseInsensitive); - m_filterProxy->setFilterRole(Qt::DisplayRole); - m_filterProxy->setFilterKeyColumn(0); - m_filterProxy->sort(0, Qt::DescendingOrder); - ui->versionsView->setModel(m_filterProxy); - - m_versionProxy = new VersionProxyModel(this); - m_filterProxy->setSourceModel(m_versionProxy); - - connect(ui->indexView->selectionModel(), &QItemSelectionModel::currentChanged, this, &PackagesPage::updateCurrentVersionList); - connect(ui->versionsView->selectionModel(), &QItemSelectionModel::currentChanged, this, &PackagesPage::updateVersion); - connect(m_filterProxy, &QSortFilterProxyModel::dataChanged, this, &PackagesPage::versionListDataChanged); - - updateCurrentVersionList(QModelIndex()); - updateVersion(); -} - -PackagesPage::~PackagesPage() -{ - delete ui; -} - -QIcon PackagesPage::icon() const -{ - return MMC->getThemedIcon("packages"); -} - -void PackagesPage::on_refreshIndexBtn_clicked() -{ - ENV.metadataIndex()->load(Net::Mode::Online); -} -void PackagesPage::on_refreshFileBtn_clicked() -{ - VersionListPtr list = ui->indexView->currentIndex().data(Index::ListPtrRole).value(); - if (!list) - { - return; - } - list->load(Net::Mode::Online); -} -void PackagesPage::on_refreshVersionBtn_clicked() -{ - VersionPtr version = ui->versionsView->currentIndex().data(VersionList::VersionPtrRole).value(); - if (!version) - { - return; - } - version->load(Net::Mode::Online); -} - -void PackagesPage::on_fileSearchEdit_textChanged(const QString &search) -{ - if (search.isEmpty()) - { - m_fileProxy->setFilterFixedString(QString()); - } - else - { - QStringList parts = search.split(' '); - std::transform(parts.begin(), parts.end(), parts.begin(), &QRegularExpression::escape); - m_fileProxy->setFilterRegExp(".*" + parts.join(".*") + ".*"); - } -} -void PackagesPage::on_versionSearchEdit_textChanged(const QString &search) -{ - if (search.isEmpty()) - { - m_filterProxy->setFilterFixedString(QString()); - } - else - { - QStringList parts = search.split(' '); - std::transform(parts.begin(), parts.end(), parts.begin(), &QRegularExpression::escape); - m_filterProxy->setFilterRegExp(".*" + parts.join(".*") + ".*"); - } -} - -void PackagesPage::updateCurrentVersionList(const QModelIndex &index) -{ - if (index.isValid()) - { - VersionListPtr list = index.data(Index::ListPtrRole).value(); - ui->versionsBox->setEnabled(true); - ui->refreshFileBtn->setEnabled(true); - ui->fileUidLabel->setEnabled(true); - ui->fileUid->setText(list->uid()); - ui->fileNameLabel->setEnabled(true); - ui->fileName->setText(list->name()); - m_versionProxy->setSourceModel(list.get()); - ui->refreshFileBtn->setText(tr("Refresh %1").arg(list->humanReadable())); - list->load(Net::Mode::Offline); - } - else - { - ui->versionsBox->setEnabled(false); - ui->refreshFileBtn->setEnabled(false); - ui->fileUidLabel->setEnabled(false); - ui->fileUid->clear(); - ui->fileNameLabel->setEnabled(false); - ui->fileName->clear(); - m_versionProxy->setSourceModel(nullptr); - ui->refreshFileBtn->setText(tr("Refresh")); - } -} - -void PackagesPage::versionListDataChanged(const QModelIndex &tl, const QModelIndex &br) -{ - if (QItemSelection(tl, br).contains(ui->versionsView->currentIndex())) - { - updateVersion(); - } -} - -void PackagesPage::updateVersion() -{ - VersionPtr version = std::dynamic_pointer_cast( - ui->versionsView->currentIndex().data(VersionList::VersionPointerRole).value()); - if (version) - { - ui->refreshVersionBtn->setEnabled(true); - ui->versionVersionLabel->setEnabled(true); - ui->versionVersion->setText(version->version()); - ui->versionTimeLabel->setEnabled(true); - ui->versionTime->setText(version->time().toString("yyyy-MM-dd HH:mm")); - ui->versionTypeLabel->setEnabled(true); - ui->versionType->setText(version->type()); - ui->versionRequiresLabel->setEnabled(true); - ui->versionRequires->setText(formatRequires(version)); - ui->refreshVersionBtn->setText(tr("Refresh %1").arg(version->version())); - } - else - { - ui->refreshVersionBtn->setEnabled(false); - ui->versionVersionLabel->setEnabled(false); - ui->versionVersion->clear(); - ui->versionTimeLabel->setEnabled(false); - ui->versionTime->clear(); - ui->versionTypeLabel->setEnabled(false); - ui->versionType->clear(); - ui->versionRequiresLabel->setEnabled(false); - ui->versionRequires->clear(); - ui->refreshVersionBtn->setText(tr("Refresh")); - } -} - -void PackagesPage::openedImpl() -{ - ENV.metadataIndex()->load(Net::Mode::Offline); -} diff --git a/application/pages/global/PackagesPage.h b/application/pages/global/PackagesPage.h deleted file mode 100644 index 872961a5..00000000 --- a/application/pages/global/PackagesPage.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2015-2019 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. - */ - -#pragma once - -#include - -#include "pages/BasePage.h" - -namespace Ui { -class PackagesPage; -} - -class QSortFilterProxyModel; -class VersionProxyModel; - -class PackagesPage : public QWidget, public BasePage -{ - Q_OBJECT -public: - explicit PackagesPage(QWidget *parent = 0); - ~PackagesPage(); - - QString id() const override { return "packages-global"; } - QString displayName() const override { return tr("Packages"); } - QIcon icon() const override; - void openedImpl() override; - -private slots: - void on_refreshIndexBtn_clicked(); - void on_refreshFileBtn_clicked(); - void on_refreshVersionBtn_clicked(); - void on_fileSearchEdit_textChanged(const QString &search); - void on_versionSearchEdit_textChanged(const QString &search); - void updateCurrentVersionList(const QModelIndex &index); - void versionListDataChanged(const QModelIndex &tl, const QModelIndex &br); - -private: - Ui::PackagesPage *ui; - QSortFilterProxyModel *m_fileProxy; - QSortFilterProxyModel *m_filterProxy; - VersionProxyModel *m_versionProxy; - - void updateVersion(); -}; diff --git a/application/pages/global/PackagesPage.ui b/application/pages/global/PackagesPage.ui deleted file mode 100644 index 158bf1b4..00000000 --- a/application/pages/global/PackagesPage.ui +++ /dev/null @@ -1,252 +0,0 @@ - - - PackagesPage - - - - 0 - 0 - 636 - 621 - - - - Form - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - - - - Tab 1 - - - - - - Versions - - - - - - Search... - - - true - - - - - - - true - - - false - - - - - - - - - Refresh - - - - - - - - - - - Version: - - - - - - - - - - - - - - Time: - - - - - - - - - - - - - - Type: - - - - - - - - - - - - - - Dependencies: - - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - Resources - - - - - - Search... - - - true - - - - - - - true - - - false - - - - - - - - - Refresh - - - - - - - - - - - UID: - - - - - - - - - - - - - - Name: - - - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - Refresh Index - - - - - - - - - - - - diff --git a/application/setupwizard/AnalyticsWizardPage.cpp b/application/setupwizard/AnalyticsWizardPage.cpp deleted file mode 100644 index 6e063e99..00000000 --- a/application/setupwizard/AnalyticsWizardPage.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include "AnalyticsWizardPage.h" -#include - -#include -#include -#include - -#include - -AnalyticsWizardPage::AnalyticsWizardPage(QWidget *parent) - : BaseWizardPage(parent) -{ - setObjectName(QStringLiteral("analyticsPage")); - verticalLayout_3 = new QVBoxLayout(this); - verticalLayout_3->setObjectName(QStringLiteral("verticalLayout_3")); - textBrowser = new QTextBrowser(this); - textBrowser->setObjectName(QStringLiteral("textBrowser")); - textBrowser->setAcceptRichText(false); - textBrowser->setOpenExternalLinks(true); - verticalLayout_3->addWidget(textBrowser); - - checkBox = new QCheckBox(this); - checkBox->setObjectName(QStringLiteral("checkBox")); - checkBox->setChecked(true); - verticalLayout_3->addWidget(checkBox); - retranslate(); -} - -AnalyticsWizardPage::~AnalyticsWizardPage() -{ -} - -bool AnalyticsWizardPage::validatePage() -{ - auto settings = MMC->settings(); - auto status = checkBox->isChecked(); - settings->set("Analytics", status); - return true; -} - -void AnalyticsWizardPage::retranslate() -{ - setTitle(tr("Analytics")); - setSubTitle(tr("We track some anonymous statistics about users.")); - textBrowser->setHtml(tr( - "" - "

MultiMC sends anonymous usage statistics on every start of the application. This helps us decide what platforms and issues to focus on.

" - "

The data is processed by Google Analytics, see their article on the " - "matter.

" - "

The following data is collected:

" - "
  • A random unique ID of the MultiMC installation.
    It is stored in the application settings (multimc.cfg).
  • " - "
  • Anonymized (partial) IP address.
  • " - "
  • MultiMC version.
  • " - "
  • Operating system name, version and architecture.
  • " - "
  • CPU architecture (kernel architecture on linux).
  • " - "
  • Size of system memory.
  • " - "
  • Java version, architecture and memory settings.
" - "

If we change the tracked information, you will see this page again.

")); - checkBox->setText(tr("Enable Analytics")); -} diff --git a/application/setupwizard/AnalyticsWizardPage.h b/application/setupwizard/AnalyticsWizardPage.h deleted file mode 100644 index c451db2c..00000000 --- a/application/setupwizard/AnalyticsWizardPage.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "BaseWizardPage.h" - -class QVBoxLayout; -class QTextBrowser; -class QCheckBox; - -class AnalyticsWizardPage : public BaseWizardPage -{ - Q_OBJECT -public: - explicit AnalyticsWizardPage(QWidget *parent = Q_NULLPTR); - virtual ~AnalyticsWizardPage(); - - bool validatePage() override; - -protected: - void retranslate() override; - -private: - QVBoxLayout *verticalLayout_3 = nullptr; - QTextBrowser *textBrowser = nullptr; - QCheckBox *checkBox = nullptr; -}; \ No newline at end of file diff --git a/application/setupwizard/SetupWizard.cpp b/application/setupwizard/SetupWizard.cpp index 5c2d60ac..9d60892d 100644 --- a/application/setupwizard/SetupWizard.cpp +++ b/application/setupwizard/SetupWizard.cpp @@ -2,7 +2,6 @@ #include "LanguageWizardPage.h" #include "JavaWizardPage.h" -#include "AnalyticsWizardPage.h" #include "translations/TranslationsModel.h" #include -- cgit v1.2.3