File indexing completed on 2025-01-12 04:20:13
0001 /* 0002 SnoreNotify is a Notification Framework based on Qt 0003 Copyright (C) 2015 Hannah von Reth <vonreth@kde.org> 0004 0005 SnoreNotify is free software: you can redistribute it and/or modify 0006 it under the terms of the GNU Lesser General Public License as published by 0007 the Free Software Foundation, either version 3 of the License, or 0008 (at your option) any later version. 0009 0010 SnoreNotify is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0013 GNU Lesser General Public License for more details. 0014 0015 You should have received a copy of the GNU Lesser General Public License 0016 along with SnoreNotify. If not, see <http://www.gnu.org/licenses/>. 0017 */ 0018 #ifndef PUSHOVERSETTINGS_H 0019 #define PUSHOVERSETTINGS_H 0020 0021 #include "libsnore/settings/pluginsettingswidget.h" 0022 #include "libsnore/plugins/settingsplugin.h" 0023 0024 #include "pushoverclient.h" 0025 0026 class QLineEdit; 0027 class QPushButton; 0028 class QLabel; 0029 0030 class PushoverSettings : public Snore::PluginSettingsWidget 0031 { 0032 Q_OBJECT 0033 public: 0034 explicit PushoverSettings(Snore::SnorePlugin *plugin, QWidget *parent = 0); 0035 ~PushoverSettings(); 0036 0037 void load() override; 0038 void save() override; 0039 0040 private: 0041 QLineEdit *m_emailLineEdit; 0042 QLineEdit *m_passwordLineEdit; 0043 QLineEdit *m_deviceLineEdit; 0044 QPushButton *m_registerButton; 0045 QLabel *m_errorMessageLabel; 0046 PushoverClient::LoginState m_state = PushoverClient::Undefined; 0047 0048 private Q_SLOTS: 0049 void slotUpdateLoginState(PushoverClient::LoginState state); 0050 0051 }; 0052 0053 SNORE_DECLARE_SETTINGS_PLUGIN(Pushover) 0054 0055 #endif // PUSHOVERSETTINGS_H