Просмотр исходного кода

CertificateSettings: Use new GML compiler

kleines Filmröllchen 2 лет назад
Родитель
Сommit
8ee014a437

+ 2 - 5
Userland/Applications/CertificateSettings/CMakeLists.txt

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

+ 2 - 5
Userland/Applications/CertificateSettings/CertificateStoreWidget.cpp

@@ -6,7 +6,6 @@
 
 #include "CertificateStoreWidget.h"
 #include <AK/String.h>
-#include <Applications/CertificateSettings/CertificateStoreWidgetGML.h>
 #include <LibCrypto/ASN1/PEM.h>
 #include <LibFileSystem/FileSystem.h>
 #include <LibFileSystemAccessClient/Client.h>
@@ -152,17 +151,15 @@ ErrorOr<void> CertificateStoreWidget::export_pem()
     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());
     return widget;
 }
 
 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->set_highlight_selected_rows(true);
     m_root_ca_tableview->set_alternating_row_colors(false);

+ 1 - 1
Userland/Applications/CertificateSettings/CertificateStoreWidget.gml

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

+ 3 - 1
Userland/Applications/CertificateSettings/CertificateStoreWidget.h

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

+ 1 - 1
Userland/Applications/CertificateSettings/main.cpp

@@ -28,7 +28,7 @@ ErrorOr<int> serenity_main(Main::Arguments args)
 
     auto app_icon = GUI::Icon::default_icon("certificate"sv);
     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->show();