From d8c90957841fe714e0cb3b4a7f1c9f1e7afb9dea Mon Sep 17 00:00:00 2001 From: ConfuSomu Date: Mon, 26 Dec 2022 22:33:52 -0500 Subject: Relist statuses when changing view filters --- src/mainwindow.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/mainwindow.cpp') 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(); } -- cgit v1.2.3-54-g00ecf