mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-09-14 14:36:11 -04:00
Review feedback
Signed-off-by: Naomi <103967@gmail.com>
This commit is contained in:
parent
d6aaee6ea6
commit
62e4845dca
@ -277,11 +277,6 @@ bool ensureFolderPathExists(const QString folderPathName)
|
||||
return ensureFolderPathExists(QFileInfo(folderPathName));
|
||||
}
|
||||
|
||||
bool checkFolderPathExists(const QString& folderPathName)
|
||||
{
|
||||
return QDir(folderPathName).exists();
|
||||
}
|
||||
|
||||
bool checkFolderPathEmpty(const QString& folderPathName)
|
||||
{
|
||||
return QDir(folderPathName).isEmpty(QDir::Filters(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden | QDir::System));
|
||||
|
@ -99,13 +99,6 @@ bool ensureFolderPathExists(const QFileInfo folderPath);
|
||||
*/
|
||||
bool ensureFolderPathExists(const QString folderPathName);
|
||||
|
||||
/**
|
||||
* @brief Check if the given folder exists
|
||||
* @param folderPathName The path to a folder to check
|
||||
* @return True if the given folder exists
|
||||
*/
|
||||
bool checkFolderPathExists(const QString& folderPathName);
|
||||
|
||||
/**
|
||||
* @brief Check if the given folder is empty or doesn't exist
|
||||
* @param folderPathName The path to a folder to check
|
||||
|
@ -1317,7 +1317,7 @@ QList<Mod*> MinecraftInstance::getJarMods() const
|
||||
void MinecraftInstance::applySettings()
|
||||
{
|
||||
// Shared directories
|
||||
m_update_shared_directories_task = std::make_shared<UpdateSharedDirectoriesTask>(this, nullptr);
|
||||
m_update_shared_directories_task = std::make_shared<UpdateSharedDirectoriesTask>(this);
|
||||
m_update_shared_directories_task->start();
|
||||
}
|
||||
|
||||
|
@ -42,12 +42,15 @@ bool interactiveMove(const QString& source, const QString& destination, bool rec
|
||||
FileConflictDialog dialog(source, destination, true, parent);
|
||||
FileConflictDialog::Result result = dialog.execWithResult();
|
||||
|
||||
if (result == FileConflictDialog::Cancel)
|
||||
switch(result) {
|
||||
case FileConflictDialog::Cancel:
|
||||
return false;
|
||||
else if (result == FileConflictDialog::ChooseDestination)
|
||||
case FileConflictDialog::ChooseDestination:
|
||||
return FS::deletePath(source);
|
||||
else if (result == FileConflictDialog::ChooseSource)
|
||||
case FileConflictDialog::ChooseSource:
|
||||
FS::deletePath(destination);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FS::move(source, destination);
|
||||
@ -58,9 +61,8 @@ class TryCreateSymlinkTask : public Task {
|
||||
explicit TryCreateSymlinkTask(const QString& source,
|
||||
const QString& destination,
|
||||
MinecraftInstance* instance,
|
||||
const QString& setting,
|
||||
QWidget* parent)
|
||||
: m_source(source), m_destination(destination), m_inst(instance), m_setting(setting), m_parent(parent)
|
||||
const QString& setting)
|
||||
: m_source(source), m_destination(destination), m_inst(instance), m_setting(setting)
|
||||
{
|
||||
setObjectName("TryCreateSymlinkTask");
|
||||
}
|
||||
@ -98,9 +100,9 @@ class TryCreateSymlinkTask : public Task {
|
||||
}
|
||||
|
||||
FS::deletePath(m_destination);
|
||||
} else if (FS::checkFolderPathExists(m_destination)) {
|
||||
} else if (QFileInfo::exists(m_destination)) {
|
||||
if (!FS::checkFolderPathEmpty(m_destination)) {
|
||||
if (!interactiveMove(m_destination, m_source, true, m_parent)) {
|
||||
if (!interactiveMove(m_destination, m_source, true)) {
|
||||
fail(tr("Failed to create shared folder.\nEnsure that \"%1\" is empty.").arg(m_destination));
|
||||
return;
|
||||
}
|
||||
@ -140,36 +142,33 @@ class TryCreateSymlinkTask : public Task {
|
||||
QString m_destination;
|
||||
MinecraftInstance* m_inst;
|
||||
QString m_setting;
|
||||
QWidget* m_parent;
|
||||
};
|
||||
|
||||
UpdateSharedDirectoriesTask::UpdateSharedDirectoriesTask(MinecraftInstance* inst, QWidget* parent)
|
||||
: Task(parent), m_inst(inst), m_parent(parent)
|
||||
UpdateSharedDirectoriesTask::UpdateSharedDirectoriesTask(MinecraftInstance* inst)
|
||||
: Task(), m_inst(inst)
|
||||
{}
|
||||
|
||||
UpdateSharedDirectoriesTask::~UpdateSharedDirectoriesTask() {}
|
||||
|
||||
void UpdateSharedDirectoriesTask::executeTask()
|
||||
{
|
||||
auto tasks = makeShared<ConcurrentTask>("UpdateSharedDirectoriesTask");
|
||||
|
||||
auto screenshotsTask = makeShared<TryCreateSymlinkTask>(m_inst->settings()->get("SharedScreenshotsPath").toString(),
|
||||
m_inst->screenshotsDir(), m_inst, "UseSharedScreenshotsFolder", m_parent);
|
||||
m_inst->screenshotsDir(), m_inst, "UseSharedScreenshotsFolder");
|
||||
connect(screenshotsTask.get(), &Task::failed, this, &UpdateSharedDirectoriesTask::notifyFailed);
|
||||
tasks->addTask(screenshotsTask);
|
||||
|
||||
auto savesTask = makeShared<TryCreateSymlinkTask>(m_inst->settings()->get("SharedSavesPath").toString(), m_inst->worldDir(), m_inst,
|
||||
"UseSharedSavesFolder", m_parent);
|
||||
"UseSharedSavesFolder");
|
||||
connect(savesTask.get(), &Task::failed, this, &UpdateSharedDirectoriesTask::notifyFailed);
|
||||
tasks->addTask(savesTask);
|
||||
|
||||
auto resoucePacksTask = makeShared<TryCreateSymlinkTask>(m_inst->settings()->get("SharedResourcePacksPath").toString(),
|
||||
m_inst->resourcePacksDir(), m_inst, "UseSharedResourcePacksFolder", m_parent);
|
||||
m_inst->resourcePacksDir(), m_inst, "UseSharedResourcePacksFolder");
|
||||
connect(resoucePacksTask.get(), &Task::failed, this, &UpdateSharedDirectoriesTask::notifyFailed);
|
||||
tasks->addTask(resoucePacksTask);
|
||||
|
||||
auto texturePacksTask = makeShared<TryCreateSymlinkTask>(m_inst->settings()->get("SharedResourcePacksPath").toString(),
|
||||
m_inst->texturePacksDir(), m_inst, "UseSharedResourcePacksFolder", m_parent);
|
||||
m_inst->texturePacksDir(), m_inst, "UseSharedResourcePacksFolder");
|
||||
connect(texturePacksTask.get(), &Task::failed, this, &UpdateSharedDirectoriesTask::notifyFailed);
|
||||
tasks->addTask(texturePacksTask);
|
||||
|
||||
@ -182,6 +181,6 @@ void UpdateSharedDirectoriesTask::executeTask()
|
||||
|
||||
void UpdateSharedDirectoriesTask::notifyFailed(QString reason)
|
||||
{
|
||||
CustomMessageBox::selectable(m_parent, tr("Failed"), reason, QMessageBox::Warning, QMessageBox::Ok)->exec();
|
||||
CustomMessageBox::selectable(nullptr, tr("Failed"), reason, QMessageBox::Warning, QMessageBox::Ok)->exec();
|
||||
emit failed(reason);
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ class MinecraftInstance;
|
||||
|
||||
class UpdateSharedDirectoriesTask : public Task {
|
||||
public:
|
||||
explicit UpdateSharedDirectoriesTask(MinecraftInstance* inst, QWidget* parent = 0);
|
||||
virtual ~UpdateSharedDirectoriesTask();
|
||||
explicit UpdateSharedDirectoriesTask(MinecraftInstance* inst);
|
||||
virtual ~UpdateSharedDirectoriesTask = default;
|
||||
|
||||
protected:
|
||||
virtual void executeTask() override;
|
||||
@ -17,6 +17,5 @@ class UpdateSharedDirectoriesTask : public Task {
|
||||
|
||||
private:
|
||||
MinecraftInstance* m_inst;
|
||||
QWidget* m_parent;
|
||||
Task::Ptr m_tasks;
|
||||
};
|
||||
|
@ -26,14 +26,14 @@
|
||||
<string>Would you like to overwrite the destination?</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum>
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="sourceLayout" stretch="0,1">
|
||||
@ -49,7 +49,7 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Source</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignHCenter|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -65,7 +65,7 @@
|
||||
<string><html><head/><body><p><b>Name:</b></p><p>Size:</p><p>Date:</p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -79,7 +79,7 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Destination</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignHCenter|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -89,7 +89,7 @@
|
||||
<string><html><head/><body><p>Name:</p><p>Size:</p><p>Date:</p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -100,10 +100,10 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel</set>
|
||||
<set>QDialogButtonBox::Cancel</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -60,7 +60,7 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::DragDropMode::DropOnly</enum>
|
||||
<enum>QAbstractItemView::DropOnly</enum>
|
||||
</property>
|
||||
<property name="uniformRowHeights">
|
||||
<bool>true</bool>
|
||||
@ -235,11 +235,6 @@
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>WideBar</class>
|
||||
<extends>QToolBar</extends>
|
||||
<header>ui/widgets/WideBar.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ModListView</class>
|
||||
<extends>QTreeView</extends>
|
||||
@ -251,6 +246,11 @@
|
||||
<header>ui/widgets/InfoFrame.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>WideBar</class>
|
||||
<extends>QToolBar</extends>
|
||||
<header>ui/widgets/WideBar.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>treeView</tabstop>
|
||||
|
@ -40,10 +40,10 @@
|
||||
<item>
|
||||
<widget class="QListView" name="listView">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SelectionMode::ExtendedSelection</enum>
|
||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -54,7 +54,7 @@
|
||||
<string>Actions</string>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextOnly</enum>
|
||||
<enum>Qt::ToolButtonTextOnly</enum>
|
||||
</property>
|
||||
<attribute name="toolBarArea">
|
||||
<enum>RightToolBarArea</enum>
|
||||
|
@ -43,7 +43,7 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="dragDropMode">
|
||||
<enum>QAbstractItemView::DragDropMode::DragDrop</enum>
|
||||
<enum>QAbstractItemView::DragDrop</enum>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
@ -72,10 +72,10 @@
|
||||
<string>Actions</string>
|
||||
</property>
|
||||
<property name="allowedAreas">
|
||||
<set>Qt::ToolBarArea::LeftToolBarArea|Qt::ToolBarArea::RightToolBarArea</set>
|
||||
<set>Qt::LeftToolBarArea|Qt::RightToolBarArea</set>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextOnly</enum>
|
||||
<enum>Qt::ToolButtonTextOnly</enum>
|
||||
</property>
|
||||
<property name="floatable">
|
||||
<bool>false</bool>
|
||||
|
@ -824,7 +824,7 @@ It is most likely you will need to change the path - please refer to the mod's w
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="sharedFoldersSettingsVerticalLayout">
|
||||
<item>
|
||||
@ -861,7 +861,7 @@ It is most likely you will need to change the path - please refer to the mod's w
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
|
Loading…
x
Reference in New Issue
Block a user