forked from Pissandshittium/pissandshittium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathselect_file_dialog_linux.cc
40 lines (31 loc) · 1.16 KB
/
select_file_dialog_linux.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// This file implements common select dialog functionality between GTK and KDE.
#include "ui/shell_dialogs/select_file_dialog_linux.h"
#include "base/files/file_util.h"
#include "base/notreached.h"
#include "base/threading/thread_restrictions.h"
namespace ui {
base::FilePath* SelectFileDialogLinux::last_saved_path_ = nullptr;
base::FilePath* SelectFileDialogLinux::last_opened_path_ = nullptr;
SelectFileDialogLinux::SelectFileDialogLinux(
Listener* listener,
std::unique_ptr<ui::SelectFilePolicy> policy)
: SelectFileDialog(listener, std::move(policy)) {
if (!last_saved_path_) {
last_saved_path_ = new base::FilePath();
last_opened_path_ = new base::FilePath();
}
}
SelectFileDialogLinux::~SelectFileDialogLinux() = default;
void SelectFileDialogLinux::ListenerDestroyed() {
listener_ = nullptr;
}
bool SelectFileDialogLinux::CallDirectoryExistsOnUIThread(
const base::FilePath& path) {
base::ScopedAllowBlocking scoped_allow_blocking;
return base::DirectoryExists(path);
}
} // namespace ui