Add "Open Containing Directory" button to the log dialog (#9211, #9834)

It takes the place of the "Copy to Clipboard" button which was redundant.
This commit is contained in:
Guillaume Munch 2015-11-02 18:19:40 +00:00
parent 5920b231f4
commit f441590c8e
3 changed files with 24 additions and 2 deletions

View File

@ -24,8 +24,10 @@
#include "support/FileName.h"
#include "support/gettext.h"
#include <QDesktopServices>
#include <QTextBrowser>
#include <QSyntaxHighlighter>
#include <QUrl>
#include <QClipboard>
#include <fstream>
@ -189,6 +191,23 @@ void GuiLog::on_nextWarningPB_clicked()
}
void GuiLog::on_openDirPB_clicked()
{
support::FileName dir = logfile_.onlyPath();
if (!dir.exists())
return;
QUrl qdir(toqstr(from_utf8("file://" + dir.absFileName())),
QUrl::StrictMode);
// Give hints in case of bugs
if (!qdir.isValid()) {
LYXERR0("QUrl is invalid!");
return;
}
if (!QDesktopServices::openUrl(qdir))
LYXERR0("Unable to open QUrl even though dir exists!");
}
void GuiLog::goTo(QRegExp const & exp) const
{
QTextCursor const newc =

View File

@ -41,6 +41,8 @@ private Q_SLOTS:
void on_nextErrorPB_clicked();
/// jump to next warning
void on_nextWarningPB_clicked();
/// open containing directory
void on_openDirPB_clicked();
/// Log type changed
void typeChanged(int);

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0" >
<class>LogUi</class>
<widget class="QDialog" name="LogUi" >
@ -105,9 +106,9 @@
</spacer>
</item>
<item row="4" column="0" colspan="2" >
<widget class="QPushButton" name="copyPB" >
<widget class="QPushButton" name="openDirPB" >
<property name="text" >
<string>Copy to Clip&amp;board</string>
<string>&amp;Open Containing Directory</string>
</property>
</widget>
</item>