diff --git a/DSView/CMakeLists.txt b/DSView/CMakeLists.txt index f96a5270..94586530 100644 --- a/DSView/CMakeLists.txt +++ b/DSView/CMakeLists.txt @@ -400,6 +400,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_ install(TARGETS ${PROJECT_NAME} DESTINATION bin/) install(DIRECTORY res DESTINATION share/${PROJECT_NAME}) install(FILES icons/logo.png DESTINATION share/${PROJECT_NAME} RENAME logo.png) +install(FILES ../NEWS DESTINATION share/${PROJECT_NAME}/res RENAME NEWS) install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/) install(FILES DSView.desktop DESTINATION /usr/share/applications/) diff --git a/DSView/DSView.qrc b/DSView/DSView.qrc index f560529f..5006620f 100644 --- a/DSView/DSView.qrc +++ b/DSView/DSView.qrc @@ -16,7 +16,6 @@ icons/protocol.png icons/logo_noColor.png icons/logo_color.png - icons/about.png icons/capture.png icons/stop.png icons/start.png @@ -32,7 +31,6 @@ icons/search-bar_dis.png icons/params_dis.png icons/gear.png - icons/wiki.png icons/wait.gif icons/instant_dis.png icons/start_dis.png @@ -64,5 +62,9 @@ icons/del.png icons/add_dis.png icons/del_dis.png + icons/about.png + icons/manual.png + icons/bug.png + icons/support.png diff --git a/DSView/darkstyle/style.qss b/DSView/darkstyle/style.qss index f23c1ea1..28636f46 100755 --- a/DSView/darkstyle/style.qss +++ b/DSView/darkstyle/style.qss @@ -609,7 +609,7 @@ background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.6 #4E4D4D, stop: 1 #302F2F); } -QComboBox:hover,QAbstractSpinBox:hover,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover +QComboBox:hover,QAbstractSpinBox:hover,QLineEdit:hover,QPlainTextEdit:hover,QAbstractView:hover,QTreeView:hover { border: 1px solid #606060; color: silver; diff --git a/DSView/icons/about.png b/DSView/icons/about.png old mode 100644 new mode 100755 index c8f40c62..94bac48d Binary files a/DSView/icons/about.png and b/DSView/icons/about.png differ diff --git a/DSView/icons/bug.png b/DSView/icons/bug.png new file mode 100755 index 00000000..3fc8004e Binary files /dev/null and b/DSView/icons/bug.png differ diff --git a/DSView/icons/dsl_logo.png b/DSView/icons/dsl_logo.png old mode 100644 new mode 100755 index d2502a28..de041211 Binary files a/DSView/icons/dsl_logo.png and b/DSView/icons/dsl_logo.png differ diff --git a/DSView/icons/logo_color.png b/DSView/icons/logo_color.png old mode 100644 new mode 100755 index 7a2e44eb..0761dd75 Binary files a/DSView/icons/logo_color.png and b/DSView/icons/logo_color.png differ diff --git a/DSView/icons/logo_noColor.png b/DSView/icons/logo_noColor.png old mode 100644 new mode 100755 index dc69820c..a532a178 Binary files a/DSView/icons/logo_noColor.png and b/DSView/icons/logo_noColor.png differ diff --git a/DSView/icons/manual.png b/DSView/icons/manual.png new file mode 100755 index 00000000..2927f4b6 Binary files /dev/null and b/DSView/icons/manual.png differ diff --git a/DSView/icons/support.png b/DSView/icons/support.png new file mode 100755 index 00000000..2903d702 Binary files /dev/null and b/DSView/icons/support.png differ diff --git a/DSView/icons/wiki.png b/DSView/icons/wiki.png deleted file mode 100644 index 8e06ac1d..00000000 Binary files a/DSView/icons/wiki.png and /dev/null differ diff --git a/DSView/pv/dialogs/about.cpp b/DSView/pv/dialogs/about.cpp index 93cd4dce..85254ea3 100644 --- a/DSView/pv/dialogs/about.cpp +++ b/DSView/pv/dialogs/about.cpp @@ -23,6 +23,11 @@ #include #include +#include +#include +#include +#include +#include #include "about.h" @@ -32,22 +37,59 @@ namespace dialogs { About::About(QWidget *parent) : DSDialog(parent, true) { - QPixmap pix(":/icons/dsl_logo.png"); - _logo = new QLabel(this); - _logo->setPixmap(pix); - _logo->setAlignment(Qt::AlignCenter); + setFixedHeight(360); - _info = new QLabel(this); - _info->setText(tr("%1 %2
%4") - .arg(QApplication::applicationName()) - .arg(QApplication::applicationVersion()) - .arg(QApplication::organizationDomain())); - _info->setOpenExternalLinks(true); - _info->setAlignment(Qt::AlignCenter); + #if defined(__x86_64__) || defined(_M_X64) + QString arch = "x64"; + #elif defined(__i386) || defined(_M_IX86) + QString arch = "x86"; + #endif + + QString version = tr("DSView %1 (%2)
") + .arg(QApplication::applicationVersion()) + .arg(arch); + + QString url = tr("Website: %1
" + "Gitbub: %2
" + "

") + .arg(QApplication::organizationDomain()) + .arg("https://github.com/DreamSourceLab/DSView"); + + QString thanks = tr("Special Thanks
" + "All backers on kickstarter
" + "All members of Sigrok project
" + "All contributors of open-source projects
" + "

") + .arg("https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone") + .arg("http://sigrok.org/"); + + QString changlogs = tr("Changelogs
"); + QDir dir(DS_RES_PATH); + QString filename = dir.absolutePath() + "/NEWS"; + QFile news(filename); + if (news.open(QIODevice::ReadOnly)) { + QTextStream stream(&news); + QString line; + while (!stream.atEnd()){ + line = stream.readLine(); + changlogs += line + "
"; + } + } + + QPixmap pix(":/icons/dsl_logo.png"); + QImage logo = pix.toImage(); + + QTextBrowser *about = new QTextBrowser(this); + about->setOpenExternalLinks(true); + about->setFrameStyle(QFrame::NoFrame); + QTextCursor cur = about->textCursor(); + cur.insertImage(logo); + cur.insertHtml("


"); + cur.insertHtml(version+url+thanks+changlogs); + about->moveCursor(QTextCursor::Start); QVBoxLayout *xlayout = new QVBoxLayout(); - xlayout->addWidget(_logo); - xlayout->addWidget(_info); + xlayout->addWidget(about); layout()->addLayout(xlayout); setTitle(tr("About")); diff --git a/DSView/pv/dialogs/about.h b/DSView/pv/dialogs/about.h index 59b14233..a82377e7 100644 --- a/DSView/pv/dialogs/about.h +++ b/DSView/pv/dialogs/about.h @@ -27,6 +27,8 @@ #include #include "dsdialog.h" +#include + namespace pv { namespace dialogs { @@ -37,10 +39,6 @@ class About : public DSDialog public: explicit About(QWidget *parent = 0); ~About(); - -private: - QLabel *_logo; - QLabel *_info; }; } // namespace dialogs diff --git a/DSView/pv/toolbars/logobar.cpp b/DSView/pv/toolbars/logobar.cpp index a7f64c21..5cae32b6 100644 --- a/DSView/pv/toolbars/logobar.cpp +++ b/DSView/pv/toolbars/logobar.cpp @@ -52,14 +52,23 @@ LogoBar::LogoBar(SigSession &session, QWidget *parent) : _logo_button.addAction(_about); connect(_about, SIGNAL(triggered()), this, SLOT(on_actionAbout_triggered())); - _wiki = new QAction(this); - _wiki->setText(QApplication::translate( - "File", "&Wiki", 0)); - _wiki->setIcon(QIcon::fromTheme("file", - QIcon(":/icons/wiki.png"))); - _wiki->setObjectName(QString::fromUtf8("actionWiki")); - _logo_button.addAction(_wiki); - connect(_wiki, SIGNAL(triggered()), this, SLOT(on_actionWiki_triggered())); + _manual = new QAction(this); + _manual->setText(QApplication::translate( + "File", "&Manual", 0)); + _manual->setIcon(QIcon::fromTheme("file", + QIcon(":/icons/manual.png"))); + _manual->setObjectName(QString::fromUtf8("actionManual")); + _logo_button.addAction(_manual); + connect(_manual, SIGNAL(triggered()), this, SLOT(on_actionManual_triggered())); + + _issue = new QAction(this); + _issue->setText(QApplication::translate( + "File", "&Bug Report", 0)); + _issue->setIcon(QIcon::fromTheme("file", + QIcon(":/icons/bug.png"))); + _issue->setObjectName(QString::fromUtf8("actionManual")); + _logo_button.addAction(_issue); + connect(_issue, SIGNAL(triggered()), this, SLOT(on_actionIssue_triggered())); _logo_button.setPopupMode(QToolButton::InstantPopup); _logo_button.setIcon(QIcon(":/icons/logo_noColor.png")); @@ -106,10 +115,18 @@ void LogoBar::on_actionAbout_triggered() dlg.exec(); } -void LogoBar::on_actionWiki_triggered() +void LogoBar::on_actionManual_triggered() { + QDir dir(QCoreApplication::applicationDirPath()); QDesktopServices::openUrl( - QUrl(QLatin1String("http://www.dreamsourcelab.com/wiki"))); + QUrl("file:///"+dir.absolutePath() + "/ug.pdf")); +} + +void LogoBar::on_actionIssue_triggered() +{ + QDir dir(QCoreApplication::applicationDirPath()); + QDesktopServices::openUrl( + QUrl(QLatin1String("https://github.com/DreamSourceLab/DSView/issues"))); } void LogoBar::enable_toggle(bool enable) diff --git a/DSView/pv/toolbars/logobar.h b/DSView/pv/toolbars/logobar.h index ad486b9e..021d3320 100644 --- a/DSView/pv/toolbars/logobar.h +++ b/DSView/pv/toolbars/logobar.h @@ -53,7 +53,8 @@ signals: private slots: void on_actionAbout_triggered(); - void on_actionWiki_triggered(); + void on_actionManual_triggered(); + void on_actionIssue_triggered(); private: bool _enable; @@ -62,7 +63,8 @@ private: QToolButton _logo_button; QAction *_about; - QAction *_wiki; + QAction *_manual; + QAction *_issue; };