diff --git a/launcher/ui/pages/instance/OtherLogsPage.cpp b/launcher/ui/pages/instance/OtherLogsPage.cpp
index 6fa7cb4c1..40a5d9d94 100644
--- a/launcher/ui/pages/instance/OtherLogsPage.cpp
+++ b/launcher/ui/pages/instance/OtherLogsPage.cpp
@@ -203,6 +203,8 @@ void OtherLogsPage::on_btnReload_clicked()
// Try to determine a level for each line
if (content.back() == '\n')
content = content.removeLast();
+ ui->text->clear();
+ m_model->clear();
for (auto& line : content.split('\n')) {
MessageLevel::Enum level = MessageLevel::Unknown;
@@ -232,6 +234,11 @@ void OtherLogsPage::on_btnCopy_clicked()
GuiUtil::setClipboardText(ui->text->toPlainText());
}
+void OtherLogsPage::on_btnBottom_clicked()
+{
+ ui->text->scrollToBottom();
+}
+
void OtherLogsPage::on_btnDelete_clicked()
{
if (m_currentFile.isEmpty()) {
@@ -308,6 +315,24 @@ void OtherLogsPage::on_btnClean_clicked()
}
}
+void OtherLogsPage::on_wrapCheckbox_clicked(bool checked)
+{
+ ui->text->setWordWrap(checked);
+ if (!m_model)
+ return;
+ m_model->setLineWrap(checked);
+ ui->text->scrollToBottom();
+}
+
+void OtherLogsPage::on_colorCheckbox_clicked(bool checked)
+{
+ ui->text->setColorLines(checked);
+ if (!m_model)
+ return;
+ m_model->setColorLines(checked);
+ ui->text->scrollToBottom();
+}
+
void OtherLogsPage::setControlsEnabled(const bool enabled)
{
ui->btnReload->setEnabled(enabled);
diff --git a/launcher/ui/pages/instance/OtherLogsPage.h b/launcher/ui/pages/instance/OtherLogsPage.h
index d65ed6456..9394ab9b8 100644
--- a/launcher/ui/pages/instance/OtherLogsPage.h
+++ b/launcher/ui/pages/instance/OtherLogsPage.h
@@ -72,6 +72,10 @@ class OtherLogsPage : public QWidget, public BasePage {
void on_btnCopy_clicked();
void on_btnDelete_clicked();
void on_btnClean_clicked();
+ void on_btnBottom_clicked();
+
+ void on_wrapCheckbox_clicked(bool checked);
+ void on_colorCheckbox_clicked(bool checked);
void on_findButton_clicked();
void findActivated();
diff --git a/launcher/ui/pages/instance/OtherLogsPage.ui b/launcher/ui/pages/instance/OtherLogsPage.ui
index de3091917..ca700e103 100644
--- a/launcher/ui/pages/instance/OtherLogsPage.ui
+++ b/launcher/ui/pages/instance/OtherLogsPage.ui
@@ -33,17 +33,41 @@
Tab 1
+ -
+
+
+ Search:
+
+
+
-
-
- Find
+ &Find
- -
+
-
+
+
+ Qt::Vertical
+
+
+
+ -
+
+
+ Scroll all the way to bottom
+
+
+ &Bottom
+
+
+
+ -
false
@@ -65,54 +89,98 @@
- -
+
-
-
-
-
-
- Copy the whole log into the clipboard
-
-
- &Copy
-
-
+
-
+
+
-
+
+
+ Delete the selected log
+
+
+ &Delete This
+
+
+
+ -
+
+
+ Delete all the logs
+
+
+ Delete &All
+
+
+
+
- -
-
-
- Clear the log
-
-
- Delete
-
-
-
- -
-
-
- Upload the log to the paste service configured in preferences.
-
-
- Upload
-
-
-
- -
-
-
- Clear the log
-
-
- Clean
-
-
-
- -
-
-
- Reload
-
-
+
-
+
+
-
+
+
+ Wrap lines
+
+
+ true
+
+
+
+ -
+
+
+ Color lines
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Copy the whole log into the clipboard
+
+
+ &Copy
+
+
+
+ -
+
+
+ Upload the log to the paste service configured in preferences
+
+
+ Upload
+
+
+
+ -
+
+
+ Reload the contents of the log from the disk
+
+
+ &Reload
+
+
+
+
-
@@ -126,13 +194,6 @@
- -
-
-
- Search:
-
-
-
@@ -154,6 +215,8 @@
btnPaste
btnDelete
btnClean
+ wrapCheckbox
+ colorCheckbox
text
searchBar
findButton