File indexing completed on 2024-05-12 05:36:46
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