Browse Source

Fixes & improvements to help tab:

- Added "Configuration files directory" since it is located in different
path at least on Linux and may be of interest to a player
- Removed non-functioning "Open directory" buttons on mobile systems and
stretched text box into now-empty space
Ivan Savenko 1 year ago
parent
commit
3e05685de2

+ 29 - 1
launcher/aboutProject/aboutproject_moc.cpp

@@ -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"));
 }
-

+ 5 - 0
launcher/aboutProject/aboutproject_moc.h

@@ -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;
 

+ 88 - 64
launcher/aboutProject/aboutproject_moc.ui

@@ -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,10 +103,22 @@
        </property>
       </widget>
      </item>
-     <item row="6" column="2">
-      <widget class="QPushButton" name="openTempDir">
+     <item row="3" column="0">
+      <widget class="QLabel" name="labelDataDirs">
+       <property name="font">
+        <font>
+         <bold>true</bold>
+        </font>
+       </property>
        <property name="text">
-        <string>Open</string>
+        <string>Data Directories</string>
+       </property>
+      </widget>
+     </item>
+     <item row="6" column="0">
+      <widget class="QLabel" name="labelTempDir">
+       <property name="text">
+        <string>Log files directory</string>
        </property>
       </widget>
      </item>
@@ -137,8 +129,8 @@
        </property>
       </widget>
      </item>
-     <item row="5" column="1">
-      <widget class="QLineEdit" name="lineEditUserDataDir">
+     <item row="6" column="1">
+      <widget class="QLineEdit" name="lineEditTempDir">
        <property name="enabled">
         <bool>true</bool>
        </property>
@@ -150,52 +142,63 @@
        </property>
       </widget>
      </item>
-     <item row="1" column="0">
-      <widget class="QLabel" name="labelBuildVersionDesc">
+     <item row="4" column="1">
+      <widget class="QLineEdit" name="lineEditGameDir">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
        <property name="text">
-        <string>Game version</string>
+        <string notr="true">/usr/share/vcmi</string>
        </property>
       </widget>
      </item>
-     <item row="6" column="0">
-      <widget class="QLabel" name="labelTempDir">
+     <item row="1" column="1">
+      <widget class="QLineEdit" name="lineEditBuildVersion">
        <property name="text">
-        <string>Log files directory</string>
+        <string notr="true"/>
+       </property>
+       <property name="readOnly">
+        <bool>true</bool>
        </property>
       </widget>
      </item>
-     <item row="3" column="0">
-      <widget class="QLabel" name="labelDataDirs">
-       <property name="font">
-        <font>
-         <weight>75</weight>
-         <bold>true</bold>
-        </font>
+     <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">
-        <string>Data Directories</string>
+        <string>Game data directory</string>
        </property>
       </widget>
      </item>
-     <item row="4" column="1">
-      <widget class="QLineEdit" name="lineEditGameDir">
-       <property name="enabled">
-        <bool>true</bool>
+     <item row="2" column="0">
+      <widget class="QLabel" name="labelOperatingSystem">
+       <property name="text">
+        <string>Operating System</string>
        </property>
+      </widget>
+     </item>
+     <item row="5" column="0">
+      <widget class="QLabel" name="labelUserDataDir">
        <property name="text">
-        <string notr="true">/usr/share/vcmi</string>
+        <string>User data directory</string>
        </property>
       </widget>
      </item>
-     <item row="4" column="2">
-      <widget class="QPushButton" name="openGameDataDir">
+     <item row="1" column="0">
+      <widget class="QLabel" name="labelBuildVersionDesc">
        <property name="text">
-        <string>Open</string>
+        <string>Game version</string>
        </property>
       </widget>
      </item>
-     <item row="6" column="1">
-      <widget class="QLineEdit" name="lineEditTempDir">
+     <item row="5" column="1">
+      <widget class="QLineEdit" name="lineEditUserDataDir">
        <property name="enabled">
         <bool>true</bool>
        </property>
@@ -207,30 +210,51 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="0">
-      <widget class="QLabel" name="labelGameDir">
+     <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>Game data directory</string>
+        <string>Build Information</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="0">
-      <widget class="QLabel" name="labelOperatingSystem">
+     <item row="7" column="0">
+      <widget class="QLabel" name="labelConfigDir">
        <property name="text">
-        <string>Operating System</string>
+        <string>Configuration files directory</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1">
-      <widget class="QLineEdit" name="lineEditOperatingSystem">
+     <item row="7" column="1">
+      <widget class="QLineEdit" name="lineEditConfigDir">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
        <property name="text">
-        <string notr="true"/>
+        <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>