Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop/snipe 25 #2440

Merged
merged 98 commits into from
Nov 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
3b62aca
chore: update version to 6.5.11
Johnson-zs Nov 30, 2024
8193d15
feat: [Customize menu] Customize menu merging
pppanghu77 Sep 19, 2024
eedf2e5
feat: [ulnfs] add ulnfs
pppanghu77 Aug 14, 2024
2f4b108
feat: [ulnfs] migrate filename from dlnfs to ulnfs
wangrong1069 Sep 26, 2024
09a0758
Revert "feat: [ulnfs] migrate filename from dlnfs to ulnfs"
pppanghu77 Oct 17, 2024
c23a261
Revert "feat: [ulnfs] add ulnfs"
pppanghu77 Oct 17, 2024
25a5f6c
feat: window layout
Johnson-zs Oct 14, 2024
1d2d90d
feat: window layout to detailspace
Johnson-zs Oct 14, 2024
b02769a
feat: refactor mainwindow UI
Lighto-Ku Oct 17, 2024
dd2970d
feat: Sidebar show animation
Johnson-zs Oct 19, 2024
2a299f6
feat: iconArea adapts to compact mode
Johnson-zs Oct 19, 2024
fae31b1
fix: titlebar widget issue
Lighto-Ku Oct 19, 2024
0c2f257
refactor: rename signal and method for splitter animation
Johnson-zs Oct 21, 2024
3088c6a
feat: refactor crumbbar UI
wyu71 Oct 22, 2024
a202bbe
feat: add sidebar visibility management in FileManagerWindow
Johnson-zs Oct 23, 2024
9f95029
feat: enhance sidebar animation and visibility management in FileMana…
Johnson-zs Oct 23, 2024
cbf6ad4
refactor: improve sidebar visibility management in FileManagerWindow
Johnson-zs Oct 24, 2024
5b6429f
chore: remove unused line
Johnson-zs Oct 24, 2024
a6fedc4
fix: am appid issue
Lighto-Ku Oct 25, 2024
0e6742b
feat: add sort by UI
wyu71 Oct 24, 2024
41c3eef
fix: tab issue
Lighto-Ku Oct 21, 2024
de79e27
feat: refactor addressbar
Lighto-Ku Oct 24, 2024
4a110f0
fix: breadcrumbs exist in hidden folders after hiding
wyu71 Oct 28, 2024
0d64a88
feat: add view options UI
wyu71 Oct 28, 2024
5b9d1b1
fix: sort by button truncated
wyu71 Oct 29, 2024
db46fcc
fix: adjust breadcrumb button UI
wyu71 Oct 29, 2024
62e50ba
fix: breadcrumb button settings activation failed
wyu71 Oct 29, 2024
589e26c
fix: adjust breadcrumb drop-down menu UI
wyu71 Oct 29, 2024
003888b
fix: search editor issue
Lighto-Ku Oct 26, 2024
9c35baa
feat: add view item size range
Lighto-Ku Oct 29, 2024
1491514
feat: view options panel
Lighto-Ku Oct 29, 2024
edaa003
refactor: adjust kMinimumWindowWidth to 500
Johnson-zs Oct 29, 2024
6cfcc63
feat: notify drag enter
Clauszy Oct 29, 2024
e5bdd16
fix: the sort by button has no click effect
wyu71 Oct 29, 2024
8845137
fix: optimize memory management in vault password operations
Johnson-zs Oct 29, 2024
7decc58
feat: Support three height levels for list view mode
Lighto-Ku Oct 29, 2024
ffa8ca1
feat: Add adaptive width mode for view mode buttons
Lighto-Ku Oct 29, 2024
ea66c43
feat: display preview migration to configuration item
wyu71 Oct 30, 2024
98d45c3
refactor: simplify background drawing in ElideTextLayout
Lighto-Ku Oct 30, 2024
7dba9d6
refactor: optimize search box layout and responsiveness
Lighto-Ku Oct 30, 2024
6cdccff
feat: add gradient effect for URL button hover state
wyu71 Oct 30, 2024
e86e5d9
feat: improve folder list widget text display
wyu71 Oct 30, 2024
ca90daf
fix: simplify tooltip display logic in FolderViewDelegate
wyu71 Oct 30, 2024
bc72e6c
chore: update translations for multiple languages
wyu71 Oct 30, 2024
de20709
feat: add drag monitor to desktop
Clauszy Oct 31, 2024
8f15e9f
refactor: integrate TabBarManager functionality into TitleBarWidget
Johnson-zs Oct 31, 2024
5c0f520
fix: improve file view display and window size adjustments
Lighto-Ku Oct 31, 2024
a0cfbe2
fix: optimize mouse event handling in TabBar
Lighto-Ku Oct 31, 2024
5800888
fix: improve icon view layout and horizontal offset calculation
Lighto-Ku Oct 31, 2024
50b8a91
fix: adjust icon view spacing calculation
Lighto-Ku Oct 31, 2024
3d402d3
fix: improve file name display in Tab class
wyu71 Oct 31, 2024
e306eba
fix: improve button visibility handling in OptionButtonBox
wyu71 Oct 31, 2024
e4b021d
fix: optimize crumb bar width calculation and layout
wyu71 Oct 31, 2024
aa3514e
fix: improve URL button appearance and layout
wyu71 Nov 1, 2024
8d7c601
fix: optimize icon view layout and spacing calculation
Lighto-Ku Nov 1, 2024
38bd66d
refactor: optimize DetailSpaceHelper animation and view logic
Johnson-zs Nov 1, 2024
d4bab77
fix: update horizontal offset when row count changes in icon view mode
Lighto-Ku Nov 1, 2024
194c53e
refactor: standardize SearchMode enum naming convention
Lighto-Ku Nov 1, 2024
220cd4a
refactor: simplify window drag handling in TabBar
Johnson-zs Nov 2, 2024
326787d
refactor: improve sidebar visibility handling
Johnson-zs Nov 4, 2024
378abf2
fix: Fixed The dde-file-manager-service service cannot be started aft…
dengzhongyuan365-dev Nov 6, 2024
178a5a9
fix: Use the QList insert method to perform a validation check, and u…
dengzhongyuan365-dev Nov 12, 2024
3f2c4db
fix: Fixed the issue that the search input box crashed
dengzhongyuan365-dev Nov 13, 2024
eb15fd6
fix: optimize FileView layout and visual rect calculation
Lighto-Ku Nov 16, 2024
15a1659
fix: Fixed the issue that deleting a valut and creating a new one fai…
dengzhongyuan365-dev Nov 18, 2024
b0d8cc1
fix: Fixed the issue where desktop files with special characters and …
dengzhongyuan365-dev Nov 18, 2024
6db0340
feat: video thumbnail support qt6
rb-union Nov 19, 2024
7a3bd4f
chore: update file license
rb-union Nov 19, 2024
d1a988e
fix: optimize system path related functions
Lighto-Ku Nov 20, 2024
eba862f
fix: support XDG_DATA_DIRS for custom context menu paths
Lighto-Ku Nov 21, 2024
548831e
chore: remove debug log outputs
Johnson-zs Nov 21, 2024
cf3267f
refactor: centralize DConfig key definitions and usage
Johnson-zs Nov 21, 2024
1f92fdd
refactor: split global animation control into individual switches
Johnson-zs Nov 22, 2024
82472d7
refactor: optimize event filter and remove filepreview plugin
Johnson-zs Nov 22, 2024
f295828
refactor: replace dde-desktop with dde-shell
Johnson-zs Nov 22, 2024
9206c28
fix: add "My Shares" display name for root url in share plugin
Johnson-zs Nov 23, 2024
dfe9ab8
fix: crash caused by static variable destructuring
Johnson-zs Nov 23, 2024
e9ab5d9
fix: optimize search edit widget signal connection
Johnson-zs Nov 24, 2024
0f7b132
fix: Fix the problem of directory creation failure when samba mount.
dengzhongyuan365-dev Nov 27, 2024
4c71709
fix: Fixed the transparent encryption of the vault. Unlocking failed …
dengzhongyuan365-dev Nov 27, 2024
3d6812b
fix: Fixed the issue that sambda cannot be uninstalled in an immutabl…
dengzhongyuan365-dev Nov 28, 2024
c83a83f
fix: improve title bar status management and URL handling
Lighto-Ku Nov 25, 2024
e39c682
fix: optimize file info update logic for local devices
Lighto-Ku Nov 26, 2024
eac8dae
refactor: unify icon size constants and add slider config
Lighto-Ku Nov 27, 2024
487870b
feat: add text index service support
Johnson-zs Nov 26, 2024
3dac21c
refactor: optimize text index service implementation
Johnson-zs Nov 26, 2024
d88a4cb
refactor: improve text index task management and type safety
Johnson-zs Nov 26, 2024
8beb921
refactor: optimize text index traversal and file processing
Johnson-zs Nov 26, 2024
e3a4125
feat: optimize resource management with ScopeGuard
Johnson-zs Nov 28, 2024
6391087
fix: optimize task state management and thread priority
Johnson-zs Nov 28, 2024
7ecad7c
refactor: optimize file indexing process and debug output
Johnson-zs Nov 28, 2024
358d316
fix: optimize text index task state management
Johnson-zs Nov 28, 2024
5e9a86f
feat: add TextIndex DBus interface and service activation
Johnson-zs Nov 29, 2024
ed4b689
refactor: migrate full-text search to DBus service
Johnson-zs Nov 29, 2024
a3a3c78
fix: change TextIndex service to resident mode
Johnson-zs Nov 29, 2024
062bff7
feat: add index status tracking and persistence
Johnson-zs Nov 29, 2024
723046d
chore: update license headers and file paths
Johnson-zs Nov 29, 2024
93d1cc0
chore: update translations
Johnson-zs Nov 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .reuse/dep5
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,12 @@ Copyright: UnionTech Software Technology Co., Ltd.
License: MIT

# fulltext
Files: src/plugins/filemanager/dfmplugin-search/3rdparty/fulltext/*
Files: 3rdparty/fulltext/*
Copyright: 2009-2014 Alan Wright
License: LGPL-3.0-or-later

# fsearch
Files: src/plugins/filemanager/dfmplugin-search/3rdparty/fsearch/*
Files: 3rdparty/fsearch/*
Copyright: 2020 Christian Boxdörfer
License: MIT

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
// add py index,update database version to 1.0
#define DATABASE_MAJOR_VERSION 1
#define DATABASE_MINOR_VERSION 0
#define MAX_DIR_DEPTH 100

#define DATABASE_FILTER_PATH "^((/boot)|(/dev)|(/proc)|(/sys)|(/root)|(/run)).*$"

Expand Down Expand Up @@ -458,15 +459,16 @@ db_location_walk_tree_recursive(DatabaseLocation *location,
BTreeNode *parent,
int spec,
bool *is_stop,
bool has_data_prefix)
bool has_data_prefix,
const int depth)
{
if (*is_stop)
return WALK_OK;

if (!db_support(dname, has_data_prefix))
return WALK_BADPATTERN;

int len = strlen(dname);
size_t len = strlen(dname);
if (len >= FILENAME_MAX - 1) {
//trace ("filename too long: %s\n", dname);
return WALK_NAMETOOLONG;
Expand Down Expand Up @@ -535,7 +537,7 @@ db_location_walk_tree_recursive(DatabaseLocation *location,
is_dir);
btree_node_prepend(parent, node);
location->num_items++;
if (is_dir) {
if (is_dir && depth <= MAX_DIR_DEPTH) {
db_location_walk_tree_recursive(location,
db_config,
excludes,
Expand All @@ -546,7 +548,8 @@ db_location_walk_tree_recursive(DatabaseLocation *location,
node,
spec,
is_stop,
has_data_prefix);
has_data_prefix,
depth + 1);
}
}

Expand Down Expand Up @@ -598,7 +601,8 @@ db_location_build_tree(const char *dname, DatabaseConfig *db_config, bool *is_st
root,
spec,
is_stop,
has_data_prefix);
has_data_prefix,
0);
config_free(config);
g_timer_destroy(timer);
if (res == WALK_OK) {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ bool ChineseTokenizer::incrementToken()
length = 0;
start = offset;

bool last_is_en = false, last_is_num = false;
while (true) {
wchar_t c;
++offset;
Expand All @@ -97,41 +96,13 @@ bool ChineseTokenizer::incrementToken()
c = ioBuffer[bufferIndex++];
}

if (UnicodeUtil::isLower(c) || UnicodeUtil::isUpper(c)) {
if (last_is_num) {
--bufferIndex;
--offset;
return flush();
}

push(c);
if (length == kMaxWordLen) {
return flush();
}
last_is_en = true;
} else if (UnicodeUtil::isDigit(c)) {
if (last_is_en) {
--bufferIndex;
--offset;
return flush();
}

push(c);
if (length == kMaxWordLen) {
return flush();
}
last_is_num = true;
} else if (UnicodeUtil::isOther(c)) {
if (length > 0) {
--bufferIndex;
--offset;
return flush();
}
push(c);
return flush();
} else if (length > 0) {
if (length > 0) {
--bufferIndex;
--offset;
return flush();
}
push(c);
return flush();
}
}

Expand Down
85 changes: 81 additions & 4 deletions assets/configs/org.deepin.dde.file-manager.animation.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,65 @@
"value":true,
"serial":0,
"flags":[],
"name":"View animation enabled",
"name[zh_CN]":"启用视图动效",
"description[zh_CN]":"用于判断是否允许在视图中开启动效",
"description":"Used to determine if the view animation enabled",
"name":"Global animation switch",
"name[zh_CN]":"全局动画开关",
"description[zh_CN]":"用于控制所有动画效果的总开关(暂未实现)",
"description":"Used to control all animation effects globally (not implemented yet)",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.enter.enable": {
"value":false,
"serial":0,
"flags":[],
"name":"Directory enter animation enabled",
"name[zh_CN]":"启用访问文件夹动效",
"description[zh_CN]":"用于控制进入文件夹时的过渡动画效果",
"description":"Used to control the transition animation when entering directories",
"permissions":"readwrite",
"visibility":"private"
},
"dd.animation.resort.enable": {
"value":true,
"serial":0,
"flags":[],
"name":"Desktop sort animation enabled",
"name[zh_CN]":"启用桌面排序动效",
"description[zh_CN]":"用于控制桌面图标排序变化时的过渡动画效果",
"description":"Used to control the transition animation when changing desktop icon sort order",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.detailview.enable": {
"value":true,
"serial":0,
"flags":[],
"name":"Detail view expand animation enabled",
"name[zh_CN]":"启用详情视图展开动效",
"description[zh_CN]":"用于控制详情视图展开和收起时的动画效果",
"description":"Used to control the animation when expanding/collapsing detail view",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.layout.enable": {
"value":true,
"serial":0,
"flags":[],
"name":"Icon view layout animation enabled",
"name[zh_CN]":"启用图标视图重新布局动效",
"description[zh_CN]":"用于控制图标视图重新布局时的动画效果",
"description":"Used to control the animation when relayouting icon view",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.sidebar.enable": {
"value":true,
"serial":0,
"flags":[],
"name":"Sidebar fold animation enabled",
"name[zh_CN]":"启用侧边栏折叠动效",
"description[zh_CN]":"用于控制侧边栏展开和折叠时的动画效果",
"description":"Used to control the animation when expanding/collapsing sidebar",
"permissions":"readwrite",
"visibility":"private"
},
Expand Down Expand Up @@ -101,6 +156,28 @@
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.sidebar.duration": {
"value":366,
"serial":0,
"flags":[],
"name":"Sidebar show animation duration",
"name[zh_CN]":"侧边栏出入动效时长",
"description[zh_CN]":"用于调整侧边栏开关时动效播放时长",
"description":"Used to adjust the sidebar show animation duration",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.animation.sidebar.curve": {
"value":22,
"serial":0,
"flags":[],
"name":"Sidebar show animation curve",
"name[zh_CN]":"侧边栏出入动效动画曲线",
"description[zh_CN]":"用于调整侧边栏出入时动效动画曲线",
"description":"Used to adjust the sidebar show animation curve",
"permissions":"readwrite",
"visibility":"private"
},
"dd.animation.resort.custom.duration": {
"value":366,
"serial":0,
Expand Down
11 changes: 11 additions & 0 deletions assets/configs/org.deepin.dde.file-manager.view.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@
"description":"Used to determine whether to enable Open folder windows in a separate process",
"permissions":"readwrite",
"visibility":"private"
},
"dfm.displaypreview.visible": {
"value":false,
"serial":0,
"flags":[],
"name":"Display preview visible",
"name[zh_CN]":"显示预览",
"description[zh_CN]":"控制显示预览",
"description":"Control display preview",
"permissions":"readwrite",
"visibility":"private"
}
}
}
Expand Down
32 changes: 32 additions & 0 deletions assets/dbus/org.deepin.Filemanager.TextIndex.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.deepin.Filemanager.TextIndex">
<signal name="TaskFinished">
<arg name="type" type="s" direction="out"/>
<arg name="path" type="s" direction="out"/>
<arg name="success" type="b" direction="out"/>
</signal>
<signal name="TaskProgressChanged">
<arg name="type" type="s" direction="out"/>
<arg name="path" type="s" direction="out"/>
<arg name="count" type="x" direction="out"/>
</signal>
<method name="CreateIndexTask">
<arg type="b" direction="out"/>
<arg name="path" type="s" direction="in"/>
</method>
<method name="UpdateIndexTask">
<arg type="b" direction="out"/>
<arg name="path" type="s" direction="in"/>
</method>
<method name="StopCurrentTask">
<arg type="b" direction="out"/>
</method>
<method name="HasRunningTask">
<arg type="b" direction="out"/>
</method>
<method name="IndexDatabaseExists">
<arg type="b" direction="out"/>
</method>
</interface>
</node>
39 changes: 25 additions & 14 deletions assets/scripts/dde-file-manager
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,33 @@
# SPDX-License-Identifier: GPL-3.0-or-later

# qurl::toPercentEncoding的加密规则
# When Chinese special characters are mixed, only the ascall character set is used for encoding.
# When Chinese characters and special characters are mixed, encoding errors occur,
# resulting in the inability to open some directories with special characters.
# Here, utf-8 multi-byte encoding is used.
urlencode() {
local string="${1}"
local strlen=${#string}
local encoded=""
local input="${1}"
local output=""
local char

for (( pos=0 ; pos<strlen ; pos++ )); do
c=${string:$pos:1}
printf -v o '%%%02x' "'$c"
case "$c" in
[-_.~a-zA-Z0-9] ) o=${c} ;;
esac
encoded+="${o}"
done
echo "${encoded}"

while IFS= read -r -n1 char; do
# Convert the character into bytes
if [[ "$char" =~ [a-zA-Z0-9\-\_\.\~] ]]; then
# If the character is unreserved, append as is
output+="$char"
else
# Handle multi-byte characters
local bytes
bytes=$(printf "%s" "$char" | od -An -tx1 | tr -d ' \n')
while [[ "$bytes" != "" ]]; do
output+="%${bytes:0:2}" # Take the first byte
bytes="${bytes:2}" # Remove the first byte
done
fi
done < <(printf "%s" "$input")

echo "$output"
}

args=""
Expand Down Expand Up @@ -65,8 +78,6 @@ for arg in "$@"; do
args+="$arg,"
done
args=${args%,}
echo "dbus args = "$args
echo "origin args = "$argsOrigin

if [[ $isDbus == "false" ]]; then
exec file-manager.sh "$argsOrigin"
Expand Down
7 changes: 7 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
dde-file-manager (6.5.11) unstable; urgency=medium

*fix bugs
*

-- zhangsheng <[email protected]> Sat, 30 Nov 2024 09:15:27 +0800

dde-file-manager (6.5.10) unstable; urgency=medium

[ zhangsheng ]
Expand Down
5 changes: 3 additions & 2 deletions debian/dde-file-manager-services-plugins.install
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
usr/lib/*/deepin-service-manager/*.so
usr/share/deepin-service-manager/system/*.json

usr/share/deepin-service-manager/user/*.json
usr/share/dbus-1/system.d/*.conf
usr/share/dbus-1/system-services/*.service
usr/share/dbus-1/system-services/*.service
etc/systemd/system/[email protected]/*
8 changes: 7 additions & 1 deletion debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,10 @@ override_dh_auto_configure:
-DAPP_VERSION=$(DEB_VERSION_UPSTREAM) -DVERSION=$(DEB_VERSION_UPSTREAM) LIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)

override_dh_auto_build:
dh_auto_build -- -j8
dh_auto_build -- -j8

override_dh_auto_install:
dh_auto_install --destdir=debian/tmp

override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
4 changes: 4 additions & 0 deletions include/dfm-base/dfm_global_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ enum class ViewMode {
kAllViewMode = kIconMode | kListMode | kExtendMode
};

inline constexpr int kIconSizeMax { 512 };
inline constexpr int kIconSizeMin { 24 };
inline constexpr int kIconSizeStep { 8 };

enum class TransparentStatus : uint8_t {
kDefault,
kTransparent,
Expand Down
2 changes: 1 addition & 1 deletion include/dfm-base/dfm_plugin_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ inline constexpr std::initializer_list<const char *> kFileManager {

namespace Edge {
inline constexpr std::initializer_list<const char *> kCommon {
"dfmplugin-emblem", "dfmplugin-filepreview", "dfmplugin-tag",
"dfmplugin-emblem", "dfmplugin-tag",
"dfmplugin-dirshare", "dfmplugin-burn"
};
inline constexpr std::initializer_list<const char *> kFileManager {
Expand Down
1 change: 1 addition & 0 deletions include/dfm-base/settingdialog/settingjsongenerator.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ class SettingJsonGenerator
bool addCheckBoxConfig(const QString &key, const QString &text, bool defaultVal = true);
bool addComboboxConfig(const QString &key, const QString &name, const QStringList &options, int defaultVal = 0);
bool addComboboxConfig(const QString &key, const QString &name, const QVariantMap &options, QVariant defaultVal = QVariant());
bool addSliderConfig(const QString &key, const QString &name, int maxVal, int minVal, int defaultVal = 0);

protected:
SettingJsonGenerator();
Expand Down
Loading
Loading