summaryrefslogtreecommitdiff
path: root/data/ui
diff options
context:
space:
mode:
authorMarcus Lundblad <ml@dfupdate.se>2022-06-30 23:11:19 +0200
committerMarcus Lundblad <ml@dfupdate.se>2022-08-17 21:26:29 +0200
commitaa8b810c2ce4216b1eefd45acdedec6f1f1b65ca (patch)
treea1a4d6b84a1dc258c0f1540b23840094580ba0b4 /data/ui
parent3864baeb82a1d791b82004ca58e8fea8eccd033a (diff)
downloadgnome-maps-aa8b810c2ce4216b1eefd45acdedec6f1f1b65ca.tar.gz
Port to GTK 4 and libshumatewip/gtk4-and-libshumate
Update from using GTK 3 and libchamplain to GTK 4 and libshumate. Some missing features so far (that was available in the GTK 3 version): - Minimaps when printing routes - The ability to select to not include markers and layers when exporting the view as an image - Map type preview thumbnails in the layers popover (though they are currently not shown as we only only have the street style available now)
Diffstat (limited to 'data/ui')
-rw-r--r--data/ui/context-menu.ui85
-rw-r--r--data/ui/export-view-dialog.ui122
-rw-r--r--data/ui/favorites-popover.ui34
-rw-r--r--data/ui/headerbar-left.ui71
-rw-r--r--data/ui/headerbar-right.ui28
-rw-r--r--data/ui/instruction-row.ui31
-rw-r--r--data/ui/layers-popover.ui96
-rw-r--r--data/ui/main-window.ui67
-rw-r--r--data/ui/osm-account-dialog.ui441
-rw-r--r--data/ui/osm-edit-address.ui60
-rw-r--r--data/ui/osm-edit-dialog.ui465
-rw-r--r--data/ui/osm-type-list-row.ui29
-rw-r--r--data/ui/osm-type-popover.ui10
-rw-r--r--data/ui/place-bar.ui59
-rw-r--r--data/ui/place-buttons.ui55
-rw-r--r--data/ui/place-dialog.ui13
-rw-r--r--data/ui/place-list-row.ui72
-rw-r--r--data/ui/place-popover.ui31
-rw-r--r--data/ui/place-view.ui61
-rw-r--r--data/ui/route-entry.ui38
-rw-r--r--data/ui/send-to-dialog.ui96
-rw-r--r--data/ui/sidebar.ui348
-rw-r--r--data/ui/transit-arrival-row.ui122
-rw-r--r--data/ui/transit-itinerary-row.ui75
-rw-r--r--data/ui/transit-leg-row.ui339
-rw-r--r--data/ui/transit-more-row.ui51
-rw-r--r--data/ui/transit-options-panel.ui113
-rw-r--r--data/ui/transit-route-label.ui4
-rw-r--r--data/ui/transit-stop-row.ui52
-rw-r--r--data/ui/zoom-in-dialog.ui39
30 files changed, 1276 insertions, 1831 deletions
diff --git a/data/ui/context-menu.ui b/data/ui/context-menu.ui
index 7fcb6734..07100c3e 100644
--- a/data/ui/context-menu.ui
+++ b/data/ui/context-menu.ui
@@ -1,56 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.0 -->
- <template class="Gjs_ContextMenu" parent="GtkMenu">
- <property name="visible">False</property>
- <child>
- <object class="GtkMenuItem" id="routeFromHereItem">
- <property name="name">route-from-here-item</property>
- <property name="label" translatable="yes">Route from here</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="addIntermediateDestinationItem">
- <property name="name">add-itermediate-destination-item</property>
- <property name="label" translatable="yes">Add intermediate destination</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="routeToHereItem">
- <property name="name">route-to-here-item</property>
- <property name="label" translatable="yes">Route to here</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem">
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="whatsHereItem">
- <property name="name">whats-here-item</property>
- <property name="label" translatable="yes">What’s here?</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkMenuItem" id="geoURIItem">
- <property name="name">geo-uri-item</property>
- <property name="label" translatable="yes">Copy Location</property>
- <property name="visible">True</property>
- </object>
- </child>
-
- <child>
- <object class="GtkMenuItem" id="addOSMLocationItem">
- <property name="name">add-osm-location-item</property>
- <property name="label" translatable="yes">Add to OpenStreetMap</property>
- <property name="visible">True</property>
- </object>
- </child>
+ <menu id="context-menu">
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">Route from here</attribute>
+ <attribute name="action">win.route-from-here</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Add intermediate destination</attribute>
+ <attribute name="action">win.add-intermediate-destination</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Route to here</attribute>
+ <attribute name="action">win.route-to-here</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">What's here?</attribute>
+ <attribute name="action">win.whats-here</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Copy location</attribute>
+ <attribute name="action">win.copy-location</attribute>
+ </item>
+ <item>
+ <attribute name="label" translatable="yes">Add to OpenStreetMap</attribute>
+ <attribute name="action">win.add-osm-location</attribute>
+ </item>
+ </section>
+ </menu>
+ <template class="Gjs_ContextMenu" parent="GtkPopoverMenu">
+ <property name="menu-model">context-menu</property>
+ <property name="has-arrow">False</property>
</template>
</interface>
diff --git a/data/ui/export-view-dialog.ui b/data/ui/export-view-dialog.ui
index 040e390e..c2824de1 100644
--- a/data/ui/export-view-dialog.ui
+++ b/data/ui/export-view-dialog.ui
@@ -1,61 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_ExportViewDialog" parent="GtkDialog">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
<property name="use_header_bar">1</property>
- <property name="resizable">False</property>
+ <property name="resizable">0</property>
+ <property name="title" translatable="1">Export view</property>
<child internal-child="headerbar">
<object class="GtkHeaderBar" id="headerBar">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="show_close_button">False</property>
- <property name="title" translatable="yes">Export view</property>
+ <property name="show-title-buttons">0</property>
<style>
<class name="titlebar"/>
</style>
- <child>
+ <child type="start">
<object class="GtkButton" id="cancelButton">
- <property name="label" translatable="yes">_Cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="use_underline">True</property>
+ <property name="label" translatable="1">_Cancel</property>
+ <property name="focusable">1</property>
+ <property name="use_underline">1</property>
<style>
<class name="text-button"/>
</style>
</object>
- <packing>
- <property name="pack_type">start</property>
- </packing>
</child>
- <child>
+ <child type="end">
<object class="GtkButton" id="exportButton">
- <property name="label" translatable="yes">_Export</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">True</property>
+ <property name="label" translatable="1">_Export</property>
+ <property name="focusable">1</property>
+ <property name="receives_default">1</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="text-button"/>
</style>
</object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
</child>
</object>
</child>
- <child internal-child="vbox">
+ <child>
<object class="GtkBox" id="contentArea">
<child>
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="margin_start">5</property>
<property name="margin_end">5</property>
<property name="margin_top">5</property>
@@ -64,72 +48,48 @@
<property name="column_spacing">8</property>
<child>
<object class="GtkFrame" id="frame">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">out</property>
<property name="valign">start</property>
- <child>
- <object class="GtkDrawingArea" id="previewArea">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="child">
+ <object class="GtkImage" id="previewArea">
+ <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
</object>
- </child>
+ </property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ <property name="row-span">3</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">3</property>
- </packing>
</child>
<child>
<object class="GtkEntry" id="filenameEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">start</property>
- <property name="activates_default">True</property>
+ <property name="activates_default">1</property>
<property name="width_chars">32</property>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
</child>
<child>
- <object class="GtkFileChooserButton" id="fileChooserButton">
- <property name="visible">True</property>
+ <object class="GtkButton" id="fileChooserButton">
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="vexpand">True</property>
- <property name="action">select-folder</property>
- <property name="local_only">False</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="layersCheckButton">
- <property name="label" translatable="yes">Include route and markers</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="xalign">0</property>
- <property name="draw_indicator">True</property>
- <property name="active">True</property>
+ <child>
+ <object class="GtkImage" id="favorites-button-image">
+ <property name="icon-size">normal</property>
+ <property name="icon-name">folder-open-symbolic</property>
+ </object>
+ </child>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">1</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
</child>
</object>
</child>
diff --git a/data/ui/favorites-popover.ui b/data/ui/favorites-popover.ui
index 130f0a3d..15d17667 100644
--- a/data/ui/favorites-popover.ui
+++ b/data/ui/favorites-popover.ui
@@ -1,45 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.10 -->
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_FavoritesPopover" parent="GtkPopover">
- <property name="visible">False</property>
- <property name="no_show_all">True</property>
- <property name="hexpand">False</property>
+ <property name="hexpand">0</property>
<property name="width-request">320</property>
<property name="height-request">400</property>
<style>
<class name="maps-popover"/>
</style>
- <child>
+ <property name="child">
<object class="GtkGrid" id="mainGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="row_spacing">6</property>
- <property name="margin">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>
<child>
<object class="GtkEntry" id="entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="focusable">1</property>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledWindow">
<property name="hscrollbar_policy">never</property>
- <property name="shadow_type">in</property>
- <property name="visible">True</property>
- <property name="vexpand">True</property>
- <child>
+ <property name="vexpand">1</property>
+ <property name="child">
<object class="GtkListBox" id="list">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="expand">True</property>
- <property name="activate_on_single_click">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
</object>
- </child>
+ </property>
</object>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/headerbar-left.ui b/data/ui/headerbar-left.ui
index aa293360..c36d77e5 100644
--- a/data/ui/headerbar-left.ui
+++ b/data/ui/headerbar-left.ui
@@ -1,25 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.0 -->
<interface>
- <requires lib="gtk+" version="3.22"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_HeaderBarLeft" parent="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="gotoUserLocationButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">center</property>
<property name="action-name">win.goto-user-location</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Go to current location</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Go to current location</property>
<style>
<class name="image-button"/>
</style>
<child>
<object class="GtkImage" id="track-user-button-image">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
+ <property name="icon-size">normal</property>
<property name="icon-name">find-location-symbolic</property>
</object>
</child>
@@ -27,58 +22,44 @@
</child>
<child>
<object class="GtkMenuButton" id="layersButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">center</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Choose map type</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Choose map type</property>
<style>
<class name="image-button"/>
</style>
<child>
<object class="GtkImage" id="layers-button-image">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
+ <property name="icon-size">normal</property>
<property name="icon-name">layers-button-symbolic</property>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <style>
- <class name="linked"/>
- </style>
+ <object class="GtkButton">
+ <property name="focusable">1</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.zoom-out</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Zoom out</property>
<child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="valign">center</property>
- <property name="action-name">win.zoom-out</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Zoom out</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
- <property name="icon-name">zoom-out-symbolic</property>
- </object>
- </child>
+ <object class="GtkImage">
+ <property name="icon-size">normal</property>
+ <property name="icon-name">zoom-out-symbolic</property>
</object>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton">
+ <property name="focusable">1</property>
+ <property name="valign">center</property>
+ <property name="action-name">win.zoom-in</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Zoom in</property>
<child>
- <object class="GtkButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="valign">center</property>
- <property name="action-name">win.zoom-in</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Zoom in</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
- <property name="icon-name">zoom-in-symbolic</property>
- </object>
- </child>
+ <object class="GtkImage">
+ <property name="icon-size">normal</property>
+ <property name="icon-name">zoom-in-symbolic</property>
</object>
</child>
</object>
diff --git a/data/ui/headerbar-right.ui b/data/ui/headerbar-right.ui
index a806b64c..06a94057 100644
--- a/data/ui/headerbar-right.ui
+++ b/data/ui/headerbar-right.ui
@@ -1,17 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.0 -->
<interface>
- <requires lib="gtk+" version="3.22"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_HeaderBarRight" parent="GtkBox">
- <property name="visible">True</property>
- <property name="no-show-all">True</property>
- <property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="printRouteButton">
+ <property name="visible">0</property>
<property name="name">print-route</property>
- <property name="can-focus">True</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Print Route</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Print Route</property>
<property name="action-name">win.print-route</property>
<property name="valign">center</property>
<style>
@@ -19,7 +16,6 @@
</style>
<child>
<object class="GtkImage" id="print-route-button-image">
- <property name="visible">True</property>
<property name="icon-name">document-print-symbolic</property>
</object>
</child>
@@ -27,17 +23,15 @@
</child>
<child>
<object class="GtkMenuButton" id="favoritesButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">center</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Toggle favorites</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Toggle favorites</property>
<style>
<class name="image-button"/>
</style>
<child>
<object class="GtkImage" id="favorites-button-image">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
+ <property name="icon-size">normal</property>
<property name="icon-name">bookmarks-symbolic</property>
</object>
</child>
@@ -45,18 +39,16 @@
</child>
<child>
<object class="GtkToggleButton" id="toggleSidebarButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">center</property>
<property name="action-name">win.toggle-sidebar</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Toggle route planner</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Toggle route planner</property>
<style>
<class name="image-button"/>
</style>
<child>
<object class="GtkImage" id="toggle-sidebar-button-image">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
+ <property name="icon-size">normal</property>
<property name="icon-name">route-button-symbolic</property>
</object>
</child>
diff --git a/data/ui/instruction-row.ui b/data/ui/instruction-row.ui
index 1e3cf1d1..92bf52f5 100644
--- a/data/ui/instruction-row.ui
+++ b/data/ui/instruction-row.ui
@@ -1,24 +1,19 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.14"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_InstructionRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkBox" id="instructionBox">
<property name="name">instruction-box</property>
<property name="height_request">48</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="baseline_position">top</property>
<child>
<object class="GtkImage" id="directionImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="margin-start">2</property>
<property name="margin-end">2</property>
- <!-- width: 32 + spacing * 2 -->
<property name="width-request">44</property>
+ <property name="icon-size">GTK_ICON_SIZE_LARGE</property>
<style>
<class name="sidebar-icon"/>
</style>
@@ -26,35 +21,29 @@
</child>
<child>
<object class="GtkLabel" id="instructionLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
- <!-- Somehow we need this xalign, otherwise multi-line -->
- <!-- labels does not get left-aligned. -->
<property name="xalign">0</property>
<property name="margin-top">3</property>
<property name="margin-bottom">3</property>
- <property name="use_underline">True</property>
- <property name="wrap">True</property>
+ <property name="use_underline">1</property>
+ <property name="wrap">1</property>
<property name="ellipsize">end</property>
<property name="width_chars">20</property>
<property name="max_width_chars">20</property>
<property name="lines">3</property>
- <property name="expand">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="distanceLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">end</property>
- <property name="use_underline">True</property>
- <property name="wrap">True</property>
+ <property name="use_underline">1</property>
<property name="lines">3</property>
<property name="margin_end">5</property>
</object>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/layers-popover.ui b/data/ui/layers-popover.ui
index b423a7a3..ed5adeb7 100644
--- a/data/ui/layers-popover.ui
+++ b/data/ui/layers-popover.ui
@@ -1,108 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.10 -->
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_LayersPopover" parent="GtkPopover">
- <child>
+ <property name="child">
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="row_spacing">5</property>
- <property name="margin">5</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <!-- disable the map type swithers for now, as we only have street right now...-->
+ <!--
<child>
- <object class="GtkRadioButton" id="streetLayerButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="draw-indicator">False</property>
+ <object class="GtkToggleButton" id="streetLayerButton">
<style>
<class name="layer-radio-button"/>
</style>
<child>
- <object class="GtkImage" id="streetLayerImage">
- <property name="visible">True</property>
- </object>
+ <object class="GtkImage" id="streetLayerImage"/>
</child>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
</child>
<child>
- <object class="GtkRadioButton" id="aerialLayerButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="draw-indicator">False</property>
+ <object class="GtkToggleButton" id="aerialLayerButton">
<style>
<class name="layer-radio-button"/>
</style>
<child>
- <object class="GtkImage" id="aerialLayerImage">
- <property name="visible">True</property>
- </object>
+ <object class="GtkImage" id="aerialLayerImage"/>
</child>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">1</property>
- </packing>
</child>
+ -->
<child>
<object class="GtkBox">
- <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<child>
<object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="label" translatable="yes">Show Scale</property>
+ <property name="hexpand">1</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="1">Show Scale</property>
</object>
</child>
<child>
<object class="GtkCheckButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="action-name">win.show-scale</property>
</object>
</child>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">3</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">3</property>
- </packing>
</child>
<child>
<object class="GtkListBox" id="layersListBox">
<property name="name">layers-list-box</property>
- <property name="visible">false</property>
- <property name="can_focus">False</property>
+ <property name="visible">0</property>
<property name="selection-mode">none</property>
<style>
<class name="frame"/>
</style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">4</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">4</property>
- </packing>
</child>
<child>
<object class="GtkButton" id="loadLayerButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="label" translatable="yes" comments="Translators: This string uses ellipsis character">Open Shape Layer…</property>
+ <property name="focusable">1</property>
+ <property name="label" translatable="1" comments="Translators: This string uses ellipsis character">Open Shape Layer…</property>
<property name="action-name">win.open-shape-layer</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">5</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">5</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/main-window.ui b/data/ui/main-window.ui
index a80a2985..33bea934 100644
--- a/data/ui/main-window.ui
+++ b/data/ui/main-window.ui
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk" version="4.0"/>
<menu id="hamburgerMenu">
<section>
<item>
@@ -26,78 +26,47 @@
<template class="Gjs_MainWindow" parent="GtkApplicationWindow">
<property name="width-request">300</property>
<property name="height-request">500</property>
- <property name="window-position">center</property>
- <property name="title" translatable="yes">Maps</property>
+ <property name="title" translatable="1">Maps</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="show-close-button">True</property>
<style>
<class name="titlebar"/>
</style>
- <child>
- <object class="GtkMenuButton">
- <property name="visible">True</property>
+ <child type="end">
+ <object class="GtkMenuButton" id="mainMenuButton">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="menu-model">hamburgerMenu</property>
- <accelerator key="F10" signal="clicked"/>
- <child internal-child="accessible">
- <object class="AtkObject">
- <property name="accessible-name" translatable="yes">Open main menu</property>
- </object>
- </child>
- <style>
- <class name="image-button"/>
- </style>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-size">1</property>
- <property name="icon-name">open-menu-symbolic</property>
- </object>
- </child>
+ <property name="tooltip-text" translatable="1">Open main menu</property>
+ <property name="icon-name">open-menu-symbolic</property>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
</object>
</child>
<child>
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
<object class="GtkBox" id="placeBarContainer">
- <property name="visible">True</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">1</property>
- <property name="width">1</property>
- </packing>
</child>
<child>
<object class="GtkRevealer" id="actionBarRevealer">
- <property name="visible">True</property>
- <property name="reveal-child">False</property>
<property name="transition-type">slide-up</property>
- <child>
- <object class="GtkActionBar" id="actionBar">
- <property name="visible">True</property>
- </object>
- </child>
+ <property name="child">
+ <object class="GtkActionBar" id="actionBar"/>
+ </property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">2</property>
+ <property name="column-span">2</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">2</property>
- <property name="width">2</property>
- </packing>
</child>
</object>
</child>
</template>
</interface>
-
diff --git a/data/ui/osm-account-dialog.ui b/data/ui/osm-account-dialog.ui
index ee30d3d9..31d636ee 100644
--- a/data/ui/osm-account-dialog.ui
+++ b/data/ui/osm-account-dialog.ui
@@ -1,247 +1,240 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_OSMAccountDialog" parent="GtkDialog">
- <property name="can_focus">False</property>
- <property name="type">popup</property>
- <property name="type_hint">dialog</property>
<property name="width_request">500</property>
- <property name="title" translatable="yes">OpenStreetMap Account</property>
- <child internal-child="vbox">
+ <property name="title" translatable="1">OpenStreetMap Account</property>
+ <child>
<object class="GtkBox" id="contentArea">
<child>
<object class="GtkStack" id="stack">
- <property name="visible">True</property>
- <property name="transition-type">GTK_STACK_TRANSITION_TYPE_SLIDE_RIGHT</property>
+ <property name="transition-type">slide-right</property>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="row-spacing">10</property>
- <property name="margin">20</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">&lt;span weight="bold" size="x-large"&gt;Sign in to edit maps&lt;/span&gt;</property>
- <property name="use_markup">True</property>
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- <property name="width">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Help to improve the map, using an
+ <object class="GtkStackPage">
+ <property name="name">sign-in</property>
+ <property name="child">
+ <object class="GtkGrid">
+ <property name="row-spacing">10</property>
+ <property name="margin-start">20</property>
+ <property name="margin-end">20</property>
+ <property name="margin-top">20</property>
+ <property name="margin-bottom">20</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">&lt;span weight=&quot;bold&quot; size=&quot;x-large&quot;&gt;Sign in to edit maps&lt;/span&gt;</property>
+ <property name="use_markup">1</property>
+ <property name="hexpand">1</property>
+ <property name="halign">center</property>
+ <property name="justify">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ <property name="column-span">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">Help to improve the map, using an
OpenStreetMap account.</property>
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- <property name="width">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Sign in to authorize access in a web browser.
+ <property name="hexpand">1</property>
+ <property name="halign">center</property>
+ <property name="justify">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ <property name="column-span">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">Sign in to authorize access in a web browser.
Then fill in the obtained verification code here in the next step.</property>
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="wrap">True</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- <property name="width">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinner" id="signInSpinner">
- <property name="visible">False</property>
- <property name="height_request">16</property>
- <property name="width_request">16</property>
- <property name="can_focus">False</property>
- <property name="active">True</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLinkButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Sign up</property>
- <property name="uri">https://www.openstreetmap.org/user/new</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="hexpand">True</property>
+ <property name="hexpand">1</property>
+ <property name="wrap">1</property>
+ <property name="halign">center</property>
+ <property name="justify">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">2</property>
+ <property name="column-span">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSpinner" id="signInSpinner">
+ <property name="height_request">16</property>
+ <property name="width_request">16</property>
+ <property name="spinning">True</property>
+ <property name="halign">end</property>
+ <property name="hexpand">1</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLinkButton">
+ <property name="focusable">1</property>
+ <property name="label" translatable="1">Sign up</property>
+ <property name="uri">https://www.openstreetmap.org/user/new</property>
+ <property name="halign">end</property>
+ <property name="hexpand">1</property>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="signInButton">
+ <property name="halign">end</property>
+ <property name="label" translatable="1">Sign In</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="errorLabel">
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="use-markup">1</property>
+ <style>
+ <class name="warning"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">4</property>
+ </layout>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="signInButton">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="label" translatable="yes">Sign In</property>
- <style>
- <class name="suggested-action"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="errorLabel">
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="use-markup">True</property>
- <style>
- <class name="warning"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">sign-in</property>
- </packing>
</child>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="row-spacing">10</property>
- <property name="column-spacing">10</property>
- <property name="margin">20</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="wrap">True</property>
- <property name="label" translatable="yes">Copy verification code shown when authorizing access in the browser</property>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- <property name="width">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="verificationEntry">
- <property name="visible">True</property>
- <property name="placeholder-text" translatable="yes">Verification code</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="verifyButton">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="label" translatable="yes">Verify</property>
- <property name="hexpand">False</property>
- <property name="halign">GTK_ALIGN_END</property>
- <style>
- <class name="suggested-action"/>
- </style>
+ <object class="GtkStackPage">
+ <property name="name">verify</property>
+ <property name="child">
+ <object class="GtkGrid">
+ <property name="row-spacing">10</property>
+ <property name="column-spacing">10</property>
+ <property name="margin-start">20</property>
+ <property name="margin-end">20</property>
+ <property name="margin-top">20</property>
+ <property name="margin-bottom">20</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="wrap">1</property>
+ <property name="label" translatable="1">Copy verification code shown when authorizing access in the browser</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ <property name="column-span">2</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkEntry" id="verificationEntry">
+ <property name="placeholder-text" translatable="1">Verification code</property>
+ <property name="hexpand">1</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="verifyButton">
+ <property name="sensitive">0</property>
+ <property name="label" translatable="1">Verify</property>
+ <property name="hexpand">0</property>
+ <property name="halign">end</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">1</property>
+ </layout>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top-attach">1</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">verify</property>
- </packing>
</child>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="row-spacing">10</property>
- <property name="margin">20</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">&lt;span weight="bold" size="x-large"&gt;Signed In&lt;/span&gt;</property>
- <property name="use_markup">True</property>
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Your OpenStreetMap account is active.</property>
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon-name">avatar-default-symbolic</property>
- <property name="pixel-size">64</property>
- <property name="opacity">0.33</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="signedInUserLabel">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="signOutButton">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sign Out</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
+ <object class="GtkStackPage">
+ <property name="name">logged-in</property>
+ <property name="child">
+ <object class="GtkGrid">
+ <property name="row-spacing">10</property>
+ <property name="margin-start">20</property>
+ <property name="margin-end">20</property>
+ <property name="margin-top">20</property>
+ <property name="margin-bottom">20</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">&lt;span weight=&quot;bold&quot; size=&quot;x-large&quot;&gt;Signed In&lt;/span&gt;</property>
+ <property name="use_markup">1</property>
+ <property name="hexpand">1</property>
+ <property name="halign">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">Your OpenStreetMap account is active.</property>
+ <property name="hexpand">1</property>
+ <property name="halign">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">avatar-default-symbolic</property>
+ <property name="pixel-size">64</property>
+ <property name="opacity">0.33</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">2</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="signedInUserLabel">
+ <layout>
+ <property name="column">0</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="signOutButton">
+ <property name="label" translatable="1">Sign Out</property>
+ <property name="halign">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">4</property>
+ </layout>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">logged-in</property>
- </packing>
</child>
</object>
</child>
diff --git a/data/ui/osm-edit-address.ui b/data/ui/osm-edit-address.ui
index 1a36f87a..b69c42f5 100644
--- a/data/ui/osm-edit-address.ui
+++ b/data/ui/osm-edit-address.ui
@@ -1,59 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_OSMEditAddress" parent="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<style>
<class name="linked"/>
</style>
<child>
<object class="GtkEntry" id="street">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="placeholder_text" translatable="yes">Street</property>
+ <property name="hexpand">1</property>
+ <property name="placeholder_text" translatable="1">Street</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ <property name="column-span">2</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- <property name="width">2</property>
- </packing>
</child>
<child>
<object class="GtkEntry" id="number">
- <property name="visible">True</property>
- <property name="hexpand">False</property>
- <property name="placeholder_text" translatable="yes">House number</property>
+ <property name="hexpand">0</property>
+ <property name="placeholder_text" translatable="1">House number</property>
<property name="width_chars">3</property>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkEntry" id="post">
- <property name="visible">True</property>
- <property name="hexpand">False</property>
- <property name="placeholder_text" translatable="yes">Postal code</property>
+ <property name="hexpand">0</property>
+ <property name="placeholder_text" translatable="1">Postal code</property>
<property name="width_chars">5</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
</child>
<child>
<object class="GtkEntry" id="city">
- <property name="visible">True</property>
- <property name="hexpand">True</property>
- <property name="placeholder_text" translatable="yes" comments="This is the place name as it would be written in a postal address (typically coming after the postal code)">City</property>
+ <property name="hexpand">1</property>
+ <property name="placeholder_text" translatable="1" comments="This is the place name as it would be written in a postal address (typically coming after the postal code)">City</property>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">1</property>
+ <property name="column-span">2</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- <property name="width">2</property>
- </packing>
</child>
</template>
</interface>
diff --git a/data/ui/osm-edit-dialog.ui b/data/ui/osm-edit-dialog.ui
index ba059ee6..07742386 100644
--- a/data/ui/osm-edit-dialog.ui
+++ b/data/ui/osm-edit-dialog.ui
@@ -1,139 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_OSMEditDialog" parent="GtkDialog">
- <property name="can_focus">False</property>
- <property name="type">popup</property>
- <property name="type_hint">dialog</property>
<property name="width_request">500</property>
<property name="height_request">500</property>
- <child internal-child="vbox">
+ <property name="use-header-bar">True</property>
+ <property name="title" translatable="True" context="dialog title">Edit on OpenStreetMap</property>
+ <child>
<object class="GtkBox" id="contentArea">
<child>
<object class="GtkStack" id="stack">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="homogeneous">True</property>
<property name="transition_type">crossfade</property>
<child>
- <object class="GtkGrid" id="loadingGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkSpinner" id="loadingSpinner">
- <property name="height_request">32</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <property name="active">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">loading</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <property name="margin">20</property>
- <child>
- <object class="GtkGrid" id="editorGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="row-spacing">12</property>
- <property name="column-spacing">6</property>
- <property name="margin-bottom">12</property>
+ <property name="child">
+ <object class="GtkGrid" id="loadingGrid">
<child>
- <object class="GtkLabel" id="typeLabel">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Type</property>
- <property name="halign">GTK_ALIGN_END</property>
- <style>
- <class name="dim-label"/>
- </style>
+ <object class="GtkSpinner" id="loadingSpinner">
+ <property name="height_request">32</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ <property name="spinning">True</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
</child>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">editor</property>
+ <property name="child">
+ <object class="GtkGrid">
+ <property name="orientation">vertical</property>
+ <property name="margin-start">20</property>
+ <property name="margin-end">20</property>
+ <property name="margin-top">20</property>
+ <property name="margin-bottom">20</property>
<child>
- <object class="GtkButton" id="typeButton">
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
+ <object class="GtkGrid" id="editorGrid">
+ <property name="row-spacing">12</property>
+ <property name="column-spacing">6</property>
+ <property name="margin-bottom">12</property>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="row-spacing">5</property>
- <property name="column-spacing">5</property>
- <child>
- <object class="GtkLabel" id="typeValueLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">None</property>
- </object>
- </child>
+ <object class="GtkLabel" id="typeLabel">
+ <property name="visible">0</property>
+ <property name="label" translatable="1">Type</property>
+ <property name="halign">end</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="typeButton">
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="hexpand">1</property>
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="hexpand">True</property>
- <property name="icon-name">go-next-symbolic</property>
+ <object class="GtkGrid">
+ <property name="row-spacing">5</property>
+ <property name="column-spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="typeValueLabel">
+ <property name="label" translatable="1">None</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="halign">end</property>
+ <property name="hexpand">1</property>
+ <property name="icon-name">go-next-symbolic</property>
+ </object>
+ </child>
</object>
</child>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">0</property>
+ </layout>
</object>
</child>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
</child>
- </object>
- </child>
- <child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="vexpand">True</property>
- <property name="valign">GTK_ALIGN_END</property>
<child>
- <object class="GtkMenuButton" id="addFieldButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="popover">addFieldPopover</property>
- <property name="direction">GTK_ARROW_UP</property>
+ <object class="GtkGrid">
+ <property name="vexpand">1</property>
+ <property name="valign">end</property>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="row-spacing">5</property>
- <property name="column-spacing">5</property>
+ <object class="GtkMenuButton" id="addFieldButton">
+ <property name="focusable">1</property>
+ <property name="popover">addFieldPopover</property>
+ <property name="direction">up</property>
<child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Add Field</property>
- </object>
- </child>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon-name">go-up-symbolic</property>
+ <object class="GtkGrid">
+ <property name="row-spacing">5</property>
+ <property name="column-spacing">5</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="1">Add Field</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">go-up-symbolic</property>
+ </object>
+ </child>
</object>
</child>
</object>
@@ -141,132 +122,104 @@
</object>
</child>
</object>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">editor</property>
- </packing>
</child>
<child>
- <object class="GtkGrid" id="uploadGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_start">15</property>
- <property name="margin_end">15</property>
- <property name="margin_top">15</property>
- <property name="margin_bottom">15</property>
- <property name="row-spacing">5</property>
- <child>
- <object class="GtkLabel" id="commentLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Comment</property>
- <property name="halign">GTK_ALIGN_START</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkFrame">
- <property name="visible">True</property>
+ <object class="GtkStackPage">
+ <property name="name">upload</property>
+ <property name="child">
+ <object class="GtkGrid" id="uploadGrid">
+ <property name="margin_start">15</property>
+ <property name="margin_end">15</property>
+ <property name="margin_top">15</property>
+ <property name="margin_bottom">15</property>
+ <property name="row-spacing">5</property>
<child>
- <object class="GtkTextView" id="commentTextView">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
+ <object class="GtkLabel" id="commentLabel">
+ <property name="label" translatable="1">Comment</property>
+ <property name="halign">start</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
</object>
</child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="uploadInfoLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Map changes will be visible on all maps that use
+ <child>
+ <object class="GtkFrame">
+ <property name="child">
+ <object class="GtkTextView" id="commentTextView">
+ <property name="focusable">1</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ </object>
+ </property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">2</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="uploadInfoLabel">
+ <property name="label" translatable="1">Map changes will be visible on all maps that use
OpenStreetMap data.</property>
- <property name="halign">GTK_ALIGN_START</property>
- <style>
- <class name="dim-label"/>
- </style>
+ <property name="halign">start</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">upload</property>
- </packing>
</child>
<child>
- <object class="GtkGrid" id="typeSearchGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin_start">60</property>
- <property name="margin_end">60</property>
- <property name="margin_top">15</property>
- <property name="margin_bottom">30</property>
- <property name="row-spacing">5</property>
- <!--
- <child>
- <object class="Gjs_OSMTypeSearchEntry" id="typeSearchEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="margin_start">10</property>
- <property name="margin_end">10</property>
- <property name="margin_bottom">10</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- -->
- <child>
- <object class="GtkLabel" id="recentTypesLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Recently Used</property>
- <property name="halign">GTK_ALIGN_START</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkListBox" id="recentTypesListBox">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="selection-mode">none</property>
- <style>
- <class name="frame"/>
- </style>
+ <object class="GtkStackPage">
+ <property name="name">select-type</property>
+ <property name="child">
+ <object class="GtkGrid" id="typeSearchGrid">
+ <property name="margin_start">60</property>
+ <property name="margin_end">60</property>
+ <property name="margin_top">15</property>
+ <property name="margin_bottom">30</property>
+ <property name="row-spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="recentTypesLabel">
+ <property name="label" translatable="1">Recently Used</property>
+ <property name="halign">start</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkListBox" id="recentTypesListBox">
+ <property name="focusable">1</property>
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="frame"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">2</property>
+ </layout>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">select-type</property>
- </packing>
</child>
</object>
</child>
@@ -274,80 +227,44 @@ OpenStreetMap data.</property>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="show-close-button">False</property>
- <property name="title" translatable="yes" context="dialog title">Edit on OpenStreetMap</property>
- <child>
+ <property name="show-title-buttons">0</property>
+ <child type="start">
<object class="GtkButton" id="cancelButton">
- <property name="label" translatable="yes">Cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="label" translatable="1">Cancel</property>
+ <property name="focusable">1</property>
</object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
</child>
- <child>
+ <child type="start">
<object class="GtkButton" id="backButton">
- <property name="visible">False</property>
- <property name="can_focus">True</property>
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">go-previous-symbolic</property>
<property name="pixel_size">16</property>
</object>
</child>
</object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
</child>
- <child>
+ <child type="end">
<object class="GtkButton" id="nextButton">
- <property name="label" translatable="yes">Next</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
+ <property name="label" translatable="1">Next</property>
+ <property name="sensitive">0</property>
+ <property name="focusable">1</property>
+ <property name="receives_default">1</property>
<style>
<class name="default"/>
</style>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
</object>
</child>
</template>
<object class="GtkPopover" id="addFieldPopover">
- <property name="visible">False</property>
- <child>
+ <property name="child">
<object class="GtkGrid" id="addFieldPopoverGrid">
- <property name="visible">True</property>
- <property name="orientation">GTK_ORIENTATION_VERTICAL</property>
+ <property name="orientation">vertical</property>
</object>
- </child>
- </object>
- <object class="GtkPopover" id="hintPopover">
- <property name="visible">False</property>
- <property name="position">GTK_POS_BOTTOM</property>
- <child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="margin">5</property>
- <child>
- <object class="GtkLabel" id="hintLabel">
- <property name="visible">True</property>
- <property name="wrap">True</property>
- <property name="width-chars">20</property>
- <property name="max-width-chars">40</property>
- </object>
- </child>
- </object>
- </child>
+ </property>
</object>
</interface>
diff --git a/data/ui/osm-type-list-row.ui b/data/ui/osm-type-list-row.ui
index 05fbb6ac..79c7dcec 100644
--- a/data/ui/osm-type-list-row.ui
+++ b/data/ui/osm-type-list-row.ui
@@ -1,29 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_OSMTypeListRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="row-homogeneous">True</property>
- <property name="margin">5</property>
+ <property name="row-homogeneous">1</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<child>
<object class="GtkLabel" id="name">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">end</property>
- <property name="hexpand">True</property>
- <property name="use_markup">False</property>
+ <property name="hexpand">1</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/osm-type-popover.ui b/data/ui/osm-type-popover.ui
index 4ae9e7fb..74c5ed71 100644
--- a/data/ui/osm-type-popover.ui
+++ b/data/ui/osm-type-popover.ui
@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_OSMTypePopover" parent="Gjs_SearchPopover">
- <property name="position">GTK_POS_BOTTOM</property>
- <property name="modal">False</property>
<child>
<object class="GtkListBox" id="list">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="expand">True</property>
- <property name="activate_on_single_click">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
</object>
</child>
</template>
diff --git a/data/ui/place-bar.ui b/data/ui/place-bar.ui
index 14f187bc..c61d822a 100644
--- a/data/ui/place-bar.ui
+++ b/data/ui/place-bar.ui
@@ -1,49 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_PlaceBar" parent="GtkRevealer">
- <property name="visible">True</property>
<property name="transition_type">slide-up</property>
- <property name="reveal_child">False</property>
- <child>
+ <property name="child">
<object class="GtkActionBar" id="actionbar">
- <property name="visible">True</property>
<child>
- <object class="GtkEventBox" id="eventbox">
- <property name="visible">True</property>
+ <object class="GtkBox" id="box">
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkBox" id="box">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
+ <object class="GtkBox">
+ <property name="hexpand">1</property>
<property name="spacing">6</property>
<child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="hexpand">True</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkLabel" id="title">
- <style>
- <class name="title-2"/>
- </style>
- <property name="visible">True</property>
- <property name="ellipsize">end</property>
- </object>
- </child>
+ <object class="GtkLabel" id="title">
+ <style>
+ <class name="title-2"/>
+ </style>
+ <property name="ellipsize">end</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="altSendToButton">
+ <property name="visible">0</property>
<child>
- <object class="GtkButton" id="altSendToButton">
- <property name="visible">False</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="icon_name">send-to-symbolic</property>
- <property name="tooltip_text" translatable="yes" comments="Translators: This is a tooltip">Share location</property>
- </object>
- </child>
+ <object class="GtkImage">
+ <property name="icon_name">send-to-symbolic</property>
+ <property name="tooltip_text" translatable="1" comments="Translators: This is a tooltip">Share location</property>
</object>
- <packing>
- <property name="pack_type">end</property>
- </packing>
</child>
</object>
</child>
@@ -52,8 +37,6 @@
</object>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
-
-
diff --git a/data/ui/place-buttons.ui b/data/ui/place-buttons.ui
index bace12aa..4f9be1d1 100644
--- a/data/ui/place-buttons.ui
+++ b/data/ui/place-buttons.ui
@@ -1,37 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_PlaceButtons" parent="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">horizontal</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="routeButton">
<property name="name">bubble-route-button</property>
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Add to new route</property>
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Add to new route</property>
<child>
<object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">horizontal</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">route-button-symbolic</property>
<property name="pixel_size">16</property>
</object>
</child>
<child>
<object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes" comments="Translators: This is the button to find a route to a place">Directions</property>
+ <property name="label" translatable="1" comments="Translators: This is the button to find a route to a place">Directions</property>
</object>
</child>
</object>
@@ -44,61 +33,43 @@
<child>
<object class="GtkButton" id="sendToButton">
<property name="name">bubble-send-to-button</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="Translators: This is a tooltip">Share location</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Share location</property>
<child>
<object class="GtkImage" id="sendToButtonImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">send-to-symbolic</property>
<property name="pixel_size">16</property>
</object>
</child>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
<child>
<object class="GtkButton" id="favoriteButton">
<property name="name">bubble-favorite-button</property>
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Mark as favorite</property>
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Mark as favorite</property>
<child>
<object class="GtkImage" id="favoriteButtonImage">
<property name="name">bubble-favorite-button-image</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">starred-symbolic</property>
<property name="pixel_size">16</property>
</object>
</child>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
<child>
<object class="GtkButton" id="editButton">
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Edit on OpenStreetMap</property>
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Edit on OpenStreetMap</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">document-edit-symbolic</property>
<property name="pixel_size">16</property>
</object>
</child>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
</template>
</interface>
diff --git a/data/ui/place-dialog.ui b/data/ui/place-dialog.ui
index 9c49c767..3ca5d028 100644
--- a/data/ui/place-dialog.ui
+++ b/data/ui/place-dialog.ui
@@ -1,15 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_PlaceDialog" parent="GtkDialog">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
<property name="use_header_bar">1</property>
<child type="action">
<object class="GtkButton" id="closeButton">
- <property name="visible">True</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
<property name="icon_name">go-previous-symbolic</property>
</object>
</child>
@@ -18,13 +15,11 @@
<action-widgets>
<action-widget response="cancel">closeButton</action-widget>
</action-widgets>
- <child internal-child="vbox">
+ <child>
<object class="GtkBox">
- <property name="visible">True</property>
<child>
<object class="GtkScrolledWindow" id="scroll">
- <property name="visible">True</property>
- <property name="propagate_natural_height">True</property>
+ <property name="propagate_natural_height">1</property>
<property name="hscrollbar_policy">never</property>
</object>
</child>
@@ -32,5 +27,3 @@
</child>
</template>
</interface>
-
-
diff --git a/data/ui/place-list-row.ui b/data/ui/place-list-row.ui
index dc476583..af687608 100644
--- a/data/ui/place-list-row.ui
+++ b/data/ui/place-list-row.ui
@@ -1,81 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_PlaceListRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="orientation">vertical</property>
- <property name="row-homogeneous">True</property>
- <property name="margin">5</property>
+ <property name="row-homogeneous">1</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<child>
<object class="GtkImage" id="icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="pixel_size">32</property>
<property name="margin_end">12</property>
+ <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>
<child>
<object class="GtkImage" id="typeIcon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="valign">center</property>
<property name="halign">end</property>
- <property name="hexpand">True</property>
+ <property name="hexpand">1</property>
<property name="margin_start">10</property>
<property name="pixel_size">16</property>
+ <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="GtkLabel" id="name">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">end</property>
- <property name="hexpand">True</property>
- <property name="use_markup">True</property>
+ <property name="hexpand">1</property>
+ <property name="use_markup">1</property>
<property name="ellipsize">end</property>
+ <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="details">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
- <property name="hexpand">True</property>
- <property name="use_markup">True</property>
+ <property name="hexpand">1</property>
+ <property name="use_markup">1</property>
<property name="ellipsize">end</property>
<style>
<class name="subtitle"/>
<class name="dim-label"/>
</style>
+ <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>
</object>
- </child>
+ </property>
</template>
</interface>
-
diff --git a/data/ui/place-popover.ui b/data/ui/place-popover.ui
index 4ec01987..f4fed434 100644
--- a/data/ui/place-popover.ui
+++ b/data/ui/place-popover.ui
@@ -1,47 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <!-- interface-requires gtk+ 3.10 -->
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_PlacePopover" parent="Gjs_SearchPopover">
<property name="visible">False</property>
<property name="hexpand">False</property>
- <property name="modal">False</property>
<property name="height-request">320</property>
<style>
<class name="maps-popover"/>
</style>
<child>
<object class="GtkGrid" id="mainGrid">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="focusable">1</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkStack" id="stack">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="transition-type">crossfade</property>
<style>
<class name="maps-stack"/>
</style>
<child>
<object class="GtkScrolledWindow" id="scrolledWindow">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="hscrollbar_policy">never</property>
- <property name="shadow_type">in</property>
- <child>
+ <property name="child">
<object class="GtkListBox" id="list">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="expand">True</property>
- <property name="activate_on_single_click">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
</object>
- </child>
+ </property>
</object>
</child>
<child>
<object class="GtkSpinner" id="spinner">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="width_request">16</property>
@@ -50,9 +39,7 @@
</child>
<child>
<object class="GtkLabel" id="noResultsLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">No results found</property>
+ <property name="label" translatable="1">No results found</property>
<property name="width_request">16</property>
<property name="height_request">16</property>
<style>
@@ -62,9 +49,7 @@
</child>
<child>
<object class="GtkLabel" id="errorLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">An error has occurred</property>
+ <property name="label" translatable="1">An error has occurred</property>
<property name="width_request">16</property>
<property name="height_request">16</property>
<style>
diff --git a/data/ui/place-view.ui b/data/ui/place-view.ui
index 14421bbf..1dbd9e16 100644
--- a/data/ui/place-view.ui
+++ b/data/ui/place-view.ui
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<object class="GtkStack" id="bubble-main-stack">
- <property name="visible">True</property>
<child>
<object class="GtkBox" id="bubble-main-box">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="Gjs_PlaceViewImage" id="bubble-thumbnail">
@@ -17,8 +13,7 @@
</child>
<child>
<object class="GtkSeparator" id="thumbnail-separator">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
+ <property name="visible">0</property>
<style>
<class name="no-margin-separator"/>
</style>
@@ -26,29 +21,24 @@
</child>
<child>
<object class="GtkBox" id="title-box">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="orientation">vertical</property>
- <property name="margin">18</property>
+ <property name="margin-start">18</property>
+ <property name="margin-end">18</property>
+ <property name="margin-top">18</property>
+ <property name="margin-bottom">18</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="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">horizontal</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label-title">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="expand">True</property>
- <property name="wrap">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ <property name="wrap">1</property>
<property name="max_width_chars">30</property>
<property name="xalign">0</property>
<style>
@@ -58,14 +48,11 @@
</child>
<child>
<object class="GtkButton" id="send-to-button-alt">
- <property name="visible">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Share location</property>
+ <property name="visible">0</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Share location</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">send-to-symbolic</property>
<property name="pixel_size">16</property>
</object>
@@ -76,11 +63,11 @@
</child>
<child>
<object class="GtkLabel" id="native-name">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
+ <property name="visible">0</property>
<property name="halign">start</property>
- <property name="expand">True</property>
- <property name="wrap">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ <property name="wrap">1</property>
<property name="max_width_chars">30</property>
<property name="xalign">0</property>
<property name="margin-top">6</property>
@@ -93,35 +80,27 @@
</child>
<child>
<object class="GtkLabel" id="address-label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
- <property name="use_markup">True</property>
- <property name="wrap">True</property>
+ <property name="use_markup">1</property>
+ <property name="wrap">1</property>
</object>
</child>
<child>
<object class="GtkBox" id="place-buttons">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="orientation">vertical</property>
</object>
</child>
</object>
</child>
<child>
- <object class="GtkGrid" id="bubble-content-area">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
+ <object class="GtkGrid" id="bubble-content-area"/>
</child>
</object>
</child>
<child>
<object class="GtkSpinner" id="bubble-spinner">
- <property name="visible">True</property>
- <property name="active">False</property>
+ <property name="spinning">False</property>
</object>
</child>
</object>
diff --git a/data/ui/route-entry.ui b/data/ui/route-entry.ui
index b186e453..02d36954 100644
--- a/data/ui/route-entry.ui
+++ b/data/ui/route-entry.ui
@@ -1,48 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.10"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_RouteEntry" parent="GtkGrid">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="hexpand">False</property>
+ <property name="hexpand">0</property>
<child>
- <object class="GtkEventBox" id="iconEventBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkImage" id="icon">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="margin-end">8</property>
- <property name="margin-start">13</property>
- <property name="width-request">16</property>
- <property name="icon-name">maps-point-end-symbolic</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Drag to change order of the route</property>
- </object>
- </child>
+ <object class="GtkImage" id="icon">
+ <property name="margin-end">8</property>
+ <property name="margin-start">13</property>
+ <property name="width-request">16</property>
+ <property name="icon-name">maps-point-end-symbolic</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Drag to change order of the route</property>
</object>
</child>
<child>
<object class="GtkGrid" id="entryGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="width_request">230</property>
- <property name="hexpand">False</property>
+ <property name="hexpand">0</property>
</object>
</child>
<child>
<object class="GtkButton" id="button">
- <property name="visible">True</property>
- <property name="no_show_all">True</property>
- <property name="can-focus">True</property>
+ <property name="focusable">1</property>
<property name="valign">center</property>
<property name="height-request">31</property>
<property name="margin-start">4</property>
<property name="margin-end">10</property>
<child>
- <object class="GtkImage" id="buttonImage">
- <property name="visible">True</property>
- </object>
+ <object class="GtkImage" id="buttonImage"/>
</child>
</object>
</child>
diff --git a/data/ui/send-to-dialog.ui b/data/ui/send-to-dialog.ui
index 433643fb..0c474d26 100644
--- a/data/ui/send-to-dialog.ui
+++ b/data/ui/send-to-dialog.ui
@@ -1,19 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_SendToDialog" parent="GtkDialog">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
<property name="use_header_bar">1</property>
<property name="width-request">360</property>
- <property name="title" translatable="yes">Open Location</property>
+ <property name="title" translatable="1">Open Location</property>
<child type="action">
<object class="GtkButton" id="cancelButton">
- <property name="label" translatable="yes">_Cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="use_underline">True</property>
+ <property name="label" translatable="1">_Cancel</property>
+ <property name="focusable">1</property>
+ <property name="use_underline">1</property>
<style>
<class name="text-button"/>
</style>
@@ -22,38 +18,35 @@
<action-widgets>
<action-widget response="cancel">cancelButton</action-widget>
</action-widgets>
- <child internal-child="vbox">
+ <child>
<object class="GtkBox" id="contentArea">
- <property name="visible">True</property>
<property name="orientation">vertical</property>
- <property name="margin">18</property>
+ <property name="margin-start">18</property>
+ <property name="margin-end">18</property>
+ <property name="margin-top">18</property>
+ <property name="margin-bottom">18</property>
<property name="spacing">12</property>
<child>
<object class="GtkBox">
- <property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkBox">
- <property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="summaryLabel">
- <property name="visible">True</property>
- <property name="selectable">true</property>
- <property name="label">&#x2026;</property>
- <property name="justify">left</property>
+ <property name="selectable">1</property>
+ <property name="label">…</property>
<property name="halign">start</property>
- <property name="wrap">True</property>
+ <property name="wrap">1</property>
<property name="xalign">0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="summaryUrl">
- <property name="visible">True</property>
- <property name="selectable">true</property>
- <property name="use-markup">true</property>
- <property name="label">&#x2026;</property>
+ <property name="selectable">1</property>
+ <property name="use-markup">1</property>
+ <property name="label">…</property>
<property name="xalign">0</property>
<property name="width-request">0</property>
<property name="ellipsize">end</property>
@@ -63,21 +56,17 @@
</child>
<child>
<object class="GtkBox">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton" id="copyButton">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Copy</property>
- <property name="hexpand">True</property>
+ <property name="label" translatable="1">Copy</property>
+ <property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkButton" id="emailButton">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Send To&#8230;</property>
- <property name="hexpand">True</property>
+ <property name="label" translatable="1">Send To…</property>
+ <property name="hexpand">1</property>
</object>
</child>
</object>
@@ -86,71 +75,62 @@
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledWindow">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="hscrollbar_policy">never</property>
- <property name="vexpand">True</property>
- <child>
+ <property name="vexpand">1</property>
+ <property name="child">
<object class="GtkListBox" id="list">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="selection_mode">single</property>
<child>
<object class="GtkListBoxRow" id="weatherRow">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <child>
+ <property name="focusable">1</property>
+ <property name="child">
<object class="GtkGrid" id="weatherGrid">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
<property name="column_spacing">12</property>
- <property name="margin">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>
<child>
<object class="GtkImage" id="weatherIcon">
- <property name="visible">True</property>
<property name="pixel_size">32</property>
<property name="halign">start</property>
</object>
</child>
<child>
- <object class="GtkLabel" id='weatherLabel'>
- <property name="visible">True</property>
+ <object class="GtkLabel" id="weatherLabel">
<property name="margin-end">10</property>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</child>
<child>
<object class="GtkListBoxRow" id="clocksRow">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <child>
+ <property name="focusable">1</property>
+ <property name="child">
<object class="GtkGrid" id="clocksGrid">
- <property name="visible">True</property>
- <property name="orientation">horizontal</property>
<property name="column_spacing">12</property>
- <property name="margin">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>
<child>
<object class="GtkImage" id="clocksIcon">
- <property name="visible">True</property>
<property name="pixel_size">32</property>
<property name="halign">start</property>
</object>
</child>
<child>
<object class="GtkLabel" id="clocksLabel">
- <property name="visible">True</property>
<property name="margin-end">10</property>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</child>
</object>
diff --git a/data/ui/sidebar.ui b/data/ui/sidebar.ui
index ab7b3890..e7ff872c 100644
--- a/data/ui/sidebar.ui
+++ b/data/ui/sidebar.ui
@@ -1,46 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
<interface>
- <requires lib="gtk+" version="3.10"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_Sidebar" parent="GtkRevealer">
- <property name="visible">True</property>
<property name="transition_type">slide-left</property>
<property name="transition_duration">400</property>
<property name="halign">end</property>
- <property name="valign">fill</property>
<style>
<class name="maps-sidebar"/>
</style>
- <child>
+ <property name="child">
<object class="GtkGrid" id="sidebar">
<property name="name">sidebar</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="vexpand">True</property>
- <property name="valign">fill</property>
- <property name="column_homogeneous">True</property>
+ <property name="vexpand">1</property>
+ <property name="column_homogeneous">1</property>
<property name="orientation">vertical</property>
<property name="width_request">320</property>
<property name="row_spacing">2</property>
<child>
<object class="GtkBox" id="mode-chooser">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">center</property>
<property name="margin-top">10</property>
<child>
- <object class="GtkRadioButton" id="modePedestrianToggle">
+ <object class="GtkToggleButton" id="modePedestrianToggle">
<property name="name">mode-pedestrian-toggle</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="draw_indicator">False</property>
+ <property name="receives_default">1</property>
<property name="height-request">32</property>
<property name="width-request">42</property>
<child>
<object class="GtkImage" id="mode-pedestrian-image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">route-pedestrian-symbolic</property>
</object>
</child>
@@ -50,19 +37,14 @@
</object>
</child>
<child>
- <object class="GtkRadioButton" id="modeBikeToggle">
+ <object class="GtkToggleButton" id="modeBikeToggle">
<property name="name">mode-bike-toggle</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="draw_indicator">False</property>
+ <property name="receives_default">1</property>
<property name="group">modePedestrianToggle</property>
<property name="height-request">32</property>
<property name="width-request">42</property>
<child>
<object class="GtkImage" id="mode-bike-image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">route-bike-symbolic</property>
</object>
</child>
@@ -72,20 +54,15 @@
</object>
</child>
<child>
- <object class="GtkRadioButton" id="modeCarToggle">
+ <object class="GtkToggleButton" id="modeCarToggle">
<property name="name">mode-car-toggle</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="active">True</property>
- <property name="draw_indicator">False</property>
+ <property name="receives_default">1</property>
+ <property name="active">1</property>
<property name="group">modeBikeToggle</property>
<property name="height-request">32</property>
<property name="width-request">42</property>
<child>
<object class="GtkImage" id="mode-car-image">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="icon-name">route-car-symbolic</property>
</object>
</child>
@@ -95,19 +72,14 @@
</object>
</child>
<child>
- <object class="GtkRadioButton" id="modeTransitToggle">
+ <object class="GtkToggleButton" id="modeTransitToggle">
<property name="name">mode-transit-toggle</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="draw_indicator">False</property>
+ <property name="receives_default">1</property>
<property name="group">modeCarToggle</property>
<property name="height-request">32</property>
<property name="width-request">42</property>
<child>
<object class="GtkImage" id="mode-transit-image">
- <property name="visible">False</property>
- <property name="can_focus">False</property>
<property name="icon-name">route-transit-symbolic</property>
</object>
</child>
@@ -116,44 +88,32 @@
</style>
</object>
</child>
- <style>
- <class name="linked"/>
- </style>
</object>
</child>
<child>
<object class="GtkListBox" id="entryList">
<property name="name">sidebar-entry-list</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="selection-mode">GTK_SELECTION_NONE</property>
+ <property name="selection-mode">none</property>
</object>
</child>
<child>
<object class="GtkGrid" id="sidebar-route-info-wrapper">
- <property name="visible">True</property>
- <property name="hexpand">False</property>
+ <property name="hexpand">0</property>
<child>
<object class="GtkGrid" id="sidebar-route-info">
<property name="name">sidebar-route-info</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="margin_start">17</property>
<property name="margin_end">17</property>
<property name="margin_top">12</property>
- <property name="hexpand">true</property>
+ <property name="hexpand">1</property>
<child>
<object class="GtkLabel" id="timeInfo">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="halign">start</property>
- <property name="hexpand">true</property>
+ <property name="hexpand">1</property>
</object>
</child>
<child>
<object class="GtkLabel" id="distanceInfo">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<property name="margin_start">10</property>
</object>
</child>
@@ -163,205 +123,187 @@
</child>
<child>
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="valign">fill</property>
- <property name="vexpand">True</property>
- <property name="hexpand_set">True</property>
+ <property name="vexpand">1</property>
+ <property name="hexpand_set">1</property>
<style>
<class name="frame"/>
</style>
<child>
<object class="GtkRevealer" id="transitRevealer">
- <child>
+ <property name="child">
<object class="GtkStack" id="transitHeader">
- <property name="visible">True</property>
- <property name="transition-type">GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT</property>
+ <property name="transition-type">slide-left-right</property>
</object>
- </child>
+ </property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkStack" id="instructionStack">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<child>
<object class="GtkScrolledWindow" id="instructionWindow">
<property name="name">instruction-window</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="valign">fill</property>
- <property name="vexpand">True</property>
- <property name="margin">1</property>
+ <property name="vexpand">1</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="margin-top">1</property>
+ <property name="margin-bottom">1</property>
<property name="hscrollbar_policy">never</property>
- <child>
+ <property name="child">
<object class="GtkListBox" id="instructionList">
<property name="name">instruction-list</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="valign">fill</property>
- <property name="hexpand">True</property>
+ <property name="hexpand">1</property>
</object>
- </child>
+ </property>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="transitWindow">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="valign">fill</property>
- <property name="vexpand">True</property>
- <property name="margin">1</property>
+ <property name="vexpand">1</property>
+ <property name="margin-start">1</property>
+ <property name="margin-end">1</property>
+ <property name="margin-top">1</property>
+ <property name="margin-bottom">1</property>
<property name="hscrollbar_policy">never</property>
- <child>
+ <property name="child">
<object class="GtkStack" id="transitListStack">
- <property name="visible">True</property>
- <property name="transition-type">GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT</property>
- <property name="vhomogeneous">False</property>
+ <property name="transition-type">slide-left-right</property>
+ <property name="vhomogeneous">0</property>
<child>
- <object class="GtkListBox" id="transitOverviewListBox">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">overview</property>
- </packing>
+ <property name="child">
+ <object class="GtkListBox" id="transitOverviewListBox"/>
+ </property>
+ </object>
</child>
<child>
- <object class="GtkListBox" id="transitItineraryListBox">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="selection-mode">GTK_SELECTION_NONE</property>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">itinerary</property>
- </packing>
+ <property name="child">
+ <object class="GtkListBox" id="transitItineraryListBox">
+ <property name="selection-mode">none</property>
+ </object>
+ </property>
+ </object>
</child>
</object>
- </child>
+ </property>
</object>
</child>
<child>
<object class="GtkSpinner" id="instructionSpinner">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="active">True</property>
+ <property name="spinning">True</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="width_request">16</property>
+ <property name="height_request">16</property>
</object>
</child>
<child>
<object class="GtkLabel" id="errorLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
<style>
<class name="dim-label"/>
</style>
</object>
</child>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
</child>
</object>
</child>
<child>
<object class="GtkStack" id="linkButtonStack">
<child>
- <object class="GtkLinkButton">
- <property name="label" translatable="yes">Route search by GraphHopper</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="relief">none</property>
- <property name="uri">https://graphhopper.com</property>
- <style>
- <class name="small-label"/>
- </style>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">turnByTurn</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_END</property>
- <child>
- <object class="GtkLabel" id="transitAttributionLabel">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_markup">True</property>
+ <property name="child">
+ <object class="GtkLinkButton">
+ <property name="label" translatable="1">Route search by GraphHopper</property>
+ <property name="focusable">1</property>
+ <property name="receives_default">1</property>
+ <property name="uri">https://graphhopper.com</property>
<style>
<class name="small-label"/>
</style>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton">
- <property name="visible">True</property>
- <property name="popover">transitDisclaimerPopover</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="margin-top">5</property>
- <property name="margin-bottom">5</property>
- <property name="margin-end">5</property>
- <property name="margin-start">5</property>
- <style>
- <class name="flat"/>
- </style>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">transit</property>
+ <property name="child">
+ <object class="GtkGrid">
+ <property name="halign">end</property>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
+ <object class="GtkLabel" id="transitAttributionLabel">
+ <property name="focusable">1</property>
+ <property name="receives_default">1</property>
+ <property name="use_markup">1</property>
+ <style>
+ <class name="small-label"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkMenuButton">
+ <property name="popover">transitDisclaimerPopover</property>
+ <property name="halign">end</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-start">5</property>
+ <style>
+ <class name="flat"/>
+ </style>
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="hexpand">False</property>
- <property name="icon-name">dialog-information-symbolic</property>
+ <object class="GtkGrid">
+ <property name="valign">center</property>
+ <child>
+ <object class="GtkImage">
+ <property name="halign">center</property>
+ <property name="hexpand">0</property>
+ <property name="icon-name">dialog-information-symbolic</property>
+ </object>
+ </child>
</object>
</child>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">0</property>
+ </layout>
</object>
</child>
</object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">transit</property>
- </packing>
</child>
</object>
</child>
</object>
- </child>
+ </property>
</template>
<object class="GtkPopover" id="transitDisclaimerPopover">
- <property name="visible">False</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
<child>
<object class="GtkLabel">
- <property name="visible">True</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
- <property name="label" translatable="yes">Routing itineraries for public transit is provided by third-party
+ <property name="label" translatable="1">Routing itineraries for public transit is provided by third-party
services.
GNOME can not guarantee correctness of the itineraries and schedules shown.
Note that some providers might not include all available modes of transportation,
@@ -371,74 +313,66 @@ Names and brands shown are to be considered as registered trademarks when applic
</object>
</child>
</object>
- </child>
+ </property>
</object>
<object class="GtkGrid" id="transitItineraryHeader">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<style>
<class name="shaded"/>
</style>
<child>
<object class="GtkButton" id="transitItineraryBackButton">
- <property name="visible">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">4</property>
<property name="margin-bottom">4</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="halign">start</property>
<child>
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="valign">center</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">False</property>
+ <property name="hexpand">0</property>
<property name="icon-name">go-previous-symbolic</property>
</object>
</child>
</object>
</child>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
</child>
<child>
<object class="GtkLabel" id="transitItineraryTimeLabel">
- <property name="visible">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">4</property>
<property name="margin-bottom">4</property>
- <property name="hexpand">False</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="hexpand">0</property>
+ <property name="halign">start</property>
+ <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="transitItineraryDurationLabel">
- <property name="visible">True</property>
<property name="margin-start">6</property>
<property name="margin-end">6</property>
<property name="margin-top">4</property>
<property name="margin-bottom">4</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="hexpand">1</property>
+ <property name="halign">start</property>
<style>
<class name="dim-label"/>
</style>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">0</property>
- </packing>
</child>
</object>
</interface>
diff --git a/data/ui/transit-arrival-row.ui b/data/ui/transit-arrival-row.ui
index 73a42bb1..2c8a1cbf 100644
--- a/data/ui/transit-arrival-row.ui
+++ b/data/ui/transit-arrival-row.ui
@@ -1,77 +1,59 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.14"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitArrivalRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<child>
- <object class="GtkEventBox" id="eventBox">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
+ <object class="GtkGrid" id="grid">
+ <property name="margin-top">6</property>
+ <property name="row-spacing">12</property>
<child>
- <object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="margin-top">6</property>
- <property name="margin-bottom">0</property>
- <property name="row-spacing">12</property>
- <child>
- <object class="GtkImage">
- <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="icon-name">maps-point-end-symbolic</property>
- <style>
- <class name="sidebar-icon"/>
- </style>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="arrivalLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="max-width-chars">25</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="timeLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="halign">GTK_ALIGN_END</property>
- <property name="margin-start">6</property>
- <property name="margin-end">18</property>
- <attributes>
- <attribute name="font-features" value="tnum"/>
- </attributes>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSeparator" id="separator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">1</property>
- <property name="width">3</property>
- </packing>
- </child>
+ <object class="GtkImage">
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <property name="icon-name">maps-point-end-symbolic</property>
+ <style>
+ <class name="sidebar-icon"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="arrivalLabel">
+ <property name="hexpand">1</property>
+ <property name="halign">start</property>
+ <property name="max-width-chars">25</property>
+ <property name="ellipsize">end</property>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="timeLabel">
+ <property name="halign">end</property>
+ <property name="margin-start">6</property>
+ <property name="margin-end">18</property>
+ <attributes>
+ <attribute name="font-features" value="tnum"></attribute>
+ </attributes>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparator" id="separator">
+ <property name="valign">center</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">1</property>
+ <property name="column-span">3</property>
+ </layout>
</object>
</child>
</object>
diff --git a/data/ui/transit-itinerary-row.ui b/data/ui/transit-itinerary-row.ui
index 9ef1ddaf..8a238a32 100644
--- a/data/ui/transit-itinerary-row.ui
+++ b/data/ui/transit-itinerary-row.ui
@@ -1,72 +1,71 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.14"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitItineraryRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="margin">13</property>
+ <property name="margin-start">13</property>
+ <property name="margin-end">13</property>
+ <property name="margin-top">13</property>
+ <property name="margin-bottom">13</property>
<property name="column_spacing">13</property>
<property name="row-spacing">2</property>
<child>
<object class="GtkLabel" id="timeLabel">
- <property name="visible">True</property>
- <property name="expand">False</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="hexpand">0</property>
+ <property name="vexpand">0</property>
+ <property name="halign">start</property>
<attributes>
- <attribute name="font-features" value="tnum"/>
+ <attribute name="font-features" value="tnum"></attribute>
</attributes>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">0</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">0</property>
- </packing>
</child>
<child>
<object class="GtkLabel" id="durationLabel">
- <property name="visible">True</property>
- <property name="expand">True</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ <property name="halign">start</property>
<attributes>
- <attribute name="font-features" value="tnum"/>
+ <attribute name="font-features" value="tnum"></attribute>
</attributes>
<style>
<class name="dim-label"/>
</style>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">1</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">1</property>
- </packing>
</child>
<child>
<object class="GtkGrid" id="summaryGrid">
- <property name="visible">True</property>
- <property name="expand">True</property>
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
<property name="column-spacing">5</property>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">0</property>
+ <property name="column-span">2</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">1</property>
- <property name="left-attach">0</property>
- <property name="width">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>
<property name="pixel-size">16</property>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">2</property>
+ <property name="row-span">2</property>
+ <property name="column-span">2</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">2</property>
- <property name="height">2</property>
- <property name="width">2</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/transit-leg-row.ui b/data/ui/transit-leg-row.ui
index 2d27feb4..9a9747dd 100644
--- a/data/ui/transit-leg-row.ui
+++ b/data/ui/transit-leg-row.ui
@@ -1,258 +1,211 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.14"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitLegRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
<child>
- <object class="GtkEventBox" id="eventBox">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
+ <object class="GtkGrid" id="grid">
+ <property name="row-spacing">3</property>
<child>
- <object class="GtkGrid" id="grid">
- <property name="visible">True</property>
- <property name="margin-top">0</property>
- <property name="margin-bottom">0</property>
- <property name="row-spacing">3</property>
- <child>
- <object class="GtkImage" id="modeImage">
- <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="halign">GTK_ALIGN_START</property>
- <style>
- <class name="sidebar-icon"/>
- </style>
- </object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- <property name="height">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="fromLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="max-width-chars">25</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid" id="routeGrid">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="timeLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="margin-start">6</property>
- <property name="margin-end">18</property>
- <property name="hexpand">False</property>
- <property name="halign">GTK_ALIGN_END</property>
- <attributes>
- <attribute name="font-features" value="tnum"/>
- </attributes>
- </object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">0</property>
- <property name="height">2</property>
- </packing>
- </child>
+ <object class="GtkImage" id="modeImage">
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <property name="halign">start</property>
+ <style>
+ <class name="sidebar-icon"/>
+ </style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ <property name="row-span">2</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="fromLabel">
+ <property name="halign">start</property>
+ <property name="max-width-chars">25</property>
+ <property name="ellipsize">end</property>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="routeGrid">
+ <property name="halign">start</property>
+ <property name="hexpand">1</property>
+ <layout>
+ <property name="column">1</property>
+ <property name="row">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="timeLabel">
+ <property name="margin-start">6</property>
+ <property name="margin-end">18</property>
+ <property name="hexpand">0</property>
+ <property name="halign">end</property>
+ <attributes>
+ <attribute name="font-features" value="tnum"></attribute>
+ </attributes>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ <property name="row-span">2</property>
+ </layout>
</object>
</child>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
</child>
-
<child>
<object class="GtkRevealer" id="detailsRevealer">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<property name="margin-start">15</property>
<property name="margin-end">15</property>
<property name="row-spacing">1</property>
<child>
<object class="GtkLabel" id="agencyLabel">
- <property name="visible">False</property>
- <property name="use-markup">True</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="visible">0</property>
+ <property name="use-markup">1</property>
+ <property name="halign">start</property>
<property name="max_width_chars">30</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+ <property name="ellipsize">end</property>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">0</property>
+ <property name="column-span">3</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">0</property>
- <property name="width">3</property>
- </packing>
</child>
<child>
<object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="hexpand">1</property>
+ <property name="valign">center</property>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">0</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">1</property>
- <property name="left-attach">0</property>
- </packing>
</child>
<child>
<object class="GtkButton" id="collapsButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Hide intermediate stops and information</property>
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Hide intermediate stops and information</property>
<style>
<class name="small-circular"/>
</style>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<property name="icon-name">go-up-symbolic</property>
<property name="pixel-size">8</property>
</object>
</child>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">1</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">1</property>
- <property name="left-attach">1</property>
- </packing>
</child>
<child>
<object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="hexpand">1</property>
+ <property name="valign">center</property>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">2</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">1</property>
- <property name="left-attach">2</property>
- </packing>
</child>
<child>
<object class="GtkListBox" id="instructionList">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
+ <layout>
+ <property name="row">2</property>
+ <property name="column">0</property>
+ <property name="column-span">3</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">2</property>
- <property name="left-attach">0</property>
- <property name="width">3</property>
- </packing>
</child>
-
</object>
- </child>
+ </property>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">0</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">1</property>
- <property name="left-attach">0</property>
- </packing>
</child>
<child>
<object class="GtkStack" id="footerStack">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
<child>
- <object class="GtkGrid">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <child>
- <object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="expandButton">
- <property name="visible">True</property>
- <property name="can-focus">True</property>
- <property name="tooltip-text" translatable="yes" comments="Translators: This is a tooltip">Show intermediate stops and information</property>
- <style>
- <class name="small-circular"/>
- </style>
+ <object class="GtkStackPage">
+ <property name="name">expander</property>
+ <property name="child">
+ <object class="GtkGrid">
<child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="icon-name">go-down-symbolic</property>
- <property name="pixel-size">8</property>
+ <object class="GtkSeparator">
+ <property name="hexpand">1</property>
+ <property name="valign">center</property>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">0</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="expandButton">
+ <property name="focusable">1</property>
+ <property name="tooltip-text" translatable="1" comments="Translators: This is a tooltip">Show intermediate stops and information</property>
+ <style>
+ <class name="small-circular"/>
+ </style>
+ <child>
+ <object class="GtkImage">
+ <property name="icon-name">go-down-symbolic</property>
+ <property name="pixel-size">8</property>
+ </object>
+ </child>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="hexpand">1</property>
+ <property name="valign">center</property>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">2</property>
+ </layout>
</object>
</child>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">2</property>
- </packing>
- </child>
+ </property>
</object>
- <packing>
- <property name="name">expander</property>
- </packing>
</child>
<child>
- <object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">separator</property>
- </packing>
+ <property name="child">
+ <object class="GtkSeparator">
+ <property name="hexpand">1</property>
+ <property name="valign">center</property>
+ </object>
+ </property>
+ </object>
</child>
+ <layout>
+ <property name="row">2</property>
+ <property name="column">0</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">2</property>
- <property name="left-attach">0</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/transit-more-row.ui b/data/ui/transit-more-row.ui
index 7de5b98a..fd5f823d 100644
--- a/data/ui/transit-more-row.ui
+++ b/data/ui/transit-more-row.ui
@@ -1,40 +1,43 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitMoreRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="margin">13</property>
+ <property name="margin-start">13</property>
+ <property name="margin-end">13</property>
+ <property name="margin-top">13</property>
+ <property name="margin-bottom">13</property>
<child>
<object class="GtkStack" id="stack">
- <property name="visible">True</property>
<child>
- <object class="GtkLabel" id="label">
- <property name="visible">True</property>
- <property name="expand">True</property>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">label</property>
- </packing>
+ <property name="child">
+ <object class="GtkLabel" id="label">
+ <property name="hexpand">1</property>
+ <property name="vexpand">1</property>
+ </object>
+ </property>
+ </object>
</child>
<child>
- <object class="GtkSpinner">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="active">True</property>
- </object>
- <packing>
+ <object class="GtkStackPage">
<property name="name">spinner</property>
- </packing>
+ <property name="child">
+ <object class="GtkSpinner">
+ <property name="spinning">True</property>
+ </object>
+ </property>
+ </object>
</child>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">0</property>
+ </layout>
</object>
- <packing>
- <property name="top-attach">0</property>
- <property name="left-attach">0</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/transit-options-panel.ui b/data/ui/transit-options-panel.ui
index a11acfa0..8169ab13 100644
--- a/data/ui/transit-options-panel.ui
+++ b/data/ui/transit-options-panel.ui
@@ -1,14 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitOptionsPanel" parent="GtkGrid">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="no-show-all">True</property>
<style>
<class name="shaded"/>
</style>
<child>
<object class="GtkComboBoxText" id="transitTimeOptionsComboBox">
- <property name="visible">True</property>
<property name="active_id">leaveNow</property>
<property name="margin_start">6</property>
<property name="margin_end">6</property>
@@ -19,91 +17,83 @@
<item translatable="yes" id="leaveBy" comments="Indicates searching for itineraries leaving at the specified time at the earliest">Leave By</item>
<item translatable="yes" id="arriveBy" comments="Indicates searching for itineraries arriving no later than the specified time">Arrive By</item>
</items>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkEntry" id="transitTimeEntry">
- <property name="visible">False</property>
- <property name="width_chars">5</property>
+ <property name="max-width-chars">5</property>
<property name="margin_start">3</property>
<property name="margin_end">3</property>
<property name="margin_top">4</property>
<property name="margin_bottom">4</property>
+ <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="GtkMenuButton" id="transitDateButton">
- <property name="visible">False</property>
<property name="popover">transitDatePopover</property>
<property name="margin_start">3</property>
<property name="margin_end">3</property>
<property name="margin_top">4</property>
<property name="margin_bottom">4</property>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkMenuButton" id="transitParametersMenuButton">
- <property name="visible">True</property>
<property name="popover">transitParametersPopover</property>
- <property name="halign">GTK_ALIGN_END</property>
+ <property name="halign">end</property>
<property name="margin_start">3</property>
<property name="margin_end">6</property>
<property name="margin_top">4</property>
<property name="margin_bottom">4</property>
+ <property name="hexpand">true</property>
<child>
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="valign">GTK_ALIGN_CENTER</property>
+ <property name="valign">center</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">GTK_ALIGN_CENTER</property>
- <property name="hexpand">True</property>
+ <property name="halign">center</property>
+ <property name="hexpand">1</property>
<property name="icon-name">view-more-symbolic</property>
</object>
</child>
</object>
</child>
+ <layout>
+ <property name="column">3</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">0</property>
- </packing>
</child>
</template>
<object class="GtkPopover" id="transitDatePopover">
- <property name="visible">False</property>
- <child>
- <object class="GtkCalendar" id="transitDateCalendar">
- <property name="visible">True</property>
- </object>
- </child>
+ <property name="child">
+ <object class="GtkCalendar" id="transitDateCalendar"/>
+ </property>
</object>
<object class="GtkPopover" id="transitParametersPopover">
- <property name="visible">False</property>
- <child>
+ <property name="child">
<object class="GtkGrid">
- <property name="visible">True</property>
- <property name="margin">6</property>
- <property name="orientation">GTK_ORIENTATION_VERTICAL</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="orientation">vertical</property>
<child>
<object class="GtkLabel">
- <property name="visible">True</property>
- <property name="halign">GTK_ALIGN_START</property>
- <property name="label" translatable="yes" comments="Header indicating selected modes of transit">Show</property>
+ <property name="halign">start</property>
+ <property name="label" translatable="1" comments="Header indicating selected modes of transit">Show</property>
<property name="margin_start">6</property>
<style>
<class name="dim-label"/>
@@ -112,48 +102,41 @@
</child>
<child>
<object class="GtkCheckButton" id="busCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Buses</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Buses</property>
</object>
</child>
<child>
<object class="GtkCheckButton" id="tramCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Trams</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Trams</property>
</object>
</child>
<child>
<object class="GtkCheckButton" id="trainCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Trains</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Trains</property>
</object>
</child>
<child>
<object class="GtkCheckButton" id="subwayCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Subway</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Subway</property>
</object>
</child>
<child>
<object class="GtkCheckButton" id="ferryCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Ferries</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Ferries</property>
</object>
</child>
<child>
<object class="GtkCheckButton" id="airplaneCheckButton">
- <property name="visible">True</property>
- <property name="active">True</property>
- <property name="label" translatable="yes">Airplanes</property>
+ <property name="active">1</property>
+ <property name="label" translatable="1">Airplanes</property>
</object>
</child>
</object>
- </child>
+ </property>
</object>
</interface>
-
diff --git a/data/ui/transit-route-label.ui b/data/ui/transit-route-label.ui
index 423f7826..c9f67f07 100644
--- a/data/ui/transit-route-label.ui
+++ b/data/ui/transit-route-label.ui
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<interface>
- <requires lib="gtk+" version="3.14"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitRouteLabel" parent="GtkLabel">
<property name="visible">True</property>
<property name="use-markup">True</property>
@@ -13,6 +13,8 @@
<property name="margin-end">3</property>
<property name="hexpand">False</property>
<property name="halign">GTK_ALIGN_START</property>
+ <property name="yalign">1.0</property>
+ <property name="xalign">0.6</property>
<style>
<class name="route-label"/>
</style>
diff --git a/data/ui/transit-stop-row.ui b/data/ui/transit-stop-row.ui
index 1cd02ba9..6b7e4fdd 100644
--- a/data/ui/transit-stop-row.ui
+++ b/data/ui/transit-stop-row.ui
@@ -1,58 +1,48 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_TransitStopRow" parent="GtkListBoxRow">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <child>
+ <property name="child">
<object class="GtkGrid" id="grid">
- <property name="visible">True</property>
<child>
<object class="GtkImage">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="margin-start">0</property>
<property name="margin-end">6</property>
<property name="icon-name">maps-point-end-symbolic</property>
<style>
<class name="sidebar-icon"/>
</style>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
</child>
<child>
<object class="GtkLabel" id="nameLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="hexpand">True</property>
- <property name="halign">GTK_ALIGN_START</property>
+ <property name="hexpand">1</property>
+ <property name="halign">start</property>
<property name="max-width-chars">25</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+ <property name="ellipsize">end</property>
+ <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="timeLabel">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="halign">GTK_ALIGN_END</property>
+ <property name="halign">end</property>
<property name="margin-start">6</property>
- <property name="margin-end">0</property>
<attributes>
- <attribute name="font-features" value="tnum"/>
+ <attribute name="font-features" value="tnum"></attribute>
</attributes>
+ <layout>
+ <property name="column">2</property>
+ <property name="row">0</property>
+ </layout>
</object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">0</property>
- </packing>
</child>
</object>
- </child>
+ </property>
</template>
</interface>
diff --git a/data/ui/zoom-in-dialog.ui b/data/ui/zoom-in-dialog.ui
index 359dd46c..bb6753d3 100644
--- a/data/ui/zoom-in-dialog.ui
+++ b/data/ui/zoom-in-dialog.ui
@@ -1,53 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk" version="4.0"/>
<template class="Gjs_ZoomInDialog" parent="GtkDialog">
- <property name="can_focus">False</property>
- <property name="type">popup</property>
- <property name="type_hint">dialog</property>
<property name="width_request">400</property>
<property name="height_request">150</property>
- <child internal-child="vbox">
+ <child>
<object class="GtkBox" id="contentArea">
- <property name="visible">True</property>
<child>
<object class="GtkLabel">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Zoom in to add location!</property>
+ <property name="label" translatable="1">Zoom in to add location!</property>
</object>
</child>
</object>
</child>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerBar">
- <property name="visible">True</property>
- <property name="can-focus">False</property>
- <property name="show-close-button">False</property>
- <child>
+ <property name="show-title-buttons">0</property>
+ <child type="start">
<object class="GtkButton" id="cancelButton">
- <property name="label" translatable="yes">Cancel</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
+ <property name="label" translatable="1">Cancel</property>
+ <property name="focusable">1</property>
</object>
- <packing>
- <property name="pack-type">start</property>
- </packing>
</child>
- <child>
+ <child type="end">
<object class="GtkButton" id="zoomInButton">
- <property name="label" translatable="yes">Zoom In</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
+ <property name="label" translatable="1">Zoom In</property>
+ <property name="focusable">1</property>
+ <property name="receives_default">1</property>
<style>
<class name="default"/>
</style>
</object>
- <packing>
- <property name="pack-type">end</property>
- </packing>
</child>
</object>
</child>
</template>
-</interface> \ No newline at end of file
+</interface>