diff options
| author | bunnei <bunneidev@gmail.com> | 2017-08-22 23:36:57 -0400 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2017-08-25 23:10:01 -0400 | 
| commit | fb17e866aa58db05d4d16ba861b1150e6187592e (patch) | |
| tree | 2a41d90d64913b304df6a9b4821e6ef3878efb7d | |
| parent | 41328afb5852230e1f7c486c4ca20fbc9354a7f8 (diff) | |
qt: Add web configuration tab.
| -rw-r--r-- | src/citra_qt/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | src/citra_qt/configuration/configure.ui | 15 | ||||
| -rw-r--r-- | src/citra_qt/configuration/configure_dialog.cpp | 1 | ||||
| -rw-r--r-- | src/citra_qt/configuration/configure_web.cpp | 44 | ||||
| -rw-r--r-- | src/citra_qt/configuration/configure_web.h | 30 | ||||
| -rw-r--r-- | src/citra_qt/configuration/configure_web.ui | 126 | 
6 files changed, 217 insertions, 2 deletions
diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt index f364b2284..e0a19fd9e 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -12,6 +12,7 @@ set(SRCS              configuration/configure_graphics.cpp              configuration/configure_input.cpp              configuration/configure_system.cpp +            configuration/configure_web.cpp              debugger/graphics/graphics.cpp              debugger/graphics/graphics_breakpoint_observer.cpp              debugger/graphics/graphics_breakpoints.cpp @@ -42,6 +43,7 @@ set(HEADERS              configuration/configure_graphics.h              configuration/configure_input.h              configuration/configure_system.h +            configuration/configure_web.h              debugger/graphics/graphics.h              debugger/graphics/graphics_breakpoint_observer.h              debugger/graphics/graphics_breakpoints.h @@ -71,6 +73,7 @@ set(UIS              configuration/configure_graphics.ui              configuration/configure_input.ui              configuration/configure_system.ui +            configuration/configure_web.ui              debugger/registers.ui              hotkeys.ui              main.ui diff --git a/src/citra_qt/configuration/configure.ui b/src/citra_qt/configuration/configure.ui index 85e206e42..6abd1917e 100644 --- a/src/citra_qt/configuration/configure.ui +++ b/src/citra_qt/configuration/configure.ui @@ -6,8 +6,8 @@     <rect>      <x>0</x>      <y>0</y> -    <width>441</width> -    <height>501</height> +    <width>740</width> +    <height>500</height>     </rect>    </property>    <property name="windowTitle"> @@ -49,6 +49,11 @@         <string>Debug</string>        </attribute>       </widget> +     <widget class="ConfigureWeb" name="webTab"> +      <attribute name="title"> +       <string>Web</string> +      </attribute> +     </widget>      </widget>     </item>     <item> @@ -97,6 +102,12 @@     <header>configuration/configure_graphics.h</header>     <container>1</container>    </customwidget> +  <customwidget> +   <class>ConfigureWeb</class> +   <extends>QWidget</extends> +   <header>configuration/configure_web.h</header> +   <container>1</container> +  </customwidget>   </customwidgets>   <resources/>   <connections> diff --git a/src/citra_qt/configuration/configure_dialog.cpp b/src/citra_qt/configuration/configure_dialog.cpp index dfc8c03a7..b87dc0e6c 100644 --- a/src/citra_qt/configuration/configure_dialog.cpp +++ b/src/citra_qt/configuration/configure_dialog.cpp @@ -23,5 +23,6 @@ void ConfigureDialog::applyConfiguration() {      ui->graphicsTab->applyConfiguration();      ui->audioTab->applyConfiguration();      ui->debugTab->applyConfiguration(); +    ui->webTab->applyConfiguration();      Settings::Apply();  } diff --git a/src/citra_qt/configuration/configure_web.cpp b/src/citra_qt/configuration/configure_web.cpp new file mode 100644 index 000000000..fff466aaa --- /dev/null +++ b/src/citra_qt/configuration/configure_web.cpp @@ -0,0 +1,44 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "citra_qt/configuration/configure_web.h" +#include "core/settings.h" +#include "ui_configure_web.h" + +ConfigureWeb::ConfigureWeb(QWidget* parent) +    : QWidget(parent), ui(std::make_unique<Ui::ConfigureWeb>()) { +    ui->setupUi(this); +    this->setConfiguration(); +} + +ConfigureWeb::~ConfigureWeb() {} + +void ConfigureWeb::setConfiguration() { +    ui->web_credentials_disclaimer->setWordWrap(true); +    ui->telemetry_learn_more->setOpenExternalLinks(true); +    ui->telemetry_learn_more->setText("<a " +                                      "href='https://citra-emu.org/entry/" +                                      "telemetry-and-why-thats-a-good-thing/'>Learn more</a>"); + +    ui->web_signup_link->setOpenExternalLinks(true); +    ui->web_signup_link->setText("<a href='https://services.citra-emu.org/'>Sign up</a>"); +    ui->web_token_info_link->setOpenExternalLinks(true); +    ui->web_token_info_link->setText( +        "<a href='https://citra-emu.org/wiki/citra-web-service/'>What is my token?</a>"); + +    ui->toggle_telemetry->setChecked(Settings::values.enable_telemetry); +    ui->edit_username->setText(QString::fromStdString(Settings::values.citra_username)); +    ui->edit_token->setText(QString::fromStdString(Settings::values.citra_token)); + +    updateWeb(); +} + +void ConfigureWeb::applyConfiguration() { +    Settings::values.enable_telemetry = ui->toggle_telemetry->isChecked(); +    Settings::values.citra_username = ui->edit_username->text().toStdString(); +    Settings::values.citra_token = ui->edit_token->text().toStdString(); +    Settings::Apply(); +} + +void ConfigureWeb::updateWeb() {} diff --git a/src/citra_qt/configuration/configure_web.h b/src/citra_qt/configuration/configure_web.h new file mode 100644 index 000000000..2c37b8f90 --- /dev/null +++ b/src/citra_qt/configuration/configure_web.h @@ -0,0 +1,30 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include <QWidget> + +namespace Ui { +class ConfigureWeb; +} + +class ConfigureWeb : public QWidget { +    Q_OBJECT + +public: +    explicit ConfigureWeb(QWidget* parent = nullptr); +    ~ConfigureWeb(); + +    void applyConfiguration(); + +public slots: +    void updateWeb(); + +private: +    void setConfiguration(); + +    std::unique_ptr<Ui::ConfigureWeb> ui; +}; diff --git a/src/citra_qt/configuration/configure_web.ui b/src/citra_qt/configuration/configure_web.ui new file mode 100644 index 000000000..3bb8276fa --- /dev/null +++ b/src/citra_qt/configuration/configure_web.ui @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ConfigureWeb</class> + <widget class="QWidget" name="ConfigureWeb"> +  <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="QVBoxLayout" name="verticalLayout"> +   <item> +    <layout class="QVBoxLayout" name="verticalLayout_3"> +     <item> +      <widget class="QGroupBox" name="groupBox"> +       <property name="title"> +        <string>Citra Web Service</string> +       </property> +       <layout class="QVBoxLayout" name="verticalLayout_2"> +        <item> +         <widget class="QLabel" name="web_credentials_disclaimer"> +          <property name="text"> +           <string>By providing your username and token, you agree to allow Citra to collect additional usage data, which may include user identifying information.</string> +          </property> +         </widget> +        </item> +        <item> +         <layout class="QGridLayout" name="gridLayout"> +          <item row="0" column="0"> +           <widget class="QLabel" name="label_username"> +            <property name="text"> +             <string>Username: </string> +            </property> +           </widget> +          </item> +          <item row="0" column="1"> +           <widget class="QLineEdit" name="edit_username"> +            <property name="maxLength"> +             <number>36</number> +            </property> +           </widget> +          </item> +          <item row="1" column="0"> +           <widget class="QLabel" name="label_token"> +            <property name="text"> +             <string>Token: </string> +            </property> +           </widget> +          </item> +          <item row="1" column="1"> +           <widget class="QLineEdit" name="edit_token"> +            <property name="maxLength"> +             <number>36</number> +            </property> +            <property name="echoMode"> +             <enum>QLineEdit::Password</enum> +            </property> +           </widget> +          </item> +          <item row="2" column="0"> +           <widget class="QLabel" name="web_signup_link"> +            <property name="text"> +             <string>Sign up</string> +            </property> +           </widget> +          </item> +          <item row="2" column="1"> +           <widget class="QLabel" name="web_token_info_link"> +            <property name="text"> +             <string>What is my token?</string> +            </property> +           </widget> +          </item> +         </layout> +        </item> +       </layout> +      </widget> +     </item> +     <item> +      <widget class="QGroupBox" name="groupBox"> +       <property name="title"> +        <string>Telemetry</string> +       </property> +       <layout class="QVBoxLayout" name="verticalLayout_2"> +        <item> +         <widget class="QCheckBox" name="toggle_telemetry"> +          <property name="text"> +           <string>Share anonymous usage data with the Citra team</string> +          </property> +         </widget> +        </item> +        <item> +         <widget class="QLabel" name="telemetry_learn_more"> +          <property name="text"> +           <string>Learn more</string> +          </property> +         </widget> +        </item> +       </layout> +      </widget> +     </item> +    </layout> +   </item> +   <item> +    <spacer name="verticalSpacer"> +     <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> + <resources/> + <connections/> +</ui>  | 
