Qt: make links in Help->About clickable, add documentation link

This commit is contained in:
Brad Parker 2018-08-03 21:14:27 -04:00
parent 5773f7071d
commit 75d161e0bd
6 changed files with 25 additions and 5 deletions

View File

@ -3490,6 +3490,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_VIEW_OPTIONS_TITLE,
"設定") "設定")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP,
"ヘルプ(&H)") "ヘルプ(&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_NAME,
"名前") "名前")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_CUSTOM_CORE, 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_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_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS,
"オーバーライド") "オーバーライド")
MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS, MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS,

View File

@ -3762,6 +3762,10 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_VIEW_OPTIONS_TITLE,
"Options") "Options")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP,
"&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, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_CUSTOM_CORE,
"Load Custom Core...") "Load Custom Core...")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_LOAD_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") "Icons")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_LIST, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_VIEW_TYPE_LIST,
"List") "List")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT,
"About RetroArch")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS, MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS,
"Overrides") "Overrides")
MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS, MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS,

View File

@ -1967,6 +1967,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_QT_COULD_NOT_UPDATE_PLAYLIST_ENTRY, 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_PLEASE_FILL_OUT_REQUIRED_FIELDS,
MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT, MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT,
MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_DOCUMENTATION,
MENU_LABEL(MIDI_INPUT), MENU_LABEL(MIDI_INPUT),
MENU_LABEL(MIDI_OUTPUT), MENU_LABEL(MIDI_OUTPUT),

View File

@ -1067,6 +1067,8 @@ MainWindow::MainWindow(QWidget *parent) :
m_coreInfoLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); m_coreInfoLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop);
m_coreInfoLabel->setTextFormat(Qt::RichText); m_coreInfoLabel->setTextFormat(Qt::RichText);
m_coreInfoLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
m_coreInfoLabel->setOpenExternalLinks(true);
m_coreInfoDock->setObjectName("coreInfoDock"); m_coreInfoDock->setObjectName("coreInfoDock");
m_coreInfoDock->setProperty("default_area", Qt::RightDockWidgetArea); m_coreInfoDock->setProperty("default_area", Qt::RightDockWidgetArea);
@ -1542,6 +1544,7 @@ bool MainWindow::showMessageBox(QString msg, MessageBoxType msgType, Qt::WindowM
msgBox->setWindowModality(modality); msgBox->setWindowModality(modality);
msgBox->setTextFormat(Qt::RichText); msgBox->setTextFormat(Qt::RichText);
msgBox->setTextInteractionFlags(Qt::TextBrowserInteraction);
if (showDontAsk) if (showDontAsk)
{ {
@ -4551,13 +4554,18 @@ void MainWindow::showAbout()
{ {
QScopedPointer<QDialog> dialog(new QDialog()); QScopedPointer<QDialog> dialog(new QDialog());
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok);
QString text = QString("RetroArch ") + PACKAGE_VERSION + "<br><br>" + "<a href=\"http://www.libretro.com/\">http://www.libretro.com</a>"; QString text = QString("RetroArch ") + PACKAGE_VERSION +
"<br><br>" + "<a href=\"http://www.libretro.com/\">www.libretro.com</a>"
"<br><br>" + "<a href=\"http://www.retroarch.com/\">www.retroarch.com</a>";
QLabel *label = new QLabel(text, dialog.data()); QLabel *label = new QLabel(text, dialog.data());
QPixmap pix = getInvader(); QPixmap pix = getInvader();
QLabel *pixLabel = new QLabel(); QLabel *pixLabel = new QLabel();
label->setTextFormat(Qt::RichText); label->setTextFormat(Qt::RichText);
label->setAlignment(Qt::AlignCenter); label->setAlignment(Qt::AlignCenter);
label->setTextInteractionFlags(Qt::TextBrowserInteraction);
label->setOpenExternalLinks(true);
pixLabel->setAlignment(Qt::AlignCenter); pixLabel->setAlignment(Qt::AlignCenter);
pixLabel->setPixmap(pix); pixLabel->setPixmap(pix);
@ -4577,6 +4585,11 @@ void MainWindow::showAbout()
dialog->exec(); dialog->exec();
} }
void MainWindow::showDocs()
{
QDesktopServices::openUrl(QUrl("http://docs.libretro.com/"));
}
const QPixmap getInvader() const QPixmap getInvader()
{ {
QPixmap pix; QPixmap pix;

View File

@ -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())); 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 = 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(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT)) + "...", mainwindow, SLOT(showAbout()));
helpMenu->addAction("About Qt...", qApp, SLOT(aboutQt())); helpMenu->addAction("About Qt...", qApp, SLOT(aboutQt()));

View File

@ -391,6 +391,7 @@ public slots:
void deleteCurrentPlaylistItem(); void deleteCurrentPlaylistItem();
void onFileDropWidgetContextMenuRequested(const QPoint &pos); void onFileDropWidgetContextMenuRequested(const QPoint &pos);
void showAbout(); void showAbout();
void showDocs();
private slots: private slots:
void onLoadCoreClicked(const QStringList &extensionFilters = QStringList()); void onLoadCoreClicked(const QStringList &extensionFilters = QStringList());