mirror of
				https://github.com/arcan1s/reportabug.git
				synced 2025-11-04 07:43:43 +00:00 
			
		
		
		
	release 1.0.1
* fix captcha
This commit is contained in:
		@ -1,2 +1,5 @@
 | 
				
			|||||||
 | 
					Ver.1.0.1:
 | 
				
			||||||
 | 
					* fix captcha
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ver.1.0:
 | 
					Ver.1.0:
 | 
				
			||||||
First release
 | 
					First release
 | 
				
			||||||
 | 
				
			|||||||
@ -50,13 +50,11 @@ This module requires `QtNetwork` module. To enable this module set up your token
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Available variables:
 | 
					Available variables:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `CAPTCHA_KEY` - captcha key. It may be found in the source of the `PUBLIC_URL` page. Default is `7f6ef90bce7389088a52c5c9101aad206b21b56d`.
 | 
					* `CAPTCHA_URL` - captcha url, in the most cases do not touch it. Default is `https://gitreports.com/simple_captcha?code=`.
 | 
				
			||||||
* `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`.
 | 
					 | 
				
			||||||
* `GITREPORT_COMBOBOX` - text of this module into comboBox.
 | 
					* `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`.
 | 
					* `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 disable this module use `-DENABLE_GITREPORT=0` cmake flag.
 | 
					This module requires `QtWebKit` and `QtNetwork` modules. To disable this module use `-DENABLE_GITREPORT=0` cmake flag.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Instruction
 | 
					Instruction
 | 
				
			||||||
===========
 | 
					===========
 | 
				
			||||||
@ -65,10 +63,10 @@ Dependencies
 | 
				
			|||||||
------------
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* qt5-base (if Qt5 is used) or qt4 (if Qt4 is used)
 | 
					* qt5-base (if Qt5 is used) or qt4 (if Qt4 is used)
 | 
				
			||||||
 | 
					* qt5-network (if Qt5 is used)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Optional dependencies ###
 | 
					### Optional dependencies ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* qt5-network (if Qt5 is used) *(requires for GitHub module)*
 | 
					 | 
				
			||||||
* qt5-webkit (if Qt5 is used) or qtwebkit (if Qt4 is used) *(requires for GitReport module)*
 | 
					* qt5-webkit (if Qt5 is used) or qtwebkit (if Qt4 is used) *(requires for GitReport module)*
 | 
				
			||||||
* doxygen *(developers documentation)*
 | 
					* doxygen *(developers documentation)*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,7 @@ set (SUBPROJECT_CONTACT "esalexeev@gmail.com")
 | 
				
			|||||||
set (SUBPROJECT_LICENSE "LGPLv3")
 | 
					set (SUBPROJECT_LICENSE "LGPLv3")
 | 
				
			||||||
set (SUBPROJECT_VERSION_MAJOR 1)
 | 
					set (SUBPROJECT_VERSION_MAJOR 1)
 | 
				
			||||||
set (SUBPROJECT_VERSION_MINOR 0)
 | 
					set (SUBPROJECT_VERSION_MINOR 0)
 | 
				
			||||||
set (SUBPROJECT_VERSION_PATCH 0)
 | 
					set (SUBPROJECT_VERSION_PATCH 1)
 | 
				
			||||||
set (SUBPROJECT_VERSION ${SUBPROJECT_VERSION_MAJOR}.${SUBPROJECT_VERSION_MINOR}.${SUBPROJECT_VERSION_PATCH})
 | 
					set (SUBPROJECT_VERSION ${SUBPROJECT_VERSION_MAJOR}.${SUBPROJECT_VERSION_MINOR}.${SUBPROJECT_VERSION_PATCH})
 | 
				
			||||||
string (TIMESTAMP CURRENT_DATE "%Y-%m-%d %H:%M" UTC)
 | 
					string (TIMESTAMP CURRENT_DATE "%Y-%m-%d %H:%M" UTC)
 | 
				
			||||||
string (TIMESTAMP CURRENT_YEAR "%Y")
 | 
					string (TIMESTAMP CURRENT_YEAR "%Y")
 | 
				
			||||||
 | 
				
			|||||||
@ -22,16 +22,12 @@ include_directories (${CMAKE_CURRENT_BINARY_DIR}/../
 | 
				
			|||||||
if (USE_QT5)
 | 
					if (USE_QT5)
 | 
				
			||||||
    find_package (Qt5Core REQUIRED)
 | 
					    find_package (Qt5Core REQUIRED)
 | 
				
			||||||
    find_package (Qt5Widgets REQUIRED)
 | 
					    find_package (Qt5Widgets REQUIRED)
 | 
				
			||||||
 | 
					    find_package (Qt5Network REQUIRED)
 | 
				
			||||||
    add_definitions (${Qt5Core_DEFINITIONS})
 | 
					    add_definitions (${Qt5Core_DEFINITIONS})
 | 
				
			||||||
    add_definitions (${Qt5Widgets_DEFINITIONS})
 | 
					    add_definitions (${Qt5Widgets_DEFINITIONS})
 | 
				
			||||||
    include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
 | 
					    add_definitions (${Qt5Network_DEFINITIONS})
 | 
				
			||||||
    set (QT_USED_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES})
 | 
					    include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
 | 
				
			||||||
    if (ENABLE_GITHUB OR USE_OWN_TOKEN)
 | 
					    set (QT_USED_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES})
 | 
				
			||||||
        find_package (Qt5Network REQUIRED)
 | 
					 | 
				
			||||||
        add_definitions (${Qt5Network_DEFINITIONS})
 | 
					 | 
				
			||||||
        include_directories (${Qt5Network_INCLUDE_DIRS})
 | 
					 | 
				
			||||||
        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${Qt5Network_LIBRARIES})
 | 
					 | 
				
			||||||
    endif ()
 | 
					 | 
				
			||||||
    if (ENABLE_GITREPORT)
 | 
					    if (ENABLE_GITREPORT)
 | 
				
			||||||
        find_package (Qt5WebKit REQUIRED)
 | 
					        find_package (Qt5WebKit REQUIRED)
 | 
				
			||||||
        find_package (Qt5WebKitWidgets REQUIRED)
 | 
					        find_package (Qt5WebKitWidgets REQUIRED)
 | 
				
			||||||
@ -48,19 +44,13 @@ if (USE_QT5)
 | 
				
			|||||||
    source_group ("Generated Files" FILES ${MOC_SOURCES})
 | 
					    source_group ("Generated Files" FILES ${MOC_SOURCES})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
else ()
 | 
					else ()
 | 
				
			||||||
    set (QT_USED_COMPONENTS QtCore QtGui)
 | 
					    set (QT_USED_COMPONENTS QtCore QtGui QtNetwork)
 | 
				
			||||||
    if (ENABLE_GITHUB OR USE_OWN_TOKEN)
 | 
					 | 
				
			||||||
        set (QT_USED_COMPONENTS ${QT_USED_COMPONENTS} QtNetwork)
 | 
					 | 
				
			||||||
    endif ()
 | 
					 | 
				
			||||||
    if (ENABLE_GITREPORT)
 | 
					    if (ENABLE_GITREPORT)
 | 
				
			||||||
        set (QT_USED_COMPONENTS ${QT_USED_COMPONENTS} QtWebKit)
 | 
					        set (QT_USED_COMPONENTS ${QT_USED_COMPONENTS} QtWebKit)
 | 
				
			||||||
    endif ()
 | 
					    endif ()
 | 
				
			||||||
    find_package(Qt4 COMPONENTS ${QT_USED_COMPONENTS} REQUIRED)
 | 
					    find_package(Qt4 COMPONENTS ${QT_USED_COMPONENTS} REQUIRED)
 | 
				
			||||||
    include (${QT_USE_FILE})
 | 
					    include (${QT_USE_FILE})
 | 
				
			||||||
    set (QT_USED_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
 | 
					    set (QT_USED_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY})
 | 
				
			||||||
    if (ENABLE_GITHUB OR USE_OWN_TOKEN)
 | 
					 | 
				
			||||||
        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${QT_QTNETWORK_LIBRARY})
 | 
					 | 
				
			||||||
    endif ()
 | 
					 | 
				
			||||||
    if (ENABLE_GITREPORT)
 | 
					    if (ENABLE_GITREPORT)
 | 
				
			||||||
        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${QT_QTWEBKIT_LIBRARY})
 | 
					        set (QT_USED_LIBRARIES ${QT_USED_LIBRARIES} ${QT_QTWEBKIT_LIBRARY})
 | 
				
			||||||
    endif ()
 | 
					    endif ()
 | 
				
			||||||
 | 
				
			|||||||
@ -69,10 +69,8 @@
 | 
				
			|||||||
// public link; in the most cases do not touch it
 | 
					// public link; in the most cases do not touch it
 | 
				
			||||||
// available tags are $PROJECT, $OWNER
 | 
					// available tags are $PROJECT, $OWNER
 | 
				
			||||||
#define PUBLIC_URL "https://gitreports.com/issue/$OWNER/$PROJECT"
 | 
					#define PUBLIC_URL "https://gitreports.com/issue/$OWNER/$PROJECT"
 | 
				
			||||||
// captcha
 | 
					// captcha url; in the most cases do not touch it
 | 
				
			||||||
#define CAPTCHA_KEY "7f6ef90bce7389088a52c5c9101aad206b21b56d"
 | 
					#define CAPTCHA_URL "https://gitreports.com/simple_captcha?code="
 | 
				
			||||||
#define CAPTCHA_TEXT "QJNZXY"
 | 
					 | 
				
			||||||
#define CAPTCHA_TIME "1406531273"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* CONFIG_H */
 | 
					#endif /* CONFIG_H */
 | 
				
			||||||
 | 
				
			|||||||
@ -159,7 +159,7 @@ void GithubModule::githubFinished(QNetworkReply *reply)
 | 
				
			|||||||
    if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Error state" << reply->error();
 | 
					    if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Error state" << reply->error();
 | 
				
			||||||
    if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Reply size" << reply->readBufferSize();
 | 
					    if (debug) qDebug() << "[GithubModule]" << "[githubFinished]" << ":" << "Reply size" << reply->readBufferSize();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    int state = true;
 | 
					    bool state = true;
 | 
				
			||||||
    QString answer = reply->readAll();
 | 
					    QString answer = reply->readAll();
 | 
				
			||||||
    if (debug) qDebug() << "[GithubModule]" << "[replyFinished]" << ":" << answer;
 | 
					    if (debug) qDebug() << "[GithubModule]" << "[replyFinished]" << ":" << answer;
 | 
				
			||||||
    QString messageBody, messageTitle;
 | 
					    QString messageBody, messageTitle;
 | 
				
			||||||
@ -189,6 +189,7 @@ void GithubModule::githubFinished(QNetworkReply *reply)
 | 
				
			|||||||
        icon = QMessageBox::Critical;
 | 
					        icon = QMessageBox::Critical;
 | 
				
			||||||
        state = false;
 | 
					        state = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    reply->deleteLater();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QMessageBox messageBox;
 | 
					    QMessageBox messageBox;
 | 
				
			||||||
    messageBox.setText(messageTitle);
 | 
					    messageBox.setText(messageTitle);
 | 
				
			||||||
 | 
				
			|||||||
@ -29,6 +29,9 @@
 | 
				
			|||||||
#include <QDebug>
 | 
					#include <QDebug>
 | 
				
			||||||
#include <QGridLayout>
 | 
					#include <QGridLayout>
 | 
				
			||||||
#include <QMessageBox>
 | 
					#include <QMessageBox>
 | 
				
			||||||
 | 
					#include <QNetworkAccessManager>
 | 
				
			||||||
 | 
					#include <QNetworkReply>
 | 
				
			||||||
 | 
					#include <QNetworkRequest>
 | 
				
			||||||
#include <QPushButton>
 | 
					#include <QPushButton>
 | 
				
			||||||
#include <QUrl>
 | 
					#include <QUrl>
 | 
				
			||||||
#include <QWebElement>
 | 
					#include <QWebElement>
 | 
				
			||||||
@ -71,9 +74,7 @@ void GitreportModule::sendReportUsingGitreport(const QMap<QString, QString> info
 | 
				
			|||||||
    if (debug) qDebug() << "[GitreportModule]" << "[sendReportUsingGitreport]";
 | 
					    if (debug) qDebug() << "[GitreportModule]" << "[sendReportUsingGitreport]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    QWebElement document = webView->page()->mainFrame()->documentElement();
 | 
					    QWebElement document = webView->page()->mainFrame()->documentElement();
 | 
				
			||||||
    QWebElement captcha = document.findFirst(QString("input#captcha"));
 | 
					    QWebElement captchaKey = document.findFirst(QString("input#captcha"));
 | 
				
			||||||
    QWebElement captchaImg = document.findFirst(QString("img#[alt=captcha]"));
 | 
					 | 
				
			||||||
    QWebElement captchaKey = document.findFirst(QString("input#captcha_key"));
 | 
					 | 
				
			||||||
    QWebElement emailInput = document.findFirst(QString("input#email"));
 | 
					    QWebElement emailInput = document.findFirst(QString("input#email"));
 | 
				
			||||||
    QWebElement textArea = document.findFirst(QString("textarea#details"));
 | 
					    QWebElement textArea = document.findFirst(QString("textarea#details"));
 | 
				
			||||||
    QWebElement usernameInput = document.findFirst(QString("input#name"));
 | 
					    QWebElement usernameInput = document.findFirst(QString("input#name"));
 | 
				
			||||||
@ -82,12 +83,7 @@ void GitreportModule::sendReportUsingGitreport(const QMap<QString, QString> info
 | 
				
			|||||||
    usernameInput.setAttribute(QString("value"), info[QString("username")]);
 | 
					    usernameInput.setAttribute(QString("value"), info[QString("username")]);
 | 
				
			||||||
    emailInput.setAttribute(QString("value"), info[QString("password")]);
 | 
					    emailInput.setAttribute(QString("value"), info[QString("password")]);
 | 
				
			||||||
    textArea.setPlainText(info[QString("body")]);
 | 
					    textArea.setPlainText(info[QString("body")]);
 | 
				
			||||||
    // captcha
 | 
					    captchaKey.setAttribute(QString("value"), info[QString("captcha")]);
 | 
				
			||||||
    captchaImg.setAttribute(QString("src"), QString("/simple_captcha?code=%1&time=%2")
 | 
					 | 
				
			||||||
                            .arg(QString(CAPTCHA_KEY))
 | 
					 | 
				
			||||||
                            .arg(QString(CAPTCHA_TIME)));
 | 
					 | 
				
			||||||
    captchaKey.setAttribute(QString("value"), QString(CAPTCHA_KEY));
 | 
					 | 
				
			||||||
    captcha.setAttribute(QString("value"), QString(CAPTCHA_TEXT));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // send request
 | 
					    // send request
 | 
				
			||||||
    document.findFirst(QString("input[name=commit]")).evaluateJavaScript("this.click()");
 | 
					    document.findFirst(QString("input[name=commit]")).evaluateJavaScript("this.click()");
 | 
				
			||||||
@ -105,8 +101,17 @@ void GitreportModule::gitreportLoaded(const bool state)
 | 
				
			|||||||
    if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]";
 | 
					    if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]";
 | 
				
			||||||
    if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]" << ":" << "State" << state;
 | 
					    if (debug) qDebug() << "[GitreportModule]" << "[gitreportLoaded]" << ":" << "State" << state;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (state)
 | 
					    if (state) {
 | 
				
			||||||
        webView->setHidden(!debug);
 | 
					        webView->setHidden(!debug);
 | 
				
			||||||
 | 
					        // captcha
 | 
				
			||||||
 | 
					        QWebElement document = webView->page()->mainFrame()->documentElement();
 | 
				
			||||||
 | 
					        QWebElement captchaImg = document.findFirst(QString("input#captcha_key"));
 | 
				
			||||||
 | 
					        QString captchaUrl = QString(CAPTCHA_URL) + captchaImg.attribute(QString("value"));
 | 
				
			||||||
 | 
					        QNetworkRequest request(captchaUrl);
 | 
				
			||||||
 | 
					        manager.get(request);
 | 
				
			||||||
 | 
					        disconnect(&manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(setCaptcha(QNetworkReply *)));
 | 
				
			||||||
 | 
					        connect(&manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(setCaptcha(QNetworkReply *)));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        QMessageBox messageBox;
 | 
					        QMessageBox messageBox;
 | 
				
			||||||
        messageBox.setText(QApplication::translate("Reportabug", "Error!"));
 | 
					        messageBox.setText(QApplication::translate("Reportabug", "Error!"));
 | 
				
			||||||
@ -165,3 +170,20 @@ void GitreportModule::gitreportFinished(const bool state)
 | 
				
			|||||||
        break;
 | 
					        break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @fn setCaptcha
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GitreportModule::setCaptcha(QNetworkReply *reply)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (debug) qDebug() << "[setCaptcha]" << "[setCaptcha]";
 | 
				
			||||||
 | 
					    if (debug) qDebug() << "[setCaptcha]" << "[setCaptcha]" << ":" << "Error state" << reply->error();
 | 
				
			||||||
 | 
					    if (debug) qDebug() << "[setCaptcha]" << "[setCaptcha]" << ":" << "Reply size" << reply->readBufferSize();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    QByteArray answer = reply->readAll();
 | 
				
			||||||
 | 
					    QPixmap captcha;
 | 
				
			||||||
 | 
					    captcha.loadFromData(answer);
 | 
				
			||||||
 | 
					    mainWindow->setCaptchaImage(captcha);
 | 
				
			||||||
 | 
					    reply->deleteLater();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -29,6 +29,7 @@
 | 
				
			|||||||
#include <QObject>
 | 
					#include <QObject>
 | 
				
			||||||
#include <QWebView>
 | 
					#include <QWebView>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class QNetworkAccessManager;
 | 
				
			||||||
class Reportabug;
 | 
					class Reportabug;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
@ -37,7 +38,7 @@ class Reportabug;
 | 
				
			|||||||
 * creating an issue. Please visit [this page](https://gitreports.com/)
 | 
					 * creating an issue. Please visit [this page](https://gitreports.com/)
 | 
				
			||||||
 * and set up it for your repository.
 | 
					 * and set up it for your repository.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This module depends on QtWebKit module.
 | 
					 * This module depends on QtWebKit and QtNetwork modules.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
class GitreportModule : public QObject
 | 
					class GitreportModule : public QObject
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -81,6 +82,11 @@ private slots:
 | 
				
			|||||||
     * @param bool           state of web page loading
 | 
					     * @param bool           state of web page loading
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    void gitreportLoaded(const bool state);
 | 
					    void gitreportLoaded(const bool state);
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @brief method which will be called after loading captcha image
 | 
				
			||||||
 | 
					     * @param reply          reply of the request
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    void setCaptcha(QNetworkReply *reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@ -90,7 +96,11 @@ private:
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * @brief Reportabug class
 | 
					     * @brief Reportabug class
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    Reportabug *mainWindow;;
 | 
					    Reportabug *mainWindow;
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @brief manager for getting captcha
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    QNetworkAccessManager manager;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -84,6 +84,17 @@ void Reportabug::externalUpdateTab()
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @fn setCaptchaImage
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void Reportabug::setCaptchaImage(QPixmap captcha)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if (debug) qDebug() << "[Reportabug]" << "[setCaptchaImage]";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ui->label_captcha->setPixmap(captcha);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @fn createActions
 | 
					 * @fn createActions
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@ -167,7 +178,7 @@ void Reportabug::initModules()
 | 
				
			|||||||
    modules[1] = true;
 | 
					    modules[1] = true;
 | 
				
			||||||
    gitreport = new GitreportModule(this, debug);
 | 
					    gitreport = new GitreportModule(this, debug);
 | 
				
			||||||
    // 4 is a magic number. Seriously
 | 
					    // 4 is a magic number. Seriously
 | 
				
			||||||
    ui->verticalLayout->insertWidget(4, gitreport->webView);
 | 
					    ui->verticalLayout->insertWidget(5, gitreport->webView);
 | 
				
			||||||
#endif /* ENABLE_GITREPORT */
 | 
					#endif /* ENABLE_GITREPORT */
 | 
				
			||||||
#ifdef OWN_GITHUB_TOKEN
 | 
					#ifdef OWN_GITHUB_TOKEN
 | 
				
			||||||
    modules[2] = true;
 | 
					    modules[2] = true;
 | 
				
			||||||
@ -218,6 +229,7 @@ void Reportabug::sendReport()
 | 
				
			|||||||
    int number = getNumberByIndex(ui->comboBox->currentIndex());
 | 
					    int number = getNumberByIndex(ui->comboBox->currentIndex());
 | 
				
			||||||
    QMap<QString, QString> info;
 | 
					    QMap<QString, QString> info;
 | 
				
			||||||
    info[QString("body")] = ui->textEdit->toPlainText();
 | 
					    info[QString("body")] = ui->textEdit->toPlainText();
 | 
				
			||||||
 | 
					    info[QString("captcha")] = ui->lineEdit_captcha->text();
 | 
				
			||||||
    info[QString("password")] = ui->lineEdit_password->text();
 | 
					    info[QString("password")] = ui->lineEdit_password->text();
 | 
				
			||||||
    info[QString("title")] = ui->lineEdit_title->text();
 | 
					    info[QString("title")] = ui->lineEdit_title->text();
 | 
				
			||||||
    info[QString("username")] = ui->lineEdit_username->text();
 | 
					    info[QString("username")] = ui->lineEdit_username->text();
 | 
				
			||||||
@ -264,6 +276,7 @@ void Reportabug::updateTabs(const int index)
 | 
				
			|||||||
    ui->lineEdit_password->clear();
 | 
					    ui->lineEdit_password->clear();
 | 
				
			||||||
    ui->lineEdit_title->setText(QString(TAG_TITLE));
 | 
					    ui->lineEdit_title->setText(QString(TAG_TITLE));
 | 
				
			||||||
    ui->textEdit->setPlainText(QString(TAG_BODY));
 | 
					    ui->textEdit->setPlainText(QString(TAG_BODY));
 | 
				
			||||||
 | 
					    ui->lineEdit_captcha->clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // it is out of conditional because I don't want a lot of ifdef/endif
 | 
					    // it is out of conditional because I don't want a lot of ifdef/endif
 | 
				
			||||||
#ifdef ENABLE_GITREPORT
 | 
					#ifdef ENABLE_GITREPORT
 | 
				
			||||||
@ -273,12 +286,14 @@ void Reportabug::updateTabs(const int index)
 | 
				
			|||||||
        ui->widget_auth->setHidden(true);
 | 
					        ui->widget_auth->setHidden(true);
 | 
				
			||||||
        ui->widget_title->setHidden(true);
 | 
					        ui->widget_title->setHidden(true);
 | 
				
			||||||
        ui->textEdit->setHidden(true);
 | 
					        ui->textEdit->setHidden(true);
 | 
				
			||||||
 | 
					        ui->widget_captcha->setHidden(true);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#ifdef ENABLE_GITHUB
 | 
					#ifdef ENABLE_GITHUB
 | 
				
			||||||
    else if (number == 0) {
 | 
					    else if (number == 0) {
 | 
				
			||||||
        ui->widget_auth->setHidden(false);
 | 
					        ui->widget_auth->setHidden(false);
 | 
				
			||||||
        ui->widget_title->setHidden(false);
 | 
					        ui->widget_title->setHidden(false);
 | 
				
			||||||
        ui->textEdit->setHidden(false);
 | 
					        ui->textEdit->setHidden(false);
 | 
				
			||||||
 | 
					        ui->widget_captcha->setHidden(true);
 | 
				
			||||||
        ui->label_password->setText(QApplication::translate("Reportabug", "Password"));
 | 
					        ui->label_password->setText(QApplication::translate("Reportabug", "Password"));
 | 
				
			||||||
        ui->label_password->setToolTip(QApplication::translate("Reportabug", "GitHub account password"));
 | 
					        ui->label_password->setToolTip(QApplication::translate("Reportabug", "GitHub account password"));
 | 
				
			||||||
        ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "password"));
 | 
					        ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "password"));
 | 
				
			||||||
@ -290,6 +305,7 @@ void Reportabug::updateTabs(const int index)
 | 
				
			|||||||
        ui->widget_auth->setHidden(false);
 | 
					        ui->widget_auth->setHidden(false);
 | 
				
			||||||
        ui->widget_title->setHidden(true);
 | 
					        ui->widget_title->setHidden(true);
 | 
				
			||||||
        ui->textEdit->setHidden(false);
 | 
					        ui->textEdit->setHidden(false);
 | 
				
			||||||
 | 
					        ui->widget_captcha->setHidden(false);
 | 
				
			||||||
        ui->label_password->setText(QApplication::translate("Reportabug", "Email"));
 | 
					        ui->label_password->setText(QApplication::translate("Reportabug", "Email"));
 | 
				
			||||||
        ui->label_password->setToolTip(QApplication::translate("Reportabug", "Your email"));
 | 
					        ui->label_password->setToolTip(QApplication::translate("Reportabug", "Your email"));
 | 
				
			||||||
        ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "email"));
 | 
					        ui->lineEdit_password->setPlaceholderText(QApplication::translate("Reportabug", "email"));
 | 
				
			||||||
 | 
				
			|||||||
@ -59,6 +59,11 @@ public:
 | 
				
			|||||||
     * @brief method which is used for update tabs from external classes
 | 
					     * @brief method which is used for update tabs from external classes
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    void externalUpdateTab();
 | 
					    void externalUpdateTab();
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @brief method which sets captcha image
 | 
				
			||||||
 | 
					     * @param captcha        captcha image
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    void setCaptchaImage(QPixmap captcha);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public slots:
 | 
					public slots:
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 | 
				
			|||||||
@ -6,8 +6,8 @@
 | 
				
			|||||||
   <rect>
 | 
					   <rect>
 | 
				
			||||||
    <x>0</x>
 | 
					    <x>0</x>
 | 
				
			||||||
    <y>0</y>
 | 
					    <y>0</y>
 | 
				
			||||||
    <width>543</width>
 | 
					    <width>541</width>
 | 
				
			||||||
    <height>374</height>
 | 
					    <height>372</height>
 | 
				
			||||||
   </rect>
 | 
					   </rect>
 | 
				
			||||||
  </property>
 | 
					  </property>
 | 
				
			||||||
  <property name="windowTitle">
 | 
					  <property name="windowTitle">
 | 
				
			||||||
@ -109,6 +109,22 @@
 | 
				
			|||||||
      </property>
 | 
					      </property>
 | 
				
			||||||
     </widget>
 | 
					     </widget>
 | 
				
			||||||
    </item>
 | 
					    </item>
 | 
				
			||||||
 | 
					    <item>
 | 
				
			||||||
 | 
					     <widget class="QWidget" name="widget_captcha" native="true">
 | 
				
			||||||
 | 
					      <layout class="QHBoxLayout" name="horizontalLayout">
 | 
				
			||||||
 | 
					       <item>
 | 
				
			||||||
 | 
					        <widget class="QLabel" name="label_captcha">
 | 
				
			||||||
 | 
					         <property name="text">
 | 
				
			||||||
 | 
					          <string/>
 | 
				
			||||||
 | 
					         </property>
 | 
				
			||||||
 | 
					        </widget>
 | 
				
			||||||
 | 
					       </item>
 | 
				
			||||||
 | 
					       <item>
 | 
				
			||||||
 | 
					        <widget class="QLineEdit" name="lineEdit_captcha"/>
 | 
				
			||||||
 | 
					       </item>
 | 
				
			||||||
 | 
					      </layout>
 | 
				
			||||||
 | 
					     </widget>
 | 
				
			||||||
 | 
					    </item>
 | 
				
			||||||
    <item>
 | 
					    <item>
 | 
				
			||||||
     <widget class="QDialogButtonBox" name="buttonBox">
 | 
					     <widget class="QDialogButtonBox" name="buttonBox">
 | 
				
			||||||
      <property name="standardButtons">
 | 
					      <property name="standardButtons">
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user