[Frontend] add X links to About and Help #272

Merged
crueter merged 2 commits from twitter-links into master 2025-08-16 17:32:19 +02:00
9 changed files with 53 additions and 0 deletions

View file

@ -51,6 +51,7 @@ Check out our [website](https://eden-emu.dev) for the latest news on exciting fe
## Development ## Development
Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/kXAmGCXBGD) or [Revolt](https://rvlt.gg/qKgFEAbH). Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/kXAmGCXBGD) or [Revolt](https://rvlt.gg/qKgFEAbH).
You can also follow us on [X (Twitter)](https://x.com/edenemuofficial) for updates and announcements.
If you would like to contribute, we are open to new developers and pull requests. Please ensure that your work is of a high standard and properly documented. You can also contact any of the developers on Discord or Revolt to learn more about the current state of the emulator. If you would like to contribute, we are open to new developers and pull requests. Please ensure that your work is of a high standard and properly documented. You can also contact any of the developers on Discord or Revolt to learn more about the current state of the emulator.

View file

@ -96,6 +96,7 @@ class AboutFragment : Fragment() {
binding.buttonDiscord.setOnClickListener { openLink(getString(R.string.discord_link)) } binding.buttonDiscord.setOnClickListener { openLink(getString(R.string.discord_link)) }
binding.buttonRevolt.setOnClickListener { openLink(getString(R.string.revolt_link)) } binding.buttonRevolt.setOnClickListener { openLink(getString(R.string.revolt_link)) }
binding.buttonX.setOnClickListener { openLink(getString(R.string.x_link)) }
binding.buttonWebsite.setOnClickListener { openLink(getString(R.string.website_link)) } binding.buttonWebsite.setOnClickListener { openLink(getString(R.string.website_link)) }
binding.buttonGithub.setOnClickListener { openLink(getString(R.string.github_link)) } binding.buttonGithub.setOnClickListener { openLink(getString(R.string.github_link)) }

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="120"
android:viewportHeight="120">
<path
android:fillColor="#000000"
android:pathData="M95.26,0H113L72.12,51.27L120,120H82.83L53.89,78.31L20.57,120H2.7L45.74,65.01L0,0H38.18L65.22,38.9Z" />
</vector>

View file

@ -230,6 +230,17 @@
app:iconSize="24dp" app:iconSize="24dp"
app:iconPadding="0dp" /> app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/button_x"
style="@style/EdenButton.Secondary"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginEnd="12dp"
app:icon="@drawable/ic_x"
app:iconGravity="textStart"
app:iconSize="24dp"
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/button_website" android:id="@+id/button_website"
style="@style/EdenButton.Secondary" style="@style/EdenButton.Secondary"

View file

@ -225,6 +225,18 @@
app:iconGravity="textStart" app:iconGravity="textStart"
app:iconPadding="0dp" /> app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton
style="@style/EdenButton.Secondary"
android:id="@+id/button_x"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:layout_marginEnd="8dp"
app:icon="@drawable/ic_x"
app:iconSize="24dp"
app:iconGravity="textStart"
app:iconPadding="0dp" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
style="@style/EdenButton.Secondary" style="@style/EdenButton.Secondary"
android:id="@+id/button_website" android:id="@+id/button_website"

View file

@ -444,6 +444,7 @@
<string name="user_data_import_failed_description">Make sure the user data folders are at the root of the zip folder and contain a config file at config/config.ini and try again.</string> <string name="user_data_import_failed_description">Make sure the user data folders are at the root of the zip folder and contain a config file at config/config.ini and try again.</string>
<string name="discord_link" translatable="false">https://discord.gg/kXAmGCXBGD</string> <string name="discord_link" translatable="false">https://discord.gg/kXAmGCXBGD</string>
<string name="revolt_link" translatable="false">https://rvlt.gg/qKgFEAbH</string> <string name="revolt_link" translatable="false">https://rvlt.gg/qKgFEAbH</string>
<string name="x_link" translatable="false">https://x.com/edenemuofficial</string>
<string name="website_link" translatable="false">https://eden-emu.dev</string> <string name="website_link" translatable="false">https://eden-emu.dev</string>
<string name="github_link" translatable="false">https://git.eden-emu.dev/eden-emu</string> <string name="github_link" translatable="false">https://git.eden-emu.dev/eden-emu</string>

View file

@ -1764,6 +1764,7 @@ void GMainWindow::ConnectMenuEvents() {
connect_menu(ui->action_Discord, &GMainWindow::OnOpenDiscord); connect_menu(ui->action_Discord, &GMainWindow::OnOpenDiscord);
connect_menu(ui->action_Revolt, &GMainWindow::OnOpenRevolt); connect_menu(ui->action_Revolt, &GMainWindow::OnOpenRevolt);
connect_menu(ui->action_X, &GMainWindow::OnOpenX);
connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents); connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents);
connect_menu(ui->action_Firmware_From_Folder, &GMainWindow::OnInstallFirmware); connect_menu(ui->action_Firmware_From_Folder, &GMainWindow::OnInstallFirmware);
connect_menu(ui->action_Firmware_From_ZIP, &GMainWindow::OnInstallFirmwareFromZIP); connect_menu(ui->action_Firmware_From_ZIP, &GMainWindow::OnInstallFirmwareFromZIP);
@ -3750,6 +3751,10 @@ void GMainWindow::OnOpenRevolt() {
OpenURL(QUrl(QStringLiteral("https://rvlt.gg/qKgFEAbH"))); OpenURL(QUrl(QStringLiteral("https://rvlt.gg/qKgFEAbH")));
} }
void GMainWindow::OnOpenX() {
OpenURL(QUrl(QStringLiteral("https://x.com/edenemuofficial")));
}
void GMainWindow::ToggleFullscreen() { void GMainWindow::ToggleFullscreen() {
if (!emulation_running) { if (!emulation_running) {
return; return;

View file

@ -347,6 +347,7 @@ private slots:
void OnOpenFAQ(); void OnOpenFAQ();
void OnOpenDiscord(); void OnOpenDiscord();
void OnOpenRevolt(); void OnOpenRevolt();
void OnOpenX();
/// Called whenever a user selects a game in the game list widget. /// Called whenever a user selects a game in the game list widget.
void OnGameListLoadFile(QString game_path, u64 program_id); void OnGameListLoadFile(QString game_path, u64 program_id);

View file

@ -215,6 +215,7 @@
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Discord"/> <addaction name="action_Discord"/>
<addaction name="action_Revolt"/> <addaction name="action_Revolt"/>
<addaction name="action_X"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_About"/> <addaction name="action_About"/>
<addaction name="action_Eden_Dependencies"/> <addaction name="action_Eden_Dependencies"/>
@ -562,6 +563,17 @@
<string>From ZIP</string> <string>From ZIP</string>
</property> </property>
</action> </action>
<action name="action_X">
<property name="text">
<string>&amp;X</string>
</property>
<property name="toolTip">
<string>X (Twitter)</string>
</property>
<property name="statusTip">
<string/>
</property>
</action>
<action name="action_Revolt"> <action name="action_Revolt">
<property name="text"> <property name="text">
<string>&amp;Revolt</string> <string>&amp;Revolt</string>