Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a3e8736
feat(wlx): Add KPart host "Universal Wrapper" plugin
pplupo May 12, 2026
e662512
Use header files from top-level sdk directory
pplupo May 13, 2026
b11e732
Commit compiled binary for kpart
pplupo Jul 1, 2026
0e366bb
Rename kpart binary to kpart_host_qt6.wlx
pplupo Jul 6, 2026
406a658
Fix focus stealing, Kate navigation keys, and Ctrl+Q handling in kpar…
pplupo Jul 7, 2026
a6c07c7
Update compiled kpart_host_qt6.wlx binary
pplupo Jul 7, 2026
4597f28
Merge remote-tracking branch 'upstream/master' into kpart
pplupo Jul 7, 2026
2a8e5ca
Dynamically build detect string based on installed KParts
pplupo Jul 7, 2026
ad9add4
Use preferred suffix to avoid detect string truncation
pplupo Jul 7, 2026
2f315d8
Use flat extension list and include okular generators
pplupo Jul 7, 2026
1f5924b
Fix truncation by chopping preferredSuffix at last dot
pplupo Jul 7, 2026
0c7a936
Revert to full glob patterns with unique set to test truncation again
pplupo Jul 7, 2026
7459f94
Restore preferredSuffix logic
pplupo Jul 7, 2026
a33d722
Implement smart packing with priority list
pplupo Jul 7, 2026
dec9eb4
Add Fortran, Perl, Makefile, and LaTeX extensions to priority list
pplupo Jul 7, 2026
ab295bc
Fix markdownpart loading scrolled to bottom
pplupo Jul 7, 2026
f6390bf
kpart: persist zoom settings, fix mutual exclusion, add Ctrl+Shift+S
pplupo Jul 9, 2026
4c924dc
Migrate office viewing plugin to Qt6 and add OnlyOffice support
pplupo Jul 12, 2026
3e435fb
Fix x2t fallback, LOK invisible characters, and render all slides lazily
pplupo Jul 13, 2026
d13d954
Add conversion logs and auto-populate configuration defaults
pplupo Jul 13, 2026
70cf71b
Fix x2t headless font paths and working directory
pplupo Jul 13, 2026
f33f27f
Fix LOKit shutdown hang and handle x2t non-fatal exit codes
pplupo Jul 13, 2026
ae74572
Fix x2t engine path resolution and LOKit atexit crash
pplupo Jul 13, 2026
b86f060
Add EngineForLegacyMS configuration option
pplupo Jul 13, 2026
a423a72
Fix officeview focus handling, per-sheet pagination, and config layout
pplupo Jul 14, 2026
9592fad
Replace QPdfView with MuPDF for real click-drag text selection
pplupo Jul 14, 2026
beca5a7
Add README documenting engine detection, config, and known limitations
pplupo Jul 14, 2026
ab9f0a3
Merge branch 'doublecmd:master' into officeview
pplupo Jul 14, 2026
e7b4072
Add Google Drive support to officeview via rclone stub export
pplupo Jul 14, 2026
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
8 changes: 8 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ install -m 644 wdx/mediainfo/luajit/*.lua release/wdx/mediainfo/
install -m 644 wdx/translitwdx/translitwdx.lua release/wdx/translitwdx/
install -m 644 wdx/translitwdx/readme.txt release/wdx/translitwdx/

# kpart
mkdir -p release/wlx/kpart
mkdir -p wlx/kpart/build
(cd wlx/kpart/build && cmake .. && make)
install -m 644 wlx/kpart/build/kpart_host_qt6.wlx release/wlx/kpart/
install -m 644 wlx/kpart/*.md release/wlx/kpart/
install -m 644 wlx/kpart/*.png release/wlx/kpart/

# logview
mkdir -p release/wlx/logview
mkdir -p wlx/logview/build
Expand Down
1 change: 1 addition & 0 deletions sdk/wlxplugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#define lc_newparams 2
#define lc_selectall 3
#define lc_setpercent 4
#define lc_focus 5

#define lcp_wraptext 1
#define lcp_fittowindow 2
Expand Down
Binary file modified wfx/rclone/src/rclone.res
Binary file not shown.
45 changes: 45 additions & 0 deletions wlx/kpart/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
cmake_minimum_required(VERSION 3.16)
project(kpart_host_qt6 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)

# Double Commander plugin settings
set(CMAKE_SHARED_LIBRARY_PREFIX "")
if(UNIX)
set(CMAKE_SHARED_LIBRARY_SUFFIX ".wlx")
endif()

find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
find_package(KF6Parts REQUIRED)
find_package(KF6KIO REQUIRED)
find_package(KF6CoreAddons REQUIRED)
find_package(KF6XmlGui REQUIRED)

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/../../sdk
)

add_library(kpart_host_qt6 SHARED
src/main.cpp
src/kpartwidget.cpp
)

target_link_libraries(kpart_host_qt6
PRIVATE
Qt6::Core
Qt6::Gui
Qt6::Widgets
KF6::Parts
KF6::KIOFileWidgets
KF6::CoreAddons
KF6::XmlGui
)

# Use ECM for standard installation paths and KDE integration
find_package(ECM 5.80.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
26 changes: 26 additions & 0 deletions wlx/kpart/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# KPart Host Double Commander Plugin

A "Universal KDE Wrapper" WLX (Lister) plugin for Double Commander. This plugin acts as a host for KDE KParts, allowing Double Commander to view any file type supported by a KDE application (like Okular for PDFs or LibreOffice for documents) directly in the Quick View panel.

![Markdown Screenshot](kpart_md.png)
![SVG Screenshot](kpart_svg.png)

## Features
- Dynamic MIME-type detection using `QMimeDatabase`.
- Automatic loading of the best available KDE KPart for the file type.
- Native Wayland/Qt6 embedding via in-process KPart hosting.

## Dependencies
- **Qt6**: Core, Gui, Widgets
- **KDE Frameworks 6 (KF6)**: Parts, KIO, CoreAddons
- **CMake**: `cmake` and `extra-cmake-modules`

## Compilation
```bash
mkdir build
cd build
cmake ..
make
```

The build will produce `kpart_host.wlx`.
Binary file added wlx/kpart/build/kpart_host_qt6.wlx
Binary file not shown.
Binary file added wlx/kpart/kpart_md.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wlx/kpart/kpart_svg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading