Commit graph

65 commits

Author SHA1 Message Date
Ivailo Monev
28a35e73d4 kdirshare: send the stylesheet as part of the content
not really happy about doing it that way but chromium does not apply it
sometimes otherwise

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-05 02:35:09 +03:00
Ivailo Monev
ceff785f22 generic: adjust to KMimeType changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-04 20:18:24 +03:00
Ivailo Monev
1b116dbc2e kdirshare: do not percentage-encode the file links
if only there was a way to tell browsers:
Hey, browser! Don't decode the URL - you don't know where it points to!

for reference:
https://ibb.co/cyhwppK

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-09-01 19:07:10 +03:00
Ivailo Monev
6457f6e76a generic: adjust to kded changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-31 23:49:30 +03:00
Ivailo Monev
f47177f876 generic: adjust to KNotification changes
some notification files, such as the style KCM one, were not even used

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-25 08:07:58 +03:00
Ivailo Monev
b099184aff kdirshare: disable user and password labels when authentication is disabled
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-20 16:41:06 +03:00
Ivailo Monev
f361cf22c2 kdirshare: implement footer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-19 20:57:04 +03:00
Ivailo Monev
a7e87f548b kdirshare: setup title and stylesheet for the errors
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-08-14 17:53:53 +03:00
Ivailo Monev
e3e4414908 kdirshare: fix regression since b5c52b451f
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 21:31:03 +03:00
Ivailo Monev
b5c52b451f kdirshare: rename internal icons path
for consistency

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 06:51:12 +03:00
Ivailo Monev
e1db4a1c72 kdirshare: fix ".." regression
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 05:29:53 +03:00
Ivailo Monev
d64cfc2804 kdirshare: correct content indentation
purely cosmetic (e.g. for when viewing the page source)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 23:55:07 +03:00
Ivailo Monev
94cd784bf8 kdirshare: implement global search
note: the search string is matched as wildcard regular exression

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 23:27:23 +03:00
Ivailo Monev
036d4e1fc4 kdirshare: use custom stylesheet matching the host palette
matching the icon and desktop theme (if setup correctly):
https://ibb.co/d789K1F

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 21:55:12 +03:00
Ivailo Monev
eab4d278fb generic: include now required headers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-29 21:18:20 +03:00
Ivailo Monev
cdb188800e kdirshare: percentage-encode the path reference
fixes loading of files that are percentage encoded and have to be
double-percentage encoded for browsers to cope with

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-25 03:47:51 +03:00
Ivailo Monev
8559352bde kdirshare: hide the server label when directory is not shared
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-20 21:31:11 +03:00
Ivailo Monev
1618f83ab3 kdirshare: implement getter for the server address and show it on label
requires b3ed6f356afe76d289a7b89d3c95b4dcfb895cbb from kdelibs

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-20 21:03:23 +03:00
Ivailo Monev
ce48bc0997 generic: preperations for kdelibs changes
automatically replaced via:
find -name CMakeLists.txt -exec sed -e 's|${KDE4_PLASMA_LIBS}|KDE4::plasma|g' -e 's|${KDE4_KIO_LIBS}|KDE4::kio|g' -e 's|${KDE4_SOLID_LIBS}|KDE4::solid|g' -e 's|${KDE4_KFILE_LIBS}|KDE4::kfile|g' -e 's|${KDE4_KDECORE_LIBS}|KDE4::kdecore|g' -e 's|${KDE4_KDEUI_LIBS}|KDE4::kdeui|g' -e 's|${KDE4_KCMUTILS_LIBS}|KDE4::kcmutils|g' -e 's|${KDE4_KDECLARATIVE_LIBS}|KDE4::kdeclarative|g' -e 's|${KDE4_KPTY_LIBS}|KDE4::kpty|g' -e 's|${KDE4_KEMAIL_LIBS}|KDE4::kemail|g' -e 's|${KDE4_KMEDIAPLAYER_LIBS}|KDE4::kmediaplayer|g' -e 's|${KDE4_KPARTS_LIBS}|KDE4::kparts|g' -e 's|${KDE4_KIDLETIME_LIBS}|KDE4::kidletime|g' -e 's|${KDE4_KTEXTEDITOR_LIBS}|KDE4::ktexteditor|g' -e 's|${KDE4_KPASSWDSTORE_LIBS}|KDE4::kpasswdstore|g' -e 's|${KDE4_KARCHIVE_LIBS}|KDE4::karchive|g' -e 's|${KDE4_KDNSSD_LIBS}|KDE4::kdnssd|g' -e 's|${KDE4_KNOTIFYCONFIG_LIBS}|KDE4::knotifyconfig|g' -e 's|${KDE4_KEXIV2_LIBS}|KDE4::kexiv2|g' -i {} +

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-17 23:27:11 +03:00
Ivailo Monev
5482268e40 kdirshare: implement favicon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-27 17:37:15 +02:00
Ivailo Monev
9cd4a781ff kdirshare: thread the server again
the initial testing was done with a small buffer (QT_BUFFSIZE) which
did not block long while reading file chunks but to reach the disk I/O
limit a larger buffer may be used by KHTTP in the future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-26 17:57:11 +02:00
Ivailo Monev
417d9065fb kdirshare: include only the MIME type in Content-Type for files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 20:08:04 +02:00
Ivailo Monev
c61891926c kdirshare: use the new KHTTP::setServerID() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:35:07 +02:00
Ivailo Monev
0e81d497dd kdirshare: adjust to KHTTP changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 18:15:21 +02:00
Ivailo Monev
4d1aff9ff9 kdirshare: adjust to KHTTP changes
KHTTP no longer has to be threaded to not block the current thread

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-25 05:03:18 +02:00
Ivailo Monev
6e8b03eeb9 kdirshare: do not open the file when sending response
KHTTP should send error response if opening the file fails

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-24 15:08:08 +02:00
Ivailo Monev
e291a23a3b generic: log kdirshare and kscreensaver messages to specialized debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-01 18:35:21 +02:00
Ivailo Monev
1de418911e kdirshare: write share entry into the kdirsharerc config from KDirShareModule::share()
should the worst happen and kded4 crash the share settings will be saved
regardless (unless it crashes because of KDirShareModule::share())

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 21:05:34 +02:00
Ivailo Monev
77453ce6e9 kdirshare: use KRandom::randomMax() for less round-trips
feels like a new KRandom::randomRange() method is needed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 19:11:03 +02:00
Ivailo Monev
a408a397a5 kdirshare: update comment related to kpasswdstore service
kpasswdstore service is now loaded in phase 1 and kdirshare in phase 2 (the
default)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-25 19:06:29 +02:00
Ivailo Monev
936c69c827 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-14 16:19:24 +03:00
Ivailo Monev
e47545edf0 kdirshare: HTML output correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-25 11:44:56 +03:00
Ivailo Monev
aa96333e7c kdirshare: clamp the title aswell
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-16 23:33:16 +03:00
Ivailo Monev
016d6d047b kdirshare: the Avahi limit for service names is 64
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-16 05:36:10 +03:00
Ivailo Monev
a42d981176 kdirshare: manually emit KDirNotify signals when directory is shared/unshared
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-14 05:41:18 +03:00
Ivailo Monev
01fed852cf kdirshare: authentication tooltip
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 06:17:28 +03:00
Ivailo Monev
81f6b83424 kdirshare: remove now unused implementation class members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 03:57:51 +03:00
Ivailo Monev
08d0f44446 kdirshare: stretch the user and password input widgets in properties plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-13 01:45:39 +03:00
Ivailo Monev
cd18fa33c6 kdirshare: do not attempt to get password if user is not specified for the share
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-12 05:02:24 +03:00
Ivailo Monev
9661a1dc6a generic: not so generic KDED modules descriptions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-12 01:27:01 +03:00
Ivailo Monev
524d78cff6 kdirshare: abort applying changes when user or password is empty
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 23:55:41 +03:00
Ivailo Monev
fb954a6a50 kdirshare: do not set password widget text if user is empty in properties plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 23:45:02 +03:00
Ivailo Monev
0b0a9bdfe8 kdirshare: implement authentication
requires:
a48d4cbb28

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 23:08:24 +03:00
Ivailo Monev
19ed9f7462 kdirshare: move code for determening port number to server thread class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 20:16:45 +03:00
Ivailo Monev
910a7588f9 kdirshare: run each directory share server in its own thread
that way kded4 process will not be affected by server poll

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 16:00:55 +03:00
Ivailo Monev
28a359bc0f kdirshare: minor review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 14:47:12 +03:00
Ivailo Monev
0a2d1f2193 kdirshare: convert QString objects to UTF-8 when appending them to the content data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 14:40:21 +03:00
Ivailo Monev
edce5c20b3 kdirshare: output formatted HTML and title
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 05:46:21 +03:00
Ivailo Monev
6ce6615bd6 kdirshare: fix pointer derefence on serve or publish error
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 03:17:02 +00:00
Ivailo Monev
85e1e8a8ea kdirshare: fix possible crash in case of null KMimeType pointer
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-05-11 04:03:49 +03:00