mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:27:35 +00:00
Spreadsheet: Port from Result
to ErrorOr
This commit is contained in:
parent
4952cdfe2b
commit
81008062a7
4 changed files with 15 additions and 27 deletions
|
@ -175,13 +175,13 @@ void CSVImportDialogPage::update_preview()
|
||||||
m_data_preview_table_view->update();
|
m_data_preview_table_view->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<NonnullRefPtrVector<Sheet>, DeprecatedString> ImportDialog::make_and_run_for(GUI::Window& parent, StringView mime, Core::File& file, Workbook& workbook)
|
ErrorOr<NonnullRefPtrVector<Sheet>, DeprecatedString> ImportDialog::make_and_run_for(GUI::Window& parent, StringView mime, Core::File& file, Workbook& workbook)
|
||||||
{
|
{
|
||||||
auto wizard = GUI::WizardDialog::construct(&parent);
|
auto wizard = GUI::WizardDialog::construct(&parent);
|
||||||
wizard->set_title("File Import Wizard");
|
wizard->set_title("File Import Wizard");
|
||||||
wizard->set_icon(GUI::Icon::default_icon("app-spreadsheet"sv).bitmap_for_size(16));
|
wizard->set_icon(GUI::Icon::default_icon("app-spreadsheet"sv).bitmap_for_size(16));
|
||||||
|
|
||||||
auto import_xsv = [&]() -> Result<NonnullRefPtrVector<Sheet>, DeprecatedString> {
|
auto import_xsv = [&]() -> ErrorOr<NonnullRefPtrVector<Sheet>, DeprecatedString> {
|
||||||
auto contents = file.read_all();
|
auto contents = file.read_all();
|
||||||
CSVImportDialogPage page { contents };
|
CSVImportDialogPage page { contents };
|
||||||
wizard->replace_page(page.page());
|
wizard->replace_page(page.page());
|
||||||
|
@ -203,29 +203,19 @@ Result<NonnullRefPtrVector<Sheet>, DeprecatedString> ImportDialog::make_and_run_
|
||||||
}
|
}
|
||||||
|
|
||||||
return sheets;
|
return sheets;
|
||||||
} else {
|
|
||||||
return DeprecatedString { "CSV Import was cancelled" };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return DeprecatedString { "CSV Import was cancelled" };
|
||||||
};
|
};
|
||||||
|
|
||||||
auto import_worksheet = [&]() -> Result<NonnullRefPtrVector<Sheet>, DeprecatedString> {
|
auto import_worksheet = [&]() -> ErrorOr<NonnullRefPtrVector<Sheet>, DeprecatedString> {
|
||||||
auto json_value_option = JsonParser(file.read_all()).parse();
|
auto json_value_option = JsonParser(file.read_all()).parse();
|
||||||
if (json_value_option.is_error()) {
|
if (json_value_option.is_error())
|
||||||
StringBuilder sb;
|
return DeprecatedString::formatted("Failed to parse {}", file.filename());
|
||||||
sb.append("Failed to parse "sv);
|
|
||||||
sb.append(file.filename());
|
|
||||||
|
|
||||||
return sb.to_deprecated_string();
|
|
||||||
}
|
|
||||||
|
|
||||||
auto& json_value = json_value_option.value();
|
auto& json_value = json_value_option.value();
|
||||||
if (!json_value.is_array()) {
|
if (!json_value.is_array())
|
||||||
StringBuilder sb;
|
return DeprecatedString::formatted("Did not find a spreadsheet in {}", file.filename());
|
||||||
sb.append("Did not find a spreadsheet in "sv);
|
|
||||||
sb.append(file.filename());
|
|
||||||
|
|
||||||
return sb.to_deprecated_string();
|
|
||||||
}
|
|
||||||
|
|
||||||
NonnullRefPtrVector<Sheet> sheets;
|
NonnullRefPtrVector<Sheet> sheets;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "Readers/XSV.h"
|
#include "Readers/XSV.h"
|
||||||
#include <AK/Result.h>
|
|
||||||
#include <AK/StringView.h>
|
#include <AK/StringView.h>
|
||||||
#include <LibGUI/Forward.h>
|
#include <LibGUI/Forward.h>
|
||||||
#include <LibGUI/Wizards/WizardPage.h>
|
#include <LibGUI/Wizards/WizardPage.h>
|
||||||
|
@ -56,7 +55,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ImportDialog {
|
struct ImportDialog {
|
||||||
static Result<NonnullRefPtrVector<Sheet>, DeprecatedString> make_and_run_for(GUI::Window& parent, StringView mime, Core::File& file, Workbook&);
|
static ErrorOr<NonnullRefPtrVector<Sheet>, DeprecatedString> make_and_run_for(GUI::Window& parent, StringView mime, Core::File& file, Workbook&);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ bool Workbook::set_filename(DeprecatedString const& filename)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<bool, DeprecatedString> Workbook::open_file(Core::File& file)
|
ErrorOr<void, DeprecatedString> Workbook::open_file(Core::File& file)
|
||||||
{
|
{
|
||||||
auto mime = Core::guess_mime_type_based_on_filename(file.filename());
|
auto mime = Core::guess_mime_type_based_on_filename(file.filename());
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ Result<bool, DeprecatedString> Workbook::open_file(Core::File& file)
|
||||||
|
|
||||||
set_filename(file.filename());
|
set_filename(file.filename());
|
||||||
|
|
||||||
return true;
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<void> Workbook::write_to_file(Core::File& file)
|
ErrorOr<void> Workbook::write_to_file(Core::File& file)
|
||||||
|
@ -78,7 +78,7 @@ ErrorOr<void> Workbook::write_to_file(Core::File& file)
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<bool, DeprecatedString> Workbook::import_file(Core::File& file)
|
ErrorOr<bool, DeprecatedString> Workbook::import_file(Core::File& file)
|
||||||
{
|
{
|
||||||
auto mime = Core::guess_mime_type_based_on_filename(file.filename());
|
auto mime = Core::guess_mime_type_based_on_filename(file.filename());
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include "Forward.h"
|
#include "Forward.h"
|
||||||
#include "Spreadsheet.h"
|
#include "Spreadsheet.h"
|
||||||
#include <AK/NonnullOwnPtrVector.h>
|
#include <AK/NonnullOwnPtrVector.h>
|
||||||
#include <AK/Result.h>
|
|
||||||
|
|
||||||
namespace Spreadsheet {
|
namespace Spreadsheet {
|
||||||
|
|
||||||
|
@ -17,10 +16,10 @@ class Workbook {
|
||||||
public:
|
public:
|
||||||
Workbook(NonnullRefPtrVector<Sheet>&& sheets, GUI::Window& parent_window);
|
Workbook(NonnullRefPtrVector<Sheet>&& sheets, GUI::Window& parent_window);
|
||||||
|
|
||||||
Result<bool, DeprecatedString> open_file(Core::File&);
|
ErrorOr<void, DeprecatedString> open_file(Core::File&);
|
||||||
ErrorOr<void> write_to_file(Core::File&);
|
ErrorOr<void> write_to_file(Core::File&);
|
||||||
|
|
||||||
Result<bool, DeprecatedString> import_file(Core::File&);
|
ErrorOr<bool, DeprecatedString> import_file(Core::File&);
|
||||||
|
|
||||||
DeprecatedString const& current_filename() const { return m_current_filename; }
|
DeprecatedString const& current_filename() const { return m_current_filename; }
|
||||||
bool set_filename(DeprecatedString const& filename);
|
bool set_filename(DeprecatedString const& filename);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue