Skip to content

Commit 5545c93

Browse files
committed
qml: added getting custom datadir for display
1 parent b80e167 commit 5545c93

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

src/qml/models/options_model.cpp

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,32 @@ QUrl OptionsQmlModel::getDefaultDataDirectory()
130130
return QUrl::fromLocalFile(path);
131131
}
132132

133-
void OptionsQmlModel::setCustomDataDirArgs(QString path)
133+
QString OptionsQmlModel::setCustomDataDirArgs(QString path)
134134
{
135135
if (!path.isEmpty()) {
136136
// TODO: add actual custom data wiring
137+
#ifdef __ANDROID__
138+
QString uri = path;
139+
QString originalPrefix = "content://com.android.externalstorage.documents/tree/primary%3A";
140+
QString newPrefix = "/storage/self/primary/";
141+
QString path = uri.replace(originalPrefix, newPrefix);
142+
#else
143+
path = QUrl(path).toLocalFile();
144+
#endif // __ANDROID__
137145
qDebug() << "PlaceHolder: Created data directory: " << path;
146+
147+
Q_EMIT customDataDirStringChanged(path);
148+
return path;
138149
}
150+
return QString();
151+
}
152+
153+
QString OptionsQmlModel::getCustomDataDirString()
154+
{
155+
#ifdef __ANDROID__
156+
m_custom_datadir_string = m_custom_datadir_string.replace("content://com.android.externalstorage.documents/tree/primary%3A", "/storage/self/primary/");
157+
#else
158+
m_custom_datadir_string = QUrl(m_custom_datadir_string).toLocalFile();
159+
#endif // __ANDROID__
160+
return m_custom_datadir_string;
139161
}

src/qml/models/options_model.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ class OptionsQmlModel : public QObject
6262
void setUpnp(bool new_upnp);
6363
QString getDefaultDataDirString();
6464
QUrl getDefaultDataDirectory();
65-
Q_INVOKABLE void setCustomDataDirArgs(QString path);
65+
Q_INVOKABLE QString setCustomDataDirArgs(QString path);
66+
Q_INVOKABLE QString getCustomDataDirString();
6667

6768
public Q_SLOTS:
6869
void setCustomDataDirString(const QString &new_custom_datadir_string) {

0 commit comments

Comments
 (0)