- API token loaded from .env at build time via qmake - All fields required with validation - Email validation with regex - Cleaner UI with placeholder text - Added .env to gitignore 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
36 lines
797 B
C++
36 lines
797 B
C++
#ifndef REPORTISSUEDIALOG_H
|
|
#define REPORTISSUEDIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkReply>
|
|
|
|
namespace Ui {
|
|
class ReportIssueDialog;
|
|
}
|
|
|
|
class ReportIssueDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ReportIssueDialog(QWidget *parent = nullptr);
|
|
~ReportIssueDialog();
|
|
|
|
private slots:
|
|
void onSendClicked();
|
|
void onCancelClicked();
|
|
void onNetworkReplyFinished(QNetworkReply *reply);
|
|
|
|
private:
|
|
Ui::ReportIssueDialog *ui;
|
|
QNetworkAccessManager *mNetworkManager;
|
|
QString mAccessToken;
|
|
|
|
bool validateFields();
|
|
bool isValidEmail(const QString &email);
|
|
void sendIssueReport(const QString &title, const QString &body, const QString &email);
|
|
};
|
|
|
|
#endif // REPORTISSUEDIALOG_H
|