diff --git a/needles/kde/apps/kde_button_open.json b/needles/kde/apps/kde_button_open.json new file mode 100644 index 00000000..6d6d5ebd --- /dev/null +++ b/needles/kde/apps/kde_button_open.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 801, + "ypos": 614, + "width": 32, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "kde_button_open" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/kde_button_open.png b/needles/kde/apps/kde_button_open.png new file mode 100644 index 00000000..b9c1e1e8 Binary files /dev/null and b/needles/kde/apps/kde_button_open.png differ diff --git a/needles/kde/apps/kde_mainmenu_help.json b/needles/kde/apps/kde_mainmenu_help.json new file mode 100644 index 00000000..a0c019fb --- /dev/null +++ b/needles/kde/apps/kde_mainmenu_help.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 378, + "ypos": 35, + "width": 34, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "kde_mainmenu_help" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/kde_mainmenu_help.png b/needles/kde/apps/kde_mainmenu_help.png new file mode 100644 index 00000000..2f5438aa Binary files /dev/null and b/needles/kde/apps/kde_mainmenu_help.png differ diff --git a/needles/kde/apps/okular/okular_about_shown.json b/needles/kde/apps/okular/okular_about_shown.json new file mode 100644 index 00000000..3a8043c5 --- /dev/null +++ b/needles/kde/apps/okular/okular_about_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 352, + "ypos": 216, + "width": 112, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_about_shown" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_about_shown.png b/needles/kde/apps/okular/okular_about_shown.png new file mode 100644 index 00000000..5bca2d62 Binary files /dev/null and b/needles/kde/apps/okular/okular_about_shown.png differ diff --git a/needles/kde/apps/okular/okular_add_popup.json b/needles/kde/apps/okular/okular_add_popup.json new file mode 100644 index 00000000..57233998 --- /dev/null +++ b/needles/kde/apps/okular/okular_add_popup.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 216, + "ypos": 113, + "width": 22, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_add_popup" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_add_popup.png b/needles/kde/apps/okular/okular_add_popup.png new file mode 100644 index 00000000..7cb218e2 Binary files /dev/null and b/needles/kde/apps/okular/okular_add_popup.png differ diff --git a/needles/kde/apps/okular/okular_annotation_added.json b/needles/kde/apps/okular/okular_annotation_added.json new file mode 100644 index 00000000..19d7a56f --- /dev/null +++ b/needles/kde/apps/okular/okular_annotation_added.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 18, + "ypos": 205, + "width": 147, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_annotation_added" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_annotation_added.png b/needles/kde/apps/okular/okular_annotation_added.png new file mode 100644 index 00000000..e3dbd518 Binary files /dev/null and b/needles/kde/apps/okular/okular_annotation_added.png differ diff --git a/needles/kde/apps/okular/okular_annotation_placed.json b/needles/kde/apps/okular/okular_annotation_placed.json new file mode 100644 index 00000000..8ed6981a --- /dev/null +++ b/needles/kde/apps/okular/okular_annotation_placed.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "xpos": 681, + "ypos": 589, + "width": 35, + "height": 48, + "type": "match", + "match": 90 + } + ], + "properties": [], + "tags": [ + "okular_annotation_placed" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_annotation_placed.png b/needles/kde/apps/okular/okular_annotation_placed.png new file mode 100644 index 00000000..23d2fa7d Binary files /dev/null and b/needles/kde/apps/okular/okular_annotation_placed.png differ diff --git a/needles/kde/apps/okular/okular_annotation_removed.json b/needles/kde/apps/okular/okular_annotation_removed.json new file mode 100644 index 00000000..aa2e561c --- /dev/null +++ b/needles/kde/apps/okular/okular_annotation_removed.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 671, + "ypos": 582, + "width": 46, + "height": 51, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_annotation_removed" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_annotation_removed.png b/needles/kde/apps/okular/okular_annotation_removed.png new file mode 100644 index 00000000..326716c2 Binary files /dev/null and b/needles/kde/apps/okular/okular_annotation_removed.png differ diff --git a/needles/kde/apps/okular/okular_button_credits.json b/needles/kde/apps/okular/okular_button_credits.json new file mode 100644 index 00000000..ac25e3f2 --- /dev/null +++ b/needles/kde/apps/okular/okular_button_credits.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 534, + "ypos": 272, + "width": 53, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_button_credits" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_button_credits.png b/needles/kde/apps/okular/okular_button_credits.png new file mode 100644 index 00000000..78811879 Binary files /dev/null and b/needles/kde/apps/okular/okular_button_credits.png differ diff --git a/needles/kde/apps/okular/okular_button_save.json b/needles/kde/apps/okular/okular_button_save.json new file mode 100644 index 00000000..6575371d --- /dev/null +++ b/needles/kde/apps/okular/okular_button_save.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 781, + "ypos": 614, + "width": 50, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_button_save" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_button_save.png b/needles/kde/apps/okular/okular_button_save.png new file mode 100644 index 00000000..07bc6019 Binary files /dev/null and b/needles/kde/apps/okular/okular_button_save.png differ diff --git a/needles/kde/apps/okular/okular_change_zoom.json b/needles/kde/apps/okular/okular_change_zoom.json new file mode 100644 index 00000000..e0cefd39 --- /dev/null +++ b/needles/kde/apps/okular/okular_change_zoom.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 125, + "ypos": 74, + "width": 76, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_change_zoom" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_change_zoom.png b/needles/kde/apps/okular/okular_change_zoom.png new file mode 100644 index 00000000..592fb205 Binary files /dev/null and b/needles/kde/apps/okular/okular_change_zoom.png differ diff --git a/needles/kde/apps/okular/okular_close_annotation.json b/needles/kde/apps/okular/okular_close_annotation.json new file mode 100644 index 00000000..7843f061 --- /dev/null +++ b/needles/kde/apps/okular/okular_close_annotation.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 993, + "ypos": 118, + "width": 17, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_close_annotation" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_close_annotation.png b/needles/kde/apps/okular/okular_close_annotation.png new file mode 100644 index 00000000..d08ff3a0 Binary files /dev/null and b/needles/kde/apps/okular/okular_close_annotation.png differ diff --git a/needles/kde/apps/okular/okular_content_rotated_once.json b/needles/kde/apps/okular/okular_content_rotated_once.json new file mode 100644 index 00000000..451148e0 --- /dev/null +++ b/needles/kde/apps/okular/okular_content_rotated_once.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 205, + "ypos": 435, + "width": 105, + "height": 42, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_content_rotated_once" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_content_rotated_once.png b/needles/kde/apps/okular/okular_content_rotated_once.png new file mode 100644 index 00000000..dcdaf4d1 Binary files /dev/null and b/needles/kde/apps/okular/okular_content_rotated_once.png differ diff --git a/needles/kde/apps/okular/okular_content_rotated_twice.json b/needles/kde/apps/okular/okular_content_rotated_twice.json new file mode 100644 index 00000000..bd2b0c8d --- /dev/null +++ b/needles/kde/apps/okular/okular_content_rotated_twice.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 610, + "ypos": 583, + "width": 85, + "height": 33, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_content_rotated_twice" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_content_rotated_twice.png b/needles/kde/apps/okular/okular_content_rotated_twice.png new file mode 100644 index 00000000..3ebebfb8 Binary files /dev/null and b/needles/kde/apps/okular/okular_content_rotated_twice.png differ diff --git a/needles/kde/apps/okular/okular_credits_shown.json b/needles/kde/apps/okular/okular_credits_shown.json new file mode 100644 index 00000000..40a7d38e --- /dev/null +++ b/needles/kde/apps/okular/okular_credits_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 355, + "ypos": 339, + "width": 88, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_credits_shown" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_credits_shown.png b/needles/kde/apps/okular/okular_credits_shown.png new file mode 100644 index 00000000..43e7b46d Binary files /dev/null and b/needles/kde/apps/okular/okular_credits_shown.png differ diff --git a/needles/kde/apps/okular/okular_document_zoom_200.json b/needles/kde/apps/okular/okular_document_zoom_200.json new file mode 100644 index 00000000..1baf9440 --- /dev/null +++ b/needles/kde/apps/okular/okular_document_zoom_200.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 678, + "ypos": 358, + "width": 159, + "height": 59, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_document_zoom_200" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_document_zoom_200.png b/needles/kde/apps/okular/okular_document_zoom_200.png new file mode 100644 index 00000000..1a73ec4e Binary files /dev/null and b/needles/kde/apps/okular/okular_document_zoom_200.png differ diff --git a/needles/kde/apps/okular/okular_dual_mode.json b/needles/kde/apps/okular/okular_dual_mode.json new file mode 100644 index 00000000..4ac71f5d --- /dev/null +++ b/needles/kde/apps/okular/okular_dual_mode.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 451, + "ypos": 709, + "width": 101, + "height": 26, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_dual_mode" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_dual_mode.png b/needles/kde/apps/okular/okular_dual_mode.png new file mode 100644 index 00000000..e767d3a4 Binary files /dev/null and b/needles/kde/apps/okular/okular_dual_mode.png differ diff --git a/needles/kde/apps/okular/okular_facing_pages.json b/needles/kde/apps/okular/okular_facing_pages.json new file mode 100644 index 00000000..f8114661 --- /dev/null +++ b/needles/kde/apps/okular/okular_facing_pages.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 244, + "ypos": 134, + "width": 102, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_facing_pages" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_facing_pages.png b/needles/kde/apps/okular/okular_facing_pages.png new file mode 100644 index 00000000..e0979844 Binary files /dev/null and b/needles/kde/apps/okular/okular_facing_pages.png differ diff --git a/needles/kde/apps/okular/okular_file_opened.json b/needles/kde/apps/okular/okular_file_opened.json new file mode 100644 index 00000000..66d10f65 --- /dev/null +++ b/needles/kde/apps/okular/okular_file_opened.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 448, + "ypos": 8, + "width": 127, + "height": 15, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_file_opened" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_file_opened.png b/needles/kde/apps/okular/okular_file_opened.png new file mode 100644 index 00000000..4543bfe8 Binary files /dev/null and b/needles/kde/apps/okular/okular_file_opened.png differ diff --git a/needles/kde/apps/okular/okular_file_select_pdf.json b/needles/kde/apps/okular/okular_file_select_pdf.json new file mode 100644 index 00000000..ea72c344 --- /dev/null +++ b/needles/kde/apps/okular/okular_file_select_pdf.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 262, + "ypos": 226, + "width": 65, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_file_select_pdf" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_file_select_pdf.png b/needles/kde/apps/okular/okular_file_select_pdf.png new file mode 100644 index 00000000..f5b5199c Binary files /dev/null and b/needles/kde/apps/okular/okular_file_select_pdf.png differ diff --git a/needles/kde/apps/okular/okular_help_shown.json b/needles/kde/apps/okular/okular_help_shown.json new file mode 100644 index 00000000..8e0d6b6c --- /dev/null +++ b/needles/kde/apps/okular/okular_help_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 388, + "ypos": 171, + "width": 167, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_help_shown" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_help_shown.png b/needles/kde/apps/okular/okular_help_shown.png new file mode 100644 index 00000000..5af82998 Binary files /dev/null and b/needles/kde/apps/okular/okular_help_shown.png differ diff --git a/needles/kde/apps/okular/okular_menu_about.json b/needles/kde/apps/okular/okular_menu_about.json new file mode 100644 index 00000000..b067bda7 --- /dev/null +++ b/needles/kde/apps/okular/okular_menu_about.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 416, + "ypos": 244, + "width": 89, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_menu_about" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_menu_about.png b/needles/kde/apps/okular/okular_menu_about.png new file mode 100644 index 00000000..9ccc98d8 Binary files /dev/null and b/needles/kde/apps/okular/okular_menu_about.png differ diff --git a/needles/kde/apps/okular/okular_menu_properties.json b/needles/kde/apps/okular/okular_menu_properties.json new file mode 100644 index 00000000..977e25b5 --- /dev/null +++ b/needles/kde/apps/okular/okular_menu_properties.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 31, + "ypos": 336, + "width": 68, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_menu_properties" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_menu_properties.png b/needles/kde/apps/okular/okular_menu_properties.png new file mode 100644 index 00000000..c92aed61 Binary files /dev/null and b/needles/kde/apps/okular/okular_menu_properties.png differ diff --git a/needles/kde/apps/okular/okular_menu_saveas.json b/needles/kde/apps/okular/okular_menu_saveas.json new file mode 100644 index 00000000..585d91d0 --- /dev/null +++ b/needles/kde/apps/okular/okular_menu_saveas.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 15, + "ypos": 204, + "width": 79, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_menu_saveas" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_menu_saveas.png b/needles/kde/apps/okular/okular_menu_saveas.png new file mode 100644 index 00000000..f1162140 Binary files /dev/null and b/needles/kde/apps/okular/okular_menu_saveas.png differ diff --git a/needles/kde/apps/okular/okular_menu_view.json b/needles/kde/apps/okular/okular_menu_view.json new file mode 100644 index 00000000..ba9592e9 --- /dev/null +++ b/needles/kde/apps/okular/okular_menu_view.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 47, + "ypos": 37, + "width": 35, + "height": 15, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_menu_view" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_menu_view.png b/needles/kde/apps/okular/okular_menu_view.png new file mode 100644 index 00000000..dde359bb Binary files /dev/null and b/needles/kde/apps/okular/okular_menu_view.png differ diff --git a/needles/kde/apps/okular/okular_navi_page_one.json b/needles/kde/apps/okular/okular_navi_page_one.json new file mode 100644 index 00000000..ae9a0594 --- /dev/null +++ b/needles/kde/apps/okular/okular_navi_page_one.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 359, + "ypos": 115, + "width": 73, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_navi_page_one" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_navi_page_one.png b/needles/kde/apps/okular/okular_navi_page_one.png new file mode 100644 index 00000000..351a0882 Binary files /dev/null and b/needles/kde/apps/okular/okular_navi_page_one.png differ diff --git a/needles/kde/apps/okular/okular_navi_page_two.json b/needles/kde/apps/okular/okular_navi_page_two.json new file mode 100644 index 00000000..6ec5ae86 --- /dev/null +++ b/needles/kde/apps/okular/okular_navi_page_two.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 358, + "ypos": 320, + "width": 96, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_navi_page_two" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_navi_page_two.png b/needles/kde/apps/okular/okular_navi_page_two.png new file mode 100644 index 00000000..2ac6c12d Binary files /dev/null and b/needles/kde/apps/okular/okular_navi_page_two.png differ diff --git a/needles/kde/apps/okular/okular_open_file_dialog.json b/needles/kde/apps/okular/okular_open_file_dialog.json new file mode 100644 index 00000000..d8d5b3a0 --- /dev/null +++ b/needles/kde/apps/okular/okular_open_file_dialog.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 311, + "ypos": 516, + "width": 101, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_open_file_dialog" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_open_file_dialog.png b/needles/kde/apps/okular/okular_open_file_dialog.png new file mode 100644 index 00000000..63ace3d0 Binary files /dev/null and b/needles/kde/apps/okular/okular_open_file_dialog.png differ diff --git a/needles/kde/apps/okular/okular_presentation_dialogue.json b/needles/kde/apps/okular/okular_presentation_dialogue.json new file mode 100644 index 00000000..60fa8369 --- /dev/null +++ b/needles/kde/apps/okular/okular_presentation_dialogue.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 443, + "ypos": 317, + "width": 120, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_presentation_dialogue" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_presentation_dialogue.png b/needles/kde/apps/okular/okular_presentation_dialogue.png new file mode 100644 index 00000000..4672efa4 Binary files /dev/null and b/needles/kde/apps/okular/okular_presentation_dialogue.png differ diff --git a/needles/kde/apps/okular/okular_presentation_ok.json b/needles/kde/apps/okular/okular_presentation_ok.json new file mode 100644 index 00000000..5ce6410c --- /dev/null +++ b/needles/kde/apps/okular/okular_presentation_ok.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 597, + "ypos": 472, + "width": 43, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_presentation_ok" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_presentation_ok.png b/needles/kde/apps/okular/okular_presentation_ok.png new file mode 100644 index 00000000..4672efa4 Binary files /dev/null and b/needles/kde/apps/okular/okular_presentation_ok.png differ diff --git a/needles/kde/apps/okular/okular_properties_shown.json b/needles/kde/apps/okular/okular_properties_shown.json new file mode 100644 index 00000000..e4fd4a50 --- /dev/null +++ b/needles/kde/apps/okular/okular_properties_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 427, + "ypos": 422, + "width": 110, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_properties_shown" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_properties_shown.png b/needles/kde/apps/okular/okular_properties_shown.png new file mode 100644 index 00000000..c4447a44 Binary files /dev/null and b/needles/kde/apps/okular/okular_properties_shown.png differ diff --git a/needles/kde/apps/okular/okular_remove_annotation.json b/needles/kde/apps/okular/okular_remove_annotation.json new file mode 100644 index 00000000..f122e21c --- /dev/null +++ b/needles/kde/apps/okular/okular_remove_annotation.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 710, + "ypos": 673, + "width": 62, + "height": 15, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_remove_annotation" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_remove_annotation.png b/needles/kde/apps/okular/okular_remove_annotation.png new file mode 100644 index 00000000..cb07a100 Binary files /dev/null and b/needles/kde/apps/okular/okular_remove_annotation.png differ diff --git a/needles/kde/apps/okular/okular_runs.json b/needles/kde/apps/okular/okular_runs.json new file mode 100644 index 00000000..72551151 --- /dev/null +++ b/needles/kde/apps/okular/okular_runs.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 335, + "ypos": 396, + "width": 46, + "height": 54, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_runs" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_runs.png b/needles/kde/apps/okular/okular_runs.png new file mode 100644 index 00000000..fe32cb3b Binary files /dev/null and b/needles/kde/apps/okular/okular_runs.png differ diff --git a/needles/kde/apps/okular/okular_search_found.json b/needles/kde/apps/okular/okular_search_found.json new file mode 100644 index 00000000..22e44116 --- /dev/null +++ b/needles/kde/apps/okular/okular_search_found.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 553, + "ypos": 589, + "width": 53, + "height": 29, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_search_found" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_search_found.png b/needles/kde/apps/okular/okular_search_found.png new file mode 100644 index 00000000..b60b4e47 Binary files /dev/null and b/needles/kde/apps/okular/okular_search_found.png differ diff --git a/needles/kde/apps/okular/okular_select_annotation_place.json b/needles/kde/apps/okular/okular_select_annotation_place.json new file mode 100644 index 00000000..ba74aaef --- /dev/null +++ b/needles/kde/apps/okular/okular_select_annotation_place.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 651, + "ypos": 608, + "width": 55, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_select_annotation_place" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_select_annotation_place.png b/needles/kde/apps/okular/okular_select_annotation_place.png new file mode 100644 index 00000000..7a855634 Binary files /dev/null and b/needles/kde/apps/okular/okular_select_annotation_place.png differ diff --git a/needles/kde/apps/okular/okular_shortcuts_shown.json b/needles/kde/apps/okular/okular_shortcuts_shown.json new file mode 100644 index 00000000..1d846549 --- /dev/null +++ b/needles/kde/apps/okular/okular_shortcuts_shown.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 387, + "ypos": 114, + "width": 189, + "height": 19, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_shortcuts_shown" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_shortcuts_shown.png b/needles/kde/apps/okular/okular_shortcuts_shown.png new file mode 100644 index 00000000..01ec6226 Binary files /dev/null and b/needles/kde/apps/okular/okular_shortcuts_shown.png differ diff --git a/needles/kde/apps/okular/okular_submenu_orientation.json b/needles/kde/apps/okular/okular_submenu_orientation.json new file mode 100644 index 00000000..2073fbfd --- /dev/null +++ b/needles/kde/apps/okular/okular_submenu_orientation.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 97, + "ypos": 321, + "width": 73, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_submenu_orientation" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_submenu_orientation.png b/needles/kde/apps/okular/okular_submenu_orientation.png new file mode 100644 index 00000000..f30ac7db Binary files /dev/null and b/needles/kde/apps/okular/okular_submenu_orientation.png differ diff --git a/needles/kde/apps/okular/okular_submenu_rotate.json b/needles/kde/apps/okular/okular_submenu_rotate.json new file mode 100644 index 00000000..bd251501 --- /dev/null +++ b/needles/kde/apps/okular/okular_submenu_rotate.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 349, + "ypos": 322, + "width": 75, + "height": 17, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_submenu_rotate" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_submenu_rotate.png b/needles/kde/apps/okular/okular_submenu_rotate.png new file mode 100644 index 00000000..8cc87866 Binary files /dev/null and b/needles/kde/apps/okular/okular_submenu_rotate.png differ diff --git a/needles/kde/apps/okular/okular_submenu_shorcuts.json b/needles/kde/apps/okular/okular_submenu_shorcuts.json new file mode 100644 index 00000000..b28bb815 --- /dev/null +++ b/needles/kde/apps/okular/okular_submenu_shorcuts.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 435, + "ypos": 229, + "width": 133, + "height": 16, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_submenu_shorcuts" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_submenu_shorcuts.png b/needles/kde/apps/okular/okular_submenu_shorcuts.png new file mode 100644 index 00000000..b9fe2fcd Binary files /dev/null and b/needles/kde/apps/okular/okular_submenu_shorcuts.png differ diff --git a/needles/kde/apps/okular/okular_view_mode.json b/needles/kde/apps/okular/okular_view_mode.json new file mode 100644 index 00000000..1630ad99 --- /dev/null +++ b/needles/kde/apps/okular/okular_view_mode.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 238, + "ypos": 69, + "width": 87, + "height": 23, + "type": "match" + } + ], + "properties": [], + "tags": [ + "okular_view_mode" + ] +} \ No newline at end of file diff --git a/needles/kde/apps/okular/okular_view_mode.png b/needles/kde/apps/okular/okular_view_mode.png new file mode 100644 index 00000000..1470e30b Binary files /dev/null and b/needles/kde/apps/okular/okular_view_mode.png differ diff --git a/needles/kde/kde_button_open.json b/needles/kde/kde_button_open.json new file mode 100644 index 00000000..6d6d5ebd --- /dev/null +++ b/needles/kde/kde_button_open.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 801, + "ypos": 614, + "width": 32, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "kde_button_open" + ] +} \ No newline at end of file diff --git a/needles/kde/kde_button_open.png b/needles/kde/kde_button_open.png new file mode 100644 index 00000000..b9c1e1e8 Binary files /dev/null and b/needles/kde/kde_button_open.png differ diff --git a/needles/kde/kde_mainmenu_file.json b/needles/kde/kde_mainmenu_file.json new file mode 100644 index 00000000..58a09ce1 --- /dev/null +++ b/needles/kde/kde_mainmenu_file.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 8, + "ypos": 36, + "width": 26, + "height": 18, + "type": "match" + } + ], + "properties": [], + "tags": [ + "kde_mainmenu_file" + ] +} \ No newline at end of file diff --git a/needles/kde/kde_mainmenu_file.png b/needles/kde/kde_mainmenu_file.png new file mode 100644 index 00000000..2c1283ff Binary files /dev/null and b/needles/kde/kde_mainmenu_file.png differ diff --git a/templates.fif.json b/templates.fif.json index d581cc94..d61c3f3c 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -2404,6 +2404,17 @@ "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" } }, + "okular": { + "profiles": { + "fedora-KDE-live-iso-x86_64-*-64bit": 42 + }, + "settings": { + "BOOTFROM": "c", + "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", + "POSTINSTALL_PATH": "tests/applications/okular", + "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" + } + }, "mediakit_fileconflicts": { "profiles": { "fedora-Server-dvd-iso-aarch64-*-aarch64": 10, diff --git a/tests/applications/okular/aaa_setup.pm b/tests/applications/okular/aaa_setup.pm new file mode 100644 index 00000000..5667958c --- /dev/null +++ b/tests/applications/okular/aaa_setup.pm @@ -0,0 +1,49 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This script will download the test data for Okular, start the application, +# and set a milestone as a starting point for the other Okular tests. +# + +sub run { + my $self = shift; + # Switch to console + $self->root_console(tty => 3); + # Perform git test + check_and_install_git(); + # Download the test data + download_testdata(); + # Exit the terminal + desktop_vt; + + # Start the application + menu_launch_type("okular"); + # Check that is started + assert_screen 'okular_runs'; + + # Open the test file to create a starting point for the other Okular tests. + # Click on Open button to open the File Open Dialog + assert_and_click("okular_open_file_dialog", button => "left", timeout => 30); + + # Select the evince.pdf file. + assert_and_click("okular_file_select_pdf", button => "left", timeout => 30); + + # Click the Open button to open the file + assert_and_click("kde_button_open", button => "left", timeout => 30); + + # Fullsize the Evince window. + send_key("super-pgup"); + + # Check that the file has been successfully opened. + assert_screen("okular_file_opened"); +} + +sub test_flags { + return {fatal => 1, milestone => 1}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/applications/okular/about.pm b/tests/applications/okular/about.pm new file mode 100644 index 00000000..3bf16bfc --- /dev/null +++ b/tests/applications/okular/about.pm @@ -0,0 +1,34 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests if About works. + +sub run { + my $self = shift; + + # Open the menu by clicking on the Burger icon + assert_and_click("kde_mainmenu_help", button => "left", timeout => 30); + wait_still_screen 2; + + # In the menu, select the About item. + assert_and_click("okular_menu_about", button => "left", timeout => 30); + + # Check that the About section has been displayed. + assert_screen("okular_about_shown"); + + # Click on Credits button to see the second part of the dialogue. + assert_and_click("okular_button_credits", button => "left", timeout => 30); + + # Check that Credits are accessible and visible, too. + assert_screen("okular_credits_shown"); + +} + +sub test_flags { + # Rollback to the previous state to make space for other parts. + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/add_annotation.pm b/tests/applications/okular/add_annotation.pm new file mode 100644 index 00000000..10fa218f --- /dev/null +++ b/tests/applications/okular/add_annotation.pm @@ -0,0 +1,61 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests an annotation can be added to the displayed content. + +sub run { + my $self = shift; + + # Press the F6 button to open the annotation menu. + send_key("f6"); + wait_still_screen(2); + + # Click on Note text. + assert_and_click("okular_add_popup", button => "left", timeout => 30); + + # Select location to add annotation. + assert_and_click("okular_select_annotation_place", button => "left", timeout => 30); + + # Enter some text to the annotation. + type_very_safely("This is an impotant note."); + + # Check that the annotation window has appeared with that text. + assert_screen("okular_annotation_added"); + + # Close the annotation window + send_key("esc"); + + # Close the annotation mode. + assert_and_click("okular_close_annotation", button => "left", timeout => 30); + + # Check that the annotation is still placed in the document. + assert_screen("okular_annotation_placed"); + + # Reopen the annotation. + assert_and_dclick("okular_annotation_placed", button => "left", timeout => 30); + + # Check that the annotation still has that text. + assert_screen("okular_annotation_added"); + + # Close the window again + send_key("esc"); + + # Open the annotation's context menu. + assert_and_click("okular_annotation_placed", button => "right", timeout => 30); + + # Remove the annotation. + assert_and_click("okular_remove_annotation", button => "left", timeout => 30); + + # Check that the annotation has been removed. + assert_screen("okular_annotation_removed"); + +} + +sub test_flags { + # Rollback to the starting point. + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/change_zoom.pm b/tests/applications/okular/change_zoom.pm new file mode 100644 index 00000000..bf53749b --- /dev/null +++ b/tests/applications/okular/change_zoom.pm @@ -0,0 +1,29 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can change the zoom of the document. + +sub run { + my $self = shift; + + + # Click on zoom menu and select the content. + assert_and_click("okular_change_zoom", button => "left", timeout => 30); + send_key("ctrl-a"); + + # Select 200%. + type_very_safely("200"); + send_key("ret"); + + # Check that the document zoom was changed. + assert_screen("okular_document_zoom_200"); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/dual_mode.pm b/tests/applications/okular/dual_mode.pm new file mode 100644 index 00000000..0bf743fb --- /dev/null +++ b/tests/applications/okular/dual_mode.pm @@ -0,0 +1,33 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince is able to display content in a two-page mode. + +sub run { + my $self = shift; + + # Click on the Zoom menu and change a different zoom for next steps. + assert_and_click("okular_change_zoom", button => "left", timeout => 30); + send_key("ctrl-a"); + + # Select the Fit Width option to be able to see the whole layout. + type_very_safely("fit width"); + send_key("ret"); + + # Enter the menu + assert_and_click("okular_view_mode", button => "left", timeout => 30); + + # Select the Dual mode + assert_and_click("okular_facing_pages", button => "left", timeout => 30); + + # Check that the content is displayed in dual mode. + assert_screen("okular_dual_mode", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/help.pm b/tests/applications/okular/help.pm new file mode 100644 index 00000000..6305c28d --- /dev/null +++ b/tests/applications/okular/help.pm @@ -0,0 +1,23 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can display the Help pages. + +sub run { + my $self = shift; + + # Open Help. + send_key("f1"); + wait_still_screen 2; + + # Check that Help has been shown. + assert_screen("okular_help_shown", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/presentation.pm b/tests/applications/okular/presentation.pm new file mode 100644 index 00000000..c45ead0d --- /dev/null +++ b/tests/applications/okular/presentation.pm @@ -0,0 +1,39 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can be switched into night mode. + +sub run { + my $self = shift; + + # Switch on Presentation mode. + send_key("ctrl-shift-p"); + wait_still_screen(2); + + # A dialogue should be shown, assert and dismiss. + assert_screen("okular_presentation_dialogue"); + assert_and_click("okular_presentation_ok"); + + # Make sure that we are on the first page. + send_key("home"); + + # Each time, we move to a different page, a special + # navigation mark will be shown for a couple of seconds, + # so we check for it. + send_key("right"); # to move to a different page + assert_screen("okular_navi_page_one"); + + # Move to another page to see if presentation mode + # works correctly. + send_key("left"); # to move to a second page + assert_screen("okular_navi_page_two"); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/properties.pm b/tests/applications/okular/properties.pm new file mode 100644 index 00000000..6aa4cf3d --- /dev/null +++ b/tests/applications/okular/properties.pm @@ -0,0 +1,27 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can show Document Properties. + +sub run { + my $self = shift; + + # Open the menu. + assert_and_click("kde_mainmenu_file", button => "left", timeout => 30); + wait_still_screen 2; + + # Select the Properties item. + assert_and_click("okular_menu_properties", button => "left", timeout => 30); + wait_still_screen 2; + + # Check that Properties are shown. + assert_screen("okular_properties_shown", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/rotate.pm b/tests/applications/okular/rotate.pm new file mode 100644 index 00000000..723fd3d4 --- /dev/null +++ b/tests/applications/okular/rotate.pm @@ -0,0 +1,35 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince can rotate the content. + +sub rotate_content { + # Send the key combo to rotate the content + assert_and_click("okular_menu_view"); + assert_and_click("okular_submenu_orientation"); + assert_and_click("okular_submenu_rotate"); +} + +sub run { + my $self = shift; + + # Rotate the content once. + rotate_content(); + + # Check that the window content has been rotated. + assert_screen("okular_content_rotated_once", timeout => 30); + + # Rotate the content again. + rotate_content(); + + # Check that the window content has been rotated. + assert_screen("okular_content_rotated_twice", timeout => 30); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/save_as.pm b/tests/applications/okular/save_as.pm new file mode 100644 index 00000000..c539abb5 --- /dev/null +++ b/tests/applications/okular/save_as.pm @@ -0,0 +1,41 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests tests that Evince can Save the document As another document. + +sub run { + my $self = shift; + + # Open the menu. + assert_and_click("kde_mainmenu_file", button => "left", timeout => 30); + + # Select Save As + assert_and_click("okular_menu_saveas", button => "left", timeout => 30); + wait_still_screen(2); + + # Type a new name. + type_very_safely("alternative"); + + assert_and_click("okular_button_save", button => "left", timeout => 30); + + # Now the document is saved under a different name. We will switch to the + # terminal console to check that it has been created. + $self->root_console(tty => 3); + my $filename = "alternative.pdf"; + if (script_run("ls /home/test/Documents/${filename}")) { + $filename = "alternativeevince.pdf"; + assert_script_run("ls /home/test/Documents/${filename}"); + record_soft_failure("File name was not pre-selected in Save As dialog: https://gitlab.gnome.org/GNOME/gtk/-/issues/4768"); + } + + # Now, check that the new file does not differ from the original one. + assert_script_run("diff /home/test/Documents/evince.pdf /home/test/Documents/${filename}"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/search.pm b/tests/applications/okular/search.pm new file mode 100644 index 00000000..49128429 --- /dev/null +++ b/tests/applications/okular/search.pm @@ -0,0 +1,26 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests the ability to search string in the text. + +sub run { + my $self = shift; + + # Send a key combo to invoke search + send_key("ctrl-f"); + + # Type *pages*. + type_very_safely("pages"); + + # Check that the typed text has been found. + assert_screen("okular_search_found", timeout => 30); + +} + +sub test_flags { + return {always_rollback => 1}; +} + +1; diff --git a/tests/applications/okular/shortcuts.pm b/tests/applications/okular/shortcuts.pm new file mode 100644 index 00000000..f1e8cee9 --- /dev/null +++ b/tests/applications/okular/shortcuts.pm @@ -0,0 +1,25 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This part of the suite tests that Evince displays shortcuts. + +sub run { + my $self = shift; + + # Open the menu + assert_and_click("kde_mainmenu_settings"); + + # Choose the shortcuts submenu + assert_and_click("okular_submenu_shorcuts"); + + # Check that Shortcuts has been shown + assert_screen("okular_shortcuts_shown"); +} + +sub test_flags { + return {always_rollback => 1}; +} + +1;