diff options
author | Thomas Preud'homme <robotux@celest.fr> | 2013-01-04 14:50:19 +0100 |
---|---|---|
committer | Thomas Preud'homme <robotux@celest.fr> | 2013-01-04 14:50:19 +0100 |
commit | 8f9f382e1c97cab2e72e97495650c73ac4b97314 (patch) | |
tree | 78510a0d81368c09b56f444fb19bb132c8bc3009 /HelpDialog.cpp |
Imported Upstream version 0.3.0.5
Diffstat (limited to 'HelpDialog.cpp')
-rw-r--r-- | HelpDialog.cpp | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/HelpDialog.cpp b/HelpDialog.cpp new file mode 100644 index 0000000..c9137e9 --- /dev/null +++ b/HelpDialog.cpp @@ -0,0 +1,175 @@ +/** \file HelpDialog.cpp +\brief Define the help dialog +\author alpha_one_x86 +\version 0.3 +\date 2010 +\licence GPL3, see the file COPYING */ + +#include "HelpDialog.h" + +#include <QTreeWidgetItem> +#include <QApplication> + +/// \brief Construct the object +HelpDialog::HelpDialog() : + ui(new Ui::HelpDialog) +{ + ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); + ui->setupUi(this); + reloadTextValue(); + #ifdef ULTRACOPIER_DEBUG + connect(debug_engine_instance,SIGNAL(newDebugInformation()),this,SLOT(addDebugText())); + connect(ui->pushButtonSaveBugReport,SIGNAL(clicked()),debug_engine_instance,SLOT(saveBugReport())); + #else // ULTRACOPIER_DEBUG + ui->lineEditInsertDebug->hide(); + ui->debugView->hide(); + ui->pushButtonSaveBugReport->hide(); + ui->pushButtonCrash->hide(); + this->setMaximumSize(QSize(500,128)); + /*timeToSetText.setInterval(250); + timeToSetText.setSingleShot(true); + connect(&timeToSetText,SIGNAL(timeout()),this,SLOT(showDebugText()));*/ + ui->pushButtonClose->hide(); + #endif // ULTRACOPIER_DEBUG + //connect the about Qt + connect(ui->pushButtonAboutQt,SIGNAL(toggled(bool)),qApp,SLOT(aboutQt())); +} + +/// \brief Destruct the object +HelpDialog::~HelpDialog() +{ + delete ui; +} + +/// \brief To re-translate the ui +void HelpDialog::changeEvent(QEvent *e) +{ + QDialog::changeEvent(e); + switch (e->type()) { + case QEvent::LanguageChange: + ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); + ui->retranslateUi(this); + reloadTextValue(); + break; + default: + break; + } +} + +/// \brief To reload the text value +void HelpDialog::reloadTextValue() +{ + ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); + QString text=ui->label_ultracopier->text(); + text=text.replace("%1",ULTRACOPIER_VERSION); + ui->label_ultracopier->setText(text); + + text=ui->label_description->text(); + #ifdef ULTRACOPIER_VERSION_PORTABLE + #ifdef ULTRACOPIER_VERSION_PORTABLEAPPS + text=text.replace("%1",tr("For http://portableapps.com/")); + #else + text=text.replace("%1",tr("Portable version")); + #endif + #else + text=text.replace("%1",tr("Normal version")); + #endif + ui->label_description->setText(text); + + text=ui->label_site->text(); + text=text.replace("%1",tr("http://ultracopier.first-world.info/")); + ui->label_site->setText(text); + + text=ui->label_platform->text(); + text=text.replace("%1",ULTRACOPIER_PLATFORM_NAME); + ui->label_platform->setText(text); +} + +#ifdef ULTRACOPIER_DEBUG +/// \brief Add debug text +void HelpDialog::addDebugText() +{ + QList<DebugEngine::ItemOfDebug> returnedList=debug_engine_instance->getItemList(); + QTreeWidgetItem * item; + QBrush brush; + QFont functionFont; + functionFont.setItalic(true); + functionFont.setUnderline(true); + QFont timeFont; + timeFont.setBold(true); + QFont noteFont; + noteFont.setBold(true); + noteFont.setPointSize(15); + int index=0; + int loop_size=returnedList.size(); + while(index<loop_size) + { + item=new QTreeWidgetItem(ui->debugView,QStringList() + << returnedList.at(index).time + << returnedList.at(index).file + << returnedList.at(index).function + << returnedList.at(index).location + << returnedList.at(index).text); + switch(returnedList.at(index).level) + { + case DebugLevel_custom_Information: + brush=QBrush(QColor(94,165,255)); + break; + case DebugLevel_custom_Critical: + brush=QBrush(QColor(255,0,0)); + break; + case DebugLevel_custom_Warning: + brush=QBrush(QColor(255,178,0)); + break; + case DebugLevel_custom_Notice: + brush=QBrush(QColor(128,128,128)); + break; + case DebugLevel_custom_UserNote: + brush=QBrush(QColor(0,0,0)); + break; + } + item->setForeground(0,brush); + item->setFont(0,timeFont); + item->setForeground(1,brush); + item->setForeground(2,brush); + item->setFont(2,functionFont); + item->setForeground(3,brush); + item->setForeground(4,brush); + if(returnedList.at(index).level==DebugLevel_custom_UserNote) + { + item->setFont(0,noteFont); + item->setFont(1,noteFont); + item->setFont(2,noteFont); + item->setFont(3,noteFont); + item->setFont(4,noteFont); + } + ui->debugView->insertTopLevelItem(ui->debugView->columnCount(),item); + index++; + } + if(loop_size==ULTRACOPIER_DEBUG_MAX_GUI_LINE) + { + item=new QTreeWidgetItem(ui->debugView,QStringList() << "..."); + ui->debugView->insertTopLevelItem(ui->debugView->columnCount(),item); + } +} + +void HelpDialog::on_lineEditInsertDebug_returnPressed() +{ + DebugEngine::addDebugNote(ui->lineEditInsertDebug->text()); + ui->lineEditInsertDebug->clear(); + ui->debugView->scrollToBottom(); +} + +#endif // ULTRACOPIER_DEBUG + +void HelpDialog::on_pushButtonAboutQt_clicked() +{ + QApplication::aboutQt(); +} + +void HelpDialog::on_pushButtonCrash_clicked() +{ + int a=0; + int *b=NULL; + *b=3/a; +} |