mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-14 05:07:10 +02:00
Fix default export directory in flatpak
This commit is contained in:
parent
9eb15f7b17
commit
916926bfa6
5 changed files with 14 additions and 12 deletions
|
@ -25,7 +25,7 @@ DownloadPathBox::DownloadPathBox(
|
|||
, _path(Core::App().settings().downloadPath())
|
||||
, _pathBookmark(Core::App().settings().downloadPathBookmark())
|
||||
, _group(std::make_shared<Ui::RadioenumGroup<Directory>>(typeFromPath(_path)))
|
||||
, _default(Core::App().canReadDefaultDownloadPath(true)
|
||||
, _default(Core::App().canReadDefaultDownloadPath()
|
||||
? object_ptr<Ui::Radioenum<Directory>>(
|
||||
this,
|
||||
_group,
|
||||
|
@ -149,7 +149,7 @@ void DownloadPathBox::setPathText(const QString &text) {
|
|||
DownloadPathBox::Directory DownloadPathBox::typeFromPath(
|
||||
const QString &path) {
|
||||
if (path.isEmpty()) {
|
||||
return Core::App().canReadDefaultDownloadPath(true)
|
||||
return Core::App().canReadDefaultDownloadPath()
|
||||
? Directory::Downloads
|
||||
: Directory::Temp;
|
||||
} else if (path == FileDialog::Tmp()) {
|
||||
|
|
|
@ -737,14 +737,12 @@ void Application::saveSettings() {
|
|||
Local::writeSettings();
|
||||
}
|
||||
|
||||
bool Application::canReadDefaultDownloadPath(bool always) const {
|
||||
if (KSandbox::isInside()
|
||||
&& (always || settings().downloadPath().isEmpty())) {
|
||||
const auto path = QStandardPaths::writableLocation(
|
||||
QStandardPaths::DownloadLocation);
|
||||
return base::CanReadDirectory(path);
|
||||
}
|
||||
return true;
|
||||
bool Application::canReadDefaultDownloadPath() const {
|
||||
return KSandbox::isInside()
|
||||
? base::CanReadDirectory(
|
||||
QStandardPaths::writableLocation(
|
||||
QStandardPaths::DownloadLocation))
|
||||
: true;
|
||||
}
|
||||
|
||||
bool Application::canSaveFileWithoutAskingForPath() const {
|
||||
|
|
|
@ -209,7 +209,7 @@ public:
|
|||
void saveSettingsDelayed(crl::time delay = kDefaultSaveDelay);
|
||||
void saveSettings();
|
||||
|
||||
[[nodiscard]] bool canReadDefaultDownloadPath(bool always = false) const;
|
||||
[[nodiscard]] bool canReadDefaultDownloadPath() const;
|
||||
[[nodiscard]] bool canSaveFileWithoutAskingForPath() const;
|
||||
|
||||
// Fallback config and proxy.
|
||||
|
|
|
@ -294,7 +294,9 @@ void SettingsWidget::addLocationLabel(
|
|||
}) | rpl::distinct_until_changed(
|
||||
) | rpl::map([=](const QString &path) {
|
||||
const auto text = IsDefaultPath(_session, path)
|
||||
? Core::App().canReadDefaultDownloadPath()
|
||||
? u"Downloads/"_q + File::DefaultDownloadPathFolder(_session)
|
||||
: tr::lng_download_path_temp(tr::now)
|
||||
: path;
|
||||
return Ui::Text::Link(
|
||||
QDir::toNativeSeparators(text),
|
||||
|
@ -341,7 +343,9 @@ void SettingsWidget::addFormatAndLocationLabel(
|
|||
}) | rpl::distinct_until_changed(
|
||||
) | rpl::map([=](const QString &path) {
|
||||
const auto text = IsDefaultPath(_session, path)
|
||||
? Core::App().canReadDefaultDownloadPath()
|
||||
? u"Downloads/"_q + File::DefaultDownloadPathFolder(_session)
|
||||
: tr::lng_download_path_temp(tr::now)
|
||||
: path;
|
||||
return Ui::Text::Link(
|
||||
QDir::toNativeSeparators(text),
|
||||
|
|
|
@ -1106,7 +1106,7 @@ void SetupDataStorage(
|
|||
auto pathtext = Core::App().settings().downloadPathValue(
|
||||
) | rpl::map([](const QString &text) {
|
||||
if (text.isEmpty()) {
|
||||
return Core::App().canReadDefaultDownloadPath(true)
|
||||
return Core::App().canReadDefaultDownloadPath()
|
||||
? tr::lng_download_path_default(tr::now)
|
||||
: tr::lng_download_path_temp(tr::now);
|
||||
} else if (text == FileDialog::Tmp()) {
|
||||
|
|
Loading…
Add table
Reference in a new issue