qBittorrent
Private::Converter Class Referencefinal

#include <profile_p.h>

Inheritance diagram for Private::Converter:
Collaboration diagram for Private::Converter:

Public Member Functions

 Converter (const QString &basePath)
 
QString toPortablePath (const QString &path) const override
 
QString fromPortablePath (const QString &portablePath) const override
 
- Public Member Functions inherited from Private::PathConverter
virtual ~PathConverter ()=default
 

Private Attributes

QDir m_baseDir
 

Detailed Description

Definition at line 136 of file profile_p.h.

Constructor & Destructor Documentation

◆ Converter()

Private::Converter::Converter ( const QString &  basePath)
explicit

Definition at line 190 of file profile_p.cpp.

191  : m_baseDir {basePath}
192 {
193  m_baseDir.makeAbsolute();
194 }

References m_baseDir.

Member Function Documentation

◆ fromPortablePath()

QString Private::Converter::fromPortablePath ( const QString &  portablePath) const
overridevirtual

Implements Private::PathConverter.

Definition at line 214 of file profile_p.cpp.

215 {
216  if (portablePath.isEmpty() || QDir::isAbsolutePath(portablePath))
217  return portablePath;
218 
219  return QDir::cleanPath(m_baseDir.absoluteFilePath(portablePath));
220 }

◆ toPortablePath()

QString Private::Converter::toPortablePath ( const QString &  path) const
overridevirtual

Implements Private::PathConverter.

Definition at line 196 of file profile_p.cpp.

197 {
198  if (path.isEmpty() || m_baseDir.path().isEmpty())
199  return path;
200 
201 #ifdef Q_OS_WIN
202  if (QDir::isAbsolutePath(path))
203  {
204  const QChar driveLeter = path[0].toUpper();
205  const QChar baseDriveLetter = m_baseDir.path()[0].toUpper();
206  const bool onSameDrive = (driveLeter.category() == QChar::Letter_Uppercase) && (driveLeter == baseDriveLetter);
207  if (!onSameDrive)
208  return path;
209  }
210 #endif
211  return m_baseDir.relativeFilePath(path);
212 }

Member Data Documentation

◆ m_baseDir

QDir Private::Converter::m_baseDir
private

Definition at line 144 of file profile_p.h.

Referenced by Converter().


The documentation for this class was generated from the following files: