1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-15 01:24:45 +02:00

Merge pull request #4099 from IvanSavenko/launcher_help_tab_fixes

Fixes to help tab in Launcher
This commit is contained in:
Ivan Savenko
2024-06-09 16:46:31 +03:00
committed by GitHub
3 changed files with 142 additions and 85 deletions

View File

@ -16,6 +16,20 @@
#include "../../lib/GameConstants.h"
#include "../../lib/VCMIDirs.h"
void AboutProjectView::hideAndStretchWidget(QGridLayout * layout, QWidget * toHide, QWidget * toStretch)
{
toHide->hide();
int index = layout->indexOf(toStretch);
int row;
int col;
int unused;
layout->getItemPosition(index, &row, &col, &unused, &unused);
layout->removeWidget(toHide);
layout->removeWidget(toStretch);
layout->addWidget(toStretch, row, col, 1, -1);
}
AboutProjectView::AboutProjectView(QWidget * parent)
: QWidget(parent)
, ui(new Ui::AboutProjectView)
@ -25,8 +39,18 @@ AboutProjectView::AboutProjectView(QWidget * parent)
ui->lineEditUserDataDir->setText(pathToQString(VCMIDirs::get().userDataPath()));
ui->lineEditGameDir->setText(pathToQString(VCMIDirs::get().binaryPath()));
ui->lineEditTempDir->setText(pathToQString(VCMIDirs::get().userLogsPath()));
ui->lineEditConfigDir->setText(pathToQString(VCMIDirs::get().userConfigPath()));
ui->lineEditBuildVersion->setText(QString::fromStdString(GameConstants::VCMI_VERSION));
ui->lineEditOperatingSystem->setText(QSysInfo::prettyProductName());
#ifdef VCMI_MOBILE
// On mobile platforms these directories are generally not accessible from phone itself, only via USB connection from PC
// Remove "Open" buttons and stretch line with text into now-empty space
hideAndStretchWidget(ui->gridLayout, ui->openGameDataDir, ui->lineEditGameDir);
hideAndStretchWidget(ui->gridLayout, ui->openUserDataDir, ui->lineEditUserDataDir);
hideAndStretchWidget(ui->gridLayout, ui->openTempDir, ui->lineEditTempDir);
hideAndStretchWidget(ui->gridLayout, ui->openConfigDir, ui->lineEditConfigDir);
#endif
}
void AboutProjectView::changeEvent(QEvent *event)
@ -57,6 +81,11 @@ void AboutProjectView::on_openTempDir_clicked()
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditTempDir->text()).absoluteFilePath()));
}
void AboutProjectView::on_openConfigDir_clicked()
{
QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditConfigDir->text()).absoluteFilePath()));
}
void AboutProjectView::on_pushButtonDiscord_clicked()
{
QDesktopServices::openUrl(QUrl("https://discord.gg/chBT42V"));
@ -82,4 +111,3 @@ void AboutProjectView::on_pushButtonBugreport_clicked()
{
QDesktopServices::openUrl(QUrl("https://github.com/vcmi/vcmi/issues"));
}

View File

@ -22,6 +22,9 @@ class AboutProjectView : public QWidget
Q_OBJECT
void changeEvent(QEvent *event) override;
/// Hides a widget and expands second widgets to take place of first widget in layout
void hideAndStretchWidget(QGridLayout * layout, QWidget * toHide, QWidget * toStretch);
public:
explicit AboutProjectView(QWidget * parent = nullptr);
@ -48,6 +51,8 @@ private slots:
void on_pushButtonBugreport_clicked();
void on_openConfigDir_clicked();
private:
Ui::AboutProjectView * ui;

View File

@ -38,7 +38,7 @@
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelDataDirs_2">
<widget class="QLabel" name="labelCommunity">
<property name="minimumSize">
<size>
<width>200</width>
@ -47,7 +47,6 @@
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
@ -80,27 +79,8 @@
</item>
<item>
<layout class="QGridLayout" name="gridLayout" columnstretch="2,4,1">
<item row="0" column="0">
<widget class="QLabel" name="labelDataDirs_3">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Build Information</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEditBuildVersion">
<item row="2" column="1">
<widget class="QLineEdit" name="lineEditOperatingSystem">
<property name="text">
<string notr="true"/>
</property>
@ -109,10 +89,10 @@
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelUserDataDir">
<item row="4" column="2">
<widget class="QPushButton" name="openGameDataDir">
<property name="text">
<string>User data directory</string>
<string>Open</string>
</property>
</widget>
</item>
@ -123,37 +103,15 @@
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="updatesButton">
<property name="text">
<string>Check for updates</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>true</bool>
<item row="3" column="0">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<bold>true</bold>
</font>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelBuildVersionDesc">
<property name="text">
<string>Game version</string>
<string>Data Directories</string>
</property>
</widget>
</item>
@ -164,33 +122,10 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelDataDirs">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<item row="1" column="2">
<widget class="QPushButton" name="updatesButton">
<property name="text">
<string>Data Directories</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string notr="true">/usr/share/vcmi</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="openGameDataDir">
<property name="text">
<string>Open</string>
<string>Check for updates</string>
</property>
</widget>
</item>
@ -207,6 +142,33 @@
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="lineEditGameDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string notr="true">/usr/share/vcmi</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEditBuildVersion">
<property name="text">
<string notr="true"/>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QPushButton" name="openTempDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelGameDir">
<property name="text">
@ -221,16 +183,78 @@
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEditOperatingSystem">
<item row="5" column="0">
<widget class="QLabel" name="labelUserDataDir">
<property name="text">
<string notr="true"/>
<string>User data directory</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelBuildVersionDesc">
<property name="text">
<string>Game version</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="lineEditUserDataDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelBuildInformation">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Build Information</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="labelConfigDir">
<property name="text">
<string>Configuration files directory</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="lineEditConfigDir">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string notr="true">/home/user/.vcmi</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QPushButton" name="openConfigDir">
<property name="text">
<string>Open</string>
</property>
</widget>
</item>
</layout>
</item>
<item>