mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:27:35 +00:00
Spreadsheet: Use ByteString for file paths
This commit is contained in:
parent
44ca55aaf8
commit
90240c0e02
7 changed files with 26 additions and 26 deletions
|
@ -177,7 +177,7 @@ void CSVImportDialogPage::update_preview()
|
|||
m_data_preview_table_view->update();
|
||||
}
|
||||
|
||||
ErrorOr<Vector<NonnullRefPtr<Sheet>>, ByteString> ImportDialog::make_and_run_for(GUI::Window& parent, StringView mime, String const& filename, Core::File& file, Workbook& workbook)
|
||||
ErrorOr<Vector<NonnullRefPtr<Sheet>>, ByteString> ImportDialog::make_and_run_for(GUI::Window& parent, StringView mime, ByteString const& filename, Core::File& file, Workbook& workbook)
|
||||
{
|
||||
auto wizard = GUI::WizardDialog::create(&parent).release_value_but_fixme_should_propagate_errors();
|
||||
wizard->set_title("File Import Wizard");
|
||||
|
@ -247,7 +247,7 @@ ErrorOr<Vector<NonnullRefPtr<Sheet>>, ByteString> ImportDialog::make_and_run_for
|
|||
} else {
|
||||
auto page = GUI::WizardPage::create(
|
||||
"Import File Format"sv,
|
||||
ByteString::formatted("Select the format you wish to import '{}' as", LexicalPath::basename(filename.to_byte_string())))
|
||||
ByteString::formatted("Select the format you wish to import '{}' as", LexicalPath::basename(filename)))
|
||||
.release_value_but_fixme_should_propagate_errors();
|
||||
|
||||
page->on_next_page = [] { return nullptr; };
|
||||
|
|
|
@ -55,7 +55,7 @@ private:
|
|||
};
|
||||
|
||||
struct ImportDialog {
|
||||
static ErrorOr<Vector<NonnullRefPtr<Sheet>>, ByteString> make_and_run_for(GUI::Window& parent, StringView mime, String const& filename, Core::File& file, Workbook&);
|
||||
static ErrorOr<Vector<NonnullRefPtr<Sheet>>, ByteString> make_and_run_for(GUI::Window& parent, StringView mime, ByteString const& filename, Core::File& file, Workbook&);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, Vector<NonnullR
|
|||
auto response = FileSystemAccessClient::Client::the().open_file(window(), options);
|
||||
if (response.is_error())
|
||||
return;
|
||||
load_file(MUST(String::from_byte_string(response.value().filename())), response.value().stream());
|
||||
load_file(response.value().filename(), response.value().stream());
|
||||
});
|
||||
|
||||
m_import_action = GUI::Action::create("Import Sheets...", [&](auto&) {
|
||||
|
@ -150,7 +150,7 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, Vector<NonnullR
|
|||
if (response.is_error())
|
||||
return;
|
||||
|
||||
import_sheets(MUST(String::from_byte_string(response.value().filename())), response.value().stream());
|
||||
import_sheets(response.value().filename(), response.value().stream());
|
||||
});
|
||||
|
||||
m_save_action = GUI::CommonActions::make_save_action([&](auto&) {
|
||||
|
@ -162,7 +162,7 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, Vector<NonnullR
|
|||
auto response = FileSystemAccessClient::Client::the().request_file(window(), current_filename(), Core::File::OpenMode::Write);
|
||||
if (response.is_error())
|
||||
return;
|
||||
save(MUST(String::from_byte_string(response.value().filename())), response.value().stream());
|
||||
save(response.value().filename(), response.value().stream());
|
||||
});
|
||||
|
||||
m_save_as_action = GUI::CommonActions::make_save_as_action([&](auto&) {
|
||||
|
@ -170,7 +170,7 @@ SpreadsheetWidget::SpreadsheetWidget(GUI::Window& parent_window, Vector<NonnullR
|
|||
auto response = FileSystemAccessClient::Client::the().save_file(window(), name, "sheets");
|
||||
if (response.is_error())
|
||||
return;
|
||||
save(MUST(String::from_byte_string(response.value().filename())), response.value().stream());
|
||||
save(response.value().filename(), response.value().stream());
|
||||
update_window_title();
|
||||
});
|
||||
|
||||
|
@ -560,7 +560,7 @@ void SpreadsheetWidget::change_cell_static_color_format(Spreadsheet::FormatType
|
|||
apply_color_to_selected_cells(dialog->color());
|
||||
}
|
||||
|
||||
void SpreadsheetWidget::save(String const& filename, Core::File& file)
|
||||
void SpreadsheetWidget::save(ByteString const& filename, Core::File& file)
|
||||
{
|
||||
auto result = m_workbook->write_to_file(filename, file);
|
||||
if (result.is_error()) {
|
||||
|
@ -569,10 +569,10 @@ void SpreadsheetWidget::save(String const& filename, Core::File& file)
|
|||
}
|
||||
undo_stack().set_current_unmodified();
|
||||
window()->set_modified(false);
|
||||
GUI::Application::the()->set_most_recently_open_file(filename.to_byte_string());
|
||||
GUI::Application::the()->set_most_recently_open_file(filename);
|
||||
}
|
||||
|
||||
void SpreadsheetWidget::load_file(String const& filename, Core::File& file)
|
||||
void SpreadsheetWidget::load_file(ByteString const& filename, Core::File& file)
|
||||
{
|
||||
auto result = m_workbook->open_file(filename, file);
|
||||
if (result.is_error()) {
|
||||
|
@ -592,10 +592,10 @@ void SpreadsheetWidget::load_file(String const& filename, Core::File& file)
|
|||
|
||||
setup_tabs(m_workbook->sheets());
|
||||
update_window_title();
|
||||
GUI::Application::the()->set_most_recently_open_file(filename.to_byte_string());
|
||||
GUI::Application::the()->set_most_recently_open_file(filename);
|
||||
}
|
||||
|
||||
void SpreadsheetWidget::import_sheets(String const& filename, Core::File& file)
|
||||
void SpreadsheetWidget::import_sheets(ByteString const& filename, Core::File& file)
|
||||
{
|
||||
auto result = m_workbook->import_file(filename, file);
|
||||
if (result.is_error()) {
|
||||
|
@ -733,7 +733,7 @@ ErrorOr<void> SpreadsheetWidget::initialize_menubar(GUI::Window& window)
|
|||
auto response = FileSystemAccessClient::Client::the().request_file_read_only_approved(&window, action.text());
|
||||
if (response.is_error())
|
||||
return;
|
||||
load_file(MUST(String::from_byte_string(response.value().filename())), response.value().stream());
|
||||
load_file(response.value().filename(), response.value().stream());
|
||||
});
|
||||
file_menu->add_action(*m_quit_action);
|
||||
|
||||
|
|
|
@ -22,9 +22,9 @@ class SpreadsheetWidget final
|
|||
public:
|
||||
virtual ~SpreadsheetWidget() override = default;
|
||||
|
||||
void save(String const& filename, Core::File&);
|
||||
void load_file(String const& filename, Core::File&);
|
||||
void import_sheets(String const& filename, Core::File&);
|
||||
void save(ByteString const& filename, Core::File&);
|
||||
void load_file(ByteString const& filename, Core::File&);
|
||||
void import_sheets(ByteString const& filename, Core::File&);
|
||||
bool request_close();
|
||||
void add_sheet();
|
||||
void add_sheet(NonnullRefPtr<Sheet>&&);
|
||||
|
|
|
@ -50,31 +50,31 @@ bool Workbook::set_filename(ByteString const& filename)
|
|||
return true;
|
||||
}
|
||||
|
||||
ErrorOr<void, ByteString> Workbook::open_file(String const& filename, Core::File& file)
|
||||
ErrorOr<void, ByteString> Workbook::open_file(ByteString const& filename, Core::File& file)
|
||||
{
|
||||
auto mime = Core::guess_mime_type_based_on_filename(filename);
|
||||
|
||||
// Make an import dialog, we might need to import it.
|
||||
m_sheets = TRY(ImportDialog::make_and_run_for(m_parent_window, mime, filename, file, *this));
|
||||
|
||||
set_filename(filename.to_byte_string());
|
||||
set_filename(filename);
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<void> Workbook::write_to_file(String const& filename, Core::File& stream)
|
||||
ErrorOr<void> Workbook::write_to_file(ByteString const& filename, Core::File& stream)
|
||||
{
|
||||
auto mime = Core::guess_mime_type_based_on_filename(filename);
|
||||
|
||||
// Make an export dialog, we might need to import it.
|
||||
TRY(ExportDialog::make_and_run_for(mime, stream, filename.to_byte_string(), *this));
|
||||
TRY(ExportDialog::make_and_run_for(mime, stream, filename, *this));
|
||||
|
||||
set_filename(filename.to_byte_string());
|
||||
set_filename(filename);
|
||||
set_dirty(false);
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<bool, ByteString> Workbook::import_file(String const& filename, Core::File& file)
|
||||
ErrorOr<bool, ByteString> Workbook::import_file(ByteString const& filename, Core::File& file)
|
||||
{
|
||||
auto mime = Core::guess_mime_type_based_on_filename(filename);
|
||||
|
||||
|
|
|
@ -15,10 +15,10 @@ class Workbook {
|
|||
public:
|
||||
Workbook(Vector<NonnullRefPtr<Sheet>>&& sheets, GUI::Window& parent_window);
|
||||
|
||||
ErrorOr<void, ByteString> open_file(String const& filename, Core::File&);
|
||||
ErrorOr<void> write_to_file(String const& filename, Core::File&);
|
||||
ErrorOr<void, ByteString> open_file(ByteString const& filename, Core::File&);
|
||||
ErrorOr<void> write_to_file(ByteString const& filename, Core::File&);
|
||||
|
||||
ErrorOr<bool, ByteString> import_file(String const& filename, Core::File&);
|
||||
ErrorOr<bool, ByteString> import_file(ByteString const& filename, Core::File&);
|
||||
|
||||
ByteString const& current_filename() const { return m_current_filename; }
|
||||
bool set_filename(ByteString const& filename);
|
||||
|
|
|
@ -71,7 +71,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|||
|
||||
if (!filename.is_empty()) {
|
||||
auto file = TRY(FileSystemAccessClient::Client::the().request_file_read_only_approved(window, filename));
|
||||
spreadsheet_widget->load_file(TRY(String::from_byte_string(file.filename())), file.stream());
|
||||
spreadsheet_widget->load_file(file.filename(), file.stream());
|
||||
}
|
||||
|
||||
return app->exec();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue