From c0cd3a0bbae7bff07e3e407f24f438e7eef88bc7 Mon Sep 17 00:00:00 2001 From: yaoguangzhong Date: Thu, 15 Dec 2022 16:29:46 +0800 Subject: [PATCH] [PATCH]nautilus: Add the ability to create document category: bugfix bugzilla: https://gitee.com/src-openeuler/nautilus/issues/I66CA7?from=project-issue Signed-off-by: Guangzhong Yao --- nautilus.spec | 9 +- ...0-Add-the-ability-to-create-document.patch | 164 ++++++++++++++++++ 2 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 nautius-3.33.90-Add-the-ability-to-create-document.patch diff --git a/nautilus.spec b/nautilus.spec index 695ff06..876f47b 100644 --- a/nautilus.spec +++ b/nautilus.spec @@ -1,6 +1,6 @@ Name: nautilus Version: 3.33.90 -Release: 8 +Release: 9 Summary: Default file manager for GNOME License: GPLv3+ and LGPLv2+ URL: https://wiki.gnome.org/Apps/Nautilus @@ -20,6 +20,7 @@ Patch02: nautius-3.33.90-translate-English-tips-information-to-chinese.p Patch03: nautius-3.33.90-display-tooltip-content.patch Patch04: nautius-3.33.90-translate-general-and-show-sidebar.patch Patch05: nautius-3.33.90-Add-right-click-sort-function.patch +Patch06: nautius-3.33.90-Add-the-ability-to-create-document.patch %description It's easier to manage your files for the GNOME desktop. Ability to browse directories on local and remote systems. @@ -85,6 +86,12 @@ make test %{_datadir}/metainfo/* %changelog +* Thu Dec 15 2022 Guangzhong Yao - 3.33.90-9 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC: Add the ability to create document + * Thu Dec 15 2022 Guangzhong Yao - 3.33.90-8 - Type:bugfix - Id:NA diff --git a/nautius-3.33.90-Add-the-ability-to-create-document.patch b/nautius-3.33.90-Add-the-ability-to-create-document.patch new file mode 100644 index 0000000..34ced28 --- /dev/null +++ b/nautius-3.33.90-Add-the-ability-to-create-document.patch @@ -0,0 +1,164 @@ +From dbb570fc748d0c2743c58f601fa7df54515f8ed0 Mon Sep 17 00:00:00 2001 +From: yangzhuangzhuang +Date: Thu, 1 Sep 2022 17:01:47 +0800 +Subject: [PATCH] Right-click to add new text document function + +Add the text document button and place the text document and new folder in the New button + +--- + po/zh_CN.po | 6 +++ + src/nautilus-files-view.c | 47 +++++++++++++++++++ + .../ui/nautilus-files-view-context-menus.ui | 23 +++++++-- + 3 files changed, 72 insertions(+), 4 deletions(-) + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 7b484cf..7fbb840 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -5887,3 +5887,9 @@ msgstr "显示侧边栏(S)" + + msgid "Sort" + msgstr "排序" ++ ++msgid "_Document" ++msgstr "文本文档" ++ ++msgid "_Create" ++msgstr "新建" +diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c +index 666fcf3..1b2cf73 100644 +--- a/src/nautilus-files-view.c ++++ b/src/nautilus-files-view.c +@@ -2413,6 +2413,16 @@ nautilus_files_view_new_file (NautilusFilesView *directory_view, + g_free (container_uri); + } + ++static void ++action_new_file (GSimpleAction *action, ++ GVariant *state, ++ gpointer user_data) ++{ ++ g_assert (NAUTILUS_IS_FILES_VIEW (user_data)); ++ ++ nautilus_files_view_new_file (NAUTILUS_FILES_VIEW (user_data), NULL, NULL); ++} ++ + static void + action_new_folder (GSimpleAction *action, + GVariant *state, +@@ -6955,6 +6965,7 @@ const GActionEntry view_entries[] = + { "paste_accel", action_paste_files_accel }, + { "create-link", action_create_links }, + { "new-document" }, ++ { "new-file", action_new_file }, + /* Selection menu */ + { "scripts" }, + { "new-folder-with-selection", action_new_folder_with_selection }, +@@ -7353,6 +7364,11 @@ real_update_actions_state (NautilusFilesView *view) + gboolean show_star; + gboolean show_unstar; + gchar *uri; ++ GAppInfo *default_app; ++ gboolean can_create_text; ++ gboolean can_create_document; ++ gboolean can_create_spreadsheet; ++ gboolean can_create_presentation; + + priv = nautilus_files_view_get_instance_private (view); + +@@ -7448,6 +7464,32 @@ real_update_actions_state (NautilusFilesView *view) + "new-folder"); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), can_create_files); + ++ action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), ++ "new-file"); ++ ++ default_app = g_app_info_get_default_for_type ("text/plain", FALSE); ++ can_create_text = default_app != NULL; ++ g_object_unref (default_app); ++ ++ default_app = g_app_info_get_default_for_type ("application/vnd.oasis.opendocument.text", FALSE); ++ can_create_document = default_app != NULL; ++ g_object_unref (default_app); ++ ++ default_app = g_app_info_get_default_for_type ("application/vnd.oasis.opendocument.spreadsheet", FALSE); ++ can_create_spreadsheet = default_app != NULL; ++ g_object_unref (default_app); ++ ++ default_app = g_app_info_get_default_for_type ("application/vnd.oasis.opendocument.presentation", FALSE); ++ can_create_presentation = default_app != NULL; ++ g_object_unref (default_app); ++ ++ g_simple_action_set_enabled (G_SIMPLE_ACTION (action), ++ can_create_files && ( ++ can_create_text || ++ can_create_document || ++ can_create_spreadsheet || ++ can_create_presentation)); ++ + item_opens_in_view = selection_count != 0; + + for (l = selection; l != NULL; l = l->next) +@@ -7646,6 +7688,10 @@ real_update_actions_state (NautilusFilesView *view) + !selection_contains_starred && + priv->templates_present); + ++ action = g_action_map_lookup_action (G_ACTION_MAP (view_action_group), ++ "new-file"); ++ g_simple_action_set_enabled (G_SIMPLE_ACTION (action), can_create_files); ++ + g_object_ref (view); /* Need to keep the object alive until we get the reply */ + gtk_clipboard_request_text (nautilus_clipboard_get (GTK_WIDGET (view)), + on_clipboard_contents_received, +@@ -9776,6 +9822,7 @@ nautilus_files_view_init (NautilusFilesView *view) + nautilus_application_set_accelerator (app, "view.cut", "x"); + nautilus_application_set_accelerator (app, "view.copy", "c"); + nautilus_application_set_accelerator (app, "view.create-link-in-place", "m"); ++ nautilus_application_set_accelerator (app, "view.new-file", "f"); + nautilus_application_set_accelerator (app, "view.new-folder", "n"); + /* Only accesible by shorcuts */ + nautilus_application_set_accelerator (app, "view.select-pattern", "s"); +diff --git a/src/resources/ui/nautilus-files-view-context-menus.ui b/src/resources/ui/nautilus-files-view-context-menus.ui +index 279646d..420b0b5 100644 +--- a/src/resources/ui/nautilus-files-view-context-menus.ui ++++ b/src/resources/ui/nautilus-files-view-context-menus.ui +@@ -1,10 +1,24 @@ + + + +- +- New _Folder +- view.new-folder +- ++
++ ++ _Create ++
++ ++ New _Folder ++ view.new-folder ++ ++
++
++ ++ _Document ++ view.new-file ++ ++
++
++
++
+ + templates-submenu + New _Document +@@ -46,6 +60,7 @@ + +
+ ++ +
+ + _Paste +-- +2.27.0 +