File indexing completed on 2024-05-12 04:02:24
0001 /* -*- C++ -*- 0002 This file is part of ThreadWeaver. 0003 0004 SPDX-FileCopyrightText: 2005-2014 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef MAINWINDOW_H 0010 #define MAINWINDOW_H 0011 0012 #include <QMainWindow> 0013 0014 #include "Model.h" 0015 0016 class ImageListFilter; 0017 0018 namespace Ui 0019 { 0020 class MainWindow; 0021 } 0022 0023 class AverageLoadManager; 0024 0025 class MainWindow : public QMainWindow 0026 { 0027 Q_OBJECT 0028 0029 public: 0030 explicit MainWindow(QWidget *parent = nullptr); 0031 ~MainWindow() override; 0032 0033 protected: 0034 void closeEvent(QCloseEvent *) override; 0035 0036 public Q_SLOTS: 0037 void slotProgress(int step, int total); 0038 0039 private Q_SLOTS: 0040 void slotOpenFiles(); 0041 void slotSelectOutputDirectory(); 0042 void slotFileLoaderCapChanged(); 0043 void slotImageLoaderCapChanged(); 0044 void slotComputeThumbNailCapChanged(); 0045 void slotSaveThumbNailCapChanged(); 0046 void slotWorkerCapChanged(); 0047 void slotEnableAverageLoadManager(bool); 0048 void slotRecommendedWorkerCountChanged(int); 0049 void slotQuit(); 0050 0051 private: 0052 Ui::MainWindow *ui; 0053 QString m_outputDirectory; 0054 Model m_model; 0055 ImageListFilter *m_fileLoaderFilter; 0056 ImageListFilter *m_imageLoaderFilter; 0057 ImageListFilter *m_imageScalerFilter; 0058 ImageListFilter *m_imageWriterFilter; 0059 AverageLoadManager *m_averageLoadManager; 0060 0061 static const QString Setting_OpenLocation; 0062 static const QString Setting_OutputLocation; 0063 static const QString Setting_WindowState; 0064 static const QString Setting_WindowGeometry; 0065 }; 0066 0067 #endif // MAINWINDOW_H