File indexing completed on 2024-04-28 04:20:53
0001 /* SPDX-FileCopyrightText: 2012-2019 The KPhotoAlbum Development Team 0002 0003 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 #include "JobViewer.h" 0007 0008 #include "JobManager.h" 0009 #include "JobModel.h" 0010 0011 #include <KLocalizedString> 0012 #include <QDialogButtonBox> 0013 #include <QLayout> 0014 #include <QPushButton> 0015 #include <QTreeView> 0016 0017 BackgroundTaskManager::JobViewer::JobViewer(QWidget *parent) 0018 : QDialog(parent) 0019 , m_model(nullptr) 0020 { 0021 setWindowTitle(i18nc("@title:window", "Background Job Viewer")); 0022 0023 QVBoxLayout *mainLayout = new QVBoxLayout; 0024 setLayout(mainLayout); 0025 0026 m_treeView = new QTreeView; 0027 mainLayout->addWidget(m_treeView); 0028 0029 QDialogButtonBox *buttonBox = new QDialogButtonBox; 0030 m_pauseButton = buttonBox->addButton(i18n("Pause"), QDialogButtonBox::YesRole); 0031 buttonBox->addButton(QDialogButtonBox::Close); 0032 0033 connect(m_pauseButton, &QPushButton::clicked, this, &JobViewer::togglePause); 0034 connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::accept); 0035 0036 mainLayout->addWidget(buttonBox); 0037 } 0038 0039 void BackgroundTaskManager::JobViewer::setVisible(bool b) 0040 { 0041 if (b) { 0042 m_model = new JobModel(this); 0043 m_treeView->setModel(m_model); 0044 updatePauseButton(); 0045 } else { 0046 delete m_model; 0047 m_model = nullptr; 0048 } 0049 0050 m_treeView->setColumnWidth(0, 50); 0051 m_treeView->setColumnWidth(1, 300); 0052 m_treeView->setColumnWidth(2, 300); 0053 m_treeView->setColumnWidth(3, 50); 0054 QDialog::setVisible(b); 0055 } 0056 0057 void BackgroundTaskManager::JobViewer::togglePause() 0058 { 0059 JobManager::instance()->togglePaused(); 0060 updatePauseButton(); 0061 } 0062 0063 void BackgroundTaskManager::JobViewer::updatePauseButton() 0064 { 0065 m_pauseButton->setText(JobManager::instance()->isPaused() ? i18n("Continue") : i18n("Pause")); 0066 } 0067 0068 // vi:expandtab:tabstop=4 shiftwidth=4: 0069 0070 #include "moc_JobViewer.cpp"