]> granicus.if.org Git - transmission/commitdiff
Use native separators for path button and free space label tooltips. Improve path...
authorMike Gelfand <mikedld@mikedld.com>
Wed, 15 Apr 2015 00:08:24 +0000 (00:08 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Wed, 15 Apr 2015 00:08:24 +0000 (00:08 +0000)
qt/freespace-label.cc
qt/path-button.cc

index e80a8385a1e8b32c44eec1fa210f7ac7e24087fd..16ce02f15661986b104e8251385954752ffb8dca 100644 (file)
@@ -7,6 +7,8 @@
  * $Id$
  */
 
+#include <QDir>
+
 #include <libtransmission/transmission.h>
 #include <libtransmission/variant.h>
 
@@ -98,7 +100,7 @@ FreespaceLabel::onSessionExecuted (int64_t tag, const QString& result, tr_varian
   const char * path = 0;
   tr_variantDictFindStr (arguments, TR_KEY_path, &path, &len);
   str = QString::fromUtf8 (path, len);
-  setToolTip (str);
+  setToolTip (QDir::toNativeSeparators (str));
 
   myTimer.start ();
 }
index 75cb891142ca5ee2715057bcaf16505c9ad75ac1..634ff81e67ffbdb4ab8d10ff310a2fb190e8a6a5 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include <QApplication>
+#include <QDir>
 #include <QFileDialog>
 #include <QFileIconProvider>
 #include <QFileInfo>
@@ -63,7 +64,7 @@ TrPathButton::setPath (const QString& path)
   if (myPath == path)
     return;
 
-  myPath = Utils::removeTrailingDirSeparator (path);
+  myPath = QDir::toNativeSeparators (Utils::removeTrailingDirSeparator (path));
 
   updateAppearance ();
 
@@ -114,7 +115,20 @@ TrPathButton::onClicked ()
     dialog->setOption (QFileDialog::ShowDirsOnly);
   if (!myNameFilter.isEmpty ())
     dialog->setNameFilter (myNameFilter);
-  dialog->selectFile (myPath);
+
+  const QFileInfo pathInfo (myPath);
+  if (!myPath.isEmpty () && pathInfo.exists ())
+    {
+      if (pathInfo.isDir ())
+        {
+          dialog->setDirectory (pathInfo.absoluteFilePath ());
+        }
+      else
+        {
+          dialog->setDirectory (pathInfo.absolutePath ());
+          dialog->selectFile (pathInfo.fileName ());
+        }
+    }
 
   connect (dialog, SIGNAL (fileSelected (QString)), this, SLOT (onFileSelected (QString)));