diff --git a/README.md b/README.md index ccba9ea..1eacfb5 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ reportabug Information ----------- -A simple Qt application/library which allows users to create an issue for GitHub projects. It may work over [GitHub](https://github.com) or [GitReport](https://gitreports.com/). For the developer configuration please use `config.h` header. +A simple Qt application/library which allows users to create an issue for GitHub projects. It may work over [GitHub](https://github.com) or [GitReport](https://gitreports.com/). For the developer configuration please use `config.h.in` header. Configuration ------------- -Edit `src/config.h` header and set up needed variables. +Edit `src/config.h.in` header and set up needed variables. ### Main configuration ### @@ -31,11 +31,10 @@ User should type own username and password. [GitHub API](https://developer.githu Available variables: -* `ENABLE_GITHUB` - enable this module. Default is `true`. * `GITHUB_COMBOBOX` - text of this module into comboBox. * `ISSUES_URL` - issues url, in the most cases do not touch it. Default is `https://api.github.com/repos/$OWNER/$PROJECT/issues`. Available tags here are `$PROJECT`, `$OWNER`. -This module requires `QtNetwork` module. To enable this module set variable `ENABLE_GITHUB` to `true`. +This module requires `QtNetwork` module. To disable this module use `-DENABLE_GITHUB=0` cmake flag. ### Send issue over GitReport ### @@ -46,11 +45,10 @@ Available variables: * `CAPTCHA_KEY` - captcha key. It may be found in the source of the `PUBLIC_URL` page. Default is `7f6ef90bce7389088a52c5c9101aad206b21b56d`. * `CAPTCHA_TEXT` - captcha text. It may be found in the source of the `PUBLIC_URL` page. Default is `QJNZXY`. * `CAPTCHA_TIME` - captcha time. It may be found in the source of the `PUBLIC_URL` page. Default is `1406531273`. -* `ENABLE_GITREPORT` - enable this module. Default is `true`. * `GITREPORT_COMBOBOX` - text of this module into comboBox. * `PUBLIC_URL` - issues url, in the most cases do not touch it. Default is `https://gitreports.com/issue/$OWNER/$PROJECT`. Available tags here are `$PROJECT`, `$OWNER`. -This module requires `QtWebKit` module. To enable this module set variable `ENABLE_GITREPORT` to `true`. +This module requires `QtWebKit` module. To disable this module use `-DENABLE_GITREPORT=0` cmake flag. Instruction =========== @@ -93,11 +91,19 @@ Installation add_subdirectory (reportabug) +* declare class in you sources. For example: + + Reportabug *reportWindow = new Reportabug(this, false); + reportWindow->showWindow(); + * link your application with this library ### Available cmake flags ### * `-DBUILD_AS_LIBRARY:BOOL=0` - build the application but not a shared library +* `-DBUILD_DOCS:BOOL=0` - do not build developer documentation +* `-DENABLE_GITHUB=0` - disable GitHub module +* `-DENABLE_GITREPORT=0` - disable GitReport module * `-DUSE_QT5:BOOL=0` - use Qt4 instead of Qt5 for GUI Additional information diff --git a/sources/src/CMakeLists.txt b/sources/src/CMakeLists.txt index 9b6c9d6..c60cba6 100644 --- a/sources/src/CMakeLists.txt +++ b/sources/src/CMakeLists.txt @@ -2,6 +2,14 @@ set (SOURCES main.cpp reportabug.cpp) set (HEADERS reportabug.h) set (FORMS reportabug.ui) +if (ENABLE_GITHUB) + set (SOURCES ${SOURCES} githubmodule.cpp) + set (HEADERS ${HEADERS} githubmodule.h) +endif () +if (ENABLE_GITREPORT) + set (SOURCES ${SOURCES} gitreportmodule.cpp) + set (HEADERS ${HEADERS} gitreportmodule.h) +endif () configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) diff --git a/sources/src/config.h.in b/sources/src/config.h.in index 142db44..19593ab 100644 --- a/sources/src/config.h.in +++ b/sources/src/config.h.in @@ -35,12 +35,14 @@ #define TAG_MILESTONE "" // comma separated #define TAG_LABELS "auto,bug" +// modules. Please use -DENABLE_GITHUB and -DENABLE_GITREPORT cmake flags +// DO NOT EDIT THEM! +#cmakedefine ENABLE_GITHUB +#cmakedefine ENABLE_GITREPORT /* * configuration of creating an issue using GitHub API */ -// enable this function -#cmakedefine ENABLE_GITHUB // combobox text #define GITHUB_COMBOBOX "I want to report a bug using my GitHub account" // issues url; in the most cases do not touch it @@ -53,8 +55,6 @@ * please, visit https://gitreports.com/ * and set up it for your repository */ -// enable this function -#cmakedefine ENABLE_GITREPORT // combobox text #define GITREPORT_COMBOBOX "GitHub? I don't understand what do you want from me!" // public link; in the most cases do not touch it diff --git a/sources/src/githubmodule.cpp b/sources/src/githubmodule.cpp index cb55c49..01879af 100644 --- a/sources/src/githubmodule.cpp +++ b/sources/src/githubmodule.cpp @@ -15,10 +15,12 @@ * License along with this library. * ***************************************************************************/ +#include "githubmodule.h" #include "reportabug.h" -#include "ui_reportabug.h" +#include #include +#include #include #include #include @@ -29,20 +31,79 @@ #include "config.h" -void Reportabug::sendReportUsingGithub() +GithubModule::GithubModule(QWidget *parent, bool debugCmd) + : QObject(parent), + debug(debugCmd), + mainWindow((Reportabug *)parent) { - if (debug) qDebug() << "[Reportabug]" << "[sendReportUsingGithub]"; +} + + +GithubModule::~GithubModule() +{ + if (debug) qDebug() << "[GithubModule]" << "[~GithubModule]"; +} + + +QByteArray GithubModule::prepareRequest(const QString title, const QString body) +{ + if (debug) qDebug() << "[GithubModule]" << "[prepareRequest]"; + if (debug) qDebug() << "[GithubModule]" << "[prepareRequest]" << ":" << "Title" << title; + if (debug) qDebug() << "[GithubModule]" << "[prepareRequest]" << ":" << "Title" << body; + + QStringList requestList; + requestList.append(QString("\"title\":\"") + title + QString("\"")); + QString fixBody = body; + fixBody.replace(QString("\n"), QString("
")); + requestList.append(QString("\"body\":\"") + fixBody + QString("\"")); + if (!QString(TAG_ASSIGNEE).isEmpty()) + requestList.append(QString("\"assignee\":\"") + parseString(QString(TAG_ASSIGNEE)) + QString("\"")); + if (!QString(TAG_MILESTONE).isEmpty()) + requestList.append(QString("\"milestone\":") + QString(TAG_MILESTONE)); + if (!QString(TAG_LABELS).isEmpty()) { + QStringList labels = QString(TAG_LABELS).split(QChar(',')); + for (int i=0; i info) +{ + if (debug) qDebug() << "[GithubModule]" << "[sendReportUsingGithub]"; // authentication - QString username = ui->lineEdit_username->text(); - QString password = ui->lineEdit_password->text(); - QString concatenated = username + QString(":") + password; + QString concatenated = info[QString("username")] + QString(":") + info[QString("password")]; QByteArray userData = concatenated.toLocal8Bit().toBase64(); QString headerData = QString("Basic ") + userData; // text - QString title = ui->lineEdit_title->text(); - QString body = ui->textEdit->toPlainText(); - QByteArray text = prepareRequest(title, body); + QByteArray text = prepareRequest(info[QString("title")], info[QString("body")]); QByteArray textSize = QByteArray::number(text.size()); // sending request QNetworkRequest request = QNetworkRequest(parseString(QString(ISSUES_URL))); @@ -59,15 +120,15 @@ void Reportabug::sendReportUsingGithub() } -void Reportabug::githubFinished(QNetworkReply *reply) +void GithubModule::githubFinished(QNetworkReply *reply) { - if (debug) qDebug() << "[Reportabug]" << "[githubFinished]"; - if (debug) qDebug() << "[Reportabug]" << "[githubFinished]" << ":" << "Error state" << reply->error(); - if (debug) qDebug() << "[Reportabug]" << "[githubFinished]" << ":" << "Reply size" << reply->readBufferSize(); + if (debug) qDebug() << "[GithubModule]" << "[githubFinished]"; + if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Error state" << reply->error(); + if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Reply size" << reply->readBufferSize(); int state = true; QString answer = reply->readAll(); - if (debug) qDebug() << "[Reportabug]" << "[replyFinished]" << ":" << answer; + if (debug) qDebug() << "[GithubModule]" << "[replyFinished]" << ":" << answer; QString messageBody, messageTitle; QMessageBox::Icon icon = QMessageBox::NoIcon; if (answer.contains(QString("\"html_url\":"))) { @@ -109,10 +170,10 @@ void Reportabug::githubFinished(QNetworkReply *reply) switch (ret) { case QMessageBox::Ok: - if (state) close(); + if (state) mainWindow->close(); break; case QMessageBox::Retry: - if (state) updateTabs(ui->comboBox->currentIndex()); + if (state) mainWindow->externalUpdateTab(); break; default: break; diff --git a/sources/src/githubmodule.h b/sources/src/githubmodule.h new file mode 100644 index 0000000..ef175b8 --- /dev/null +++ b/sources/src/githubmodule.h @@ -0,0 +1,51 @@ +/*************************************************************************** + * This file is part of reportabug * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 3.0 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library. * + ***************************************************************************/ + +#ifndef GITHUBMODULE_H +#define GITHUBMODULE_H + +#include +#include + + +class Reportabug; +class QNetworkReply; + +class GithubModule : public QObject +{ + Q_OBJECT + +public: + explicit GithubModule(QWidget *parent = 0, + bool debugCmd = false); + ~GithubModule(); + +public slots: + void sendReportUsingGithub(const QMap info); + +private slots: + void githubFinished(QNetworkReply *reply); + +private: + bool debug; + Reportabug *mainWindow; + QString parseString(QString line); + QByteArray prepareRequest(const QString title, const QString body); +}; + + +#endif /* GITHUBMODULE_H */ diff --git a/sources/src/gitreportmodule.cpp b/sources/src/gitreportmodule.cpp index 55b8e86..28b2cd8 100644 --- a/sources/src/gitreportmodule.cpp +++ b/sources/src/gitreportmodule.cpp @@ -15,20 +15,41 @@ * License along with this library. * ***************************************************************************/ +#include "gitreportmodule.h" #include "reportabug.h" -#include "ui_reportabug.h" +#include +#include +#include +#include +#include #include #include #include -#include #include "config.h" -void Reportabug::sendReportUsingGitreport() +GitreportModule::GitreportModule(QWidget *parent, bool debugCmd) + : QObject(parent), + debug(debugCmd), + mainWindow((Reportabug *)parent) { - if (debug) qDebug() << "[Reportabug]" << "[sendReportUsingGitreport]"; + webView = new QWebView(); +} + + +GitreportModule::~GitreportModule() +{ + if (debug) qDebug() << "[GitreportModule]" << "[~GitreportModule]"; + + delete webView; +} + + +void GitreportModule::sendReportUsingGitreport(const QMap info) +{ + if (debug) qDebug() << "[GitreportModule]" << "[sendReportUsingGitreport]"; QWebElement document = webView->page()->mainFrame()->documentElement(); QWebElement captcha = document.findFirst(QString("input#captcha")); @@ -39,9 +60,9 @@ void Reportabug::sendReportUsingGitreport() QWebElement usernameInput = document.findFirst(QString("input#name")); // input - usernameInput.setAttribute(QString("value"), ui->lineEdit_username->text()); - emailInput.setAttribute(QString("value"), ui->lineEdit_password->text()); - textArea.setPlainText(ui->textEdit->toPlainText()); + usernameInput.setAttribute(QString("value"), info[QString("username")]); + emailInput.setAttribute(QString("value"), info[QString("password")]); + textArea.setPlainText(info[QString("body")]); // captcha captchaImg.setAttribute(QString("src"), QString("/simple_captcha?code=%1&time=%2") .arg(QString(CAPTCHA_KEY)) @@ -57,21 +78,13 @@ void Reportabug::sendReportUsingGitreport() } -void Reportabug::gitreportLoaded(const bool state) +void GitreportModule::gitreportLoaded(const bool state) { - if (debug) qDebug() << "[Reportabug]" << "[gitreportLoaded]"; - if (debug) qDebug() << "[Reportabug]" << "[gitreportLoaded]" << ":" << "State" << state; + if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]"; + if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]" << ":" << "State" << state; - if (state) { - ui->widget_auth->setHidden(false); - ui->widget_title->setHidden(true); - ui->textEdit->setHidden(false); + if (state) webView->setHidden(!debug); - ui->label_password->setText(QApplication::translate("Reportabug", "Email")); - ui->label_password->setToolTip(QApplication::translate("Reportabug", "Your email")); - ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "email")); - ui->lineEdit_password->setEchoMode(QLineEdit::Normal); - } else { QMessageBox messageBox; messageBox.setText(QApplication::translate("Reportabug", "Error!")); @@ -87,10 +100,10 @@ void Reportabug::gitreportLoaded(const bool state) } -void Reportabug::gitreportFinished(const bool state) +void GitreportModule::gitreportFinished(const bool state) { - if (debug) qDebug() << "[Reportabug]" << "[gitreportFinished]"; - if (debug) qDebug() << "[Reportabug]" << "[gitreportFinished]" << ":" << "State" << state; + if (debug) qDebug() << "[GitreportModule]" << "[gitreportFinished]"; + if (debug) qDebug() << "[GitreportModule]" << "[gitreportFinished]" << ":" << "State" << state; QString messageBody, messageTitle; QMessageBox::Icon icon = QMessageBox::NoIcon; @@ -118,10 +131,10 @@ void Reportabug::gitreportFinished(const bool state) switch (ret) { case QMessageBox::Ok: - if (state) close(); + if (state) mainWindow->close(); break; case QMessageBox::Retry: - if (state) updateTabs(ui->comboBox->currentIndex()); + if (state) mainWindow->externalUpdateTab(); break; default: break; diff --git a/sources/src/gitreportmodule.h b/sources/src/gitreportmodule.h new file mode 100644 index 0000000..2a2f140 --- /dev/null +++ b/sources/src/gitreportmodule.h @@ -0,0 +1,50 @@ +/*************************************************************************** + * This file is part of reportabug * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 3.0 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with this library. * + ***************************************************************************/ + +#ifndef GITREPORTMODULE_H +#define GITREPORTMODULE_H + +#include +#include +#include + +class Reportabug; + +class GitreportModule : public QObject +{ + Q_OBJECT + +public: + explicit GitreportModule(QWidget *parent = 0, + bool debugCmd = false); + ~GitreportModule(); + QWebView *webView; + +public slots: + void sendReportUsingGitreport(const QMap info); + +private slots: + void gitreportFinished(const bool state); + void gitreportLoaded(const bool state); + +private: + bool debug; + Reportabug *mainWindow; +}; + + +#endif /* GITREPORTMODULE_H */ diff --git a/sources/src/reportabug.cpp b/sources/src/reportabug.cpp index 70244b8..02a32c8 100644 --- a/sources/src/reportabug.cpp +++ b/sources/src/reportabug.cpp @@ -19,17 +19,16 @@ #include "ui_reportabug.h" #include -#include #include #include "config.h" -#include "version.h" #ifdef ENABLE_GITHUB -#include "githubmodule.cpp" +#include "githubmodule.h" #endif /* ENABLE_GITHUB */ #ifdef ENABLE_GITREPORT -#include "gitreportmodule.cpp" +#include "gitreportmodule.h" #endif /* ENABLE_GITREPORT */ +#include "version.h" Reportabug::Reportabug(QWidget *parent, bool debugCmd) @@ -38,12 +37,6 @@ Reportabug::Reportabug(QWidget *parent, bool debugCmd) ui(new Ui::Reportabug) { ui->setupUi(this); - // add webview which is required by gitreport module -#ifdef ENABLE_GITREPORT - webView = new QWebView(this); - // 4 is a magic number. Seriously - ui->verticalLayout->insertWidget(4, webView); -#endif /* ENABLE_GITREPORT */ initModules(); createComboBox(); createActions(); @@ -54,13 +47,24 @@ Reportabug::~Reportabug() { if (debug) qDebug() << "[Reportabug]" << "[~Reportabug]"; +#ifdef ENABLE_GITHUB + delete github; +#endif /* ENABLE_GITHUB */ #ifdef ENABLE_GITREPORT - delete webView; + delete gitreport; #endif /* ENABLE_GITREPORT */ delete ui; } +void Reportabug::externalUpdateTab() +{ + if (debug) qDebug() << "[Reportabug]" << "[externalUpdateTab]"; + + return updateTabs(ui->comboBox->currentIndex()); +} + + void Reportabug::createActions() { if (debug) qDebug() << "[Reportabug]" << "[createActions]"; @@ -115,9 +119,13 @@ void Reportabug::initModules() #ifdef ENABLE_GITHUB modules[0] = true; + github = new GithubModule(this, debug); #endif /* ENABLE_GITHUB */ #ifdef ENABLE_GITREPORT modules[1] = true; + gitreport = new GitreportModule(this, debug); + // 4 is a magic number. Seriously + ui->verticalLayout->insertWidget(4, gitreport->webView); #endif /* ENABLE_GITREPORT */ } @@ -149,59 +157,33 @@ QString Reportabug::parseString(QString line) } -QByteArray Reportabug::prepareRequest(const QString title, const QString body) -{ - if (debug) qDebug() << "[Reportabug]" << "[prepareRequest]"; - if (debug) qDebug() << "[Reportabug]" << "[prepareRequest]" << ":" << "Title" << title; - if (debug) qDebug() << "[Reportabug]" << "[prepareRequest]" << ":" << "Title" << body; - - QStringList requestList; - requestList.append(QString("\"title\":\"") + title + QString("\"")); - QString fixBody = body; - fixBody.replace(QString("\n"), QString("
")); - requestList.append(QString("\"body\":\"") + fixBody + QString("\"")); - if (!QString(TAG_ASSIGNEE).isEmpty()) - requestList.append(QString("\"assignee\":\"") + parseString(QString(TAG_ASSIGNEE)) + QString("\"")); - if (!QString(TAG_MILESTONE).isEmpty()) - requestList.append(QString("\"milestone\":") + QString(TAG_MILESTONE)); - if (!QString(TAG_LABELS).isEmpty()) { - QStringList labels = QString(TAG_LABELS).split(QChar(',')); - for (int i=0; icomboBox->currentIndex()); + QMap info; + info[QString("username")] = ui->lineEdit_username->text(); + info[QString("password")] = ui->lineEdit_password->text(); + info[QString("title")] = ui->lineEdit_title->text(); + info[QString("body")] = ui->textEdit->toPlainText(); if (number == -1) return; #ifdef ENABLE_GITHUB else if (number == 0) - sendReportUsingGithub(); + github->sendReportUsingGithub(info); #endif /* ENABLE_GITHUB */ #ifdef ENABLE_GITREPORT else if (number == 1) - sendReportUsingGitreport(); + gitreport->sendReportUsingGitreport(info); #endif /* ENABLE_GITREPORT */ } void Reportabug::showWindow() { - updateTabs(ui->comboBox->currentIndex()); + externalUpdateTab(); show(); } @@ -212,10 +194,14 @@ void Reportabug::updateTabs(const int index) if (debug) qDebug() << "[Reportabug]" << "[updateTabs]" << ":" << "Index" << index; int number = getNumberByIndex(index); + ui->lineEdit_username->clear(); + ui->lineEdit_password->clear(); + ui->lineEdit_title->setText(QString(TAG_TITLE)); + ui->textEdit->setPlainText(QString(TAG_BODY)); // it is out of conditional because I don't want a lot of ifdef/endif #ifdef ENABLE_GITREPORT - webView->setHidden(true); + gitreport->webView->setHidden(true); #endif /* ENABLE_GITREPORT */ if (number == -1) { ui->widget_auth->setHidden(true); @@ -231,26 +217,22 @@ void Reportabug::updateTabs(const int index) ui->label_password->setToolTip(QApplication::translate("Reportabug", "GitHub account password")); ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "password")); ui->lineEdit_password->setEchoMode(QLineEdit::Password); - - ui->lineEdit_username->clear(); - ui->lineEdit_password->clear(); - ui->lineEdit_title->setText(QString(TAG_TITLE)); - ui->textEdit->setPlainText(QString(TAG_BODY)); } #endif /* ENABLE_GITHUB */ #ifdef ENABLE_GITREPORT else if (number == 1) { - ui->widget_auth->setHidden(true); + ui->widget_auth->setHidden(false); ui->widget_title->setHidden(true); - ui->textEdit->setHidden(true); + ui->textEdit->setHidden(false); + ui->label_password->setText(QApplication::translate("Reportabug", "Email")); + ui->label_password->setToolTip(QApplication::translate("Reportabug", "Your email")); + ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "email")); + ui->lineEdit_password->setEchoMode(QLineEdit::Normal); - ui->lineEdit_username->clear(); - ui->lineEdit_password->clear(); - ui->textEdit->setPlainText(QString(TAG_BODY)); - webView->load(QUrl(parseString(QString(PUBLIC_URL)))); - disconnect(webView, SIGNAL(loadFinished(bool)), this, SLOT(gitreportLoaded(bool))); - disconnect(webView, SIGNAL(loadFinished(bool)), this, SLOT(gitreportFinished(bool))); - connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(gitreportLoaded(bool))); + gitreport->webView->load(QUrl(parseString(QString(PUBLIC_URL)))); + disconnect(gitreport->webView, SIGNAL(loadFinished(bool)), gitreport, SLOT(gitreportLoaded(bool))); + disconnect(gitreport->webView, SIGNAL(loadFinished(bool)), gitreport, SLOT(gitreportFinished(bool))); + connect(gitreport->webView, SIGNAL(loadFinished(bool)), gitreport, SLOT(gitreportLoaded(bool))); } #endif /* ENABLE_GITREPORT */ } diff --git a/sources/src/reportabug.h b/sources/src/reportabug.h index b8727be..fb66932 100644 --- a/sources/src/reportabug.h +++ b/sources/src/reportabug.h @@ -23,12 +23,9 @@ #include "config.h" -#ifdef ENABLE_GITHUB -class QNetworkReply; -#endif /* ENABLE_GITHUB */ -#ifdef ENABLE_GITREPORT -class QWebView; -#endif /* ENABLE_GITREPORT */ +class GithubModule; +class GitreportModule; + namespace Ui { class Reportabug; } @@ -41,38 +38,26 @@ public: explicit Reportabug(QWidget *parent = 0, bool debugCmd = false); ~Reportabug(); + void externalUpdateTab(); public slots: void sendReport(); void showWindow(); void updateTabs(const int index); -private slots: -#ifdef ENABLE_GITHUB - void sendReportUsingGithub(); - void githubFinished(QNetworkReply *reply); -#endif /* ENABLE_GITHUB */ -#ifdef ENABLE_GITREPORT - void sendReportUsingGitreport(); - void gitreportFinished(const bool state); - void gitreportLoaded(const bool state); -#endif /* ENABLE_GITREPORT */ - private: bool debug; bool modules[2]; -#ifdef ENABLE_GITREPORT - // add webview which is required by gitreport module - QWebView *webView; -#endif /* ENABLE_GITREPORT */ Ui::Reportabug *ui; + // modules + GithubModule *github; + GitreportModule *gitreport; void createActions(); void createComboBox(); int getNumberByIndex(const int index); void initModules(); void keyPressEvent(QKeyEvent *pressedKey); QString parseString(QString line); - QByteArray prepareRequest(const QString title, const QString body); };