!12 Add the ability to create document

From: @ikernel-mryao 
Reviewed-by: @dwl301 
Signed-off-by: @dwl301
This commit is contained in:
openeuler-ci-bot 2022-12-23 03:51:08 +00:00 committed by Gitee
commit 1e324cd538
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 172 additions and 1 deletions

View File

@ -1,6 +1,6 @@
Name: nautilus Name: nautilus
Version: 3.33.90 Version: 3.33.90
Release: 8 Release: 9
Summary: Default file manager for GNOME Summary: Default file manager for GNOME
License: GPLv3+ and LGPLv2+ License: GPLv3+ and LGPLv2+
URL: https://wiki.gnome.org/Apps/Nautilus 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 Patch03: nautius-3.33.90-display-tooltip-content.patch
Patch04: nautius-3.33.90-translate-general-and-show-sidebar.patch Patch04: nautius-3.33.90-translate-general-and-show-sidebar.patch
Patch05: nautius-3.33.90-Add-right-click-sort-function.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 %description
It's easier to manage your files for the GNOME desktop. Ability to browse directories on local and remote systems. 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/* %{_datadir}/metainfo/*
%changelog %changelog
* Thu Dec 15 2022 Guangzhong Yao <yaoguangzhong@xfusion.com> - 3.33.90-9
- Type:bugfix
- Id:NA
- SUG:NA
- DESC: Add the ability to create document
* Thu Dec 15 2022 Guangzhong Yao <yaoguangzhong@xfusion.com> - 3.33.90-8 * Thu Dec 15 2022 Guangzhong Yao <yaoguangzhong@xfusion.com> - 3.33.90-8
- Type:bugfix - Type:bugfix
- Id:NA - Id:NA

View File

@ -0,0 +1,164 @@
From dbb570fc748d0c2743c58f601fa7df54515f8ed0 Mon Sep 17 00:00:00 2001
From: yangzhuangzhuang <yangzhuangzhuang@xfusion.com>
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", "<control>x");
nautilus_application_set_accelerator (app, "view.copy", "<control>c");
nautilus_application_set_accelerator (app, "view.create-link-in-place", "<control><shift>m");
+ nautilus_application_set_accelerator (app, "view.new-file", "<control><shift>f");
nautilus_application_set_accelerator (app, "view.new-folder", "<control><shift>n");
/* Only accesible by shorcuts */
nautilus_application_set_accelerator (app, "view.select-pattern", "<control>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 @@
<?xml version="1.0"?>
<interface>
<menu id="background-menu">
- <item>
- <attribute name="label" translatable="yes">New _Folder</attribute>
- <attribute name="action">view.new-folder</attribute>
- </item>
+ <section>
+ <submenu>
+ <attribute name="label" translatable="yes">_Create</attribute>
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">New _Folder</attribute>
+ <attribute name="action">view.new-folder</attribute>
+ </item>
+ </section>
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">_Document</attribute>
+ <attribute name="action">view.new-file</attribute>
+ </item>
+ </section>
+ </submenu>
+ </section>
+ <section>
<submenu>
<attribute name="id">templates-submenu</attribute>
<attribute name="label" translatable="yes">New _Document</attribute>
@@ -46,6 +60,7 @@
</item>
</section>
</submenu>
+ </section>
<section>
<item>
<attribute name="label" translatable="yes">_Paste</attribute>
--
2.27.0