chore: remove FileChooser AddExtensionForFilename (#15510)
This commit is contained in:
parent
f02f9ba9fb
commit
40619efb3b
1 changed files with 6 additions and 34 deletions
|
@ -130,20 +130,18 @@ class FileChooserDialog {
|
||||||
|
|
||||||
base::FilePath GetFileName() const {
|
base::FilePath GetFileName() const {
|
||||||
gchar* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog_));
|
gchar* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog_));
|
||||||
base::FilePath path = AddExtensionForFilename(filename);
|
const base::FilePath path(filename);
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<base::FilePath> GetFileNames() const {
|
std::vector<base::FilePath> GetFileNames() const {
|
||||||
std::vector<base::FilePath> paths;
|
std::vector<base::FilePath> paths;
|
||||||
GSList* filenames =
|
auto* filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog_));
|
||||||
gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog_));
|
for (auto* iter = filenames; iter != NULL; iter = iter->next) {
|
||||||
for (GSList* iter = filenames; iter != NULL; iter = g_slist_next(iter)) {
|
auto* filename = static_cast<char*>(iter->data);
|
||||||
base::FilePath path =
|
paths.emplace_back(filename);
|
||||||
AddExtensionForFilename(static_cast<char*>(iter->data));
|
g_free(filename);
|
||||||
g_free(iter->data);
|
|
||||||
paths.push_back(path);
|
|
||||||
}
|
}
|
||||||
g_slist_free(filenames);
|
g_slist_free(filenames);
|
||||||
return paths;
|
return paths;
|
||||||
|
@ -155,7 +153,6 @@ class FileChooserDialog {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void AddFilters(const Filters& filters);
|
void AddFilters(const Filters& filters);
|
||||||
base::FilePath AddExtensionForFilename(const gchar* filename) const;
|
|
||||||
|
|
||||||
atom::NativeWindowViews* parent_;
|
atom::NativeWindowViews* parent_;
|
||||||
atom::UnresponsiveSuppressor unresponsive_suppressor_;
|
atom::UnresponsiveSuppressor unresponsive_suppressor_;
|
||||||
|
@ -206,31 +203,6 @@ void FileChooserDialog::AddFilters(const Filters& filters) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
base::FilePath FileChooserDialog::AddExtensionForFilename(
|
|
||||||
const gchar* filename) const {
|
|
||||||
base::FilePath path(filename);
|
|
||||||
GtkFileFilter* selected_filter =
|
|
||||||
gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(dialog_));
|
|
||||||
if (!selected_filter)
|
|
||||||
return path;
|
|
||||||
|
|
||||||
GSList* filters = gtk_file_chooser_list_filters(GTK_FILE_CHOOSER(dialog_));
|
|
||||||
size_t i = g_slist_index(filters, selected_filter);
|
|
||||||
g_slist_free(filters);
|
|
||||||
if (i >= filters_.size())
|
|
||||||
return path;
|
|
||||||
|
|
||||||
const auto& extensions = filters_[i].second;
|
|
||||||
for (const auto& extension : extensions) {
|
|
||||||
if (extension == "*" ||
|
|
||||||
base::EndsWith(path.value(), "." + extension,
|
|
||||||
base::CompareCase::INSENSITIVE_ASCII))
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
return path.ReplaceExtension(extensions[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
bool ShowOpenDialog(const DialogSettings& settings,
|
bool ShowOpenDialog(const DialogSettings& settings,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue