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;
};