commit f441590c8e0b5e970fbdd656198ec4993dfecb43
Author: Guillaume Munch <[email protected]>
Date:   Mon Nov 2 18:19:40 2015 +0000

    Add "Open Containing Directory" button to the log dialog (#9211, #9834)
    
    It takes the place of the "Copy to Clipboard" button which was redundant.

diff --git a/src/frontends/qt4/GuiLog.cpp b/src/frontends/qt4/GuiLog.cpp
index 14e7aaf..427e989 100644
--- a/src/frontends/qt4/GuiLog.cpp
+++ b/src/frontends/qt4/GuiLog.cpp
@@ -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 =
diff --git a/src/frontends/qt4/GuiLog.h b/src/frontends/qt4/GuiLog.h
index 2a9ebb6..8159836 100644
--- a/src/frontends/qt4/GuiLog.h
+++ b/src/frontends/qt4/GuiLog.h
@@ -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);
 
diff --git a/src/frontends/qt4/ui/LogUi.ui b/src/frontends/qt4/ui/LogUi.ui
index ddf6ebc..f2497fe 100644
--- a/src/frontends/qt4/ui/LogUi.ui
+++ b/src/frontends/qt4/ui/LogUi.ui
@@ -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>

Reply via email to