From 324af2f7010762beaead0da5cab68b30b95d2f3c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 3 Apr 2020 11:22:00 -0400 Subject: [PATCH 1/2] testsuite: Try harder to record a full focus chain It is hard to avoid widgets with the same name in a large ui file - try harder to record a full focus chain before decide that we've wrapped, by including the widget address in the comparison. Note that we don't include the addresses in the generated output, since that would make expected output vary from run to run. --- testsuite/gtk/test-focus-chain.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/testsuite/gtk/test-focus-chain.c b/testsuite/gtk/test-focus-chain.c index a76082feca..53fab0d5a3 100644 --- a/testsuite/gtk/test-focus-chain.c +++ b/testsuite/gtk/test-focus-chain.c @@ -93,6 +93,7 @@ generate_focus_chain (GtkWidget *window, char *first = NULL; char *last = NULL; char *name = NULL; + char *key = NULL; GString *output = g_string_new (""); GtkWidget *focus; int count = 0; @@ -119,17 +120,22 @@ generate_focus_chain (GtkWidget *window, gtk_widget_get_name (focus)); else name = g_strdup (gtk_widget_get_name (focus)); + + key = g_strdup_printf ("%s %p", name, focus); } else - name = g_strdup ("NONE"); + { + name = g_strdup ("NONE"); + key = g_strdup (key); + } - if (first && g_str_equal (name, first)) + if (first && g_str_equal (key, first)) { g_string_append (output, "WRAP\n"); break; /* cycle completed */ } - if (last && g_str_equal (name, last)) + if (last && g_str_equal (key, last)) { g_string_append (output, "STOP\n"); break; /* dead end */ @@ -139,10 +145,10 @@ generate_focus_chain (GtkWidget *window, count++; if (!first) - first = g_strdup (name); + first = g_strdup (key); g_free (last); - last = g_strdup (name); + last = key; if (count == 100) { From d662512c44c768064fa427c0d22af75b834e66a9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 3 Apr 2020 09:36:19 -0400 Subject: [PATCH 2/2] testsuite: Add a big focus chain testcase --- testsuite/gtk/focus-chain/widget-factory.tab | 36 + testsuite/gtk/focus-chain/widget-factory.ui | 3810 ++++++++++++++++++ 2 files changed, 3846 insertions(+) create mode 100644 testsuite/gtk/focus-chain/widget-factory.tab create mode 100644 testsuite/gtk/focus-chain/widget-factory.ui diff --git a/testsuite/gtk/focus-chain/widget-factory.tab b/testsuite/gtk/focus-chain/widget-factory.tab new file mode 100644 index 0000000000..1812f0c8f6 --- /dev/null +++ b/testsuite/gtk/focus-chain/widget-factory.tab @@ -0,0 +1,36 @@ +GtkEntry GtkText +GtkToggleButton +GtkEntry GtkText +GtkEntry GtkText +GtkButton +GtkToggleButton +GtkToggleButton +GtkToggleButton +GtkSpinButton GtkText +GtkCheckButton +GtkRadioButton +GtkCheckButton +GtkCheckButton +GtkToggleButton +GtkToggleButton +GtkToggleButton +GtkButton +GtkButton +GtkColorSwatch +GtkButton +GtkLinkButton +GtkSwitch +GtkScale +GtkScale +GtkScale +GtkTreeView +GtkTextView +GtkNotebook +GtkNotebook +GtkNotebook +GtkNotebook +GtkToggleButton +GtkToggleButton +GtkToggleButton +GtkToggleButton +WRAP diff --git a/testsuite/gtk/focus-chain/widget-factory.ui b/testsuite/gtk/focus-chain/widget-factory.ui new file mode 100644 index 0000000000..8dd15abeda --- /dev/null +++ b/testsuite/gtk/focus-chain/widget-factory.ui @@ -0,0 +1,3810 @@ + + + + +
+ + Get Busy + win.busy + + + Style +
+ + Current + win.theme + current + + + Adwaita + win.theme + adwaita + + + Adwaita dark + win.theme + adwaita-dark + + + High contrast + win.theme + highcontrast + + + High contrast inverse + win.theme + highcontrast-inverse + +
+
+ + Slide Pages + win.transition + +
+
+ + _Inspector + app.inspector + + + _Keyboard Shortcuts + win.show-help-overlay + + + _About Widget Factory + app.about + +
+
+ +
+ + _Steak + app.main + steak + + + _Pizza + app.main + pizza + +
+
+ + Wine + app.wine + + + Beer + app.beer + + + Water + app.water + +
+
+ + Dessert +
+ + Brownies + app.dessert + brownies + + + Banana Sundae + app.dessert + sundae + + + Lemon Bars + app.dessert + bars + +
+
+
+ horizontal-buttons + + Cash + app.pay + cash + document-save-symbolic + + + Credit Card + app.pay + card + document-send-symbolic + + + Cheque + app.pay + cheque + document-save-as-symbolic + +
+
+
+ + 100 + 1 + 50 + 1 + 10 + + + 1000 + 1 + 50 + 1 + 10 + + + 4 + 2 + 1 + 1 + + + 99 + 1 + 2 + 1 + 10 + + + 99 + 1 + 4 + 1 + 10 + + + + + + + + + + + + True + emblem-default-symbolic + Andrea + Cimi + False + + + False + emblem-important-symbolic + Otto + chaotic + False + + + True + weather-clear-night-symbolic + Orville + Redenbacher + False + + + True + face-monkey-symbolic + Benjamin + Company + True + + + + + liststore1 + 2 + 1 + 0 + 1 + + + + 2 + + + + + + + + + + Left + + + Middle + + + Right + + + + + + + bold + 800 + + + + + italic + italic + + + + + underline + single + + + + + tags + Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Nullam fringilla, est ut feugiat ultrices, elit lacus ultricies nibh, id commodo tortor nisi id elit. +Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. +Morbi vel elit erat. Maecenas dignissim, dui et pharetra rutrum, tellus lectus rutrum mi, a convallis libero nisi quis tellus. +Nulla facilisi. Nullam eleifend lobortis nisl, in porttitor tellus malesuada vitae. +Aenean lacus tellus, pellentesque quis molestie quis, fringilla in arcu. +Duis elementum, tellus sed tristique semper, metus metus accumsan augue, et porttitor augue orci a libero. +Ut sed justo ac felis placerat laoreet sed id sem. Proin mattis tincidunt odio vitae tristique. +Morbi massa libero, congue vitae scelerisque vel, ultricies vel nisl. +Vestibulum in tortor diam, quis aliquet quam. Praesent ut justo neque, tempus rutrum est. +Duis eu lectus quam. Vivamus eget metus a mauris molestie venenatis pulvinar eleifend nisi. +Nulla facilisi. Pellentesque at dolor sit amet purus dapibus pulvinar molestie quis neque. +Suspendisse feugiat quam quis dolor accumsan cursus. + + + * Translation updates: + Aragonese + Assamese + Basque + Brazilian Portuguese + Dutch + German + Hebrew + Hungarian + Polish + Portuguese + Serbian + Slovenian + Spanish + Uyghur + + + + + + + + audio-headphones-symbolic + + + audio-speakers-symbolic + + + audio-input-microphone-symbolic + + + bookmark-new-symbolic + + + call-start-symbolic + + + call-stop-symbolic + + + camera-photo-symbolic + + + camera-video-symbolic + + + camera-web-symbolic + + + document-new-symbolic + + + document-open-recent-symbolic + + + document-open-symbolic + + + drive-harddisk-symbolic + + + drive-multidisk-symbolic + + + drive-optical-symbolic + + + edit-clear-all-symbolic + + + edit-copy-symbolic + + + edit-cut-symbolic + + + edit-delete-symbolic + + + find-location-symbolic + + + format-indent-less-symbolic + + + format-indent-more-symbolic + + + format-justify-left-symbolic + + + format-justify-center-symbolic + + + format-justify-right-symbolic + + + network-wired-symbolic + + + network-wireless-symbolic + + + phone-symbolic + + + insert-image-symbolic + + + insert-link-symbolic + + + insert-object-symbolic + + + view-continuous-symbolic + + + view-dual-symbolic + + + view-fullscreen-symbolic + + + view-grid-symbolic + + + view-list-symbolic + + + view-paged-symbolic + + + weather-clear-night-symbolic + + + weather-few-clouds-night-symbolic + + + weather-fog-symbolic + + + weather-overcast-symbolic + + + weather-severe-alert-symbolic + + + weather-showers-symbolic + + + weather-snow-symbolic + + + + + + + + + + + + + + GTK Widget Factory + + + 1 + + + toplevel_stack + + + + + center + gear_menu + open-menu-symbolic + + + + + + + vertical + 10 + 10 + 10 + 10 + + + 1000 + + + page1 + Page 1 + + + vertical + 10 + + + 10 + + + vertical + 10 + + + 1 + + + comboboxentry + + + + Donald Duck + Mickey Mouse + Jet McQuack + + + + + + 0 + 1 + + + + comboboxentry + + + + + + + 1 + + Click icon to change mode + view-refresh-symbolic + Change mode + + + + + 0 + + entry + + + + + + + + + entry + 1 + + + + + window-close-symbolic + + + + + + + 0 + + + + lrmodel + 0 + 1 + + + + 0 + + + + + + + lrmodel + 1 + 1 + + + + 0 + + + + + + + lrmodel + 2 + 1 + + + + 0 + + + + + + + + + 20 + + + label + + + + + 0 + label + + + + + 2 + 2 + adjustment2 + + + + + 0 + 2 + 2 + + + + + + + 1 + 18 + 6 + + + checkbutton + 1 + + + + + checkbutton + + 0 + 1 + + + + + + checkbutton + 1 + + 0 + 2 + + + + + + checkbutton + 0 + 1 + + 0 + 3 + + + + + + checkbutton + 0 + + 0 + 4 + + + + + + checkbutton + 0 + 1 + + 0 + 5 + + + + + + radiobutton + 1 + + 0 + 1 + + + + + + radiobutton + radiobutton1 + + 1 + 1 + + + + + + radiobutton + 1 + radiobutton1 + + 1 + 2 + + + + + + radiobutton + 0 + + 1 + 3 + + + + + + radiobutton + 0 + radiobutton3 + + 1 + 4 + + + + + + radiobutton + 0 + 1 + radiobutton3 + + 1 + 5 + + + + + + 1 + + 2 + + + + + + + 2 + 1 + + + + + + 1 + 0 + + 2 + 3 + + + + + + 0 + + 2 + 4 + + + + + + + + + + vertical + + + + + vertical + 10 + + + togglebutton + 1 + + + + + togglebutton + 0 + 1 + + + + + togglebutton + 1 + 1 + + + + + togglebutton + 0 + 1 + 1 + + + + + liststore1 + 0 + + + + 2 + + + + + + + 0 + liststore1 + 1 + + + + 2 + + + + + + + 1 + family|style|size|features|variations + + + + + 1 + #31316867a09f + 1 + + + + + + + + link button + 1 + 1 + none + http://www.gtk.org + + + + + center + + + + + 0 + center + + + + + + + vertical + + + + + vertical + 6 + 1 + + + vertical + 6 + + + 0.5 + + + + + 0.5 + 1 + + + + + 0.5 + 1 + + + + + 0.6 + + + + + 5 + 2 + 1 + + + + + + + + + + + + + + 1 + vertical + 1 + + + adjustment1 + 0 + 75 + 0 + + + + + 0 + adjustment1 + 0 + 75 + 0 + + + + + + + + + 0 + 0 + 0 + adjustment3 + 0 + + + + + + + + + + + + 1 + + + 1 + 6 + 1 + + + vertical + 0.5 + end + + + + + vertical + 0.5 + 1 + start + + + + + + + 1 + 6 + 1 + + + 100 + vertical + adjustment1 + 0 + 75 + -1 + end + + + + + 100 + 0 + vertical + adjustment1 + 0 + 75 + -1 + start + + + + + + + + + + + vertical + + + + + vertical + 1 + 6 + 1 + + + + + + <b>Inset</b> + 1 + + + + + + + + + + <b>Outset</b> + 1 + + + + + + + + + + <b>Groove</b> + 1 + + + + + + + + + + <b>Ridge</b> + 1 + + + + + + + + + vertical + + + + + vertical + 6 + 1 + + + 150 + always + in + 1 + + + liststore1 + 0 + 0 + + + + + + Cool + + + + 0 + 4 + + + + + + + Icon + 1 + + + + 1 + + + + + + + Name + 1 + 1 + 1 + 2 + + + end + + + 2 + + + + + + + Nick + 1 + 1 + 1 + 3 + + + end + + + 3 + + + + + + + + + + + in + 1 + + + textbuffer1 + 2 + 10 + 10 + + + + + + + + + + + + + + 10 + 1 + + + + + + + vertical + + + + + page 1 + + + + + + + + + vertical + + + + + page 2 + + + + + + + 2 + + + vertical + + + + + page 3 + + + + + + + + + right + + + + + vertical + + + + + page 1 + + + + + + + 1 + + + vertical + + + + + page 2 + + + + + + + 2 + + + vertical + + + + + page 3 + + + + + + + + + bottom + + + + + vertical + + + + + page 1 + + + + + + + 1 + + + vertical + + + + + page 2 + + + + + + + 2 + + + vertical + + + + + page 3 + + + + + + + + + left + + + + + vertical + + + + + page 1 + + + + + + + 1 + + + vertical + + + + + page 2 + + + + + + + 2 + + + vertical + + + + + page 3 + + + + + + + + + + + + + + + page2 + Page 2 + + + + + swing-down + center + start + + + + + + 20 + 10 + 10 + 10 + 10 + + + 1 + start + NEWS! + + + + + center + Reset + + + + + 0 + none + window-close-symbolic + + + + + + + + + + + 10 + + + vertical + 10 + + + 6 + + + vertical + adjustment2 + + + + + 0 + vertical + adjustment2 + + + + + 6 + 6 + center + center + + + vertical + center + .5 + center + + 0 + 0 + + + + + + 1 + microphone-sensitivity-muted-symbolic +microphone-sensitivity-high-symbolic +microphone-sensitivity-low-symbolic +microphone-sensitivity-medium-symbolic + center + .5 + center + + 0 + 1 + + + + + + + + + + + + + + + vertical + + + crossfade + 1000 + + + page1 + preferences-desktop-locale-symbolic + News + + + never + + + textbuffer2 + 10 + 10 + + + + + + + + + page2 + folder-pictures-symbolic + Logo + + + org.gtk.WidgetFactory4 + 256 + + + + + + + + + + + + stack + center + + + + + dinner_menu + center + center + emblem-system-symbolic + + + + + + + + + + + + + + in + never + 200 + 0 + + + none + 1 + + + No rows found + + + + + 0 + 0 + + + + + Row 1 + start + center + 6 + 6 + 6 + 6 + 1 + + + + + end + center + 6 + 6 + 12 + 12 + + + + + + + + + 0 + + + + + Row 2 + start + center + 6 + 6 + 6 + 6 + 1 + + + + + end + center + 6 + 6 + 12 + 12 + 0 + 150 + adjustment1 + + + + + + + + + + + + + Row 3 + start + center + 6 + 6 + 6 + 6 + 1 + + + + + object-select-symbolic + end + center + 6 + 6 + 12 + 12 + 0 + + + + + + + + + + + + + Row 4 + start + center + 6 + 6 + 6 + 6 + 1 + + + + + adjustment1 + 1 + end + center + + + + + + + + + 0 + + + + + Row 5 + start + center + 6 + 6 + 6 + 6 + 6 + 1 + + + + + end + center + 6 + 6 + 12 + 12 + appointment-soon-symbolic + + + + + + + + + 0 + + + + + Row 6 + start + center + 6 + 6 + 6 + 6 + 1 + + + + + end + center + 6 + 6 + 12 + 12 + + + + + + + + + + + + + + + vertical + + + + + vertical + 10 + + + + + vertical + + + menu_bar_model + + + + + + + New + document-new + Create a new document + + + + + Save + document-save + Save the current document + + + + + + + + Search + edit-find + win.search + Search for it + + + + + 0 + Insert + insert-image + Insert something + + + + + + + + + + + + + + 0 + 1 + + + + + You wanted to delete something. + + + + + + + + + + + + 1 + + + True + textbuffer1 + 2 + 10 + 10 + + + + + + + + + + + + + + + + + + + + + + 10 + 1 + 1 + + + 1 + 1 + + + + + + Left + + + + + Right + + + + + + + + + 1 + 1 + + + vertical + + + + Top + + + + + Bottom + + + + + + + + + + + + + + + vertical + + + + + vertical + 10 + + + center + + + + + + + + 1 + + + vertical + + + in + 6 + 226 + + + multiple + iconsmodel + + + + 0 + + + + + + + + + + + + zoom-out-symbolic + Normal icons + + + + + zoom-in-symbolic + Large icons + + + + + zoom-original-symbolic + Inherited icon size + + + + + + + + + Expander + + + + + + + _Inform + 1 + + + + + _Act + 1 + + + + + _Configure + 1 + + + + + _Select + 1 + + + + + + + + + + + + + page3 + Page 3 + + + 10 + + + vertical + 10 + + + vertical + 4 + + + never + always + 300 + in + + + vertical + 1 + 1 + charlemodel + + + multiple + + + + + Name + + + + 0 + + + + + + + Birth + + + + 1 + + + + + + + Death + + + + 2 + + + + + + + + + + + 1 + start + 1 + <small>Data source: <a href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small> + + + + + + + + + + never + 1 + in + + + multiple + 0 + + + + + + + + + vertical + + + + + vertical + 10 + + + 6 + + + 1 + 6 + + + center + open_popover + Open + + + + + center + + + + 6 + + + baseline + media-record-symbolic + + + + + baseline + Record + + + + + + + + + + + + 0 + 1 + view-grid-symbolic + + + + + 1 + 0 + grid_button + view-list-symbolic + + + + + + + emblem-system-symbolic + + + + + + + + + + + view-more-symbolic + new_style_menu + + + + + + + + + + + + + + sidebar_stack + + + + + + + id + Identity + + + vertical + 20 + 20 + 20 + 20 + 10 + center + center + + + First Name + + + + + Last Name + + + + + + + + + bd + Birthdate + + + vertical + 20 + 20 + 20 + 20 + 10 + center + center + + + 2 + + + 9 + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + + + + + + 9 + + January + February + March + April + May + June + July + August + September + October + November + December + + + + + + + + Year + + + + + + + + + ad + Address + + + vertical + 20 + 20 + 20 + 20 + center + center + + + + Street + + + + + City + + + + + Province + + + + + + + + + pg + Pages + + + vertical + 20 + 20 + 20 + 20 + center + center + + + + 0 + + Range + All + Current + - + None + + + + + + pg_adjustment + + + + + pg_adjustment2 + + + + + Print + + + + + + + + + + + + + + + + + + + vertical + + + document-open-symbolic + + + + + send-to-symbolic + + + + + view-fullscreen-symbolic + + + + + star-new-symbolic + + + + + + + 1 + + + + + + + + vertical + 6 + 6 + 6 + 6 + + + vertical + + + + 0 + edit-cut-symbolic + + + + + 0 + edit-copy-symbolic + + + + + 0 + edit-paste-symbolic + + + + + + + 0 + end + edit-delete-symbolic + + + + + + + + + + + + + 0 + 0.9 + 20 + 20 + 20 + 20 + end + + + + + + + pan-start-symbolic + + + + + pan-end-symbolic + + + + + + + 1 + 0 + adjustment1 + + + + + vertical + .5 + + + + + + + + + + 1 + + + 0 + + + center + notebook_info_popover2 + emblem-important-symbolic + none + + + + + + 1 + + + 120 + + + + + + + Page 1 + center + 1 + + + + + none + 0 + window-close-symbolic + + + + + + + + + + 1 + + + 1 + + + + + + + Page 2 + center + 1 + + + + + none + 0 + window-close-symbolic + + + + + + + + + + + + 0 + + + + + 1 + + + + + Page 3 + + + + + + + + + + + + + + + + + + + + + vertical + + + + + vertical + 10 + + + center + + + Name… + name_completion + + + + + 1 + Age… + + + + + + + + + + + 1 + + + center + notebook_info_popover + emblem-important-symbolic + none + + + + + + 1 + + + 120 + + + + + Page 1 + + + + + + + 1 + + + 40 + + + + + Page 2 + + + + + + + 1 + + + + + + Page 3 + + + + + + + 1 + + + + + + Page 4 + + + + + + + 1 + + + + + + Page 5 + + + + + + + + + 1 + + + + + + + + + + + + + + + window + 0 + 1 + Do something? + If you do something, +bad things might happen. + 1 + + + _Cancel + 1 + + + + + _Do It + 1 + + + + cancel_info_dialog + doit_info_dialog + + + + window + 0 + 1 + 1 + Zelda + 1 + act_action_dialog + + + + + 20 + 20 + 20 + 20 + To free the princess, you have to slay the dragon. + + + + + + + + + + _Run + 1 + + + + + _Act + 1 + + + + cancel_action_dialog + act_action_dialog + + + + window + 1 + 0 + 1 + Settings + 1 + + + + + 10 + 10 + 20 + 20 + 20 + 20 + + + end + baseline + _Details + 1 + details_entry + + + 0 + 0 + + + + + + baseline + + 1 + 0 + + + + + + end + baseline + More D_etails + 1 + more_details_entry + + + 0 + 1 + + + + + + baseline + + 1 + 1 + + + + + + end + baseline + _Level + 1 + level_scale + + + 0 + 2 + + + + + + baseline + 0 + adjustment1 + + 1 + 2 + + + + + + end + baseline + _Mode + 1 + mode_switch + + + 0 + 3 + + + + + + start + baseline + + 1 + 3 + + + + + + + + + + window + 1 + 1 + Choose one + 1 + select_selection_dialog + + + + + 10 + 10 + 10 + 10 + 10 + 10 + 3 + 9 + + + + + + + _Cancel + 1 + + + + + _Select + 1 + + + + cancel_selection_dialog + select_selection_dialog + + + + + + 10 + 10 + 10 + 10 + 10 + 10 + + + Title: + 1 + + + + + + + + start + Description: + 1 + + + + + 1 + + + + + + start + in + 70 + 120 + 100 + 100 + + + + + + + + + 1 + 1 + 2 + + + + + + 1 + + + + + 1 + 2 + + + + + + + + Extra Info + + + + + Tell me anything… + 0.2 + + + + 1 + 2 + 2 + + + + + + end + emblem-system-symbolic + gear_menu + This is a menu button + + 1 + 3 + + + + + + _Open + 1 + 0 + + + 2 + 3 + + + + + + + + vertical + + + + + + + + + + + both + + + + + + + 0 + + + No updates at this time + + + + + + + + 0 + + + You're in too deep! + + + + + + + + 0 + + + + + Hidden gems: + + + + + center + notebook_info_popover3 + emblem-important-symbolic + none + + + + + + + + + + + + main + + + vertical + + + + + + + + printer-symbolic + + + 1 + app.print + 1 + center + + + + + + + + emblem-shared-symbolic + + + 1 + app.share + 1 + center + + + + + + + + + + + Open in New Window + app.open-in + main-indicators + + + + + + + + + + + + + + Edit + 0 + 1 + + + + + + + edit-cut-symbolic + + + 1 + + + + + + + edit-copy-symbolic + + + 1 + + + + + + + edit-paste-symbolic + + + 1 + + + + + + + + + + Pin + app.pin + main-indicators + + + + + Select Labels… + app.labels + main-indicators + + + + + Share… + app.share + main-indicators + + + + + + + + Basement + basement + main-indicators + + + + + + + + Large + app.size + 'large' + main-indicators + + + + + Medium + app.size + 'medium' + main-indicators + + + + + Small + app.size + 'small' + main-indicators + + + + + + + + Move to Trash + win.delete + main-indicators + + + + + + + + + basement + + + vertical + + + Basement + title + main + + + + + + + + Berk + app.berk + basement-indicators + + + + + Broni + app.broni + basement-indicators + + + + + Drutt + app.drutt + basement-indicators + + + + + The Thing Upstairs + app.upstairs + basement-indicators + + + + + + + + + + + + + + + + +
+ circular-buttons + + printer-symbolic + app.print + + + emblem-shared-symbolic + app.share + +
+
+ + Open in New Window + app.open-in + +
+
+ inline-buttons + Edit + + edit-cut-symbolic + app.cut + + + edit-copy-symbolic + app.copy + + + edit-paste-symbolic + app.paste + +
+
+ + Pin + app.pin + + + Select Labels… + app.labels + + + Share… + app.share + +
+
+ + Basement +
+ + Berk + app.berk + + + Broni + app.broni + + + Drutt + app.drutt + + + The Thing Upstairs + app.upstairs + +
+
+
+
+ + Large + app.size + large + + + Medium + app.size + medium + + + Small + app.size + small + +
+
+ + Move to Trash + win.delete + +
+
+ +
+ + Open + win.open + +
+
+ + Open in New Tab + app.open-tab + + + Open in New Window + app.open-window + +
+
+ + Cut + app.cut + + + Copy + app.copy + +
+
+ + Options +
+ + Option A + app.option-a + + + Option B + app.option-b + + + Option C + app.option-c + + + Option D + app.option-d + +
+
+
+
+ + Move to Trash + win.delete + +
+
+ + + _File +
+ + _New + app.new + + + _Open + app.open + + + _Save + app.save + + + Save _As + app.save-as + +
+
+ + _Quit + app.quit + +
+
+ + _Edit +
+ + Cu_t + app.cut + + + _Copy + app.copy + + + _Paste + app.paste + + + Delete + win.delete + + + Search + win.search + +
+
+ + C_hecks +
+ + Check + app.check-on + + + Check + app.check-off + + + Check + app.check-on-disabled + + + Check + app.check-off-disabled + + + Check + app.check-no-action + action-missing + +
+
+ + _Radios +
+ + Radio + app.radio-x + x + + + Radio + app.radio-x + y + + + Radio + app.radio-x-disabled + x + + + Radio + app.radio-x-disabled + y + + + Radio + app.radio-no-action + action-missing + +
+
+
+
+ + _View +
+ + Dark Theme + win.dark + + + Toolbar + win.toolbar + + + Statusbar + win.statusbar + + + Select Background + win.background + +
+
+ + _Help + + About + app.about + + +
+