1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:37:34 +00:00

CertificateSettings: Use new GML compiler

This commit is contained in:
kleines Filmröllchen 2023-05-26 21:38:59 +02:00 committed by Sam Atkins
parent 63687c46ff
commit 8ee014a437
5 changed files with 9 additions and 13 deletions

View file

@ -4,16 +4,13 @@ serenity_component(
TARGETS CertificateSettings TARGETS CertificateSettings
) )
stringify_gml(CertificateStoreWidget.gml CertificateStoreWidgetGML.h certificate_store_widget_gml) compile_gml(CertificateStoreWidget.gml CertificateStoreWidgetGML.cpp)
set(SOURCES set(SOURCES
CertificateStoreWidget.cpp CertificateStoreWidget.cpp
CertificateStoreWidgetGML.cpp
main.cpp main.cpp
) )
set(GENERATED_SOURCES
CertificateStoreWidgetGML.h
)
serenity_app(CertificateSettings ICON certificate) serenity_app(CertificateSettings ICON certificate)
target_link_libraries(CertificateSettings PRIVATE LibCore LibCrypto LibFileSystem LibFileSystemAccessClient LibGfx LibGUI LibMain LibTLS) target_link_libraries(CertificateSettings PRIVATE LibCore LibCrypto LibFileSystem LibFileSystemAccessClient LibGfx LibGUI LibMain LibTLS)

View file

@ -6,7 +6,6 @@
#include "CertificateStoreWidget.h" #include "CertificateStoreWidget.h"
#include <AK/String.h> #include <AK/String.h>
#include <Applications/CertificateSettings/CertificateStoreWidgetGML.h>
#include <LibCrypto/ASN1/PEM.h> #include <LibCrypto/ASN1/PEM.h>
#include <LibFileSystem/FileSystem.h> #include <LibFileSystem/FileSystem.h>
#include <LibFileSystemAccessClient/Client.h> #include <LibFileSystemAccessClient/Client.h>
@ -152,17 +151,15 @@ ErrorOr<void> CertificateStoreWidget::export_pem()
return {}; return {};
} }
ErrorOr<NonnullRefPtr<CertificateStoreWidget>> CertificateStoreWidget::try_create() ErrorOr<NonnullRefPtr<CertificateStoreWidget>> CertificateStoreWidget::create()
{ {
auto widget = TRY(adopt_nonnull_ref_or_enomem(new (nothrow) CertificateStoreWidget())); auto widget = TRY(CertificateStoreWidget::try_create());
TRY(widget->initialize()); TRY(widget->initialize());
return widget; return widget;
} }
ErrorOr<void> CertificateStoreWidget::initialize() ErrorOr<void> CertificateStoreWidget::initialize()
{ {
TRY(load_from_gml(certificate_store_widget_gml));
m_root_ca_tableview = find_descendant_of_type_named<GUI::TableView>("root_ca_tableview"); m_root_ca_tableview = find_descendant_of_type_named<GUI::TableView>("root_ca_tableview");
m_root_ca_tableview->set_highlight_selected_rows(true); m_root_ca_tableview->set_highlight_selected_rows(true);
m_root_ca_tableview->set_alternating_row_colors(false); m_root_ca_tableview->set_alternating_row_colors(false);

View file

@ -1,4 +1,4 @@
@GUI::Widget { @CertificateSettings::CertificateStoreWidget {
fill_with_background_color: true fill_with_background_color: true
layout: @GUI::VerticalBoxLayout { layout: @GUI::VerticalBoxLayout {
margins: [8] margins: [8]

View file

@ -58,11 +58,13 @@ class CertificateStoreWidget : public GUI::SettingsWindow::Tab {
C_OBJECT_ABSTRACT(CertStoreWidget) C_OBJECT_ABSTRACT(CertStoreWidget)
public: public:
virtual ~CertificateStoreWidget() override = default; virtual ~CertificateStoreWidget() override = default;
static ErrorOr<NonnullRefPtr<CertificateStoreWidget>> try_create(); static ErrorOr<NonnullRefPtr<CertificateStoreWidget>> create();
virtual void apply_settings() override {}; virtual void apply_settings() override {};
private: private:
static ErrorOr<NonnullRefPtr<CertificateStoreWidget>> try_create();
CertificateStoreWidget() = default; CertificateStoreWidget() = default;
ErrorOr<void> initialize(); ErrorOr<void> initialize();
ErrorOr<void> import_pem(); ErrorOr<void> import_pem();
ErrorOr<void> export_pem(); ErrorOr<void> export_pem();

View file

@ -28,7 +28,7 @@ ErrorOr<int> serenity_main(Main::Arguments args)
auto app_icon = GUI::Icon::default_icon("certificate"sv); auto app_icon = GUI::Icon::default_icon("certificate"sv);
auto window = TRY(GUI::SettingsWindow::create("Certificate Settings", GUI::SettingsWindow::ShowDefaultsButton::No)); auto window = TRY(GUI::SettingsWindow::create("Certificate Settings", GUI::SettingsWindow::ShowDefaultsButton::No));
auto cert_store_widget = TRY(window->add_tab<CertificateSettings::CertificateStoreWidget>("Certificate Store"_string, "certificate"sv)); TRY(window->add_tab(TRY(CertificateSettings::CertificateStoreWidget::create()), "Certificate Store"_string, "certificate"sv));
window->set_icon(app_icon.bitmap_for_size(16)); window->set_icon(app_icon.bitmap_for_size(16));
window->show(); window->show();