File indexing completed on 2024-05-12 17:08:23

0001 // SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org>
0002 //
0003 // SPDX-License-Identifier: LGPL-2.1-or-later
0004 
0005 #ifndef MAINWINDOW_H
0006 #define MAINWINDOW_H
0007 
0008 #include <QMainWindow>
0009 #include <QModelIndex>
0010 #include <QPointer>
0011 
0012 class QLabel;
0013 class QPushButton;
0014 class QProgressBar;
0015 class QStackedWidget;
0016 
0017 namespace PlasmaPass
0018 {
0019 class ProviderBase;
0020 class PasswordFilterModel;
0021 }
0022 
0023 class MainWindow : public QMainWindow
0024 {
0025     Q_OBJECT
0026 public:
0027     explicit MainWindow(QWidget *parent = nullptr);
0028     ~MainWindow() override;
0029 
0030 private Q_SLOTS:
0031     void onPasswordClicked(const QModelIndex &idx);
0032     void onSearchChanged(const QString &text);
0033 
0034 private:
0035     void setProvider(PlasmaPass::ProviderBase *provider);
0036 
0037     QLabel *mTitle = nullptr;
0038     QLabel *mType = nullptr;
0039     QLabel *mPath = nullptr;
0040     QLabel *mPassword = nullptr;
0041     QLabel *mError = nullptr;
0042     QPushButton *mPassBtn = nullptr;
0043     QProgressBar *mPassProgress = nullptr;
0044     QModelIndex mCurrent;
0045     QPointer<PlasmaPass::ProviderBase> mProvider;
0046     QStackedWidget *mStack = nullptr;
0047     PlasmaPass::PasswordFilterModel *mFilterModel = nullptr;
0048 };
0049 
0050 #endif