Added feedback on successfully export

This commit is contained in:
2025-09-27 23:08:58 +02:00
parent 6fb3ffb680
commit 7a2100f535
2 changed files with 121 additions and 113 deletions

View File

@@ -1,5 +1,4 @@
using Adw; using Adw;
using GLib;
using Logic; using Logic;
using Models; using Models;
@@ -7,6 +6,9 @@ namespace Feladat1.UI.MainWindow;
public class MainWindow public class MainWindow
{ {
private ToastOverlay toastOverlay;
private const string toastOverlayId = "toast_overlay";
private IUserService userService; private IUserService userService;
private const string windowId = "main_window"; private const string windowId = "main_window";
@@ -88,6 +90,12 @@ public class MainWindow
{ {
throw new NullReferenceException(passwordLabelId); throw new NullReferenceException(passwordLabelId);
} }
toastOverlay = builder.GetObject(toastOverlayId) as ToastOverlay;
if (toastOverlay == null)
{
throw new NullReferenceException(toastOverlayId);
}
} }
catch (NullReferenceException e) catch (NullReferenceException e)
{ {
@@ -112,13 +120,9 @@ public class MainWindow
int returnCode = userService.Create(userNameField.GetText(), emailField.GetText(), passwordField.GetText()); int returnCode = userService.Create(userNameField.GetText(), emailField.GetText(), passwordField.GetText());
if (returnCode == 0) if (returnCode == 0)
{ {
ToastOverlay overlay = new ToastOverlay();
overlay.SetParent(Window);
Toast toast = new Toast(); Toast toast = new Toast();
toast.SetButtonLabel("New user exported successfully"); toast.SetTitle("User data exported successfully");
toastOverlay.AddToast(toast);
overlay.AddToast(toast);
User user = userService.Read(); User user = userService.Read();
emailLabel.Text_ = user.Email; emailLabel.Text_ = user.Email;

View File

@@ -1,107 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<interface> <interface>
<object class="AdwWindow" id="main_window"> <object class="AdwWindow" id="main_window">
<property name="width-request">300</property> <property name="width-request">300</property>
<property name="height-request">300</property> <property name="height-request">300</property>
<property name="default-width">400</property> <property name="default-width">400</property>
<property name="default-height">400</property> <property name="default-height">400</property>
<property name="content"> <property name="content">
<object class="AdwToolbarView"> <object class="AdwToastOverlay" id="toast_overlay">
<child type="top"> <property name="child">
<object class="AdwHeaderBar" id="header_bar"> <object class="AdwToolbarView">
<property name="title-widget"> <child type="top">
<object class="AdwViewSwitcher"> <object class="AdwHeaderBar" id="header_bar">
<property name="stack">stack</property> <property name="title-widget">
<property name="policy">wide</property> <object class="AdwViewSwitcher">
</object> <property name="stack">stack</property>
</property> <property name="policy">wide</property>
</object> </object>
</child> </property>
<property name="content"> </object>
<object class="AdwViewStack" id="stack"> </child>
<property name="enable-transitions">True</property> <property name="content">
<child> <object class="AdwViewStack" id="stack">
<object class="AdwViewStackPage"> <property name="enable-transitions">True</property>
<property name="name">save</property> <child>
<property name="icon-name">document-save-as-symbolic</property> <object class="AdwViewStackPage">
<property name="title">Save</property> <property name="name">save</property>
<property name="child"> <property name="icon-name">document-save-as-symbolic</property>
<object class="AdwPreferencesPage"> <property name="title">Save</property>
<child> <property name="child">
<object class="AdwPreferencesGroup"> <object class="AdwPreferencesPage">
<child> <child>
<object class="AdwEntryRow" id="email"> <object class="AdwPreferencesGroup">
<property name="title">Email</property> <child>
</object> <object class="AdwEntryRow" id="email">
</child> <property name="title">Email</property>
<child> </object>
<object class="AdwEntryRow" id="username"> </child>
<property name="title">Felhasználónév</property> <child>
</object> <object class="AdwEntryRow" id="username">
</child> <property name="title">Felhasználónév</property>
<child> </object>
<object class="AdwPasswordEntryRow" id="password"> </child>
<property name="title">Jelszó</property> <child>
</object> <object class="AdwPasswordEntryRow" id="password">
</child> <property name="title">Jelszó</property>
</object> </object>
</child> </child>
<child> </object>
<object class="GtkButton" id="save_btn"> </child>
<style> <child>
<class name="suggested-action" /> <object class="GtkButton" id="save_btn">
</style> <style>
<property name="label">Exportálás</property> <class name="suggested-action" />
<property name="valign">center</property> </style>
<property name="halign">center</property> <property name="label">Exportálás</property>
</object> <property name="valign">center</property>
</child> <property name="halign">center</property>
</object> </object>
</property> </child>
</object> </object>
</child> </property>
<child> </object>
<object class="AdwViewStackPage"> </child>
<property name="name">load</property> <child>
<property name="title">Load</property> <object class="AdwViewStackPage">
<property name="icon-name">document-open-symbolic</property> <property name="name">load</property>
<property name="child"> <property name="title">Load</property>
<object class="AdwPreferencesPage"> <property name="icon-name">document-open-symbolic</property>
<child> <property name="child">
<object class="AdwPreferencesGroup"> <object class="AdwPreferencesPage">
<child> <child>
<object class="AdwEntryRow" id="emailLabel"> <object class="AdwPreferencesGroup">
<property name="title">Email</property> <child>
<property name="editable">False</property> <object class="AdwEntryRow" id="emailLabel">
</object> <property name="title">Email</property>
</child> <property name="editable">False</property>
<child> </object>
<object class="AdwEntryRow" id="usernameLabel"> </child>
<property name="title">Felhasználónév</property> <child>
<property name="editable">False</property> <object class="AdwEntryRow" id="usernameLabel">
<property name="activatable">False</property> <property name="title">Felhasználónév</property>
</object> <property name="editable">False</property>
</child> <property name="activatable">False</property>
<child> </object>
<object class="AdwPasswordEntryRow" id="passwordLabel"> </child>
<property name="title">Jelszó</property> <child>
<property name="editable">False</property> <object class="AdwPasswordEntryRow" id="passwordLabel">
</object> <property name="title">Jelszó</property>
</child> <property name="editable">False</property>
</object> </object>
</child> </child>
</object> </object>
</property> </child>
</object> </object>
</child> </property>
</object> </object>
</property> </child>
<child type="bottom"> </object>
<object class="AdwViewSwitcherBar" id="switcher_bar"> </property>
<property name="stack">stack</property> <child type="bottom">
</object> <object class="AdwViewSwitcherBar" id="switcher_bar">
</child> <property name="stack">stack</property>
</object> </object>
</property> </child>
</object> </object>
</property>
</object>
</property>
</object>
</interface> </interface>