epic: port to GTK4

This commit is contained in:
Peter Eisenmann
2022-03-15 21:48:48 +01:00
committed by Peter Eisenmann
parent 73b8c806cc
commit f3f37fd5ae
43 changed files with 1333 additions and 2618 deletions

View File

@@ -1,11 +1,19 @@
high prio:
* GTK 4 port
* user name sanity check
* empty keyboard layout list before adding new layouts
* empty countries list before adding new countries
mid prio:
* show notification on finisehd or failed install
* fix row being selected kbd layout->same language
* handle potentially needed legacy boot partition for MBR boot + GPT
* script folder config option
* highlight current keyboard layout
* don't add "no partitions" row multiple times
* figure out why flat headerbar style does not work
low prio:

View File

@@ -6,7 +6,7 @@
<file preprocess="xml-stripblanks" alias="OS-Installer-symbolic.svg">../app_icon/com.github.p3732.OS-Installer-symbolic.svg</file>
<!-- CSS -->
<file>css/style.css</file>
<file>style.css</file>
<!-- Icons -->
<file preprocess="xml-stripblanks">icon/globe-symbolic.svg</file>

View File

@@ -1,15 +1,3 @@
.large-button {
border-radius: 9999px;
-gtk-outline-radius: 9999px;
padding: 6px 32px;
}
.big-button {
border-radius: 9999px;
-gtk-outline-radius: 9999px;
padding: 6px 12px;
}
/*
.top-gradient {
background-image: linear-gradient(to bottom, @theme_bg_color, alpha(@theme_bg_color, 0) 100%);
@@ -20,22 +8,32 @@
}
*/
scrolledwindow.scrollbar > scrollbar > range > trough {
background: 0;
}
scrollable-box>trough {
background: 0;
margin-right:0px;
margin-left:0px;
}
.scrollable-box {
/*background-color: @content_view_bg;*/
border: 1px;
border-color: @unfocused_borders;
border-color: @borders;
border-radius: 12px;
border-style: solid;
}
.overlay-indicator {
border-radius: 12px;
margin:6px 0px;
}
.terminal {
.terminal-box {
background-color: #000;
border-radius: 6px;
-gtk-outline-radius: 6px;
padding: 6px 12px;
}
/* flat style does not seem to work, this is a fallback */
headerbar {
background: none;
box-shadow:none;
}

View File

@@ -1,110 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="libhandy" version="0.0"/>
<template class="ConfirmQuitPopup" parent="HdyWindow">
<property name="can-focus">False</property>
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.0"/>
<template class="ConfirmQuitPopup" parent="AdwWindow">
<property name="destroy-with-parent">True</property>
<property name="type-hint">dialog</property>
<property name="skip-taskbar-hint">True</property>
<child>
<object class="HdyWindowHandle">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="content">
<object class="GtkWindowHandle">
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="pixel-size">128</property>
<property name="icon-name">dialog-warning-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label" translatable="yes" comments="Shown if user wants to close window with running installation">Stopping a running installation will leave the disk in an undefined state that might potentially be harmful</property>
<property name="label" translatable="1" comments="Shown if user wants to close window with running installation">Stopping a running installation will leave the disk in an undefined state that might potentially be harmful</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<property name="max-width-chars">45</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">6</property>
<property name="homogeneous">True</property>
<property name="homogeneous">1</property>
<child>
<object class="GtkButton" id="continue_button">
<property name="label" translatable="yes" comments="Underscore can not be the same as for 'Stop Installation'.">_Continue Installation</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
<property name="label" translatable="1" comments="Underscore can not be the same as for &apos;Stop Installation&apos;.">_Continue Installation</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="stop_button">
<property name="label" translatable="yes" comments="Underscore can not be the same as for 'Continue Installation'.">_Stop Installation</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
<property name="label" translatable="1" comments="Underscore can not be the same as for &apos;Continue Installation&apos;.">_Stop Installation</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="use-underline">1</property>
<style>
<class name="destructive-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -1,218 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="libhandy" version="0.0"/>
<template class="OsInstallerWindow" parent="HdyApplicationWindow">
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.0"/>
<template class="OsInstallerWindow" parent="AdwApplicationWindow">
<property name="width-request">360</property>
<property name="height-request">480</property>
<property name="can-focus">0</property>
<property name="default-width">420</property>
<property name="default-height">560</property>
<signal name="delete-event" handler="_on_quit" swapped="no"/>
<signal name="destroy" handler="_on_quit" swapped="no"/>
<signal name="destroy-event" handler="_on_quit" swapped="no"/>
<child>
<object class="HdyWindowHandle">
<property name="visible">1</property>
<property name="can-focus">0</property>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="orientation">vertical</property>
<child>
<object class="AdwHeaderBar">
<property name="show-start-title-buttons">0</property>
<property name="show-end-title-buttons">0</property>
<child type="start">
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">18</property>
<property name="spacing">6</property>
<child type="center">
<object class="GtkStack" id="image_stack">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="margin-top">12</property>
<property name="valign">start</property>
<child>
<object class="GtkWindowControls">
<property name="side">start</property>
</object>
</child>
<child>
<object class="GtkRevealer" id="previous_revealer">
<property name="transition-type">crossfade</property>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="pixel-size">128</property>
<property name="icon_size">0</property>
</object>
<packing>
<property name="name">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="pixel-size">128</property>
<property name="icon_size">0</property>
</object>
<packing>
<property name="name">2</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="halign">start</property>
<property name="hexpand">1</property>
<property name="valign">start</property>
<property name="spacing">6</property>
<child>
<object class="GtkRevealer" id="previous_revealer">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkButton">
<property name="width-request">32</property>
<property name="visible">1</property>
<property name="can-focus">1</property>
<property name="focus-on-click">0</property>
<property name="receives-default">0</property>
<property name="action-name">app.previous-page</property>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="icon-name">go-previous-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
<class name="flat"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkRevealer" id="next_revealer">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkButton">
<property name="width-request">32</property>
<property name="visible">1</property>
<property name="can-focus">1</property>
<property name="receives-default">0</property>
<property name="action-name">app.next-page</property>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="icon-name">go-next-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
<class name="flat"/>
</style>
</object>
</child>
</object>
<packing>
<property name="expand">1</property>
<property name="fill">1</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">0</property>
<property name="fill">1</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="halign">end</property>
<property name="valign">start</property>
<property name="spacing">6</property>
<child>
<property name="margin-end">6</property>
<property name="child">
<object class="GtkButton">
<property name="width-request">32</property>
<property name="visible">1</property>
<property name="can-focus">1</property>
<property name="receives-default">0</property>
<property name="valign">start</property>
<property name="action-name">app.quit</property>
<property name="relief">none</property>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="icon-name">window-close-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
<property name="action-name">app.previous-page</property>
<property name="focusable">1</property>
<property name="focus-on-click">0</property>
<property name="icon-name">go-previous-symbolic</property>
</object>
<packing>
<property name="expand">0</property>
<property name="fill">1</property>
<property name="position">2</property>
</packing>
</child>
</property>
</object>
<packing>
<property name="expand">0</property>
<property name="fill">1</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">0</property>
<property name="fill">1</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="HdyClamp">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="maximum-size">400</property>
<property name="tightening-threshold">320</property>
<child>
<object class="GtkStack" id="main_stack">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="transition-type">slide-left-right</property>
<child>
<placeholder/>
</child>
<object class="GtkRevealer" id="next_revealer">
<property name="transition-type">crossfade</property>
<property name="child">
<object class="GtkButton">
<property name="action-name">app.next-page</property>
<property name="focusable">1</property>
<property name="focus-on-click">0</property>
<property name="icon-name">go-next-symbolic</property>
</object>
</property>
</object>
</child>
</object>
<packing>
<property name="expand">1</property>
<property name="fill">1</property>
<property name="position">1</property>
</packing>
</child>
<child type="title">
<object class="GtkStack" id="image_stack">
<property name="margin-bottom">12</property>
<property name="margin-top">12</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkStackPage">
<property name="name">1</property>
<property name="child">
<object class="GtkImage">
<property name="pixel-size">128</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">2</property>
<property name="child">
<object class="GtkImage">
<property name="pixel-size">128</property>
</object>
</property>
</object>
</child>
</object>
</child>
<child type="end">
<object class="GtkWindowControls">
<property name="valign">start</property>
<property name="side">end</property>
</object>
</child>
<style>
<class name="flat"/>
</style>
</object>
</child>
<child>
<object class="AdwClamp">
<property name="vexpand">1</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="maximum-size">400</property>
<property name="tightening-threshold">320</property>
<child>
<object class="GtkStack" id="main_stack">
<property name="transition-type">slide-left-right</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>

View File

@@ -1,78 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="ConfirmPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">18</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">end</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Followed by a disk or partition name">This will delete all data on</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Followed by a disk or partition name">This will delete all data on</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="disk_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<property name="wrap-mode">word-char</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="confirm_button">
<property name="label" translatable="yes" comments="Button label to confirm disk deletion">_Confirm</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="label" translatable="1" comments="Button label to confirm disk deletion">_Confirm</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<style>
<class name="destructive-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,323 +1,217 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="DiskPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkStack" id="text_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="transition-type">slide-left-right</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">12</property>
<child type="center">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Explanation for disk selection page.">Select Drive for Installation</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="refresh_button">
<property name="width-request">32</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">end</property>
<property name="valign">center</property>
<property name="relief">none</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">view-refresh-symbolic</property>
<object class="GtkStackPage">
<property name="name">disks</property>
<property name="child">
<object class="GtkCenterBox">
<child type="center">
<object class="GtkLabel">
<property name="halign">center</property>
<property name="label" translatable="1" comments="Explanation for disk selection page.">Select Drive for Installation</property>
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
</child>
<child type="end">
<object class="GtkButton" id="refresh_button">
<property name="halign">end</property>
<property name="width-request">32</property>
<property name="focusable">1</property>
<property name="halign">end</property>
<property name="valign">center</property>
<child>
<object class="GtkImage">
<property name="icon-name">view-refresh-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
<class name="flat"/>
</style>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
</property>
</object>
<packing>
<property name="name">disks</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="disk_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">partitions</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkLabel" id="disk_label">
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="settings_button">
<property name="label" translatable="yes" comments="Button label to open disk management tool. Underscore can not be for same as for 'Reload'">_Manage Disks</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="halign">center</property>
<property name="valign">end</property>
<property name="margin-top">12</property>
<property name="margin-bottom">18</property>
<property name="use-underline">True</property>
<style>
<class name="circular"/>
<class name="big-button"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="vexpand">1</property>
<property name="focusable">1</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="hscrollbar-policy">external</property>
<property name="propagate-natural-width">True</property>
<property name="propagate-natural-height">True</property>
<child>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<property name="child">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<property name="shadow-type">none</property>
<child>
<property name="child">
<object class="GtkStack" id="list_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vhomogeneous">False</property>
<property name="vhomogeneous">0</property>
<property name="transition-type">slide-left-right</property>
<child>
<object class="GtkListBox" id="disk_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="valign">start</property>
<style>
<class name="content"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">disks</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkListBox" id="whole_disk_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="name">back_row</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="disk_size">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="width-chars">5</property>
<property name="max-width-chars">7</property>
<property name="xalign">1</property>
<attributes>
<attribute name="weight" value="light"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="label" translatable="yes" comments="Label to go back to overview of all disks">Use Whole Disk</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="normal"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="disk_device_path">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="width-chars">5</property>
<property name="max-width-chars">7</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">go-next-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<style>
<class name="content"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="partition_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="child">
<object class="GtkListBox" id="disk_list">
<property name="receives-default">1</property>
<property name="valign">start</property>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</property>
</object>
<packing>
</child>
<child>
<object class="GtkStackPage">
<property name="name">partitions</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBox" id="whole_disk_list">
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="name">back_row</property>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="disk_size">
<property name="width-chars">5</property>
<property name="max-width-chars">7</property>
<property name="xalign">1</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
</child>
<child>
<object class="GtkBox">
<property name="hexpand">1</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkLabel">
<property name="valign">end</property>
<property name="label" translatable="1" comments="Label to go back to overview of all disks">Use Whole Disk</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="normal"></attribute>
</attributes>
</object>
</child>
<child>
<object class="GtkLabel" id="disk_device_path">
<property name="valign">start</property>
<property name="width-chars">5</property>
<property name="max-width-chars">7</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
</child>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">go-next-symbolic</property>
</object>
</child>
</object>
</property>
</object>
</child>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
<child>
<object class="GtkListBox" id="partition_list">
<property name="valign">start</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
</object>
</property>
</object>
</child>
</object>
</child>
</property>
</object>
</child>
</property>
<style>
<class name="scrollbar"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="scrollable-box"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="settings_button">
<property name="label" translatable="1" comments="Button label to open disk management tool. Underscore can not be for same as for &apos;Reload&apos;">_Manage Disks</property>
<property name="focusable">1</property>
<property name="halign">center</property>
<property name="valign">end</property>
<property name="margin-top">12</property>
<property name="margin-bottom">18</property>
<property name="use-underline">1</property>
<style>
<class name="pill"/>
</style>
</object>
</child>
</template>
</interface>

View File

@@ -1,76 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="DonePage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Informative label after successful installation">Installation complete</property>
<property name="label" translatable="1" comments="Informative label after successful installation">Installation complete</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="restart_button">
<property name="label" translatable="yes" comments="Button label to restart system directly after successful installation. Underscore can not be for same letter as 'Restart Later'.">_Restart System</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="use-underline">True</property>
<property name="label" translatable="1" comments="Button label to restart system directly after successful installation. Underscore can not be for same letter as &apos;Restart Later&apos;.">_Restart System</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes" comments="Button label to delay restart after successful installation. Underscore can not be for same letter as 'Restart System'.">Restart _Later</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="label" translatable="1" comments="Button label to delay restart after successful installation. Underscore can not be for same letter as &apos;Restart System&apos;.">Restart _Later</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="action-name">app.quit</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<style>
<class name="big-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,33 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="EncryptPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkListBox" id="default_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="name">encryption</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -35,67 +25,42 @@
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Used with option to enable disk encryption">Encrypt Installation</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Used with option to enable disk encryption">Encrypt Installation</property>
<property name="wrap">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="switch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="valign">center</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</object>
</child>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRevealer" id="revealer">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="valign">start</property>
<property name="transition-duration">200</property>
<child>
<property name="child">
<object class="GtkListBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">12</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activatable">False</property>
<property name="selectable">False</property>
<child>
<property name="focusable">1</property>
<property name="activatable">0</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -104,128 +69,71 @@
<property name="spacing">12</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Description of entry field for pin/password used for disk encryption">Encryption PIN</property>
<property name="wrap">True</property>
<property name="hexpand">1</property>
<property name="label" translatable="1" comments="Description of entry field for pin/password used for disk encryption">Encryption PIN</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="pin_field">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="activates-default">True</property>
<property name="hexpand">1</property>
<property name="activates-default">1</property>
<property name="width-chars">10</property>
<property name="max-width-chars">16</property>
<property name="truncate-multiline">True</property>
<property name="placeholder-text" translatable="yes" comments="Placeholder for disk encryption pin/password field">PIN</property>
<property name="truncate-multiline">1</property>
<property name="placeholder-text" translatable="1" comments="Placeholder for disk encryption pin/password field">PIN</property>
<property name="input-purpose">pin</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">dialog-warning-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Warning label for disk encryption">Memorize this PIN well. Without it you will not be able to access your files.</property>
<property name="wrap">True</property>
<property name="hexpand">1</property>
<property name="label" translatable="1" comments="Warning label for disk encryption">Memorize this PIN well. Without it you will not be able to access your files.</property>
<property name="wrap">1</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</object>
</child>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
</child>
</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="continue_button">
<property name="label" translatable="yes" comments="On button.">_Continue</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="label" translatable="1" comments="On button.">_Continue</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,76 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="FailedPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label" translatable="yes" comments="Shown as simple informative text">The installation failed</property>
<property name="label" translatable="1" comments="Shown as simple informative text">The installation failed</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<property name="max-width-chars">50</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox" id="terminal_box">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="terminal"/>
<class name="terminal-box"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="search_button">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Shown if installation fails.">Search for Help on the Internet</property>
<property name="use-markup">True</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Shown if installation fails.">Search for Help on the Internet</property>
<property name="use-markup">1</property>
<property name="wrap">1</property>
</object>
</child>
<style>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,107 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="InstallPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkToggleButton" id="terminal_button">
<property name="width-request">64</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="tooltip-text" translatable="yes" comments="Hover information on toggle button that shows terminal output during installation.">Show Terminal Output</property>
<property name="halign">center</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">utilities-terminal-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
<class name="big-button"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Simple label used during Installation">Installing</property>
<property name="label" translatable="1" comments="Simple label used during Installation">Installing</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkSpinner" id="spinner">
<property name="width-request">64</property>
<property name="height-request">64</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">spinner</property>
</packing>
<property name="child">
<object class="GtkSpinner" id="spinner">
<property name="halign">center</property>
<property name="height-request">64</property>
<property name="width-request">64</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkBox" id="terminal_box">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="terminal"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">terminal</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkBox" id="terminal_box">
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<style>
<class name="terminal-box"/>
</style>
</object>
</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="terminal_button">
<property name="focusable">1</property>
<property name="tooltip-text" translatable="1" comments="Hover information on toggle button that shows terminal output during installation.">Show Terminal Output</property>
<property name="halign">center</property>
<child>
<object class="GtkImage">
<property name="icon-name">utilities-terminal-symbolic</property>
</object>
</child>
<style>
<class name="pill"/>
</style>
</object>
</child>
</template>
</interface>

View File

@@ -1,41 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="InternetPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">18</property>
<child>
<object class="GtkButton" id="settings_button">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="On button for opening wifi settings.">_Setup Internet Connection</property>
<property name="use-underline">True</property>
<property name="label" translatable="1" comments="On button for opening wifi settings.">_Setup Internet Connection</property>
<property name="use-underline">1</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
</object>
</child>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,147 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.0"/>
<template class="KeyboardLayoutPage" parent="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="label" translatable="yes" comments="Explanation for keyboard layout selection page.">Select Keyboard Layout</property>
<property name="label" translatable="1" comments="Explanation for keyboard layout selection page.">Select Keyboard Layout</property>
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
</child>
<child>
<object class="GtkListBox" id="change_language_list">
<property name="visible">1</property>
<property name="can-focus">0</property>
<object class="GtkEntry">
<property name="focusable">1</property>
<property name="valign">start</property>
<property name="hexpand">1</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="visible">1</property>
<property name="can-focus">1</property>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="margin-left">12</property>
<property name="margin-right">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="label" translatable="yes" comments="Followed by a language name.">Showing Keyboard Layouts for</property>
<property name="wrap">1</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="language_label">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="hexpand">1</property>
<property name="wrap">1</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<style>
<class name="content"/>
</style>
<property name="activates-default">1</property>
<property name="truncate-multiline">1</property>
<property name="primary-icon-activatable">0</property>
<property name="primary-icon-sensitive">0</property>
<property name="placeholder-text" translatable="1" comments="Used as placeholder in a entry field to try out a keyboard layout">Test the Keyboard Layout Here</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="hexpand">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">1</property>
<property name="can-focus">1</property>
<property name="focusable">1</property>
<property name="hexpand">1</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="vexpand">1</property>
<property name="margin-start">0</property>
<property name="margin-end">0</property>
<property name="hscrollbar-policy">external</property>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<child>
<object class="GtkViewport">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="vscroll-policy">natural</property>
<property name="shadow-type">none</property>
<property name="child">
<object class="GtkStack" id="stack">
<property name="margin-start">24</property>
<property name="margin-end">24</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="vhomogeneous">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkStack" id="stack">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vhomogeneous">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkListBox" id="layout_list">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="receives-default">1</property>
<style>
<class name="content"/>
</style>
<object class="GtkStackPage">
<property name="name">layouts</property>
<property name="child">
<object class="GtkBox">
<property name="valign">start</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBox" id="change_language_list">
<property name="valign">start</property>
<property name="hexpand">1</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="focusable">1</property>
<property name="child">
<object class="GtkBox">
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="1" comments="Followed by a language name.">Keyboard Language</property>
<property name="wrap">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="language_label">
<property name="hexpand">1</property>
<property name="wrap">1</property>
<property name="xalign">1</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">emblem-system-symbolic</property>
</object>
</child>
</object>
</property>
</object>
</child>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
<child>
<object class="GtkListBox" id="layout_list">
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
</object>
<packing>
<property name="name">layouts</property>
</packing>
</child>
<child>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">languages</property>
<property name="child">
<object class="GtkListBox" id="language_list">
<property name="visible">1</property>
<property name="can-focus">0</property>
<property name="receives-default">1</property>
<property name="valign">start</property>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
<packing>
<property name="name">languages</property>
</packing>
</child>
</property>
</object>
</child>
</object>
</child>
</property>
<style>
<class name="scrollbar"/>
</style>
@@ -152,24 +134,11 @@
</style>
</object>
</child>
<child>
<object class="GtkEntry">
<property name="visible">1</property>
<property name="can-focus">1</property>
<property name="valign">start</property>
<property name="activates-default">1</property>
<property name="truncate-multiline">1</property>
<property name="primary-icon-activatable">0</property>
<property name="primary-icon-sensitive">0</property>
<property name="placeholder-text" translatable="yes" comments="Used as placeholder in a entry field to try out a keyboard layout">Test the Keyboard Layout Here</property>
</object>
</child>
<child>
<object class="GtkButton" id="continue_button">
<property name="label" translatable="yes" comments="On button.">_Continue</property>
<property name="visible">1</property>
<property name="label" translatable="1" comments="On button.">_Continue</property>
<property name="sensitive">0</property>
<property name="can-focus">1</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">end</property>
@@ -177,12 +146,9 @@
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="pack-type">end</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,105 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="LanguagePage" parent="GtkOverlay">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focusable">1</property>
<property name="hscrollbar-policy">external</property>
<property name="vscrollbar-policy">external</property>
<property name="propagate-natural-width">True</property>
<property name="propagate-natural-height">True</property>
<child>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<property name="child">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<property name="shadow-type">none</property>
<child>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-top">12</property>
<property name="margin-bottom">70</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBox" id="language_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRevealer" id="show_all_revealer">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="transition-type">slide-up</property>
<child>
<property name="child">
<object class="GtkButton" id="show_all_button">
<property name="width-request">32</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="margin-bottom">18</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">view-more-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
<class name="pill"/>
</style>
</object>
</child>
</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</object>
</child>
</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
</property>
<child type="overlay">
<object class="GtkBox">
<property name="can-target">0</property>
<property name="height-request">64</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="orientation">vertical</property>
<child>
@@ -109,15 +72,11 @@
<class name="bottom-gradient"/>
</style>
</object>
<packing>
<property name="pass-through">True</property>
</packing>
</child>
<child type="overlay">
<object class="GtkBox">
<property name="can-target">0</property>
<property name="height-request">16</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="orientation">vertical</property>
<child>
@@ -127,10 +86,6 @@
<class name="top-gradient"/>
</style>
</object>
<packing>
<property name="pass-through">True</property>
<property name="index">1</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,411 +1,279 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="LocalePage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkStack" id="overview_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vhomogeneous">False</property>
<property name="vhomogeneous">0</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" comments="Above list of continents and countries">Adapt to Location</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="overview_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<object class="GtkStackPage">
<property name="name">overview</property>
<property name="child">
<object class="GtkBox">
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBoxRow">
<property name="name">timezone</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">12</property>
<property name="margin-right">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Presented next to the current Timezone.">Timezone</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="timezone_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<object class="GtkLabel">
<property name="valign">start</property>
<property name="label" translatable="1" comments="Above list of continents and countries">Adapt to Location</property>
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="name">formats</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<object class="GtkListBox" id="overview_list">
<property name="selection-mode">none</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">12</property>
<property name="margin-right">12</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkListBoxRow">
<property name="name">timezone</property>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Presented next to the current Formats.">Formats</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Presented next to the current Timezone.">Timezone</property>
<property name="wrap">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="timezone_label">
<property name="ellipsize">end</property>
<property name="hexpand">1</property>
<property name="wrap">1</property>
<property name="xalign">1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">emblem-system-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</property>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="name">formats</property>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">12</property>
<property name="margin-bottom">12</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox">
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="1" comments="Presented next to the current Formats.">Formats</property>
<property name="wrap">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="formats_label">
<property name="ellipsize">end</property>
<property name="hexpand">1</property>
<property name="wrap">1</property>
<property name="xalign">1</property>
</object>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">emblem-system-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLabel" id="formats_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<object class="GtkLabel">
<property name="label" translatable="1" comments="Description of what is covered by formats.">Defines the default format used for dates, times, numbers, etc.</property>
<property name="wrap">1</property>
<property name="max-width-chars">60</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">3</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
</property>
</object>
</child>
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="confirm_button">
<property name="label" translatable="1" comments="On button.">_Confirm</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="pill"/>
</style>
</object>
</child>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">list</property>
<property name="child">
<object class="GtkBox">
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkStack" id="text_stack">
<property name="valign">start</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkStackPage">
<property name="name">timezone</property>
<property name="child">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Description of what is covered by formats.">Defines the default format used for dates, times, numbers, etc.</property>
<property name="wrap">True</property>
<property name="max-width-chars">60</property>
<property name="xalign">0</property>
<property name="valign">start</property>
<property name="label" translatable="1" comments="Above list of continents and countries">Select Location</property>
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="light"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">formats</property>
<property name="child">
<object class="GtkLabel">
<property name="valign">start</property>
<property name="label" translatable="1" comments="Above list of format locales">Select Region</property>
<property name="justify">center</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
</property>
</object>
</child>
</object>
</child>
<style>
<class name="content"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="confirm_button">
<property name="label" translatable="yes" comments="On button.">_Confirm</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="use-underline">True</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">overview</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkStack" id="text_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" comments="Above list of continents and countries">Select Location</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="name">timezone</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" comments="Above list of format locales">Select Region</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="name">formats</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="hscrollbar-policy">external</property>
<property name="propagate-natural-width">True</property>
<property name="propagate-natural-height">True</property>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<property name="shadow-type">none</property>
<child>
<object class="GtkScrolledWindow">
<property name="vexpand">1</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="hscrollbar-policy">external</property>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<property name="child">
<object class="GtkStack" id="list_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="vhomogeneous">False</property>
<property name="vhomogeneous">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkListBox" id="continents_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<style>
<class name="content"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">timezone_continents</property>
</packing>
<property name="child">
<object class="GtkListBox" id="continents_list">
<property name="valign">start</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</property>
</object>
</child>
<child>
<object class="GtkListBox" id="countries_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<style>
<class name="content"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">timezone_countries</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkListBox" id="countries_list">
<property name="valign">start</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</property>
</object>
</child>
<child>
<object class="GtkListBox" id="subzones_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<style>
<class name="content"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">timezone_subzones</property>
<property name="position">2</property>
</packing>
<property name="child">
<object class="GtkListBox" id="subzones_list">
<property name="valign">start</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</property>
</object>
</child>
<child>
<object class="GtkListBox" id="formats_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<style>
<class name="content"/>
</style>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">formats</property>
<property name="position">3</property>
</packing>
<property name="child">
<object class="GtkListBox" id="formats_list">
<property name="valign">start</property>
<style>
<class name="boxed-list"/>
</style>
</object>
</property>
</object>
</child>
</object>
</child>
</property>
<style>
<class name="scrollbar"/>
</style>
</object>
</child>
<style>
<class name="scrollbar"/>
<class name="scrollable-box"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="scrollable-box"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</property>
</object>
<packing>
<property name="name">list</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,55 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="RestartPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">18</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Shown when restarting system after installation.">Restarting</property>
<property name="vexpand">1</property>
<property name="label" translatable="1" comments="Shown when restarting system after installation.">Restarting</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSpinner">
<object class="GtkSpinner" id="spinner">
<property name="vexpand">1</property>
<property name="margin-top">18</property>
<property name="width-request">64</property>
<property name="height-request">64</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">True</property>
<property name="spinning">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,107 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="SoftwarePage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" comments="Informative label above a list of software that can be selected for installation">Select Additional Software to Install</property>
<property name="label" translatable="1" comments="Informative label above a list of software that can be selected for installation">Select Additional Software to Install</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="continue_button">
<property name="label" translatable="yes" comments="On button.">_Continue</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="label" translatable="1" comments="On button.">_Continue</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">end</property>
<property name="margin-bottom">18</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vexpand">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="vexpand">1</property>
<property name="focusable">1</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="hscrollbar-policy">external</property>
<property name="propagate-natural-width">True</property>
<property name="propagate-natural-height">True</property>
<child>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<property name="child">
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="vscroll-policy">natural</property>
<property name="shadow-type">none</property>
<child>
<property name="child">
<object class="GtkListBox" id="software_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">18</property>
<property name="margin-end">18</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="selection-mode">none</property>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
</child>
</property>
</object>
</child>
</property>
<style>
<class name="scrollbar"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="scrollable-box"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,45 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="UserPage" parent="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-bottom">18</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Explanation for disk selection page.">Enter Account Information</property>
<property name="label" translatable="1" comments="Explanation for disk selection page.">Enter Account Information</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="default_list">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selection-mode">none</property>
<child>
<object class="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="activatable">False</property>
<property name="selectable">False</property>
<child>
<property name="activatable">0</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -47,95 +31,59 @@
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Used with entry field for User's name">Name</property>
<property name="wrap">True</property>
<property name="hexpand">1</property>
<property name="label" translatable="1" comments="Used with entry field for User&apos;s name">Name</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="user_name_field">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="has-focus">True</property>
<property name="focusable">1</property>
<property name="width-chars">10</property>
<property name="max-width-chars">24</property>
<property name="placeholder-text" translatable="yes" comments="Placeholder in user name entry field">Enter a Name</property>
<property name="placeholder-text" translatable="1" comments="Placeholder in user name entry field">Enter a Name</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="name">automatic_login</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="selectable">False</property>
<child>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">12</property>
<child>
<object class="GtkSwitch" id="autologin_switch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="valign">center</property>
<property name="active">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Used with option to enable automatic login of user upon booting">Automatic Login</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Used with option to enable automatic login of user upon booting">Automatic Login</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="autologin_switch">
<property name="focusable">1</property>
<property name="valign">center</property>
<property name="active">1</property>
</object>
</child>
</object>
</child>
</property>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="activatable">False</property>
<property name="selectable">False</property>
<child>
<property name="activatable">0</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -143,70 +91,45 @@
<property name="spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Used with entry field for setting a password for new user">Password</property>
<property name="wrap">True</property>
<property name="hexpand">1</property>
<property name="label" translatable="1" comments="Used with entry field for setting a password for new user">Password</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password_field">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="visibility">False</property>
<property name="focusable">1</property>
<property name="visibility">0</property>
<property name="invisible-char">●</property>
<property name="width-chars">10</property>
<property name="max-width-chars">24</property>
<property name="placeholder-text" translatable="yes" comments="Placeholder in password entry field">Enter a Password</property>
<property name="placeholder-text" translatable="1" comments="Placeholder in password entry field">Enter a Password</property>
<property name="input-purpose">password</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</object>
</child>
<style>
<class name="content"/>
<class name="boxed-list"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="continue_button">
<property name="label" translatable="yes" comments="On button.">_Continue</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="can-default">True</property>
<property name="receives-default">True</property>
<property name="label" translatable="1" comments="On button.">_Continue</property>
<property name="sensitive">0</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="use-underline">True</property>
<property name="use-underline">1</property>
<style>
<class name="suggested-action"/>
<class name="large-button"/>
<class name="pill"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
</template>
</interface>

View File

@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="DeviceRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<!-- n-columns=3 n-rows=2 -->
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -19,144 +14,121 @@
<property name="column-spacing">12</property>
<child>
<object class="GtkStack" id="arrow_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="hhomogeneous">False</property>
<property name="vhomogeneous">False</property>
<property name="hhomogeneous">0</property>
<property name="vhomogeneous">0</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="icon-name">go-next-symbolic</property>
</object>
</child>
<child>
<object class="GtkLabel" id="too_small_label">
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes" comments="Shown for partitions that are not big enough to be installed on">Not enough space for installation</property>
<property name="wrap">True</property>
<property name="xalign">1</property>
<attributes>
<attribute name="weight" value="light"/>
</attributes>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">too_small</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkLabel" id="too_small_label">
<property name="visible">0</property>
<property name="halign">start</property>
<property name="label" translatable="1" comments="Shown for partitions that are not big enough to be installed on">Not enough space for installation</property>
<property name="wrap">1</property>
<property name="xalign">1</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
</property>
</object>
</child>
<layout>
<property name="column">2</property>
<property name="row">0</property>
<property name="row-span">2</property>
</layout>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
<property name="height">2</property>
</packing>
</child>
<child>
<object class="GtkStack" id="name_stack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="hhomogeneous">False</property>
<property name="hexpand">1</property>
<property name="hhomogeneous">0</property>
<child>
<object class="GtkLabel" id="disk_name">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Shown if no name can be determined for a disk.">Unknow Disk</property>
<property name="use-markup">True</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<property name="xalign">0</property>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">disk</property>
</packing>
<property name="child">
<object class="GtkLabel" id="disk_name">
<property name="label" translatable="1" comments="Shown if no name can be determined for a disk.">Unknow Disk</property>
<property name="use-markup">1</property>
<property name="wrap">1</property>
<property name="ellipsize">end</property>
<property name="xalign">0</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="spacing">4</property>
<child>
<object class="GtkLabel" id="static_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Followed by 'Partition' and a partiton name or number.">Use</property>
<property name="use-markup">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="partition_name">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Label to pick one out of a list of partitions. Followed by a partition name or a number if the partition has no name.">Partition</property>
<property name="use-markup">True</property>
<property name="ellipsize">end</property>
<property name="width-chars">8</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">partition</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkBox">
<property name="valign">end</property>
<property name="spacing">4</property>
<child>
<object class="GtkLabel" id="static_label">
<property name="label" translatable="1" comments="Followed by &apos;Partition&apos; and a partiton name or number.">Use</property>
<property name="use-markup">1</property>
<property name="xalign">0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="partition_name">
<property name="hexpand">1</property>
<property name="label" translatable="1" comments="Label to pick one out of a list of partitions. Followed by a partition name or a number if the partition has no name.">Partition</property>
<property name="use-markup">1</property>
<property name="ellipsize">end</property>
<property name="width-chars">8</property>
<property name="xalign">0</property>
</object>
</child>
</object>
</property>
</object>
</child>
<layout>
<property name="column">1</property>
<property name="row">0</property>
</layout>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="device_path">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="ellipsize">start</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"/>
<attribute name="weight" value="light"></attribute>
</attributes>
<layout>
<property name="column">1</property>
<property name="row">1</property>
</layout>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="size">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="width-chars">5</property>
<property name="max-width-chars">7</property>
<property name="xalign">1</property>
<attributes>
<attribute name="weight" value="light"/>
<attribute name="weight" value="light"></attribute>
</attributes>
<layout>
<property name="column">0</property>
<property name="row">0</property>
<property name="row-span">2</property>
</layout>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
<property name="height">2</property>
</packing>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"/>
<template class="ScrollableListBox" parent="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">external</property>
<property name="vscrollbar-policy">external</property>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
</object>
</child>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="focusable">1</property>
<property name="hscrollbar-policy">external</property>
<property name="vscrollbar-policy">external</property>
<property name="propagate-natural-width">1</property>
<property name="propagate-natural-height">1</property>
<property name="child">
<object class="GtkViewport">
<property name="vscroll-policy">natural</property>
<property name="child">
<object class="GtkBox">
<property name="margin-top">12</property>
<property name="margin-bottom">70</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkListBox" id="language_list">
<style>
<class name="boxed-list"/>
</style>
</object>
</child>
<child>
<object class="GtkRevealer" id="show_all_revealer">
<property name="transition-type">slide-up</property>
<property name="child">
<object class="GtkButton" id="show_all_button">
<property name="width-request">32</property>
<property name="focusable">1</property>
<property name="receives-default">1</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="margin-bottom">18</property>
<child>
<object class="GtkImage">
<property name="icon-name">view-more-symbolic</property>
</object>
</child>
<style>
<class name="circular"/>
</style>
</object>
</property>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</child>
</object>
</child>
</template>
</interface>

View File

@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="LanguageRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
@@ -17,32 +13,18 @@
<property name="spacing">18</property>
<child type="center">
<object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="hexpand">1</property>
<property name="wrap">1</property>
<property name="ellipsize">end</property>
<property name="lines">2</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">go-next-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -1,119 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<template class="DiskRow" parent="GtkListBoxRow">
<requires lib="gtk" version="4.0"/>
<template class="NoPartitionsRow" parent="GtkListBoxRow">
<property name="name">no_efi</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="selectable">False</property>
<child>
<property name="focusable">1</property>
<property name="selectable">0</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">dialog-information-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Shown if a disk is currently not compatible with the way a system was booted.">Selecting a partition is not possible.</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Shown if a disk is currently not compatible with the way a system was booted.">Selecting a partition is not possible.</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Followed by a list of requirements">The disk requires:</property>
<property name="wrap">True</property>
<property name="label" translatable="1" comments="Followed by a list of requirements">The disk requires:</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"/>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkStack">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hhomogeneous">False</property>
<property name="vhomogeneous">False</property>
<property name="hhomogeneous">0</property>
<property name="vhomogeneous">0</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Technical terms, the abbreviations should not be translated."> • GPT partitioning
• EFI partition</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"/>
</attributes>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">efi</property>
</packing>
<property name="child">
<object class="GtkLabel">
<property name="label" translatable="1" comments="Technical terms, the abbreviations should not be translated."> • GPT partitioning
• EFI partition</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes" comments="Technical terms, the abbreviations should not be translated"> • BIOS boot partition</property>
<property name="wrap">True</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"/>
</attributes>
</object>
<packing>
<object class="GtkStackPage">
<property name="name">bios</property>
<property name="position">1</property>
</packing>
<property name="child">
<object class="GtkLabel">
<property name="label" translatable="1" comments="Technical terms, the abbreviations should not be translated"> • BIOS boot partition</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="light"></attribute>
</attributes>
</object>
</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -1,46 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="ProgressRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<property name="focusable">1</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">go-next-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="ellipsize">end</property>
<property name="hexpand">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="icon-name">go-next-symbolic</property>
</object>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -1,55 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="SelectionRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<property name="focusable">1</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">12</property>
<property name="margin-end">12</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkRevealer" id="check_mark_revealer">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">object-select-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="wrap">1</property>
<property name="ellipsize">end</property>
<property name="lines">2</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkRevealer" id="check_mark_revealer">
<property name="transition-type">crossfade</property>
<property name="child">
<object class="GtkImage">
<property name="icon-name">object-select-symbolic</property>
</object>
</property>
</object>
</child>
</object>
</child>
</property>
</template>
</interface>

View File

@@ -1,89 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<requires lib="gtk" version="4.0"/>
<template class="SoftwareRow" parent="GtkListBoxRow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<child>
<property name="focusable">1</property>
<property name="child">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="border-width">6</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">6</property>
<property name="margin-bottom">6</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage" id="icon">
<property name="width-request">32</property>
<property name="height-request">32</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">center</property>
<property name="icon_size">5</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkLabel" id="name_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">end</property>
<property name="ellipsize">end</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
<attribute name="weight" value="bold"></attribute>
</attributes>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="description_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="wrap">True</property>
<property name="valign">center</property>
<property name="wrap">1</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSwitch" id="switch">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="focusable">1</property>
<property name="valign">center</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</property>
</template>
</interface>

300
po/de.po
View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: os-installer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-11 03:12+0100\n"
"POT-Creation-Date: 2022-03-22 00:39+0100\n"
"PO-Revision-Date: 2021-03-12 13:46+0100\n"
"Last-Translator: p3732 <650-p3732@users.noreply.gitlab.gnome.org>\n"
"Language-Team: German <->\n"
@@ -28,241 +28,153 @@ msgstr "Systeminstallation"
msgid "Install an Operating System"
msgstr "Installiere ein Betriebssystem"
#. Shown if user wants to close window with running installation
#: data/resources/ui/confirm_quit_popup.ui
msgid ""
"Stopping a running installation will leave the disk in an undefined state "
"that might potentially be harmful"
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Compatible with all operating systems."
msgstr ""
"Eine laufende Installation abzubrechen wird das Laufwerk in einem "
"undefinierten Zustand hinterlassen und kann potentiell schädlich sein"
#. Underscore can not be the same as for 'Stop Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Continue Installation"
msgstr "Installation _Fortfahren"
#~ msgid ""
#~ "Stopping a running installation will leave the disk in an undefined state "
#~ "that might potentially be harmful"
#~ msgstr ""
#~ "Eine laufende Installation abzubrechen wird das Laufwerk in einem "
#~ "undefinierten Zustand hinterlassen und kann potentiell schädlich sein"
#. Underscore can not be the same as for 'Continue Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Stop Installation"
msgstr "Installation _Abbrechen"
#~ msgid "_Continue Installation"
#~ msgstr "Installation _Fortfahren"
#. Followed by a disk or partition name
#: data/resources/ui/pages/confirm.ui
msgid "This will delete all data on"
msgstr "Hiermit werden alle Dateien gelöscht von"
#~ msgid "_Stop Installation"
#~ msgstr "Installation _Abbrechen"
#. Button label to confirm disk deletion
#. On button.
#: data/resources/ui/pages/confirm.ui data/resources/ui/pages/locale.ui
msgid "_Confirm"
msgstr "_Bestätigen"
#~ msgid "This will delete all data on"
#~ msgstr "Hiermit werden alle Dateien gelöscht von"
#. Explanation for disk selection page.
#: data/resources/ui/pages/disk.ui
msgid "Select Drive for Installation"
msgstr "Wähle ein Laufwerk zur Installation"
#~ msgid "_Confirm"
#~ msgstr "_Bestätigen"
#. Label to go back to overview of all disks
#: data/resources/ui/pages/disk.ui
msgid "Use Whole Disk"
msgstr "Nutze gesamtes Laufwerk"
#~ msgid "Select Drive for Installation"
#~ msgstr "Wähle ein Laufwerk zur Installation"
#. Button label to open disk management tool. Underscore can not be for same as for 'Reload'
#: data/resources/ui/pages/disk.ui
msgid "_Manage Disks"
msgstr "_Laufwerke verwalten"
#~ msgid "Use Whole Disk"
#~ msgstr "Nutze gesamtes Laufwerk"
#. Informative label after successful installation
#: data/resources/ui/pages/done.ui
msgid "Installation complete"
msgstr "Installation vollständig"
#~ msgid "_Manage Disks"
#~ msgstr "_Laufwerke verwalten"
#. Button label to restart system directly after successful installation. Underscore can not be for same letter as 'Restart Later'.
#: data/resources/ui/pages/done.ui
msgid "_Restart System"
msgstr "System _Neustarten"
#~ msgid "Installation complete"
#~ msgstr "Installation vollständig"
#. Button label to delay restart after successful installation. Underscore can not be for same letter as 'Restart System'.
#: data/resources/ui/pages/done.ui
msgid "Restart _Later"
msgstr "_Später Neustarten"
#~ msgid "_Restart System"
#~ msgstr "System _Neustarten"
#. Used with option to enable disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encrypt Installation"
msgstr "Installation verschlüsseln"
#~ msgid "Restart _Later"
#~ msgstr "_Später Neustarten"
#. Description of entry field for pin/password used for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encryption PIN"
msgstr "Verschlüsselungs-PIN"
#~ msgid "Encrypt Installation"
#~ msgstr "Installation verschlüsseln"
#. Placeholder for disk encryption pin/password field
#: data/resources/ui/pages/encrypt.ui
msgid "PIN"
msgstr "PIN"
#~ msgid "Encryption PIN"
#~ msgstr "Verschlüsselungs-PIN"
#. Warning label for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid ""
"Memorize this PIN well. Without it you will not be able to access your files."
msgstr ""
"Präge dir diesen PIN gut ein. Ohne ihn wirst du nicht auf deine Dateien "
"zugreifen können."
#~ msgid "PIN"
#~ msgstr "PIN"
#. On button.
#: data/resources/ui/pages/encrypt.ui
#: data/resources/ui/pages/keyboard_layout.ui
#: data/resources/ui/pages/software.ui data/resources/ui/pages/user.ui
msgid "_Continue"
msgstr "_Weiter"
#~ msgid ""
#~ "Memorize this PIN well. Without it you will not be able to access your "
#~ "files."
#~ msgstr ""
#~ "Präge dir diesen PIN gut ein. Ohne ihn wirst du nicht auf deine Dateien "
#~ "zugreifen können."
#. Shown as simple informative text
#: data/resources/ui/pages/failed.ui
msgid "The installation failed"
msgstr "Die Installation schlug fehl"
#~ msgid "_Continue"
#~ msgstr "_Weiter"
#. Shown if installation fails.
#: data/resources/ui/pages/failed.ui
msgid "Search for Help on the Internet"
msgstr "Suche im Internet nach Hilfe"
#~ msgid "The installation failed"
#~ msgstr "Die Installation schlug fehl"
#. Hover information on toggle button that shows terminal output during installation.
#: data/resources/ui/pages/install.ui
msgid "Show Terminal Output"
msgstr "Terminal-Ausgabe anzeigen"
#~ msgid "Search for Help on the Internet"
#~ msgstr "Suche im Internet nach Hilfe"
#. Simple label used during Installation
#: data/resources/ui/pages/install.ui
msgid "Installing"
msgstr "Installation läuft"
#~ msgid "Show Terminal Output"
#~ msgstr "Terminal-Ausgabe anzeigen"
#. On button for opening wifi settings.
#: data/resources/ui/pages/internet.ui
msgid "_Setup Internet Connection"
msgstr "_Internetverbindung einrichten"
#~ msgid "Installing"
#~ msgstr "Installation läuft"
#. Explanation for keyboard layout selection page.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Select Keyboard Layout"
msgstr "Wähle eine Tastaturbelegung"
#~ msgid "_Setup Internet Connection"
#~ msgstr "_Internetverbindung einrichten"
#. Followed by a language name.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Showing Keyboard Layouts for"
msgstr "Zeige Tastaturbelegung für"
#~ msgid "Select Keyboard Layout"
#~ msgstr "Wähle eine Tastaturbelegung"
#. Used as placeholder in a entry field to try out a keyboard layout
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Test the Keyboard Layout Here"
msgstr "Teste die Tastaturbelegung hier"
#~ msgid "Showing Keyboard Layouts for"
#~ msgstr "Zeige Tastaturbelegung für"
#. Above list of continents and countries
#: data/resources/ui/pages/locale.ui
msgid "Select Location"
msgstr "Wähle einen Standort"
#~ msgid "Test the Keyboard Layout Here"
#~ msgstr "Teste die Tastaturbelegung hier"
#. Above list of format locales
#: data/resources/ui/pages/locale.ui
msgid "Select Region"
msgstr "Wähle eine Region"
#~ msgid "Select Location"
#~ msgstr "Wähle einen Standort"
#. Presented next to the current Timezone.
#: data/resources/ui/pages/locale.ui
msgid "Timezone"
msgstr "Zeitzone"
#~ msgid "Select Region"
#~ msgstr "Wähle eine Region"
#. Presented next to the current Formats.
#: data/resources/ui/pages/locale.ui
msgid "Formats"
msgstr "Formate"
#~ msgid "Timezone"
#~ msgstr "Zeitzone"
#. Description of what is covered by formats.
#: data/resources/ui/pages/locale.ui
msgid "Defines the default format used for dates, times, numbers, etc."
msgstr "Bestimmt die Standardformatierung von Datum, Uhrzeit, Zahlen, etc."
#~ msgid "Formats"
#~ msgstr "Formate"
#. Shown when restarting system after installation.
#: data/resources/ui/pages/restart.ui
msgid "Restarting"
msgstr "Neustarten"
#~ msgid "Defines the default format used for dates, times, numbers, etc."
#~ msgstr "Bestimmt die Standardformatierung von Datum, Uhrzeit, Zahlen, etc."
#. Informative label above a list of software that can be selected for installation
#: data/resources/ui/pages/software.ui
msgid "Select Additional Software to Install"
msgstr "Wähle zusätzliche Programme zur Installation aus"
#~ msgid "Restarting"
#~ msgstr "Neustarten"
#. Explanation for disk selection page.
#: data/resources/ui/pages/user.ui
msgid "Enter Account Information"
msgstr "Gebe Informationen für Benutzerkonto ein"
#~ msgid "Select Additional Software to Install"
#~ msgstr "Wähle zusätzliche Programme zur Installation aus"
#. Used with entry field for User's name
#: data/resources/ui/pages/user.ui
msgid "Name"
msgstr "Name"
#~ msgid "Enter Account Information"
#~ msgstr "Gebe Informationen für Benutzerkonto ein"
#. Placeholder in user name entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Name"
msgstr "Gebe einen Namen ein"
#~ msgid "Name"
#~ msgstr "Name"
#. Used with option to enable automatic login of user upon booting
#: data/resources/ui/pages/user.ui
msgid "Automatic Login"
msgstr "Automatisch Anmelden"
#~ msgid "Enter a Name"
#~ msgstr "Gebe einen Namen ein"
#. Used with entry field for setting a password for new user
#: data/resources/ui/pages/user.ui
msgid "Password"
msgstr "Passwort"
#~ msgid "Automatic Login"
#~ msgstr "Automatisch Anmelden"
#. Placeholder in password entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Password"
msgstr "Gebe ein Passwort ein"
#~ msgid "Password"
#~ msgstr "Passwort"
#. Shown if no name can be determined for a disk.
#: data/resources/ui/widgets/device_row.ui
msgid "Unknow Disk"
msgstr "Unbekanntes Laufwerk"
#~ msgid "Enter a Password"
#~ msgstr "Gebe ein Passwort ein"
#. Followed by 'Partition' and a partiton name or number.
#: data/resources/ui/widgets/device_row.ui
msgid "Use"
msgstr "Nutze"
#~ msgid "Unknow Disk"
#~ msgstr "Unbekanntes Laufwerk"
#. Label to pick one out of a list of partitions. Followed by a partition name or a number if the partition has no name.
#: data/resources/ui/widgets/device_row.ui
msgid "Partition"
msgstr "Partition"
#~ msgid "Use"
#~ msgstr "Nutze"
#. Shown for partitions that are not big enough to be installed on
#: data/resources/ui/widgets/device_row.ui
msgid "Not enough space for installation"
msgstr "Nicht groß genug für Installation"
#~ msgid "Partition"
#~ msgstr "Partition"
#. Shown if a disk is currently not compatible with the way a system was booted.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "Selecting a partition is not possible."
msgstr "Auswählen einer Partition nicht möglich"
#~ msgid "Not enough space for installation"
#~ msgstr "Nicht groß genug für Installation"
#. Followed by a list of requirements
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "The disk requires:"
msgstr "Das Laufwerk benötigt:"
#~ msgid "Selecting a partition is not possible."
#~ msgstr "Auswählen einer Partition nicht möglich"
#. Technical terms, the abbreviations should not be translated.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid ""
" • GPT partitioning\n"
" • EFI partition"
msgstr ""
" • GPT Partitionierung\n"
" • EFI Partition"
#~ msgid "The disk requires:"
#~ msgstr "Das Laufwerk benötigt:"
#. Technical terms, the abbreviations should not be translated
#: data/resources/ui/widgets/no_partitions_row.ui
msgid " • BIOS boot partition"
msgstr " • BIOS Boot-Partition"
#~ msgid ""
#~ " • GPT partitioning\n"
#~ " • EFI partition"
#~ msgstr ""
#~ " • GPT Partitionierung\n"
#~ " • EFI Partition"
#~ msgid " • BIOS boot partition"
#~ msgstr " • BIOS Boot-Partition"

299
po/hr.po
View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: os-installer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-11 03:12+0100\n"
"POT-Creation-Date: 2022-03-22 00:39+0100\n"
"PO-Revision-Date: 2021-03-12 13:45+0100\n"
"Last-Translator: p3732 <650-p3732@users.noreply.gitlab.gnome.org>\n"
"Language-Team: German <->\n"
@@ -29,240 +29,153 @@ msgstr "OS-Instaler"
msgid "Install an Operating System"
msgstr "Instaliraj operacijski sustav"
#. Shown if user wants to close window with running installation
#: data/resources/ui/confirm_quit_popup.ui
msgid ""
"Stopping a running installation will leave the disk in an undefined state "
"that might potentially be harmful"
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Compatible with all operating systems."
msgstr ""
"Zaustavljanje pokrenute instalacije će ostaviti disk u nedefiniranom stanju "
"koje bi moglo biti štetno "
#. Underscore can not be the same as for 'Stop Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Continue Installation"
msgstr "_Nastavi instalaciju"
#~ msgid ""
#~ "Stopping a running installation will leave the disk in an undefined state "
#~ "that might potentially be harmful"
#~ msgstr ""
#~ "Zaustavljanje pokrenute instalacije će ostaviti disk u nedefiniranom "
#~ "stanju koje bi moglo biti štetno "
#. Underscore can not be the same as for 'Continue Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Stop Installation"
msgstr "_Prekini instalaciju"
#~ msgid "_Continue Installation"
#~ msgstr "_Nastavi instalaciju"
#. Followed by a disk or partition name
#: data/resources/ui/pages/confirm.ui
msgid "This will delete all data on"
msgstr "Ovo će obrisati sve podatke na"
#~ msgid "_Stop Installation"
#~ msgstr "_Prekini instalaciju"
#. Button label to confirm disk deletion
#. On button.
#: data/resources/ui/pages/confirm.ui data/resources/ui/pages/locale.ui
msgid "_Confirm"
msgstr "_Potvrdi"
#~ msgid "This will delete all data on"
#~ msgstr "Ovo će obrisati sve podatke na"
#. Explanation for disk selection page.
#: data/resources/ui/pages/disk.ui
msgid "Select Drive for Installation"
msgstr "Izaberite disk za instalaciju"
#~ msgid "_Confirm"
#~ msgstr "_Potvrdi"
#. Label to go back to overview of all disks
#: data/resources/ui/pages/disk.ui
msgid "Use Whole Disk"
msgstr "Koristi cijeli disk"
#~ msgid "Select Drive for Installation"
#~ msgstr "Izaberite disk za instalaciju"
#. Button label to open disk management tool. Underscore can not be for same as for 'Reload'
#: data/resources/ui/pages/disk.ui
msgid "_Manage Disks"
msgstr "_Upravljanje diskovima"
#~ msgid "Use Whole Disk"
#~ msgstr "Koristi cijeli disk"
#. Informative label after successful installation
#: data/resources/ui/pages/done.ui
msgid "Installation complete"
msgstr "Instalacija je završena"
#~ msgid "_Manage Disks"
#~ msgstr "_Upravljanje diskovima"
#. Button label to restart system directly after successful installation. Underscore can not be for same letter as 'Restart Later'.
#: data/resources/ui/pages/done.ui
msgid "_Restart System"
msgstr "Ponovno pokreni _sustav"
#~ msgid "Installation complete"
#~ msgstr "Instalacija je završena"
#. Button label to delay restart after successful installation. Underscore can not be for same letter as 'Restart System'.
#: data/resources/ui/pages/done.ui
msgid "Restart _Later"
msgstr "Ponovno pokreni _kasnije"
#~ msgid "_Restart System"
#~ msgstr "Ponovno pokreni _sustav"
#. Used with option to enable disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encrypt Installation"
msgstr "Šifriraj instalaciju"
#~ msgid "Restart _Later"
#~ msgstr "Ponovno pokreni _kasnije"
#. Description of entry field for pin/password used for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encryption PIN"
msgstr "PIN za šifriranje"
#~ msgid "Encrypt Installation"
#~ msgstr "Šifriraj instalaciju"
#. Placeholder for disk encryption pin/password field
#: data/resources/ui/pages/encrypt.ui
msgid "PIN"
msgstr "PIN"
#~ msgid "Encryption PIN"
#~ msgstr "PIN za šifriranje"
#. Warning label for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid ""
"Memorize this PIN well. Without it you will not be able to access your files."
msgstr ""
"Dobro zapamtite ovaj PIN. Bez njega nećete moći pristupiti svojim datotekama."
#~ msgid "PIN"
#~ msgstr "PIN"
#. On button.
#: data/resources/ui/pages/encrypt.ui
#: data/resources/ui/pages/keyboard_layout.ui
#: data/resources/ui/pages/software.ui data/resources/ui/pages/user.ui
msgid "_Continue"
msgstr "_Nastavi"
#~ msgid ""
#~ "Memorize this PIN well. Without it you will not be able to access your "
#~ "files."
#~ msgstr ""
#~ "Dobro zapamtite ovaj PIN. Bez njega nećete moći pristupiti svojim "
#~ "datotekama."
#. Shown as simple informative text
#: data/resources/ui/pages/failed.ui
msgid "The installation failed"
msgstr "Instalacija nije upijela"
#~ msgid "_Continue"
#~ msgstr "_Nastavi"
#. Shown if installation fails.
#: data/resources/ui/pages/failed.ui
msgid "Search for Help on the Internet"
msgstr "Potraži pomoć na Internetu"
#~ msgid "The installation failed"
#~ msgstr "Instalacija nije upijela"
#. Hover information on toggle button that shows terminal output during installation.
#: data/resources/ui/pages/install.ui
msgid "Show Terminal Output"
msgstr "Prikaži izlaz terminala"
#~ msgid "Search for Help on the Internet"
#~ msgstr "Potraži pomoć na Internetu"
#. Simple label used during Installation
#: data/resources/ui/pages/install.ui
msgid "Installing"
msgstr "Instaliranje"
#~ msgid "Show Terminal Output"
#~ msgstr "Prikaži izlaz terminala"
#. On button for opening wifi settings.
#: data/resources/ui/pages/internet.ui
msgid "_Setup Internet Connection"
msgstr "_Postavke internetske veze"
#~ msgid "Installing"
#~ msgstr "Instaliranje"
#. Explanation for keyboard layout selection page.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Select Keyboard Layout"
msgstr "Izaberi rasporede tipkovnice"
#~ msgid "_Setup Internet Connection"
#~ msgstr "_Postavke internetske veze"
#. Followed by a language name.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Showing Keyboard Layouts for"
msgstr "Prikaži sve rasporede tipkovnice za"
#~ msgid "Select Keyboard Layout"
#~ msgstr "Izaberi rasporede tipkovnice"
#. Used as placeholder in a entry field to try out a keyboard layout
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Test the Keyboard Layout Here"
msgstr "Ovdje isprobajte odabrani raspored tipkovnice"
#~ msgid "Showing Keyboard Layouts for"
#~ msgstr "Prikaži sve rasporede tipkovnice za"
#. Above list of continents and countries
#: data/resources/ui/pages/locale.ui
msgid "Select Location"
msgstr "Odabir lokacije"
#~ msgid "Test the Keyboard Layout Here"
#~ msgstr "Ovdje isprobajte odabrani raspored tipkovnice"
#. Above list of format locales
#: data/resources/ui/pages/locale.ui
msgid "Select Region"
msgstr "Odabir regije"
#~ msgid "Select Location"
#~ msgstr "Odabir lokacije"
#. Presented next to the current Timezone.
#: data/resources/ui/pages/locale.ui
msgid "Timezone"
msgstr "Vremenska zona"
#~ msgid "Select Region"
#~ msgstr "Odabir regije"
#. Presented next to the current Formats.
#: data/resources/ui/pages/locale.ui
msgid "Formats"
msgstr "Formati"
#~ msgid "Timezone"
#~ msgstr "Vremenska zona"
#. Description of what is covered by formats.
#: data/resources/ui/pages/locale.ui
msgid "Defines the default format used for dates, times, numbers, etc."
msgstr "Definira format koji se koristi za datume, vremena, brojeve itd."
#~ msgid "Formats"
#~ msgstr "Formati"
#. Shown when restarting system after installation.
#: data/resources/ui/pages/restart.ui
msgid "Restarting"
msgstr "Ponovno pokretanje"
#~ msgid "Defines the default format used for dates, times, numbers, etc."
#~ msgstr "Definira format koji se koristi za datume, vremena, brojeve itd."
#. Informative label above a list of software that can be selected for installation
#: data/resources/ui/pages/software.ui
msgid "Select Additional Software to Install"
msgstr "Odabir dodatnih programa za instalaciju"
#~ msgid "Restarting"
#~ msgstr "Ponovno pokretanje"
#. Explanation for disk selection page.
#: data/resources/ui/pages/user.ui
msgid "Enter Account Information"
msgstr "Unesite podatke o računu"
#~ msgid "Select Additional Software to Install"
#~ msgstr "Odabir dodatnih programa za instalaciju"
#. Used with entry field for User's name
#: data/resources/ui/pages/user.ui
msgid "Name"
msgstr "Ime"
#~ msgid "Enter Account Information"
#~ msgstr "Unesite podatke o računu"
#. Placeholder in user name entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Name"
msgstr "Upišite ime"
#~ msgid "Name"
#~ msgstr "Ime"
#. Used with option to enable automatic login of user upon booting
#: data/resources/ui/pages/user.ui
msgid "Automatic Login"
msgstr "Automatska prijava"
#~ msgid "Enter a Name"
#~ msgstr "Upišite ime"
#. Used with entry field for setting a password for new user
#: data/resources/ui/pages/user.ui
msgid "Password"
msgstr "Loznka"
#~ msgid "Automatic Login"
#~ msgstr "Automatska prijava"
#. Placeholder in password entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Password"
msgstr "Upišite lozinku"
#~ msgid "Password"
#~ msgstr "Loznka"
#. Shown if no name can be determined for a disk.
#: data/resources/ui/widgets/device_row.ui
msgid "Unknow Disk"
msgstr "Nepoznati disk"
#~ msgid "Enter a Password"
#~ msgstr "Upišite lozinku"
#. Followed by 'Partition' and a partiton name or number.
#: data/resources/ui/widgets/device_row.ui
msgid "Use"
msgstr "Koristi"
#~ msgid "Unknow Disk"
#~ msgstr "Nepoznati disk"
#. Label to pick one out of a list of partitions. Followed by a partition name or a number if the partition has no name.
#: data/resources/ui/widgets/device_row.ui
msgid "Partition"
msgstr "Particija"
#~ msgid "Use"
#~ msgstr "Koristi"
#. Shown for partitions that are not big enough to be installed on
#: data/resources/ui/widgets/device_row.ui
msgid "Not enough space for installation"
msgstr "Premalo prostora za instalaciju"
#~ msgid "Partition"
#~ msgstr "Particija"
#. Shown if a disk is currently not compatible with the way a system was booted.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "Selecting a partition is not possible."
msgstr "Odabir particije nije moguć. "
#~ msgid "Not enough space for installation"
#~ msgstr "Premalo prostora za instalaciju"
#. Followed by a list of requirements
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "The disk requires:"
msgstr "Disk zahtijeva:"
#~ msgid "Selecting a partition is not possible."
#~ msgstr "Odabir particije nije moguć. "
#. Technical terms, the abbreviations should not be translated.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid ""
" • GPT partitioning\n"
" • EFI partition"
msgstr ""
" • GPT particioniranje\n"
" • EFI particija"
#~ msgid "The disk requires:"
#~ msgstr "Disk zahtijeva:"
#. Technical terms, the abbreviations should not be translated
#: data/resources/ui/widgets/no_partitions_row.ui
msgid " • BIOS boot partition"
msgstr " • BIOS particija za pokretanje"
#~ msgid ""
#~ " • GPT partitioning\n"
#~ " • EFI partition"
#~ msgstr ""
#~ " • GPT particioniranje\n"
#~ " • EFI particija"
#~ msgid " • BIOS boot partition"
#~ msgstr " • BIOS particija za pokretanje"

View File

@@ -8,13 +8,13 @@ msgid ""
msgstr ""
"Project-Id-Version: os-installer\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-11 03:12+0100\n"
"POT-Creation-Date: 2022-03-22 00:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: data/com.github.p3732.OS-Installer.desktop.in
@@ -26,235 +26,6 @@ msgstr ""
msgid "Install an Operating System"
msgstr ""
#. Shown if user wants to close window with running installation
#: data/resources/ui/confirm_quit_popup.ui
msgid ""
"Stopping a running installation will leave the disk in an undefined state "
"that might potentially be harmful"
msgstr ""
#. Underscore can not be the same as for 'Stop Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Continue Installation"
msgstr ""
#. Underscore can not be the same as for 'Continue Installation'.
#: data/resources/ui/confirm_quit_popup.ui
msgid "_Stop Installation"
msgstr ""
#. Followed by a disk or partition name
#: data/resources/ui/pages/confirm.ui
msgid "This will delete all data on"
msgstr ""
#. Button label to confirm disk deletion
#. On button.
#: data/resources/ui/pages/confirm.ui data/resources/ui/pages/locale.ui
msgid "_Confirm"
msgstr ""
#. Explanation for disk selection page.
#: data/resources/ui/pages/disk.ui
msgid "Select Drive for Installation"
msgstr ""
#. Label to go back to overview of all disks
#: data/resources/ui/pages/disk.ui
msgid "Use Whole Disk"
msgstr ""
#. Button label to open disk management tool. Underscore can not be for same as for 'Reload'
#: data/resources/ui/pages/disk.ui
msgid "_Manage Disks"
msgstr ""
#. Informative label after successful installation
#: data/resources/ui/pages/done.ui
msgid "Installation complete"
msgstr ""
#. Button label to restart system directly after successful installation. Underscore can not be for same letter as 'Restart Later'.
#: data/resources/ui/pages/done.ui
msgid "_Restart System"
msgstr ""
#. Button label to delay restart after successful installation. Underscore can not be for same letter as 'Restart System'.
#: data/resources/ui/pages/done.ui
msgid "Restart _Later"
msgstr ""
#. Used with option to enable disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encrypt Installation"
msgstr ""
#. Description of entry field for pin/password used for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid "Encryption PIN"
msgstr ""
#. Placeholder for disk encryption pin/password field
#: data/resources/ui/pages/encrypt.ui
msgid "PIN"
msgstr ""
#. Warning label for disk encryption
#: data/resources/ui/pages/encrypt.ui
msgid ""
"Memorize this PIN well. Without it you will not be able to access your files."
msgstr ""
#. On button.
#: data/resources/ui/pages/encrypt.ui
#: data/resources/ui/pages/keyboard_layout.ui
#: data/resources/ui/pages/software.ui data/resources/ui/pages/user.ui
msgid "_Continue"
msgstr ""
#. Shown as simple informative text
#: data/resources/ui/pages/failed.ui
msgid "The installation failed"
msgstr ""
#. Shown if installation fails.
#: data/resources/ui/pages/failed.ui
msgid "Search for Help on the Internet"
msgstr ""
#. Hover information on toggle button that shows terminal output during installation.
#: data/resources/ui/pages/install.ui
msgid "Show Terminal Output"
msgstr ""
#. Simple label used during Installation
#: data/resources/ui/pages/install.ui
msgid "Installing"
msgstr ""
#. On button for opening wifi settings.
#: data/resources/ui/pages/internet.ui
msgid "_Setup Internet Connection"
msgstr ""
#. Explanation for keyboard layout selection page.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Select Keyboard Layout"
msgstr ""
#. Followed by a language name.
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Showing Keyboard Layouts for"
msgstr ""
#. Used as placeholder in a entry field to try out a keyboard layout
#: data/resources/ui/pages/keyboard_layout.ui
msgid "Test the Keyboard Layout Here"
msgstr ""
#. Above list of continents and countries
#: data/resources/ui/pages/locale.ui
msgid "Select Location"
msgstr ""
#. Above list of format locales
#: data/resources/ui/pages/locale.ui
msgid "Select Region"
msgstr ""
#. Presented next to the current Timezone.
#: data/resources/ui/pages/locale.ui
msgid "Timezone"
msgstr ""
#. Presented next to the current Formats.
#: data/resources/ui/pages/locale.ui
msgid "Formats"
msgstr ""
#. Description of what is covered by formats.
#: data/resources/ui/pages/locale.ui
msgid "Defines the default format used for dates, times, numbers, etc."
msgstr ""
#. Shown when restarting system after installation.
#: data/resources/ui/pages/restart.ui
msgid "Restarting"
msgstr ""
#. Informative label above a list of software that can be selected for installation
#: data/resources/ui/pages/software.ui
msgid "Select Additional Software to Install"
msgstr ""
#. Explanation for disk selection page.
#: data/resources/ui/pages/user.ui
msgid "Enter Account Information"
msgstr ""
#. Used with entry field for User's name
#: data/resources/ui/pages/user.ui
msgid "Name"
msgstr ""
#. Placeholder in user name entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Name"
msgstr ""
#. Used with option to enable automatic login of user upon booting
#: data/resources/ui/pages/user.ui
msgid "Automatic Login"
msgstr ""
#. Used with entry field for setting a password for new user
#: data/resources/ui/pages/user.ui
msgid "Password"
msgstr ""
#. Placeholder in password entry field
#: data/resources/ui/pages/user.ui
msgid "Enter a Password"
msgstr ""
#. Shown if no name can be determined for a disk.
#: data/resources/ui/widgets/device_row.ui
msgid "Unknow Disk"
msgstr ""
#. Followed by 'Partition' and a partiton name or number.
#: data/resources/ui/widgets/device_row.ui
msgid "Use"
msgstr ""
#. Label to pick one out of a list of partitions. Followed by a partition name or a number if the partition has no name.
#: data/resources/ui/widgets/device_row.ui
msgid "Partition"
msgstr ""
#. Shown for partitions that are not big enough to be installed on
#: data/resources/ui/widgets/device_row.ui
msgid "Not enough space for installation"
msgstr ""
#. Shown if a disk is currently not compatible with the way a system was booted.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "Selecting a partition is not possible."
msgstr ""
#. Followed by a list of requirements
#: data/resources/ui/widgets/no_partitions_row.ui
msgid "The disk requires:"
msgstr ""
#. Technical terms, the abbreviations should not be translated.
#: data/resources/ui/widgets/no_partitions_row.ui
msgid ""
" • GPT partitioning\n"
" • EFI partition"
msgstr ""
#. Technical terms, the abbreviations should not be translated
#: data/resources/ui/widgets/no_partitions_row.ui
msgid " • BIOS boot partition"
msgid "Compatible with all operating systems."
msgstr ""

View File

@@ -24,14 +24,14 @@ for language_code in language_codes:
if len(locales) > 0:
language_code_to_locale[language_code] = locales[0]
for locale in locales:
locale_set.add(locale)
locale_set.append(locale)
else:
long_language_code = language_code + '_' + language_code.upper()
locales = langtable.list_locales(languageId=long_language_code)
if len(locales) > 0:
language_code_to_locale[language_code] = locales[0]
for locale in locales:
locale_set.add(locale)
locale_set.append(locale)
else:
if GnomeDesktop.language_has_translations(language_code):
print("Can't convert country code '{}' to locale".format(language_code))

View File

@@ -4,16 +4,16 @@ import sys
import gi
# set versions for all used submodules
gi.require_version('Gdk', '3.0') # noqa: E402
gi.require_version('Gdk', '4.0') # noqa: E402
gi.require_version('Gio', '2.0') # noqa: E402
gi.require_version('GLib', '2.0') # noqa: E402
gi.require_version('GnomeDesktop', '3.0') # noqa: E402
gi.require_version('Gtk', '3.0') # noqa: E402
gi.require_version('GWeather', '3.0') # noqa: E402
gi.require_version('Handy', '1') # noqa: E402
gi.require_version('Gtk', '4.0') # noqa: E402
gi.require_version('GnomeDesktop', '4.0') # noqa: E402
gi.require_version('GWeather', '4.0') # noqa: E402
gi.require_version('Adw', '1') # noqa: E402
gi.require_version('UDisks', '2.0') # noqa: E402
gi.require_version('Vte', '2.91') # noqa: E402
from gi.repository import Gdk, Gio, GLib, Gtk, Handy
gi.require_version('Vte-4', '2.91') # noqa: E402
from gi.repository import Gtk, Gdk, Gio, GLib, Adw
# local, import order is important
from .global_state import global_state
@@ -22,7 +22,7 @@ from .window import OsInstallerWindow
APP_ID = 'com.github.p3732.OS-Installer'
class Application(Gtk.Application):
class Application(Adw.Application):
window = None
def __init__(self, version):
@@ -38,13 +38,6 @@ class Application(Gtk.Application):
global_state.set_config('version', version)
def _load_css(self):
css_provider = Gtk.CssProvider()
css_provider.load_from_resource('/com/github/p3732/os-installer/css/style.css')
screen = Gdk.Screen.get_default()
style_context = Gtk.StyleContext()
style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
def _setup_actions(self):
actions = [
{
@@ -74,10 +67,15 @@ class Application(Gtk.Application):
self.set_accels_for_action('app.' + a['name'], a['accels'])
def _setup_icons(self):
icon_theme = Gtk.IconTheme.get_default()
print(self.window)
icon_theme = Gtk.IconTheme.get_for_display(self.window.get_display())
icon_theme.add_resource_path('/com/github/p3732/os-installer/')
icon_theme.add_resource_path('/com/github/p3732/os-installer/icon')
#icon_theme = Gtk.IconTheme.get_default()
#icon_theme.add_resource_path('/com/github/p3732/os-installer/')
#icon_theme.add_resource_path('/com/github/p3732/os-installer/icon')
### parent functions ###
def do_activate(self):
@@ -87,11 +85,9 @@ class Application(Gtk.Application):
window.present()
else:
self.window = OsInstallerWindow(self.quit, application=self)
self._setup_icons()
self.window.present()
# Grab window delete-event
self.window.connect('delete-event', self._on_quit)
# load initial page
self.window.advance(None)
@@ -107,13 +103,9 @@ class Application(Gtk.Application):
def do_startup(self):
# Startup application
Gtk.Application.do_startup(self)
self._load_css()
self.set_resource_base_path('/com/github/p3732/os-installer')
Adw.Application.do_startup(self)
self._setup_actions()
self._setup_icons()
# Init Handy
Handy.init()
### callbacks ###

View File

@@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-3.0-or-later
from gi.repository import Gtk, Handy
from gi.repository import Gtk, Adw
@Gtk.Template(resource_path='/com/github/p3732/os-installer/ui/confirm_quit_popup.ui')
class ConfirmQuitPopup(Handy.Window):
class ConfirmQuitPopup(Adw.Window):
__gtype_name__ = 'ConfirmQuitPopup'
stop_button = Gtk.Template.Child()

View File

@@ -63,7 +63,7 @@ class DiskPage(Gtk.Box, Page):
for disk_info in disks:
too_small = disk_info.size < self.minimum_disk_size
row = DeviceRow(disk_info, too_small)
self.disk_list.add(row)
self.disk_list.append(row)
# show
self._set_stacks('disks')
@@ -84,9 +84,10 @@ class DiskPage(Gtk.Box, Page):
for partition_info in disk_info.partitions:
too_small = partition_info.size < self.minimum_disk_size
row = DeviceRow(partition_info, too_small)
self.partition_list.add(row)
self.partition_list.append(row)
else:
self.partition_list.add(NoPartitionsRow())
self.partition_list.set_sensitive(False)
self.partition_list.append(NoPartitionsRow())
# show
self._set_stacks('partitions')

View File

@@ -39,7 +39,7 @@ class EncryptPage(Gtk.Box, Page):
def _on_row_activated(self, list_box, row):
if row.get_name() == 'encryption':
self.switch.do_activate(self.switch)
self.switch.activate()
def _on_switch_flipped(self, switch, state):
self.revealer.set_reveal_child(state)

View File

@@ -27,5 +27,5 @@ class FailedPage(Gtk.Box, Page):
### public methods ###
def load_once(self):
self.terminal_box.add(installation_scripting.terminal)
self.terminal_box.show_all()
self.terminal_box.append(installation_scripting.terminal)
#self.terminal_box.show_all()

View File

@@ -42,8 +42,7 @@ class InstallPage(Gtk.Box, Page):
def load(self):
# setup terminal
self.terminal_box.add(installation_scripting.terminal)
self.terminal_box.show_all()
self.terminal_box.append(installation_scripting.terminal)
self.spinner.start()
def unload(self):

View File

@@ -42,7 +42,7 @@ class KeyboardLayoutPage(Gtk.Box, Page):
for language_info in all_languages:
row = LanguageRow(language_info)
self.language_list.add(row)
self.language_list.append(row)
def _load_layout_list(self, language, short_hand):
self.stack.set_visible_child_name('layouts')
@@ -60,7 +60,7 @@ class KeyboardLayoutPage(Gtk.Box, Page):
assert len(layouts) > 0, 'Language {} has no keyboard layouts! Please report this.'.format(language)
for keyboard_layout, name in layouts:
row = SelectionRow(name, keyboard_layout)
self.layout_list.add(row)
self.layout_list.append(row)
def _unselect_current_row(self):
if self.current_row:

View File

@@ -32,7 +32,7 @@ class LanguagePage(Gtk.Overlay, Page):
def _setup_list(self):
# language rows
for language_info in language_provider.get_suggested_languages():
self.language_list.add(LanguageRow(language_info))
self.language_list.append(LanguageRow(language_info))
# show all button
present_show_all = language_provider.has_additional_languages()
@@ -40,7 +40,7 @@ class LanguagePage(Gtk.Overlay, Page):
def _show_all(self):
for language_info in language_provider.get_additional_languages():
self.language_list.add(LanguageRow(language_info))
self.language_list.append(LanguageRow(language_info))
### callbacks ###

View File

@@ -10,6 +10,20 @@ from .system_calls import set_system_formats, set_system_timezone
from .widgets import ProgressRow, empty_list
def get_location_children(location):
# this code is super ugly because libgweather decided to simplify their API into unusability
continents = [location.next_child(None)]
while continent := location.next_child(continents[-1]):
continents.append(continent)
#continents = [location.next_child(None)]
#while True:
# continent = location.next_child(continents[-1])
# if not continent:
# break
# continents.append(continent)
return continents
@Gtk.Template(resource_path='/com/github/p3732/os-installer/ui/pages/locale.ui')
class LocalePage(Gtk.Box, Page):
__gtype_name__ = __qualname__
@@ -48,9 +62,11 @@ class LocalePage(Gtk.Box, Page):
def _load_continents_list(self):
if not self.continents_list_loaded:
self.continents_list_loaded = True
for continent in GWeather.Location.get_world().get_children():
current_location = None
for continent in get_location_children(GWeather.Location.get_world()):
if not continent.get_timezone(): # skip dummy locations
self.continents_list.add(ProgressRow(continent.get_name(), continent))
self.continents_list.append(ProgressRow(continent.get_name(), continent))
self.overview_stack.set_visible_child_name('list')
self.list_stack.set_visible_child_name('timezone_continents')
@@ -59,8 +75,8 @@ class LocalePage(Gtk.Box, Page):
def _load_countries_list(self, continent):
empty_list(self.countries_list)
for country in continent.get_children():
self.countries_list.add(ProgressRow(country.get_name(), country))
for country in get_location_children(continent):
self.countries_list.append(ProgressRow(country.get_name(), country))
self.list_stack.set_visible_child_name('timezone_countries')
@@ -68,7 +84,7 @@ class LocalePage(Gtk.Box, Page):
if not self.formats_list_loaded:
self.formats_list_loaded = True
for name, locale in get_formats():
self.formats_list.add(ProgressRow(name, locale))
self.formats_list.append(ProgressRow(name, locale))
self.overview_stack.set_visible_child_name('list')
self.text_stack.set_visible_child_name('formats')
@@ -77,9 +93,9 @@ class LocalePage(Gtk.Box, Page):
def _load_subzones_list(self, country):
empty_list(self.subzones_list)
for subzone in country.get_children():
for subzone in get_location_children(country):
if subzone.get_timezone():
self.subzones_list.add(ProgressRow(subzone.get_name(), subzone))
self.subzones_list.append(ProgressRow(subzone.get_name(), subzone))
self.list_stack.set_visible_child_name('timezone_subzones')

View File

@@ -11,10 +11,13 @@ class RestartPage(Gtk.Box, Page):
__gtype_name__ = __qualname__
image_name = 'system-reboot-symbolic'
spinner = Gtk.Template.Child()
def __init__(self, **kwargs):
Gtk.Box.__init__(self, **kwargs)
### public methods ###
def load(self):
self.spinner.start()
reboot_system()

View File

@@ -28,7 +28,7 @@ class SoftwarePage(Gtk.Box, Page):
suggestions = get_software_suggestions()
for package in suggestions:
row = SoftwareRow(package)
self.software_list.add(row)
self.software_list.append(row)
### callbacks ###

View File

@@ -41,7 +41,7 @@ class UserPage(Gtk.Box, Page):
def _on_row_activated(self, list_box, row):
if row.get_name() == 'automatic_login':
self.autologin_switch.do_activate(self.autologin_switch)
self.autologin_switch.activate()
def _on_autologin_switch_flipped(self, autologin_switch, state):
self._set_continue_button(state)

View File

@@ -5,7 +5,7 @@ from gi.repository import Gtk
def empty_list(list_box):
for row in list_box:
row.destroy()
del row
@Gtk.Template(resource_path='/com/github/p3732/os-installer/ui/widgets/device_row.ui')

View File

@@ -2,7 +2,7 @@
from threading import Lock
from gi.repository import Gtk, Handy
from gi.repository import Gtk, Adw
from .global_state import global_state
@@ -36,7 +36,7 @@ class NavigationState:
@Gtk.Template(resource_path='/com/github/p3732/os-installer/ui/main_window.ui')
class OsInstallerWindow(Handy.ApplicationWindow):
class OsInstallerWindow(Adw.ApplicationWindow):
__gtype_name__ = 'OsInstallerWindow'
image_stack = Gtk.Template.Child()
@@ -99,9 +99,11 @@ class OsInstallerWindow(Handy.ApplicationWindow):
def _initialize_pages_translated(self):
# delete pages that are not the language page
for child in self.main_stack.get_children():
if not child is self.current_page:
child.destroy()
# TODO Fix, current error:
# TypeError: argument child: Expected Gtk.Widget, but got gi.repository.Gtk.StackPage
#for page in self.main_stack.get_pages():
# if not page is self.current_page:
# #self.main_stack.remove(page)
self.pages = [self.current_page]
for unintialized_page in self.available_pages[1:]:
@@ -130,7 +132,7 @@ class OsInstallerWindow(Handy.ApplicationWindow):
# set icon
name = '1' if self.image_stack.get_visible_child_name() == '2' else '2'
new_image = self.image_stack.get_child_by_name(name)
new_image.set_from_icon_name(self.current_page.image_name, 0)
new_image.set_from_icon_name(self.current_page.image_name)
self.image_stack.set_visible_child_name(name)
self._update_navigation_buttons()
@@ -138,7 +140,6 @@ class OsInstallerWindow(Handy.ApplicationWindow):
self._load_page(self.navigation_state.current + 1)
def _show_dialog(self, dialog):
dialog.show_all()
dialog.set_transient_for(self)
dialog.set_modal(True)
@@ -167,7 +168,7 @@ class OsInstallerWindow(Handy.ApplicationWindow):
self._load_page(self.navigation_state.current + 1)
for page in previous_pages:
page.destroy()
del page
def navigate_backward(self):
with self.navigation_lock: