aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorConfuSomu2022-12-26 22:33:52 -0500
committerConfuSomu2022-12-26 22:33:52 -0500
commitd8c90957841fe714e0cb3b4a7f1c9f1e7afb9dea (patch)
tree81ca74406cc2d0aecc260a096795ec5ed80a3112 /src
parentc7b9186ff55cc055ed9d39c4282a2ccba2a87367 (diff)
downloadActorViewer-d8c90957841fe714e0cb3b4a7f1c9f1e7afb9dea.tar
ActorViewer-d8c90957841fe714e0cb3b4a7f1c9f1e7afb9dea.tar.gz
ActorViewer-d8c90957841fe714e0cb3b4a7f1c9f1e7afb9dea.zip
Relist statuses when changing view filters
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp19
-rw-r--r--src/mainwindow.h4
2 files changed, 23 insertions, 0 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 45d3985..1424ff5 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -68,6 +68,14 @@ void MainWindow::on_actionAbout_triggered(bool checked) {
QMessageBox::information(this, "title", "text");
}
+void MainWindow::relist_statuses() {
+ if (data_archive) {
+ ui->listWidget->clear();
+ ui->listWidget->addItems(data_archive->get_status_list(view_filters));
+ view_filters_changed = false;
+ }
+}
+
void MainWindow::reset_view_filters() {
if (ui->actionAll_toots->isChecked())
view_filters = {true, true, true, true, view_filters.onlyWithAttachment};
@@ -84,6 +92,7 @@ void MainWindow::on_actionAll_toots_triggered(bool checked) {
ui->actionOnly_with_attachment->setChecked(false);
reset_view_filters();
+ relist_statuses();
}
void MainWindow::on_actionPublic_toots_triggered(bool checked) {
@@ -92,6 +101,7 @@ void MainWindow::on_actionPublic_toots_triggered(bool checked) {
reset_view_filters();
}
view_filters.includePublic = checked;
+ view_filters_changed = true;
}
void MainWindow::on_actionUnlisted_toots_triggered(bool checked) {
@@ -100,6 +110,7 @@ void MainWindow::on_actionUnlisted_toots_triggered(bool checked) {
reset_view_filters();
}
view_filters.includeUnlisted = checked;
+ view_filters_changed = true;
}
void MainWindow::on_actionPrivate_toots_triggered(bool checked) {
@@ -108,6 +119,7 @@ void MainWindow::on_actionPrivate_toots_triggered(bool checked) {
reset_view_filters();
}
view_filters.includePrivate = checked;
+ view_filters_changed = true;
}
void MainWindow::on_actionDirect_messages_triggered(bool checked) {
@@ -116,8 +128,15 @@ void MainWindow::on_actionDirect_messages_triggered(bool checked) {
reset_view_filters();
}
view_filters.includeDirect = checked;
+ view_filters_changed = true;
}
void MainWindow::on_actionOnly_with_attachment_triggered(bool checked) {
view_filters.onlyWithAttachment = checked;
+ view_filters_changed = true;
+}
+
+void MainWindow::on_menuView_aboutToHide() {
+ if (view_filters_changed)
+ relist_statuses();
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 8a14bf8..39ac68c 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -31,13 +31,17 @@ private slots:
void on_actionDirect_messages_triggered(bool checked);
void on_actionOnly_with_attachment_triggered(bool checked);
+ void on_menuView_aboutToHide();
+
private:
void reset_view_filters();
+ void relist_statuses();
Ui::MainWindow *ui;
QString outbox_filename;
ViewTootTypes view_filters;
+ bool view_filters_changed = false;
Archive *data_archive = nullptr;
};