From 75d161e0bd12c30086b490badc43e0b73cead8ee Mon Sep 17 00:00:00 2001 From: Brad Parker Date: Fri, 3 Aug 2018 21:14:27 -0400 Subject: [PATCH] Qt: make links in Help->About clickable, add documentation link --- intl/msg_hash_ja.h | 6 ++++-- intl/msg_hash_us.h | 6 ++++-- msg_hash.h | 1 + ui/drivers/qt/ui_qt_window.cpp | 15 ++++++++++++++- ui/drivers/ui_qt.cpp | 1 + ui/drivers/ui_qt.h | 1 + 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index bac4da32c1..e9c47d8414 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -3490,6 +3490,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_VIEW_OPTIONS_TITLE, "設定") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP, "ヘルプ(&H)") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, + "RetroArchについて") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_DOCUMENTATION, + "ドキュメント") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_NAME, "名前") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_CUSTOM_CORE, @@ -3572,8 +3576,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_ICONS, "アイコン") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_LIST, "一覧") -MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, - "RetroArchについて") MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS, "オーバーライド") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS, diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 30b3624891..9497d269d0 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -3762,6 +3762,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_VIEW_OPTIONS_TITLE, "Options") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP, "&Help") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, + "About RetroArch") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_DOCUMENTATION, + "Documentation") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_CUSTOM_CORE, "Load Custom Core...") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_CORE, @@ -3852,8 +3856,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_ICONS, "Icons") MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_LIST, "List") -MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, - "About RetroArch") MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS, "Overrides") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS, diff --git a/msg_hash.h b/msg_hash.h index f4cc694867..f5adeca60b 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1967,6 +1967,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_QT_COULD_NOT_UPDATE_PLAYLIST_ENTRY, MENU_ENUM_LABEL_VALUE_QT_PLEASE_FILL_OUT_REQUIRED_FIELDS, MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, + MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_DOCUMENTATION, MENU_LABEL(MIDI_INPUT), MENU_LABEL(MIDI_OUTPUT), diff --git a/ui/drivers/qt/ui_qt_window.cpp b/ui/drivers/qt/ui_qt_window.cpp index 0c9843923f..1678a1512d 100644 --- a/ui/drivers/qt/ui_qt_window.cpp +++ b/ui/drivers/qt/ui_qt_window.cpp @@ -1067,6 +1067,8 @@ MainWindow::MainWindow(QWidget *parent) : m_coreInfoLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); m_coreInfoLabel->setTextFormat(Qt::RichText); + m_coreInfoLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + m_coreInfoLabel->setOpenExternalLinks(true); m_coreInfoDock->setObjectName("coreInfoDock"); m_coreInfoDock->setProperty("default_area", Qt::RightDockWidgetArea); @@ -1542,6 +1544,7 @@ bool MainWindow::showMessageBox(QString msg, MessageBoxType msgType, Qt::WindowM msgBox->setWindowModality(modality); msgBox->setTextFormat(Qt::RichText); + msgBox->setTextInteractionFlags(Qt::TextBrowserInteraction); if (showDontAsk) { @@ -4551,13 +4554,18 @@ void MainWindow::showAbout() { QScopedPointer dialog(new QDialog()); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); - QString text = QString("RetroArch ") + PACKAGE_VERSION + "

" + "http://www.libretro.com"; + QString text = QString("RetroArch ") + PACKAGE_VERSION + + "

" + "www.libretro.com" + "

" + "www.retroarch.com"; QLabel *label = new QLabel(text, dialog.data()); QPixmap pix = getInvader(); QLabel *pixLabel = new QLabel(); label->setTextFormat(Qt::RichText); label->setAlignment(Qt::AlignCenter); + label->setTextInteractionFlags(Qt::TextBrowserInteraction); + label->setOpenExternalLinks(true); + pixLabel->setAlignment(Qt::AlignCenter); pixLabel->setPixmap(pix); @@ -4577,6 +4585,11 @@ void MainWindow::showAbout() dialog->exec(); } +void MainWindow::showDocs() +{ + QDesktopServices::openUrl(QUrl("http://docs.libretro.com/")); +} + const QPixmap getInvader() { QPixmap pix; diff --git a/ui/drivers/ui_qt.cpp b/ui/drivers/ui_qt.cpp index bd8dc918a8..6f33952208 100644 --- a/ui/drivers/ui_qt.cpp +++ b/ui/drivers/ui_qt.cpp @@ -324,6 +324,7 @@ static void* ui_companion_qt_init(void) viewMenu->addAction(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_MENU_VIEW_OPTIONS), mainwindow->viewOptionsDialog(), SLOT(showDialog())); helpMenu = menu->addMenu(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP)); + helpMenu->addAction(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_DOCUMENTATION)), mainwindow, SLOT(showDocs())); helpMenu->addAction(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT)) + "...", mainwindow, SLOT(showAbout())); helpMenu->addAction("About Qt...", qApp, SLOT(aboutQt())); diff --git a/ui/drivers/ui_qt.h b/ui/drivers/ui_qt.h index 6a11a8b52b..40b3f7635c 100644 --- a/ui/drivers/ui_qt.h +++ b/ui/drivers/ui_qt.h @@ -391,6 +391,7 @@ public slots: void deleteCurrentPlaylistItem(); void onFileDropWidgetContextMenuRequested(const QPoint &pos); void showAbout(); + void showDocs(); private slots: void onLoadCoreClicked(const QStringList &extensionFilters = QStringList());