├── plugins ├── iso │ ├── kio_isorc │ ├── libisofs │ │ ├── CMakeLists.txt │ │ ├── README │ │ └── ChangeLog │ ├── qfilehack.h │ ├── CMakeLists.txt │ ├── qfilehack.cpp │ ├── iso.json │ ├── kisodirectory.cpp │ ├── kisodirectory.h │ ├── iso.h │ ├── kisofile.h │ └── kisofile.cpp └── krarc │ ├── CMakeLists.txt │ ├── krlinecountingprocess.h │ ├── krarc.json │ ├── krlinecountingprocess.cpp │ └── krarcbasemanager.h ├── .krazy ├── logo.png ├── app ├── splash.png ├── icons │ ├── icon-missing.svgz │ ├── 16-apps-krusader_blue.png │ ├── 16-apps-krusader_red.png │ ├── 16-apps-krusader_root.png │ ├── 16-apps-krusader_user.png │ ├── 22-apps-krusader_blue.png │ ├── 22-apps-krusader_red.png │ ├── 22-apps-krusader_root.png │ ├── 22-apps-krusader_user.png │ ├── 32-apps-krusader_blue.png │ ├── 32-apps-krusader_red.png │ ├── 32-apps-krusader_root.png │ ├── 32-apps-krusader_user.png │ ├── 48-apps-krusader_blue.png │ ├── 48-apps-krusader_red.png │ ├── 48-apps-krusader_root.png │ ├── 48-apps-krusader_user.png │ ├── 64-apps-krusader_blue.png │ ├── 64-apps-krusader_red.png │ ├── 64-apps-krusader_root.png │ ├── 64-apps-krusader_user.png │ ├── 128-apps-krusader_root.png │ ├── 128-apps-krusader_user.png │ ├── 22-apps-krusader_shield.png │ ├── 32-apps-krusader_shield.png │ ├── 48-apps-krusader_shield.png │ ├── 64-apps-krusader_shield.png │ ├── 16-app-krusader_user.xpm │ └── 16-app-krusader_root.xpm ├── resources │ ├── 16-actions-kr_combine.png │ ├── 16-actions-kr_mountman.png │ ├── 16-actions-kr_unselect.png │ ├── 22-actions-kr_combine.png │ ├── 22-actions-kr_mountman.png │ ├── 22-actions-kr_unselect.png │ ├── 32-actions-kr_combine.png │ ├── 32-actions-kr_mountman.png │ ├── 32-actions-kr_unselect.png │ ├── 16-actions-kr_diskusage.png │ ├── 22-actions-kr_diskusage.png │ ├── 32-actions-kr_diskusage.png │ ├── 16-actions-kr_comparedirs.png │ ├── 16-actions-kr_syncbrowse_on.png │ ├── 22-actions-kr_comparedirs.png │ ├── 32-actions-kr_comparedirs.png │ ├── 16-actions-kr_syncbrowse_off.png │ └── CMakeLists.txt ├── DiskUsage │ ├── filelightParts │ │ ├── CMakeLists.txt │ │ ├── Config.h │ │ └── Config.cpp │ ├── radialMap │ │ ├── CMakeLists.txt │ │ ├── segmentTip.h │ │ └── builder.h │ ├── CMakeLists.txt │ ├── dufilelight.h │ ├── dulines.h │ └── diskusagegui.h ├── krviewer.rc ├── resources.qrc ├── JobMan │ └── CMakeLists.txt ├── Search │ ├── CMakeLists.txt │ └── krsearchmod.h ├── Splitter │ ├── CMakeLists.txt │ ├── crc32.h │ ├── crc32.cpp │ └── splittergui.h ├── MountMan │ └── CMakeLists.txt ├── FileSystem │ ├── dirlisterinterface.cpp │ ├── CMakeLists.txt │ └── krtrashhandler.h ├── krusaderversion.h.cmake ├── Filter │ ├── CMakeLists.txt │ ├── filterbase.h │ ├── filterdialog.h │ └── filtertabs.h ├── total_commander.keymap.info ├── Locate │ └── CMakeLists.txt ├── Archive │ ├── CMakeLists.txt │ └── kr7zencryptionchecker.h ├── BookMan │ ├── CMakeLists.txt │ ├── krbookmarkbutton.h │ ├── krbookmarkbutton.cpp │ └── kraddbookmarkdlg.h ├── Konfigurator │ ├── kgadvanced.h │ ├── kguseractions.h │ ├── kgarchives.h │ ├── kgstartup.h │ ├── CMakeLists.txt │ ├── kggeneral.h │ ├── kgdependencies.h │ ├── krresulttabledialog.h │ ├── kgpanel.h │ ├── kgprotocols.h │ └── konfigurator.h ├── Synchronizer │ ├── CMakeLists.txt │ ├── feedtolistboxdialog.h │ ├── synchronizerdirlist.h │ └── synchronizedialog.h ├── UserAction │ ├── useractionpopupmenu.h │ ├── CMakeLists.txt │ └── useractionpopupmenu.cpp ├── krusaderlisterui.rc ├── GUI │ ├── krlistwidget.h │ ├── krusaderstatus.cpp │ ├── krusaderstatus.h │ ├── krstyleproxy.h │ ├── CMakeLists.txt │ ├── krlistwidget.cpp │ ├── krhistorycombobox.h │ ├── kfnkeys.h │ ├── kcmdmodebutton.h │ ├── krtreewidget.h │ ├── dirhistorybutton.h │ ├── krremoteencodingmenu.h │ └── recentlyclosedtabsmenu.h ├── ActionMan │ ├── CMakeLists.txt │ └── actionman.h ├── KViewer │ ├── CMakeLists.txt │ ├── diskusageviewer.h │ ├── viewertabbar.h │ └── viewertabbar.cpp ├── Panel │ ├── krpanel.cpp │ ├── PanelView │ │ ├── CMakeLists.txt │ │ ├── krviewproperties.cpp │ │ └── krviewitemdelegate.h │ ├── krerrordisplay.h │ ├── CMakeLists.txt │ ├── krpreviewpopup.h │ ├── listpanelframe.h │ ├── krpanel.h │ ├── krpreviewjob.h │ ├── krerrordisplay.cpp │ ├── krcalcspacedialog.h │ ├── krpreviews.h │ ├── viewactions.h │ ├── dirhistoryqueue.h │ ├── krlayoutfactory.h │ └── panelcontextmenu.h ├── filelisticon.cpp ├── filelisticon.h ├── Dialogs │ ├── CMakeLists.txt │ ├── packgui.h │ ├── percentalsplitter.h │ ├── krmaskchoice.h │ ├── newftpgui.h │ ├── krpleasewait.h │ ├── kurllistrequester.h │ └── krsqueezedtextlabel.h ├── abstractpanelmanager.h ├── krglobal.cpp ├── icon.h ├── tabactions.h ├── krmainwindow.h ├── total_commander.color └── midnight_commander.color ├── .git-blame-ignore-revs ├── doc └── handbook │ ├── cmdline.png │ ├── copyjob.png │ ├── fnkeys.png │ ├── mountman.png │ ├── syncdir.png │ ├── toolbar.png │ ├── actionman.png │ ├── bookmanadd.png │ ├── kgstartup.png │ ├── krusader1.png │ ├── listpanel.png │ ├── mainwindow.png │ ├── bookmanedit.png │ ├── terminalEmu.png │ ├── search_advanced.png │ ├── search_general.png │ ├── tabbed_browsing.png │ ├── Icon-edit-delete.png │ ├── CMakeLists.txt │ ├── krusader-tools.docbook │ ├── mouse-commands.docbook │ └── checksum.docbook ├── krusader.kdev4 ├── po ├── ca │ └── docs │ │ └── krusader │ │ ├── fnkeys.png │ │ ├── mountman.png │ │ ├── actionman.png │ │ ├── kgstartup.png │ │ ├── listpanel.png │ │ ├── search_advanced.png │ │ ├── search_general.png │ │ ├── tabbed_browsing.png │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── advanced-functions.docbook ├── uk │ └── docs │ │ └── krusader │ │ ├── fnkeys.png │ │ ├── mountman.png │ │ ├── syncdir.png │ │ ├── actionman.png │ │ ├── bookmanadd.png │ │ ├── bookmanedit.png │ │ ├── kgstartup.png │ │ ├── krusader1.png │ │ ├── listpanel.png │ │ ├── mainwindow.png │ │ ├── search_advanced.png │ │ ├── search_general.png │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── advanced-functions.docbook ├── sv │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ ├── advanced-functions.docbook │ │ └── checksum.docbook ├── de │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ ├── advanced-functions.docbook │ │ └── checksum.docbook ├── fr │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── checksum.docbook ├── it │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── advanced-functions.docbook ├── cs │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── occupied-space.docbook ├── es │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ └── advanced-functions.docbook ├── nl │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── advanced-functions.docbook ├── pt_BR │ └── docs │ │ └── krusader │ │ ├── krusader-tools.docbook │ │ ├── mouse-commands.docbook │ │ └── advanced-functions.docbook └── pt │ └── docs │ └── krusader │ └── krusader-tools.docbook ├── .gitignore ├── AUTHORS ├── .gitlab-ci.yml ├── Mainpage.dox ├── .reuse └── dep5 ├── TODO ├── README.md ├── tools ├── Messages.sh └── restore-l10n-files.sh └── .kde-ci.yml /plugins/iso/kio_isorc: -------------------------------------------------------------------------------- 1 | showhidden=false 2 | showrr=true 3 | -------------------------------------------------------------------------------- /.krazy: -------------------------------------------------------------------------------- 1 | EXCLUDE copyright 2 | SKIP krusaderversion\.h\.cmake 3 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/logo.png -------------------------------------------------------------------------------- /app/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/splash.png -------------------------------------------------------------------------------- /plugins/iso/libisofs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(libisofs_SRCS 2 | libisofs/isofs.c) 3 | -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # clang-format 2 | ab6fd00c4c5b2996ac6ad4f5c521a181a371137a 3 | -------------------------------------------------------------------------------- /doc/handbook/cmdline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/cmdline.png -------------------------------------------------------------------------------- /doc/handbook/copyjob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/copyjob.png -------------------------------------------------------------------------------- /doc/handbook/fnkeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/fnkeys.png -------------------------------------------------------------------------------- /doc/handbook/mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/mountman.png -------------------------------------------------------------------------------- /doc/handbook/syncdir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/syncdir.png -------------------------------------------------------------------------------- /doc/handbook/toolbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/toolbar.png -------------------------------------------------------------------------------- /app/icons/icon-missing.svgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/icon-missing.svgz -------------------------------------------------------------------------------- /doc/handbook/actionman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/actionman.png -------------------------------------------------------------------------------- /doc/handbook/bookmanadd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/bookmanadd.png -------------------------------------------------------------------------------- /doc/handbook/kgstartup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/kgstartup.png -------------------------------------------------------------------------------- /doc/handbook/krusader1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/krusader1.png -------------------------------------------------------------------------------- /doc/handbook/listpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/listpanel.png -------------------------------------------------------------------------------- /doc/handbook/mainwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/mainwindow.png -------------------------------------------------------------------------------- /plugins/iso/libisofs/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/plugins/iso/libisofs/README -------------------------------------------------------------------------------- /doc/handbook/bookmanedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/bookmanedit.png -------------------------------------------------------------------------------- /doc/handbook/terminalEmu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/terminalEmu.png -------------------------------------------------------------------------------- /krusader.kdev4: -------------------------------------------------------------------------------- 1 | [Project] 2 | CreatedFrom=CMakeLists.txt 3 | Manager=KDevCMakeManager 4 | Name=Krusader 5 | -------------------------------------------------------------------------------- /po/ca/docs/krusader/fnkeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/fnkeys.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/fnkeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/fnkeys.png -------------------------------------------------------------------------------- /doc/handbook/search_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/search_advanced.png -------------------------------------------------------------------------------- /doc/handbook/search_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/search_general.png -------------------------------------------------------------------------------- /doc/handbook/tabbed_browsing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/tabbed_browsing.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/mountman.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/mountman.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/syncdir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/syncdir.png -------------------------------------------------------------------------------- /app/icons/16-apps-krusader_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/16-apps-krusader_blue.png -------------------------------------------------------------------------------- /app/icons/16-apps-krusader_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/16-apps-krusader_red.png -------------------------------------------------------------------------------- /app/icons/16-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/16-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/16-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/16-apps-krusader_user.png -------------------------------------------------------------------------------- /app/icons/22-apps-krusader_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/22-apps-krusader_blue.png -------------------------------------------------------------------------------- /app/icons/22-apps-krusader_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/22-apps-krusader_red.png -------------------------------------------------------------------------------- /app/icons/22-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/22-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/22-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/22-apps-krusader_user.png -------------------------------------------------------------------------------- /app/icons/32-apps-krusader_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/32-apps-krusader_blue.png -------------------------------------------------------------------------------- /app/icons/32-apps-krusader_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/32-apps-krusader_red.png -------------------------------------------------------------------------------- /app/icons/32-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/32-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/32-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/32-apps-krusader_user.png -------------------------------------------------------------------------------- /app/icons/48-apps-krusader_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/48-apps-krusader_blue.png -------------------------------------------------------------------------------- /app/icons/48-apps-krusader_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/48-apps-krusader_red.png -------------------------------------------------------------------------------- /app/icons/48-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/48-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/48-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/48-apps-krusader_user.png -------------------------------------------------------------------------------- /app/icons/64-apps-krusader_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/64-apps-krusader_blue.png -------------------------------------------------------------------------------- /app/icons/64-apps-krusader_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/64-apps-krusader_red.png -------------------------------------------------------------------------------- /app/icons/64-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/64-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/64-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/64-apps-krusader_user.png -------------------------------------------------------------------------------- /doc/handbook/Icon-edit-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/doc/handbook/Icon-edit-delete.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/actionman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/actionman.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/kgstartup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/kgstartup.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/listpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/listpanel.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/actionman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/actionman.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/bookmanadd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/bookmanadd.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/bookmanedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/bookmanedit.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/kgstartup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/kgstartup.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/krusader1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/krusader1.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/listpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/listpanel.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/mainwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/mainwindow.png -------------------------------------------------------------------------------- /app/icons/128-apps-krusader_root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/128-apps-krusader_root.png -------------------------------------------------------------------------------- /app/icons/128-apps-krusader_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/128-apps-krusader_user.png -------------------------------------------------------------------------------- /app/icons/22-apps-krusader_shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/22-apps-krusader_shield.png -------------------------------------------------------------------------------- /app/icons/32-apps-krusader_shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/32-apps-krusader_shield.png -------------------------------------------------------------------------------- /app/icons/48-apps-krusader_shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/48-apps-krusader_shield.png -------------------------------------------------------------------------------- /app/icons/64-apps-krusader_shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/icons/64-apps-krusader_shield.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_combine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_combine.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_mountman.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_unselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_unselect.png -------------------------------------------------------------------------------- /app/resources/22-actions-kr_combine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/22-actions-kr_combine.png -------------------------------------------------------------------------------- /app/resources/22-actions-kr_mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/22-actions-kr_mountman.png -------------------------------------------------------------------------------- /app/resources/22-actions-kr_unselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/22-actions-kr_unselect.png -------------------------------------------------------------------------------- /app/resources/32-actions-kr_combine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/32-actions-kr_combine.png -------------------------------------------------------------------------------- /app/resources/32-actions-kr_mountman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/32-actions-kr_mountman.png -------------------------------------------------------------------------------- /app/resources/32-actions-kr_unselect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/32-actions-kr_unselect.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/search_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/search_advanced.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/search_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/search_general.png -------------------------------------------------------------------------------- /po/ca/docs/krusader/tabbed_browsing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/ca/docs/krusader/tabbed_browsing.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/search_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/search_advanced.png -------------------------------------------------------------------------------- /po/uk/docs/krusader/search_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/po/uk/docs/krusader/search_general.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_diskusage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_diskusage.png -------------------------------------------------------------------------------- /app/resources/22-actions-kr_diskusage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/22-actions-kr_diskusage.png -------------------------------------------------------------------------------- /app/resources/32-actions-kr_diskusage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/32-actions-kr_diskusage.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_comparedirs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_comparedirs.png -------------------------------------------------------------------------------- /app/resources/16-actions-kr_syncbrowse_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_syncbrowse_on.png -------------------------------------------------------------------------------- /app/resources/22-actions-kr_comparedirs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/22-actions-kr_comparedirs.png -------------------------------------------------------------------------------- /app/resources/32-actions-kr_comparedirs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/32-actions-kr_comparedirs.png -------------------------------------------------------------------------------- /app/DiskUsage/filelightParts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(filelightParts_SRCS 2 | filelightParts/Config.cpp 3 | filelightParts/fileTree.cpp) 4 | -------------------------------------------------------------------------------- /app/krviewer.rc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/resources/16-actions-kr_syncbrowse_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/krusader/HEAD/app/resources/16-actions-kr_syncbrowse_off.png -------------------------------------------------------------------------------- /app/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | layout.xml 4 | icons/icon-missing.svgz 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # IDE files 2 | /CMakeLists.txt.user 3 | /.clang-format 4 | /.kdev4/ 5 | # default build location in KDevelop 6 | /build*/ 7 | 8 | # compiled docs 9 | /doc/*.html 10 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Shie Erlich [erlich {*} users {.} sourceforge {.} net] 2 | Rafi Yanai [yanai {*} users {.} sourceforge {.} net] 3 | Krusader Krew (for the list of members please see README file) 4 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | include: 2 | - project: sysadmin/ci-utilities 3 | file: 4 | - /gitlab-templates/linux-qt6.yml 5 | - /gitlab-templates/freebsd-qt6.yml 6 | - /gitlab-templates/documentation.yml 7 | -------------------------------------------------------------------------------- /doc/handbook/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR krusader) 2 | kdoctools_create_manpage(man-krusader.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) 3 | -------------------------------------------------------------------------------- /app/DiskUsage/radialMap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(radialMap_SRCS 2 | radialMap/widget.cpp 3 | radialMap/builder.cpp 4 | radialMap/map.cpp 5 | radialMap/widgetEvents.cpp 6 | radialMap/labels.cpp 7 | radialMap/segmentTip.cpp) 8 | -------------------------------------------------------------------------------- /Mainpage.dox: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | @mainpage Krusader 4 | 5 | Here you can browse the Doxygen documentation for the [Krusader](https://krusader.org "Krusader homepage") source code. 6 | 7 | @licenses @gpl 8 | 9 | */ 10 | 11 | // What is this? 12 | // DOXYGEN_SET_PROJECT_NAME = Krusader 13 | -------------------------------------------------------------------------------- /app/JobMan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(JobMan_SRCS 2 | jobman.cpp 3 | krjob.cpp) 4 | 5 | add_library(JobMan STATIC ${JobMan_SRCS}) 6 | 7 | target_link_libraries(JobMan 8 | KF6::ConfigCore 9 | KF6::CoreAddons 10 | KF6::I18n 11 | KF6::KIOWidgets 12 | KF6::WidgetsAddons 13 | ) 14 | -------------------------------------------------------------------------------- /app/Search/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Search_SRCS 2 | krsearchmod.cpp 3 | krsearchdialog.cpp) 4 | 5 | add_library(Search STATIC ${Search_SRCS}) 6 | 7 | target_link_libraries(Search 8 | Dialogs 9 | KF6::I18n 10 | KF6::KIOCore 11 | KF6::WidgetsAddons 12 | Qt6::Core5Compat 13 | ) 14 | -------------------------------------------------------------------------------- /plugins/iso/libisofs/ChangeLog: -------------------------------------------------------------------------------- 1 | 0.1 -> 0.2 2 | 3 | - Critical directory parsing bug fixed 4 | - Call backs only if some sanity checks on the directory entry succeeds 5 | (length checks to avoid buffer overrun if received corrupt data) 6 | - Preliminary El Torito boot specification support (No multiple boot entries yet) 7 | -------------------------------------------------------------------------------- /.reuse/dep5: -------------------------------------------------------------------------------- 1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: Krusader 3 | Upstream-Contact: Krusader Krew 4 | Source: https://invent.kde.org/utilities/krusader 5 | 6 | Files: doc/* 7 | Copyright: Krusader Krew 8 | License: GFDL-1.1-or-later 9 | -------------------------------------------------------------------------------- /app/Splitter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Splitter_SRCS 2 | crc32.cpp 3 | splittergui.cpp 4 | splitter.cpp 5 | combiner.cpp) 6 | 7 | add_library(Splitter STATIC ${Splitter_SRCS}) 8 | 9 | target_link_libraries(Splitter 10 | KF6::ConfigCore 11 | KF6::I18n 12 | KF6::KIOWidgets 13 | KF6::WidgetsAddons 14 | ) 15 | -------------------------------------------------------------------------------- /app/MountMan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(MountMan_SRCS 2 | kmountmangui.cpp 3 | kmountman.cpp) 4 | 5 | add_library(MountMan STATIC ${MountMan_SRCS}) 6 | 7 | target_link_libraries(MountMan 8 | Dialogs 9 | KF6::ConfigCore 10 | KF6::CoreAddons 11 | KF6::I18n 12 | KF6::KIOCore 13 | KF6::WidgetsAddons 14 | KF6::Solid 15 | ) 16 | -------------------------------------------------------------------------------- /app/FileSystem/dirlisterinterface.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | // dummy file to force generation of metaobject code 9 | 10 | #include "dirlisterinterface.h" 11 | -------------------------------------------------------------------------------- /app/krusaderversion.h.cmake: -------------------------------------------------------------------------------- 1 | // 2 | // Description: CMake template for header file with version description 3 | // 4 | 5 | #ifndef KRUSADERVERSION_H 6 | #define KRUSADERVERSION_H 7 | 8 | #cmakedefine VERSION "@VERSION@" 9 | 10 | #cmakedefine RELEASE_NAME "@RELEASE_NAME@" 11 | 12 | #cmakedefine GIT_REVISION "@GIT_REVISION@" 13 | 14 | #endif // KRUSADERVERSION_H 15 | 16 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | BUGS 2 | ==== 3 | 4 | The online BUG list of Krusader can be found on: 5 | https://bugs.kde.org/buglist.cgi?product=krusader 6 | 7 | When you like to report a bug, please read first the next URL for further instructions: 8 | https://krusader.org/report-bugs/index.html 9 | 10 | 11 | TODO 12 | ==== 13 | 14 | ToDo tasks are tracked as issues on https://invent.kde.org/utilities/krusader/-/issues 15 | -------------------------------------------------------------------------------- /app/Filter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Filter_SRCS 2 | filtersettings.cpp 3 | advancedfilter.cpp 4 | generalfilter.cpp 5 | filtertabs.cpp 6 | filterdialog.cpp) 7 | 8 | add_library(Filter STATIC ${Filter_SRCS}) 9 | 10 | target_link_libraries(Filter 11 | Dialogs 12 | KF6::Codecs 13 | KF6::ConfigCore 14 | KF6::I18n 15 | KF6::IconThemes 16 | KF6::WidgetsAddons 17 | ) 18 | -------------------------------------------------------------------------------- /app/total_commander.keymap.info: -------------------------------------------------------------------------------- 1 | Please note that the following shortcuts are KDE global shortcuts: 2 | ALT-F1, ALT-F2, ALT-F5, ALT-F9 3 | 4 | This means that in order for Krusader to use them, you must 5 | first disable them in KDE's global shortcut panel. 6 | To do so, open KDE's System Settings, open "Keyboard Shortcuts" 7 | and in the "Global Shortcuts" tab, disable the mentioned shortcuts. 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/Locate/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Locate_SRCS 2 | locate.cpp) 3 | 4 | add_library(Locate STATIC ${Locate_SRCS}) 5 | 6 | target_link_libraries(Locate 7 | KF6::Archive 8 | KF6::ConfigCore 9 | KF6::CoreAddons 10 | KF6::Completion 11 | KF6::KIOCore 12 | KF6::I18n 13 | KF6::IconThemes 14 | KF6::Parts 15 | KF6::TextWidgets 16 | KF6::WidgetsAddons 17 | KF6::Service 18 | Qt6::Core5Compat 19 | ) 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Krusader file manager 3 | 4 | [Project home page](https://krusader.org/) 5 | 6 | **Note:** Pull requests on GitHub are ignored! Please read [this](https://community.kde.org/Infrastructure/Github_Mirror) and use our [development project](https://invent.kde.org/utilities/krusader) on [GitLab](https://community.kde.org/Infrastructure/GitLab) to contribute code to this repository. 7 | 8 | For more information see the [original README file](README). 9 | -------------------------------------------------------------------------------- /app/Archive/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Archive_SRCS 2 | abstractthreadedjob.cpp 3 | krarchandler.cpp 4 | kr7zencryptionchecker.cpp 5 | packjob.cpp 6 | ../../plugins/krarc/krarcbasemanager.cpp 7 | ../../plugins/krarc/krlinecountingprocess.cpp 8 | ) 9 | 10 | add_library(Archive STATIC ${Archive_SRCS}) 11 | 12 | target_link_libraries(Archive 13 | KF6::Archive 14 | KF6::I18n 15 | KF6::KIOCore 16 | KF6::KIOWidgets 17 | KF6::Wallet 18 | ) 19 | -------------------------------------------------------------------------------- /app/BookMan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(BookMan_SRCS 2 | krbookmark.cpp 3 | krbookmarkbutton.cpp 4 | krbookmarkhandler.cpp 5 | kraddbookmarkdlg.cpp) 6 | 7 | add_library(BookMan STATIC ${BookMan_SRCS}) 8 | 9 | target_link_libraries(BookMan 10 | KF6::Archive 11 | KF6::Bookmarks 12 | KF6::BookmarksWidgets 13 | KF6::Completion 14 | KF6::ConfigCore 15 | KF6::ConfigWidgets 16 | KF6::CoreAddons 17 | KF6::I18n 18 | KF6::IconThemes 19 | KF6::KIOCore 20 | KF6::XmlGui 21 | Qt6::Xml 22 | ) 23 | -------------------------------------------------------------------------------- /app/icons/16-app-krusader_user.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *cr16[]={ 3 | "16 16 3 1", 4 | ". c #232341", 5 | "a c #9696ff", 6 | "# c #d2d2ff", 7 | "................", 8 | ".##############.", 9 | "................", 10 | ".aaaaaaa.aaaaaa.", 11 | ".a....aa.a...aa.", 12 | ".aaaaaaa.aaaaaa.", 13 | ".a....aa.a...aa.", 14 | ".aaaaaaa.aaaaaa.", 15 | ".a....aa.a...aa.", 16 | ".aaaaaaa.aaaaaa.", 17 | ".a....aa.a...aa.", 18 | ".aaaaaaa.aaaaaa.", 19 | ".aaaaaaa.aaaaaa.", 20 | "................", 21 | ".##..##########.", 22 | "................"}; 23 | -------------------------------------------------------------------------------- /app/Konfigurator/kgadvanced.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGADVANCED_H 9 | #define KGADVANCED_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KgAdvanced : public KonfiguratorPage 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit KgAdvanced(bool first, QWidget *parent = nullptr); 19 | }; 20 | 21 | #endif /* __KGADVANCED_H__ */ 22 | -------------------------------------------------------------------------------- /app/Synchronizer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Synchronizer_SRCS 2 | synchronizedialog.cpp 3 | synchronizer.cpp 4 | synchronizergui.cpp 5 | feedtolistboxdialog.cpp 6 | synchronizertask.cpp 7 | synchronizerdirlist.cpp) 8 | 9 | add_library(Synchronizer STATIC ${Synchronizer_SRCS}) 10 | 11 | target_link_libraries(Synchronizer 12 | Dialogs 13 | KF6::ConfigCore 14 | KF6::CoreAddons 15 | KF6::I18n 16 | KF6::KIOWidgets 17 | KF6::WidgetsAddons 18 | KF6::GuiAddons 19 | KF6::KIOFileWidgets 20 | KF6::Parts 21 | Qt6::Core5Compat 22 | ) 23 | -------------------------------------------------------------------------------- /app/UserAction/useractionpopupmenu.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Jonas Bähr 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef USERACTIONPOPUPMENU_H 9 | #define USERACTIONPOPUPMENU_H 10 | 11 | #include 12 | 13 | class QUrl; 14 | 15 | class UserActionPopupMenu : public KActionMenu 16 | { 17 | public: 18 | explicit UserActionPopupMenu(const QUrl ¤tURL, QWidget *parent = nullptr); 19 | }; 20 | 21 | #endif // USERACTIONPOPUPMENU_H 22 | -------------------------------------------------------------------------------- /app/krusaderlisterui.rc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Lister 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/UserAction/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(UserAction_SRCS 2 | kraction.cpp 3 | expander.cpp 4 | useractionpopupmenu.cpp 5 | kractionbase.cpp 6 | useraction.cpp) 7 | 8 | add_library(UserAction STATIC ${UserAction_SRCS}) 9 | 10 | target_link_libraries(UserAction 11 | KF6::ConfigCore 12 | KF6::CoreAddons 13 | KF6::I18n 14 | KF6::IconThemes 15 | KF6::Notifications 16 | KF6::Parts 17 | KF6::WidgetsAddons 18 | KF6::XmlGui 19 | KF6::TextWidgets 20 | KF6::KIOFileWidgets 21 | KF6::StatusNotifierItem 22 | Qt6::Xml 23 | Qt6::Core5Compat 24 | ) 25 | -------------------------------------------------------------------------------- /app/icons/16-app-krusader_root.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *cr16[]={ 3 | "16 16 6 1", 4 | ". c #232341", 5 | "a c #ff0000", 6 | "d c #ff0e02", 7 | "c c #ff0f02", 8 | "b c #ff1002", 9 | "# c #ffff00", 10 | "................", 11 | ".##############.", 12 | "................", 13 | ".aaaaaaa.aaaaaa.", 14 | ".a####aa.a###aa.", 15 | ".aaaaaaa.aaaaaa.", 16 | ".a####aa.a###aa.", 17 | ".aaaaaaa.aaaaaa.", 18 | ".a####aa.a###aa.", 19 | ".abbcaaa.abbdaa.", 20 | ".a####aa.a###aa.", 21 | ".aaaaaaa.aaaaaa.", 22 | ".aaaaaaa.aaaaaa.", 23 | "................", 24 | ".##..##########.", 25 | "................"}; 26 | -------------------------------------------------------------------------------- /po/sv/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Verktyg i &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount;&remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/ca/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Eines del &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/de/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Werkzeuge für &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/fr/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Les outils de &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connexions; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/it/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Strumenti di &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/uk/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Інструменти &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/cs/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Nástroje aplikace &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/es/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Herramientas de &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/nl/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Hulpmiddelen van &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /po/pt_BR/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Ferramentas do &krusader;&bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 11 | -------------------------------------------------------------------------------- /app/Konfigurator/kguseractions.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Jonas Bähr 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGUSERACTIONS_H 9 | #define KGUSERACTIONS_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KgUserActions : public KonfiguratorPage 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit KgUserActions(bool first, QWidget *parent = nullptr); 19 | 20 | public slots: 21 | void startActionMan(); 22 | }; 23 | 24 | #endif /* __KGUSERACTIONS_H__ */ 25 | -------------------------------------------------------------------------------- /app/GUI/krlistwidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2008 Csaba Karai 3 | SPDX-FileCopyrightText: 2008-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRLISTWIDGET_H 9 | #define KRLISTWIDGET_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class KrListWidget : public QListWidget 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | explicit KrListWidget(QWidget *parent = nullptr); 20 | 21 | signals: 22 | void itemRightClicked(QListWidgetItem *it, const QPoint &pos); 23 | }; 24 | 25 | #endif /* KRLISTVIEW_H */ 26 | -------------------------------------------------------------------------------- /app/DiskUsage/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(radialMap/CMakeLists.txt) 2 | include(filelightParts/CMakeLists.txt) 3 | 4 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/filelightParts) 5 | 6 | set(DiskUsage_SRCS 7 | diskusagegui.cpp 8 | diskusage.cpp 9 | dulistview.cpp 10 | dulines.cpp 11 | dufilelight.cpp ) 12 | 13 | add_library(DiskUsage STATIC ${DiskUsage_SRCS} ${radialMap_SRCS} ${filelightParts_SRCS}) 14 | 15 | target_link_libraries(DiskUsage 16 | KF6::Archive 17 | KF6::ConfigWidgets 18 | KF6::I18n 19 | KF6::IconThemes 20 | KF6::KIOCore 21 | KF6::KIOWidgets 22 | KF6::WidgetsAddons 23 | KF6::ColorScheme 24 | ) 25 | -------------------------------------------------------------------------------- /app/FileSystem/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(FileSystem_SRCS 2 | defaultfilesystem.cpp 3 | dirlisterinterface.cpp 4 | fileitem.cpp 5 | filesystem.cpp 6 | filesystemprovider.cpp 7 | krpermhandler.cpp 8 | krquery.cpp 9 | krtrashhandler.cpp 10 | sizecalculator.cpp 11 | virtualfilesystem.cpp 12 | ) 13 | 14 | add_library(FileSystem STATIC ${FileSystem_SRCS}) 15 | 16 | target_link_libraries(FileSystem 17 | KF6::Archive 18 | KF6::I18n 19 | KF6::KIOCore 20 | KF6::KIOWidgets 21 | Qt6::Core5Compat # For QRegExp 22 | ) 23 | 24 | if(ACL_FOUND) 25 | target_link_libraries(FileSystem ${ACL_LIBS}) 26 | endif(ACL_FOUND) 27 | -------------------------------------------------------------------------------- /app/ActionMan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(ActionMan_SRCS 2 | actionman.cpp 3 | actionproperty.cpp 4 | addplaceholderpopup.cpp 5 | useractionlistview.cpp 6 | useractionpage.cpp) 7 | 8 | ki18n_wrap_ui ( 9 | ActionMan_SRCS 10 | actionproperty.ui 11 | ) 12 | 13 | add_library(ActionMan STATIC ${ActionMan_SRCS}) 14 | 15 | target_link_libraries(ActionMan 16 | KF6::ConfigCore 17 | KF6::I18n 18 | KF6::IconThemes 19 | KF6::IconWidgets 20 | KF6::KIOCore 21 | KF6::KIOWidgets 22 | KF6::Notifications 23 | KF6::Parts 24 | KF6::WidgetsAddons 25 | KF6::TextWidgets 26 | KF6::StatusNotifierItem 27 | Qt6::Xml 28 | ) 29 | -------------------------------------------------------------------------------- /app/KViewer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(KViewer_SRCS 2 | krviewer.cpp 3 | panelviewer.cpp 4 | diskusageviewer.cpp 5 | lister.cpp 6 | viewertabbar.cpp) 7 | 8 | add_library(KViewer STATIC ${KViewer_SRCS}) 9 | 10 | target_link_libraries(KViewer 11 | Qt6::PrintSupport 12 | Qt6::Core5Compat 13 | KF6::Archive 14 | KF6::Codecs 15 | KF6::ConfigCore 16 | KF6::ConfigWidgets 17 | KF6::CoreAddons 18 | KF6::IconThemes 19 | KF6::KIOWidgets 20 | KF6::KIOCore 21 | KF6::KIOFileWidgets 22 | KF6::TextWidgets 23 | KF6::Service 24 | KF6::WindowSystem 25 | KF6::Parts 26 | KF6::WidgetsAddons 27 | KF6::XmlGui 28 | ) 29 | -------------------------------------------------------------------------------- /app/UserAction/useractionpopupmenu.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Jonas Bähr 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "useractionpopupmenu.h" 9 | 10 | // QtCore 11 | #include 12 | 13 | #include 14 | 15 | #include "../krglobal.h" 16 | #include "kraction.h" 17 | #include "useraction.h" 18 | 19 | UserActionPopupMenu::UserActionPopupMenu(const QUrl ¤tURL, QWidget *parent) 20 | : KActionMenu(i18n("User Actions"), parent) 21 | { 22 | krUserAction->populateMenu(this, ¤tURL); 23 | } 24 | -------------------------------------------------------------------------------- /app/Konfigurator/kgarchives.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGARCHIVES_H 9 | #define KGARCHIVES_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KgArchives : public KonfiguratorPage 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit KgArchives(bool first, QWidget *parent = nullptr); 19 | 20 | public slots: 21 | void slotAutoConfigure(); 22 | 23 | protected: 24 | void disableNonExistingPackers(); 25 | }; 26 | 27 | #endif /* __KGARCHIVES_H__ */ 28 | -------------------------------------------------------------------------------- /app/Panel/krpanel.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "../FileSystem/sizecalculator.h" 9 | #include "krpanel.h" 10 | 11 | #include "../abstractpanelmanager.h" 12 | #include "panelfunc.h" 13 | 14 | QUrl KrPanel::virtualPath() const 15 | { 16 | return func->virtualDirectory(); 17 | } 18 | 19 | KrPanel *KrPanel::otherPanel() const 20 | { 21 | return _manager->otherManager()->currentPanel(); 22 | } 23 | 24 | bool KrPanel::isLeft() const 25 | { 26 | return _manager->isLeft(); 27 | } 28 | -------------------------------------------------------------------------------- /app/filelisticon.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2018-2022 Nikita Melnichenko 3 | SPDX-FileCopyrightText: 2018-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "filelisticon.h" 9 | 10 | #include "defaults.h" 11 | #include "krglobal.h" 12 | 13 | #include 14 | 15 | QSize FileListIcon::size() const 16 | { 17 | int linearSize = KConfigGroup(krConfig, "Look&Feel").readEntry("Filelist Icon Size", _FilelistIconSize).toInt(); 18 | return QSize(linearSize, linearSize); 19 | } 20 | 21 | QPixmap FileListIcon::pixmap() const 22 | { 23 | return QIcon::pixmap(size()); 24 | } 25 | -------------------------------------------------------------------------------- /plugins/krarc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(kio_krarc_PART_SRCS 2 | krarc.cpp 3 | krarcbasemanager.cpp 4 | krlinecountingprocess.cpp 5 | ../../app/krdebuglogger.cpp 6 | ) 7 | 8 | kcoreaddons_add_plugin(kio_krarc SOURCES ${kio_krarc_PART_SRCS} INSTALL_NAMESPACE "kf6/kio") 9 | 10 | #this is a library so it needs to enforce it's translation domain, not use the application's domain. 11 | add_definitions(-DTRANSLATION_DOMAIN="krusader") 12 | 13 | # TODO porting : new variables needed? 14 | target_link_libraries(kio_krarc 15 | Qt6::Gui 16 | Qt6::Core5Compat 17 | KF6::Archive 18 | KF6::Completion 19 | KF6::ConfigCore 20 | KF6::CoreAddons 21 | KF6::I18n 22 | KF6::KIOCore 23 | ) 24 | -------------------------------------------------------------------------------- /app/GUI/krusaderstatus.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #include "krusaderstatus.h" 10 | 11 | // QtGui 12 | #include 13 | 14 | #include 15 | 16 | KrusaderStatus::KrusaderStatus(QWidget *parent) 17 | : QStatusBar(parent) 18 | { 19 | showMessage(i18n("Ready."), 5000); 20 | setMaximumHeight(QFontMetrics(font()).height() + 2); 21 | } 22 | 23 | KrusaderStatus::~KrusaderStatus() = default; 24 | -------------------------------------------------------------------------------- /app/Splitter/crc32.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef CRC32_H 9 | #define CRC32_H 10 | 11 | #include 12 | 13 | class CRC32 14 | { 15 | private: 16 | unsigned long crc_accum; 17 | static unsigned long crc_table[256]; 18 | static bool crc_initialized; 19 | 20 | public: 21 | explicit CRC32(unsigned long initialValue = (unsigned long)-1); 22 | 23 | void update(unsigned char *buffer, qsizetype bufferLen); 24 | unsigned long result(); 25 | }; 26 | 27 | #endif /* __CRC32_H__ */ 28 | -------------------------------------------------------------------------------- /tools/Messages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd .. 3 | dirs="app plugins/iso plugins/krarc" 4 | 5 | # This is usually added by scripty but the fact that this Messages.sh file 6 | # is hidden away in subdir that doesn't contain the actual code breaks scripty's heuristic 7 | echo 'i18nc("NAME OF TRANSLATORS","Your names");' >> rc.cpp 8 | echo 'i18nc("EMAIL OF TRANSLATORS","Your emails");' >> rc.cpp 9 | 10 | $EXTRACTRC `find . -name \*.rc -o -name \*.ui` >> rc.cpp || exit 11 11 | $EXTRACTRC --tag-group=none --tag=title --tag=category --tag=tooltip --tag=description app/useraction_examples.xml >> rc.cpp 12 | $XGETTEXT rc.cpp `find $dirs -name \*.cpp -o -name \*.cc -o -name \*.c -o -name \*.h` -o $podir/krusader.pot 13 | rm -f rc.cpp 14 | -------------------------------------------------------------------------------- /app/GUI/krusaderstatus.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRUSADERSTATUS_H 10 | #define KRUSADERSTATUS_H 11 | 12 | // QtWidgets 13 | #include 14 | #include 15 | #include 16 | 17 | class KrusaderStatus : public QStatusBar 18 | { 19 | Q_OBJECT 20 | public: 21 | explicit KrusaderStatus(QWidget *parent = nullptr); 22 | ~KrusaderStatus() override; 23 | 24 | private: 25 | QLabel *mess; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /plugins/iso/qfilehack.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef QFILEHACK_H 9 | #define QFILEHACK_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | 15 | /** 16 | * Qt thinks if a file is not S_IFREG, you cannot seek in it. 17 | * It's false (what about block devices for example ?) 18 | */ 19 | class QFileHack : public QFile 20 | { 21 | public: 22 | QFileHack(); 23 | explicit QFileHack(const QString &name); 24 | ~QFileHack(); 25 | virtual bool open(QFile::OpenMode m) override; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /app/GUI/krstyleproxy.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2008 Csaba Karai 3 | SPDX-FileCopyrightText: 2008-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRSTYLEPROXY_H 9 | #define KRSTYLEPROXY_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class KrStyleProxy : public QProxyStyle 15 | { 16 | public: 17 | void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override; 18 | 19 | int styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const override; 20 | }; 21 | 22 | #endif /* KRSTYLEPROXY_H */ 23 | -------------------------------------------------------------------------------- /app/filelisticon.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2018-2022 Nikita Melnichenko 3 | SPDX-FileCopyrightText: 2018-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef FILELISTICON_H 9 | #define FILELISTICON_H 10 | 11 | #include "icon.h" 12 | 13 | // QtGui 14 | #include 15 | 16 | class FileListIcon : public Icon 17 | { 18 | public: 19 | explicit FileListIcon(QString name) 20 | : Icon(name) 21 | { 22 | } 23 | 24 | /// Load pixmap of standard file list icon size 25 | QPixmap pixmap() const; 26 | 27 | /// Get icon size as configured by user 28 | QSize size() const; 29 | }; 30 | 31 | #endif // FILELISTICON_H 32 | -------------------------------------------------------------------------------- /app/Panel/PanelView/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(PanelView_SRCS 2 | krinterbriefview.cpp 3 | krinterdetailedview.cpp 4 | krinterview.cpp 5 | krmousehandler.cpp 6 | krselectionmode.cpp 7 | krsort.cpp 8 | krview.cpp 9 | krviewfactory.cpp 10 | krviewitem.cpp 11 | krviewitemdelegate.cpp 12 | krviewproperties.cpp 13 | listmodel.cpp 14 | ) 15 | 16 | add_library(PanelView STATIC ${PanelView_SRCS}) 17 | 18 | target_link_libraries(PanelView 19 | Dialogs 20 | GUI 21 | KViewer 22 | KF6::Archive 23 | KF6::ConfigCore 24 | KF6::CoreAddons 25 | KF6::I18n 26 | KF6::IconThemes 27 | KF6::KIOFileWidgets 28 | KF6::KIOWidgets 29 | KF6::Service 30 | KF6::WidgetsAddons 31 | KF6::XmlGui 32 | ) 33 | -------------------------------------------------------------------------------- /app/resources/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ecm_install_icons(ICONS 2 | 16-actions-kr_combine.png 3 | 16-actions-kr_comparedirs.png 4 | 16-actions-kr_diskusage.png 5 | 16-actions-kr_mountman.png 6 | 16-actions-kr_syncbrowse_off.png 7 | 16-actions-kr_syncbrowse_on.png 8 | 16-actions-kr_unselect.png 9 | 22-actions-kr_combine.png 10 | 22-actions-kr_comparedirs.png 11 | 22-actions-kr_diskusage.png 12 | 22-actions-kr_mountman.png 13 | 22-actions-kr_unselect.png 14 | 32-actions-kr_combine.png 15 | 32-actions-kr_comparedirs.png 16 | 32-actions-kr_diskusage.png 17 | 32-actions-kr_mountman.png 18 | 32-actions-kr_unselect.png 19 | DESTINATION ${KDE_INSTALL_DATADIR}/krusader/icons 20 | THEME hicolor 21 | ) 22 | 23 | -------------------------------------------------------------------------------- /app/Konfigurator/kgstartup.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGSTARTUP_H 9 | #define KGSTARTUP_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KgStartup : public KonfiguratorPage 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit KgStartup(bool first, QWidget *parent = nullptr); 19 | 20 | public slots: 21 | void slotDisable(); 22 | 23 | protected: 24 | KonfiguratorRadioButtons *saveRadio; 25 | KonfiguratorCheckBoxGroup *uiCbGroup; 26 | KonfiguratorComboBox *profileCombo; 27 | }; 28 | 29 | #endif /* __KGSTARTUP_H__ */ 30 | -------------------------------------------------------------------------------- /plugins/iso/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(FindZLIB) 2 | 3 | include(libisofs/CMakeLists.txt) 4 | 5 | set(kio_iso_PART_SRCS 6 | kisodirectory.cpp 7 | kisofile.cpp 8 | qfilehack.cpp 9 | kiso.cpp 10 | iso.cpp 11 | ../../app/krdebuglogger.cpp 12 | ) 13 | 14 | kcoreaddons_add_plugin(kio_iso SOURCES ${kio_iso_PART_SRCS} ${libisofs_SRCS} INSTALL_NAMESPACE "kf6/kio") 15 | 16 | #this is a library so it needs to enforce it's translation domain, not use the application's domain. 17 | add_definitions(-DTRANSLATION_DOMAIN="krusader") 18 | 19 | target_link_libraries(kio_iso 20 | KF6::Archive 21 | KF6::Completion 22 | KF6::ConfigCore 23 | KF6::KIOCore 24 | ${ZLIB_LIBRARY} 25 | ) 26 | 27 | install(FILES kio_isorc DESTINATION ${KDE_INSTALL_CONFDIR}) 28 | -------------------------------------------------------------------------------- /app/Dialogs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Dialogs_SRCS 2 | krsqueezedtextlabel.cpp 3 | packgui.cpp 4 | packguibase.cpp 5 | newftpgui.cpp 6 | krspwidgets.cpp 7 | krspecialwidgets.cpp 8 | krpleasewait.cpp 9 | krmaskchoice.cpp 10 | krdialogs.cpp 11 | kurllistrequester.cpp 12 | popularurls.cpp 13 | checksumdlg.cpp 14 | percentalsplitter.cpp 15 | ) 16 | 17 | add_library(Dialogs STATIC ${Dialogs_SRCS}) 18 | 19 | target_link_libraries(Dialogs 20 | KF6::Archive 21 | KF6::Completion 22 | KF6::ConfigWidgets 23 | KF6::CoreAddons 24 | KF6::I18n 25 | KF6::IconThemes 26 | KF6::ItemViews 27 | KF6::KIOCore 28 | KF6::KIOWidgets 29 | KF6::Notifications 30 | KF6::Parts 31 | KF6::WidgetsAddons 32 | KF6::StatusNotifierItem 33 | ) 34 | -------------------------------------------------------------------------------- /app/GUI/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(GUI_SRCS 2 | dirhistorybutton.cpp 3 | krusaderstatus.cpp 4 | kfnkeys.cpp 5 | kcmdline.cpp 6 | profilemanager.cpp 7 | krhistorycombobox.cpp 8 | krremoteencodingmenu.cpp 9 | krtreewidget.cpp 10 | krstyleproxy.cpp 11 | krlistwidget.cpp 12 | mediabutton.cpp 13 | kcmdmodebutton.cpp 14 | recentlyclosedtabsmenu.cpp 15 | terminaldock.cpp) 16 | 17 | add_library(GUI STATIC ${GUI_SRCS}) 18 | 19 | target_link_libraries(GUI 20 | KF6::Archive 21 | KF6::ConfigCore 22 | KF6::CoreAddons 23 | KF6::Codecs 24 | KF6::I18n 25 | KF6::IconThemes 26 | KF6::Parts 27 | KF6::Service 28 | KF6::Solid 29 | KF6::WidgetsAddons 30 | KF6::KIOFileWidgets 31 | Qt6::Widgets 32 | Qt6::Core5Compat 33 | ) 34 | -------------------------------------------------------------------------------- /app/Konfigurator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Konfigurator_SRCS 2 | kgcolors.cpp 3 | kgdependencies.cpp 4 | konfiguratorpage.cpp 5 | konfiguratoritems.cpp 6 | konfigurator.cpp 7 | kgstartup.cpp 8 | kgpanel.cpp 9 | kggeneral.cpp 10 | kgarchives.cpp 11 | kgadvanced.cpp 12 | kguseractions.cpp 13 | kgprotocols.cpp 14 | krresulttable.cpp 15 | krresulttabledialog.cpp 16 | searchobject.cpp) 17 | 18 | add_library(Konfigurator STATIC ${Konfigurator_SRCS}) 19 | 20 | target_link_libraries(Konfigurator 21 | KF6::Archive 22 | KF6::I18n 23 | KF6::IconThemes 24 | KF6::KIOCore 25 | KF6::KIOWidgets 26 | KF6::ConfigCore 27 | KF6::ConfigWidgets 28 | KF6::WidgetsAddons 29 | KF6::GuiAddons 30 | Qt6::Xml 31 | Qt6::Core5Compat 32 | ) 33 | -------------------------------------------------------------------------------- /plugins/iso/qfilehack.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "qfilehack.h" 9 | 10 | QFileHack::QFileHack() = default; 11 | 12 | QFileHack::QFileHack(const QString &name) 13 | : QFile(name) 14 | { 15 | } 16 | 17 | QFileHack::~QFileHack() = default; 18 | 19 | bool QFileHack::open(QFile::OpenMode m) 20 | { 21 | bool ret; 22 | 23 | #ifdef Q_OS_UNIX 24 | // m |= IO_Async; // On linux, set O_NONBLOCK, opens CD-ROMs faster 25 | #endif 26 | ret = QFile::open(m); 27 | // if (ret && isSequential() ) { 28 | // setOpenMode(m | (QFile::OpenMode)IO_Direct); 29 | // } 30 | return ret; 31 | } 32 | -------------------------------------------------------------------------------- /app/GUI/krlistwidget.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2008 Csaba Karai 3 | SPDX-FileCopyrightText: 2008-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "krlistwidget.h" 9 | #include "krstyleproxy.h" 10 | 11 | // QtGui 12 | #include 13 | 14 | KrListWidget::KrListWidget(QWidget *parent) 15 | : QListWidget(parent) 16 | { 17 | auto *style = new KrStyleProxy(); 18 | style->setParent(this); 19 | setStyle(style); 20 | 21 | setContextMenuPolicy(Qt::CustomContextMenu); 22 | connect(this, &QListWidget::customContextMenuRequested, [=](const QPoint &pos) { 23 | QListWidgetItem *item = itemAt(pos); 24 | emit itemRightClicked(item, viewport()->mapToGlobal(pos)); 25 | }); 26 | } 27 | -------------------------------------------------------------------------------- /app/abstractpanelmanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef ABSTRACTPANELMANAGER_H 9 | #define ABSTRACTPANELMANAGER_H 10 | 11 | // QtCore 12 | #include 13 | 14 | class KrPanel; 15 | 16 | class AbstractPanelManager 17 | { 18 | public: 19 | virtual ~AbstractPanelManager() 20 | { 21 | } 22 | virtual bool isLeft() const = 0; 23 | virtual AbstractPanelManager *otherManager() const = 0; 24 | virtual KrPanel *currentPanel() const = 0; 25 | virtual void newTab(const QUrl &, int insertIndex = -1) = 0; 26 | virtual void duplicateTab(const QUrl &, KrPanel *nextTo = nullptr) = 0; 27 | }; 28 | 29 | #endif // ABSTRACTPANELMANAGER_H 30 | -------------------------------------------------------------------------------- /app/Panel/krerrordisplay.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRERRORDISPLAY_H 9 | #define KRERRORDISPLAY_H 10 | 11 | // QtCore 12 | #include 13 | // QtGui 14 | #include 15 | // QtWidgets 16 | #include 17 | #include 18 | 19 | class KrErrorDisplay : public QLabel 20 | { 21 | Q_OBJECT 22 | public: 23 | explicit KrErrorDisplay(QWidget *parent); 24 | 25 | void setText(const QString &text); 26 | 27 | private slots: 28 | void slotTimeout(); 29 | 30 | private: 31 | void dim(); 32 | 33 | QTimer _dimTimer; 34 | QColor _startColor; 35 | QColor _targetColor; 36 | int _currentDim; 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /app/ActionMan/actionman.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2006 Jonas Bähr 3 | SPDX-FileCopyrightText: 2006-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef ACTIONMAN_H 9 | #define ACTIONMAN_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class UserActionPage; 15 | 16 | /** 17 | * This manages all useractions 18 | */ 19 | class ActionMan : public QDialog 20 | { 21 | Q_OBJECT 22 | public: 23 | explicit ActionMan(QWidget *parent = nullptr); 24 | ~ActionMan() override; 25 | 26 | protected slots: 27 | void slotClose(); 28 | void slotApply(); 29 | void slotEnableApplyButton(); 30 | void slotDisableApplyButton(); 31 | 32 | private: 33 | UserActionPage *userActionPage; 34 | QPushButton *applyButton; 35 | }; 36 | 37 | #endif // ifndef ACTIONMAN_H 38 | -------------------------------------------------------------------------------- /app/BookMan/krbookmarkbutton.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRBOOKMARKBUTTON_H 10 | #define KRBOOKMARKBUTTON_H 11 | 12 | // QtWidgets 13 | #include 14 | 15 | #include 16 | 17 | class KrBookmarkButton : public QToolButton 18 | { 19 | Q_OBJECT 20 | public: 21 | explicit KrBookmarkButton(QWidget *parent); 22 | void showMenu(); 23 | 24 | signals: 25 | void openUrl(const QUrl &url); 26 | void aboutToShow(); 27 | 28 | protected slots: 29 | void populate(); 30 | 31 | private: 32 | KActionMenu *acmBookmarks; 33 | }; 34 | 35 | #endif // KRBOOKMARK_BUTTON_H 36 | -------------------------------------------------------------------------------- /plugins/iso/iso.json: -------------------------------------------------------------------------------- 1 | { 2 | "KDE-KIO-Protocols": { 3 | "iso": { 4 | "Class": ":local", 5 | "Icon": "media-optical", 6 | "archiveMimetype": [ 7 | "application/x-iso", 8 | "application/x-cd-image", 9 | "application/x-dvd-image" 10 | ], 11 | "input": "filesystem", 12 | "listing": [ 13 | "Name", 14 | "Type", 15 | "Size", 16 | "Date", 17 | "AccessDate", 18 | "CreationDate", 19 | "Access", 20 | "Owner", 21 | "Group", 22 | "Link" 23 | ], 24 | "output": "filesystem", 25 | "protocol": "iso", 26 | "reading": true, 27 | "source": true 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /tools/restore-l10n-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # When you do a merge from the stable branch to the master branch, 4 | # you may see a lot of conflicts and changes in localization-enabled files, 5 | # such as in 'po' dir and .desktop, .appdata.xml files. 6 | # This happens since the branches have separate localization injection streams. 7 | # The script helps to restore these files to the state before the merge, 8 | # with the exception to .appdata.xml that often contains version changes. 9 | 10 | 11 | files_with_status() 12 | { 13 | git status -s | grep '^'"$1" | awk '{ print $2; }' 14 | } 15 | 16 | with_translations() 17 | { 18 | grep -P '(^po/)|(^app/.*\.desktop)' 19 | } 20 | 21 | restore_files() 22 | { 23 | while read f; do 24 | git restore --source=HEAD --staged --worktree "$f" 25 | done 26 | } 27 | 28 | 29 | files_with_status '' | with_translations | restore_files 30 | -------------------------------------------------------------------------------- /app/Dialogs/packgui.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef PACKGUI_H 10 | #define PACKGUI_H 11 | 12 | #include "packguibase.h" 13 | 14 | class PackGUI : public PackGUIBase 15 | { 16 | Q_OBJECT 17 | public: 18 | PackGUI(const QString &defaultName, const QString &defaultPath, qsizetype noOfFiles, const QString &filename = ""); 19 | 20 | public slots: 21 | void browse() override; 22 | 23 | protected slots: 24 | void accept() override; 25 | void reject() override; 26 | 27 | public: 28 | static QString filename, destination, type; 29 | static QMap extraProps; 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /app/Dialogs/percentalsplitter.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2006 Csaba Karai 3 | SPDX-FileCopyrightText: 2006-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef PERCENTALSPLITTER_H 9 | #define PERCENTALSPLITTER_H 10 | 11 | // QtWidgets 12 | #include 13 | #include 14 | 15 | class PercentalSplitter : public QSplitter 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | explicit PercentalSplitter(QWidget *parent = nullptr); 21 | ~PercentalSplitter() override; 22 | 23 | QString toolTipString(int p); 24 | 25 | protected: 26 | void showEvent(QShowEvent *event) override; 27 | 28 | protected slots: 29 | void slotSplitterMoved(int pos, int index); 30 | 31 | private: 32 | QLabel *label; 33 | int opaqueOldPos; 34 | QPoint labelLocation; 35 | }; 36 | 37 | #endif /* __PERCENTAL_SPLITTER__ */ 38 | -------------------------------------------------------------------------------- /app/GUI/krhistorycombobox.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2018-2020 Shie Erlich 3 | SPDX-FileCopyrightText: 2018-2020 Rafi Yanai 4 | SPDX-FileCopyrightText: 2018-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRHISTORYCOMBOBOX_H 10 | #define KRHISTORYCOMBOBOX_H 11 | 12 | #include 13 | 14 | /** 15 | * A specialized version of a KHistoryComboBox, e.g. it deletes the current 16 | * item when the user presses Shift+Del 17 | */ 18 | class KrHistoryComboBox : public KHistoryComboBox 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | explicit KrHistoryComboBox(bool useCompletion, QWidget *parent = nullptr); 24 | explicit KrHistoryComboBox(QWidget *parent = nullptr) 25 | : KrHistoryComboBox(true, parent) 26 | { 27 | } 28 | }; 29 | 30 | #endif // KRHISTORYCOMBOBOX_H 31 | -------------------------------------------------------------------------------- /app/DiskUsage/radialMap/segmentTip.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003-2004 Max Howell 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef SEGMENTTIP_H 9 | #define SEGMENTTIP_H 10 | 11 | // QtCore 12 | #include 13 | // QtGui 14 | #include 15 | // QtWidgets 16 | #include 17 | 18 | class File; 19 | class Directory; 20 | 21 | namespace RadialMap 22 | { 23 | class SegmentTip : public QWidget 24 | { 25 | public: 26 | explicit SegmentTip(uint); 27 | 28 | void updateTip(const File *, const Directory *); 29 | void moveto(QPoint, QWidget &, bool); 30 | 31 | private: 32 | virtual bool eventFilter(QObject *, QEvent *) override; 33 | virtual bool event(QEvent *) override; 34 | 35 | uint m_cursorHeight; 36 | QPixmap m_pixmap; 37 | QString m_text; 38 | }; 39 | } 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /app/Panel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(PanelView) 2 | 3 | set(Panel_SRCS 4 | dirhistoryqueue.cpp 5 | krcalcspacedialog.cpp 6 | krcolorcache.cpp 7 | krerrordisplay.cpp 8 | krfiletreeview.cpp 9 | krlayoutfactory.cpp 10 | krpanel.cpp 11 | krpreviewjob.cpp 12 | krpreviewpopup.cpp 13 | krpreviews.cpp 14 | krsearchbar.cpp 15 | listpanel.cpp 16 | listpanelactions.cpp 17 | listpanelframe.cpp 18 | panelcontextmenu.cpp 19 | panelfunc.cpp 20 | sidebar.cpp 21 | viewactions.cpp 22 | ) 23 | 24 | add_library(Panel STATIC ${Panel_SRCS}) 25 | 26 | target_link_libraries(Panel 27 | Dialogs 28 | GUI 29 | KViewer 30 | KF6::Archive 31 | KF6::ConfigCore 32 | KF6::CoreAddons 33 | KF6::I18n 34 | KF6::IconThemes 35 | KF6::KIOFileWidgets 36 | KF6::KIOWidgets 37 | KF6::Service 38 | KF6::WidgetsAddons 39 | KF6::XmlGui 40 | Qt6::Xml 41 | Qt6::Core5Compat 42 | ) 43 | -------------------------------------------------------------------------------- /app/Archive/kr7zencryptionchecker.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2001 Shie Erlich 3 | SPDX-FileCopyrightText: 2001 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KR7ZENCRYPTIONCHECKER_H 10 | #define KR7ZENCRYPTIONCHECKER_H 11 | 12 | #include // for kill 13 | #include // for setsid, see Kr7zEncryptionChecker::setupChildProcess 14 | 15 | #include 16 | 17 | /** 18 | * Used by ArcHandler. 19 | */ 20 | class Kr7zEncryptionChecker : public KProcess 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | Kr7zEncryptionChecker(); 26 | 27 | public slots: 28 | void receivedOutput(); 29 | bool isEncrypted(); 30 | 31 | private: 32 | QString fileName; 33 | bool encrypted; 34 | QString lastData; 35 | }; 36 | 37 | #endif // KR7ZENCRYPTIONCHECKER_H 38 | -------------------------------------------------------------------------------- /app/Konfigurator/kggeneral.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGGENERAL_H 9 | #define KGGENERAL_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KgGeneral : public KonfiguratorPage 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | explicit KgGeneral(bool first, QWidget *parent = nullptr); 19 | 20 | public slots: 21 | void applyTempDir(QObject *, const QString &, const QString &); 22 | void slotFindTools(); 23 | 24 | void slotAddExtension(); 25 | void slotRemoveExtension(); 26 | 27 | private: 28 | void createGeneralTab(); 29 | void createViewerTab(); 30 | void createExtensionsTab(); 31 | QWidget *createTab(const QString &name); 32 | 33 | QTabWidget *tabWidget; 34 | KonfiguratorListBox *listBox; 35 | }; 36 | 37 | #endif /* __KGGENERAL_H__ */ 38 | -------------------------------------------------------------------------------- /plugins/iso/kisodirectory.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "kisodirectory.h" 9 | 10 | KIsoDirectory::KIsoDirectory(KArchive *archive, 11 | const QString &name, 12 | int access, 13 | time_t date, 14 | time_t adate, 15 | time_t cdate, 16 | const QString &user, 17 | const QString &group, 18 | const QString &symlink) 19 | : KArchiveDirectory(archive, name, access, QDateTime::fromSecsSinceEpoch(static_cast(date)), user, group, symlink) 20 | { 21 | m_adate = adate; 22 | m_cdate = cdate; 23 | } 24 | 25 | KIsoDirectory::~KIsoDirectory() = default; 26 | -------------------------------------------------------------------------------- /app/Konfigurator/kgdependencies.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGDEPENDENCIES_H 9 | #define KGDEPENDENCIES_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | #include "konfiguratorpage.h" 15 | 16 | class QTabWidget; 17 | 18 | class KgDependencies : public KonfiguratorPage 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | explicit KgDependencies(bool first, QWidget *parent = nullptr); 24 | 25 | int activeSubPage() override; 26 | 27 | private: 28 | void addApplication(const QString &name, QGridLayout *grid, int row, QWidget *parent, int page, const QString &additionalList = QString()); 29 | 30 | public slots: 31 | void slotApply(QObject *obj, const QString &configGroup, const QString &name); 32 | 33 | private: 34 | QTabWidget *tabWidget; 35 | }; 36 | 37 | #endif /* __KGDEPENDENCIES_H__ */ 38 | -------------------------------------------------------------------------------- /doc/handbook/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | &krusader; Tools 9 | 10 | &bookmarks; 11 | &diskusage; 12 | &search; 13 | &viewer-editor; 14 | &locate; 15 | &mount; 16 | &remote-connections; 17 | &synchronizer; 18 | &krusader-useractions; 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/DiskUsage/filelightParts/Config.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Shie Erlich 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef CONFIG_H 9 | #define CONFIG_H 10 | 11 | // QtCore 12 | #include 13 | 14 | class KConfigGroup; 15 | 16 | namespace Filelight 17 | { 18 | enum MapScheme { Rainbow, HighContrast, KDE, FileDensity, ModTime }; 19 | 20 | class Config 21 | { 22 | static KConfigGroup kconfig(); 23 | 24 | public: 25 | static void read(); 26 | static void write(); 27 | 28 | // keep everything positive, avoid using DON'T, NOT or NO 29 | 30 | static bool varyLabelFontSizes; 31 | static bool showSmallFiles; 32 | static uint contrast; 33 | static uint antiAliasFactor; 34 | static uint minFontPitch; 35 | static uint defaultRingDepth; 36 | 37 | static MapScheme scheme; 38 | }; 39 | } 40 | 41 | using Filelight::Config; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /app/Filter/filterbase.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef FILTERBASE_H 9 | #define FILTERBASE_H 10 | 11 | #include "filtersettings.h" 12 | 13 | // QtCore 14 | #include 15 | // QtWidgets 16 | #include 17 | 18 | class FilterTabs; 19 | 20 | class FilterBase 21 | { 22 | public: 23 | virtual ~FilterBase() 24 | { 25 | } 26 | 27 | virtual void queryAccepted() = 0; 28 | virtual QString name() = 0; 29 | virtual FilterTabs *filterTabs() = 0; 30 | virtual bool getSettings(FilterSettings &) = 0; 31 | virtual void applySettings(const FilterSettings &) = 0; 32 | 33 | protected: 34 | static void setComboBoxValue(QComboBox *cb, QString value) 35 | { 36 | int idx = cb->findText(value); 37 | cb->setCurrentIndex(idx < 0 ? 0 : idx); 38 | } 39 | }; 40 | 41 | #endif /* FILTERBASE_H */ 42 | -------------------------------------------------------------------------------- /app/GUI/kfnkeys.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KFNKEYS_H 10 | #define KFNKEYS_H 11 | 12 | // QtWidgets 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | class KrMainWindow; 19 | 20 | // Function Keys widget 21 | /////////////////////// 22 | class KFnKeys : public QWidget 23 | { 24 | Q_OBJECT 25 | 26 | public: 27 | // constructor 28 | KFnKeys(QWidget *parent, KrMainWindow *mainWindow); 29 | void updateShortcuts(); 30 | 31 | private: 32 | typedef QPair> ButtonEntry; 33 | 34 | ButtonEntry setup(QAction *action, const QString &text); 35 | 36 | KrMainWindow *mainWindow; 37 | QList buttonList; 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /app/DiskUsage/radialMap/builder.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003-2004 Max Howell 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef BUILDER_H 9 | #define BUILDER_H 10 | 11 | #include "fileTree.h" 12 | #include "radialMap.h" //Segment, defines 13 | 14 | template 15 | class Chain; 16 | 17 | namespace RadialMap 18 | { 19 | class Map; 20 | 21 | // temporary class that builds the Map signature 22 | 23 | class Builder 24 | { 25 | public: 26 | Builder(Map *, const Directory *const, bool fast = false); 27 | 28 | private: 29 | void findVisibleDepth(const Directory *const dir, const uint = 0); 30 | void setLimits(const uint &); 31 | bool build(const Directory *const, const uint = 0, uint = 0, const uint = 5760); 32 | 33 | Map *m_map; 34 | const Directory *const m_root; 35 | const FileSize m_minSize; 36 | uint *m_depth; 37 | Chain *m_signature; 38 | FileSize *m_limits; 39 | }; 40 | } 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /app/GUI/kcmdmodebutton.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2006 Václav Juza 3 | SPDX-FileCopyrightText: 2006-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KCMDMODEBUTTON_H 9 | #define KCMDMODEBUTTON_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class KActionMenu; 15 | 16 | /** 17 | * represents a button for switching the command-line execution mode 18 | * It extends QToolButton, set the icon etc., and creates a popup menu 19 | * containing the actions to actually switch the mode. 20 | */ 21 | class KCMDModeButton : public QToolButton 22 | { 23 | Q_OBJECT 24 | public: 25 | /** Constructor. Sets up the menu, and the icon */ 26 | explicit KCMDModeButton(QWidget *parent = nullptr); 27 | ~KCMDModeButton() override; 28 | 29 | /** Shows the popup menu. Called when clicked to the button */ 30 | void showMenu(); 31 | 32 | private: 33 | /** The menu containing the actions for switching the mode */ 34 | KActionMenu *action; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /app/Synchronizer/feedtolistboxdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2006 Csaba Karai 3 | SPDX-FileCopyrightText: 2006-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef FEEDTOLISTBOXDIALOG_H 9 | #define FEEDTOLISTBOXDIALOG_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class Synchronizer; 15 | class QCheckBox; 16 | class QLineEdit; 17 | class QComboBox; 18 | class QTreeWidget; 19 | 20 | class FeedToListBoxDialog : public QDialog 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | FeedToListBoxDialog(QWidget *, Synchronizer *, QTreeWidget *, bool); 26 | ~FeedToListBoxDialog() override = default; 27 | 28 | bool isAccepted() 29 | { 30 | return accepted; 31 | } 32 | 33 | protected slots: 34 | void slotOk(); 35 | 36 | private: 37 | Synchronizer *synchronizer; 38 | QTreeWidget *syncList; 39 | QCheckBox *cbSelected; 40 | QLineEdit *lineEdit; 41 | QComboBox *sideCombo; 42 | bool equalAllowed; 43 | bool accepted; 44 | }; 45 | 46 | #endif /* __FEED_TO_LISTBOX_DIALOG__ */ 47 | -------------------------------------------------------------------------------- /app/Panel/krpreviewpopup.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRPREVIEWPOPUP_H 10 | #define KRPREVIEWPOPUP_H 11 | 12 | // QtCore 13 | #include 14 | // QtGui 15 | #include 16 | // QtWidgets 17 | #include 18 | 19 | #include 20 | 21 | class KrPreviewPopup : public QMenu 22 | { 23 | Q_OBJECT 24 | 25 | public: 26 | KrPreviewPopup(); 27 | 28 | void setUrls(const QList &urls); 29 | public slots: 30 | void addPreview(const KFileItem &file, const QPixmap &preview); 31 | void view(QAction *); 32 | 33 | protected: 34 | void showEvent(QShowEvent *event) override; 35 | 36 | QAction *prevNotAvailAction; 37 | QList files; 38 | bool jobStarted; 39 | 40 | private: 41 | static const int MAX_SIZE = 400; 42 | static const short MARGIN = 5; 43 | 44 | class ProxyStyle; 45 | }; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /plugins/krarc/krlinecountingprocess.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2001 Shie Erlich 3 | SPDX-FileCopyrightText: 2001 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRLINECOUNTINGPROCESS_H 10 | #define KRLINECOUNTINGPROCESS_H 11 | 12 | #include 13 | 14 | /** 15 | * A KProcess which emits how many lines it is writing to stdout or stderr. 16 | */ 17 | class KrLinecountingProcess : public KProcess 18 | { 19 | Q_OBJECT 20 | public: 21 | KrLinecountingProcess(); 22 | void setMerge(bool); 23 | QString getErrorMsg(); 24 | 25 | public slots: 26 | void receivedError(); 27 | void receivedOutput(QByteArray = QByteArray()); 28 | 29 | signals: 30 | void newOutputLines(qsizetype); 31 | void newErrorLines(qsizetype); 32 | void newOutputData(KProcess *, QByteArray &); 33 | 34 | private: 35 | QByteArray errorData; 36 | QByteArray outputData; 37 | 38 | bool mergedOutput; 39 | }; 40 | 41 | #endif // KRLINECOUNTINGPROCESS_H 42 | -------------------------------------------------------------------------------- /app/GUI/krtreewidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2008 Csaba Karai 3 | SPDX-FileCopyrightText: 2008-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRTREEWIDGET_H 9 | #define KRTREEWIDGET_H 10 | 11 | // QtWidgets 12 | #include 13 | #include 14 | 15 | class KrTreeWidget : public QTreeWidget 16 | { 17 | Q_OBJECT 18 | 19 | public: 20 | explicit KrTreeWidget(QWidget *parent); 21 | void setStretchingColumn(int col) 22 | { 23 | _stretchingColumn = col; 24 | } 25 | 26 | QModelIndex indexOf(QTreeWidgetItem *item, int col = 0) 27 | { 28 | return indexFromItem(item, col); 29 | } 30 | QTreeWidgetItem *item(const QModelIndex &ndx) 31 | { 32 | return itemFromIndex(ndx); 33 | } 34 | 35 | signals: 36 | void itemRightClicked(QTreeWidgetItem *it, const QPoint &pos, int column); 37 | 38 | protected: 39 | bool event(QEvent *event) override; 40 | 41 | private: 42 | int _stretchingColumn; 43 | bool _inResize; 44 | }; 45 | 46 | #endif /* KRTREEWIDGET_H */ 47 | -------------------------------------------------------------------------------- /plugins/iso/kisodirectory.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KISODIRECTORY_H 9 | #define KISODIRECTORY_H 10 | 11 | // QtCore 12 | #include 13 | 14 | #include 15 | 16 | class KIsoDirectory : public KArchiveDirectory 17 | { 18 | public: 19 | KIsoDirectory(KArchive *archive, 20 | const QString &name, 21 | int access, 22 | time_t date, 23 | time_t adate, 24 | time_t cdate, 25 | const QString &user, 26 | const QString &group, 27 | const QString &symlink); 28 | ~KIsoDirectory(); 29 | time_t date() const 30 | { 31 | return m_date; 32 | } 33 | time_t adate() const 34 | { 35 | return m_adate; 36 | } 37 | time_t cdate() const 38 | { 39 | return m_cdate; 40 | } 41 | 42 | private: 43 | time_t m_date, m_adate, m_cdate; 44 | }; 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /app/FileSystem/krtrashhandler.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2009 Csaba Karai 3 | SPDX-FileCopyrightText: 2009-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRTRASHHANDLER_H 9 | #define KRTRASHHANDLER_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | class KrTrashWatcher; 18 | 19 | class KrTrashHandler 20 | { 21 | public: 22 | static bool isTrashEmpty(); 23 | static QString trashIconName(); 24 | static void emptyTrash(); 25 | static void restoreTrashedFiles(const QList &url); 26 | static void startWatcher(); 27 | static void stopWatcher(); 28 | 29 | private: 30 | static KrTrashWatcher *_trashWatcher; 31 | }; 32 | 33 | /** Watches the trashrc config file for changes and updates the trash icon. */ 34 | class KrTrashWatcher : public QObject 35 | { 36 | Q_OBJECT 37 | 38 | public: 39 | KrTrashWatcher(); 40 | ~KrTrashWatcher() override; 41 | 42 | public slots: 43 | void slotTrashChanged(); 44 | 45 | private: 46 | KDirWatch *_watcher; 47 | }; 48 | 49 | #endif /* __KR_TRASH_HANDLER__ */ 50 | -------------------------------------------------------------------------------- /app/krglobal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #include "krglobal.h" 10 | 11 | #include "krusader.h" 12 | #include "krusaderview.h" 13 | 14 | #include 15 | 16 | KConfig *KrGlobal::config = nullptr; 17 | KMountMan *KrGlobal::mountMan = nullptr; 18 | KrArcHandler *KrGlobal::arcMan = nullptr; 19 | KrBookmarkHandler *KrGlobal::bookman = nullptr; 20 | KrSlots *KrGlobal::slot = nullptr; 21 | KrusaderView *KrGlobal::mainView = nullptr; 22 | QWidget *KrGlobal::mainWindow = nullptr; 23 | UserAction *KrGlobal::userAction = nullptr; 24 | JobMan *KrGlobal::jobMan = nullptr; 25 | // ListPanel *KrGlobal::activePanel = 0; 26 | QKeySequence KrGlobal::copyShortcut; 27 | 28 | const int KrGlobal::sConfigVersion; 29 | int KrGlobal::sCurrentConfigVersion; 30 | 31 | bool KrGlobal::isWaylandPlatform = false; 32 | bool KrGlobal::isX11Platform = false; 33 | 34 | KrPanel *KrGlobal::activePanel() 35 | { 36 | return mainView->activePanel(); 37 | } 38 | -------------------------------------------------------------------------------- /app/Panel/listpanelframe.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef LISTPANELFRAME_H 9 | #define LISTPANELFRAME_H 10 | 11 | // QtGui 12 | #include 13 | // QtWidgets 14 | #include 15 | 16 | #include 17 | 18 | class QDragEnterEvent; 19 | 20 | class ListPanelFrame : public QFrame 21 | { 22 | Q_OBJECT 23 | public: 24 | ListPanelFrame(QWidget *parent, const QString &color); 25 | 26 | signals: 27 | void dropped(QDropEvent *); /**< emitted when someone drops URL onto the frame */ 28 | 29 | protected slots: 30 | void colorsChanged(); 31 | 32 | public slots: 33 | void refreshColors(bool active); 34 | 35 | protected: 36 | QColor getColor(KConfigGroup &cg, const QString &name, const QColor &def, const QColor &kdedef); 37 | 38 | void dropEvent(QDropEvent *event) override 39 | { 40 | emit dropped(event); 41 | } 42 | void dragEnterEvent(QDragEnterEvent *) override; 43 | 44 | QString color; 45 | QPalette palActive, palInactive; 46 | }; 47 | 48 | #endif // LISTPANELFRAME_H 49 | -------------------------------------------------------------------------------- /app/Splitter/crc32.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "crc32.h" 9 | 10 | #define MASK1 0x00FFFFFF 11 | #define MASK2 0xFFFFFFFF 12 | #define POLYNOMIAL 0xEDB88320 13 | 14 | bool CRC32::crc_initialized = false; 15 | unsigned long CRC32::crc_table[256]; 16 | 17 | CRC32::CRC32(unsigned long initialValue) 18 | { 19 | crc_accum = initialValue; 20 | 21 | if (!crc_initialized) { 22 | for (int byte = 0; byte != 256; byte++) { 23 | unsigned long data = byte; 24 | 25 | for (int i = 8; i > 0; --i) 26 | data = data & 1 ? (data >> 1) ^ POLYNOMIAL : data >> 1; 27 | 28 | crc_table[byte] = data; 29 | } 30 | 31 | crc_initialized = true; 32 | } 33 | } 34 | 35 | void CRC32::update(unsigned char *buffer, qsizetype bufferLen) 36 | { 37 | while (bufferLen-- > 0) 38 | crc_accum = ((crc_accum >> 8) & MASK1) ^ crc_table[(crc_accum & 0xff) ^ *buffer++]; 39 | } 40 | 41 | unsigned long CRC32::result() 42 | { 43 | return (~crc_accum) & MASK2; 44 | } 45 | -------------------------------------------------------------------------------- /app/Panel/krpanel.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRPANEL_H 9 | #define KRPANEL_H 10 | 11 | // QtCore 12 | #include 13 | 14 | class AbstractPanelManager; 15 | class ListPanelFunc; 16 | class ListPanel; 17 | class KrView; 18 | 19 | class KrPanel 20 | { 21 | public: 22 | KrPanel(AbstractPanelManager *manager, ListPanel *panel, ListPanelFunc *func) 23 | : gui(panel) 24 | , func(func) 25 | , view(nullptr) 26 | , _manager(manager) 27 | { 28 | } 29 | virtual ~KrPanel() 30 | { 31 | } 32 | QUrl virtualPath() const; // the current directory path of this panel 33 | AbstractPanelManager *manager() const 34 | { 35 | return _manager; 36 | } 37 | KrPanel *otherPanel() const; 38 | bool isLeft() const; 39 | virtual void otherPanelChanged() = 0; 40 | 41 | ListPanel *const gui; 42 | ListPanelFunc *const func; 43 | KrView *view; // the view of file items in this panel 44 | 45 | protected: 46 | AbstractPanelManager *_manager; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /app/GUI/dirhistorybutton.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Shie Erlich 3 | SPDX-FileCopyrightText: 2004 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef DIRHISTORYBUTTON_H 10 | #define DIRHISTORYBUTTON_H 11 | 12 | // QtWidgets 13 | #include 14 | #include 15 | 16 | class QMenu; 17 | class QAction; 18 | class DirHistoryQueue; 19 | 20 | class DirHistoryButton : public QToolButton 21 | { 22 | Q_OBJECT 23 | public: 24 | explicit DirHistoryButton(DirHistoryQueue *hQ, QWidget *parent = nullptr); 25 | ~DirHistoryButton() override; 26 | 27 | void showMenu(); 28 | 29 | signals: 30 | void aboutToShow(); 31 | 32 | private: 33 | QMenu *popupMenu; 34 | DirHistoryQueue *historyQueue; 35 | 36 | public slots: // Public slots 37 | /** No descriptions */ 38 | void slotPopup(); 39 | /** No descriptions */ 40 | void slotAboutToShow(); 41 | /** No descriptions */ 42 | void slotPopupActivated(QAction *); 43 | signals: // Signals 44 | /** No descriptions */ 45 | void gotoPos(int pos); 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /app/Panel/PanelView/krviewproperties.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2017-2022 Krusader Krew 3 | 4 | SPDX-License-Identifier: GPL-2.0-or-later 5 | */ 6 | 7 | #include "krviewproperties.h" 8 | 9 | #include 10 | 11 | KrViewProperties::KrViewProperties(bool displayIcons, 12 | bool numericPermissions, 13 | KrViewProperties::SortOptions sortOptions, 14 | KrViewProperties::SortMethod sortMethod, 15 | bool humanReadableSize, 16 | bool localeAwareCompareIsCaseSensitive, 17 | QStringList atomicExtensions) 18 | : numericPermissions(numericPermissions) 19 | , displayIcons(displayIcons) 20 | , sortColumn(Name) 21 | , sortOptions(sortOptions) 22 | , sortMethod(sortMethod) 23 | , filter(KrViewProperties::All) 24 | , filterMask(KrQuery("*")) 25 | , filterApplysToDirs(false) 26 | , localeAwareCompareIsCaseSensitive(localeAwareCompareIsCaseSensitive) 27 | , humanReadableSize(humanReadableSize) 28 | , atomicExtensions(std::move(atomicExtensions)) 29 | , numberOfColumns(1) 30 | { 31 | } 32 | -------------------------------------------------------------------------------- /app/Dialogs/krmaskchoice.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | #ifndef KRMASKCHOICE_H 9 | #define KRMASKCHOICE_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class QLabel; 15 | class QListWidgetItem; 16 | class QPushButton; 17 | class KComboBox; 18 | class KrListWidget; 19 | 20 | class KrMaskChoice : public QDialog 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit KrMaskChoice(QWidget *parent = nullptr); 26 | ~KrMaskChoice() override; 27 | 28 | KComboBox *selection; 29 | QLabel *PixmapLabel1; 30 | QLabel *label; 31 | KrListWidget *preSelections; 32 | QPushButton *PushButton7; 33 | QPushButton *PushButton7_2; 34 | QPushButton *PushButton7_3; 35 | 36 | public slots: 37 | virtual void addSelection(); 38 | virtual void clearSelections(); 39 | virtual void deleteSelection(); 40 | virtual void acceptFromList(QListWidgetItem *); 41 | virtual void currentItemChanged(QListWidgetItem *); 42 | }; 43 | 44 | #endif // KRMASKCHOICE_H 45 | -------------------------------------------------------------------------------- /app/GUI/krremoteencodingmenu.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | Based on KRemoteEncodingPlugin from Dawit Alemayehu 6 | 7 | SPDX-License-Identifier: GPL-2.0-or-later 8 | */ 9 | 10 | #ifndef KRREMOTEENCODINGMENU_H 11 | #define KRREMOTEENCODINGMENU_H 12 | 13 | // QtCore 14 | #include 15 | // QtWidgets 16 | #include 17 | 18 | #include 19 | 20 | class KActionCollection; 21 | 22 | class KrRemoteEncodingMenu : public KActionMenu 23 | { 24 | Q_OBJECT 25 | public: 26 | KrRemoteEncodingMenu(const QString &text, const QString &iconName, KActionCollection *parent = nullptr); 27 | 28 | protected slots: 29 | 30 | void slotAboutToShow(); 31 | 32 | void slotReload(); 33 | void slotTriggered(QAction *); 34 | 35 | virtual void chooseDefault(); 36 | virtual void chooseEncoding(QString encoding); 37 | 38 | protected: 39 | virtual QString currentCharacterSet(); 40 | 41 | private: 42 | void loadSettings(); 43 | void updateKIOSlaves(); 44 | 45 | QStringList encodingNames; 46 | bool settingsLoaded; 47 | }; 48 | 49 | #endif /* REMOTEENCODING_MENU_H */ 50 | -------------------------------------------------------------------------------- /app/KViewer/diskusageviewer.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef DISKUSAGEVIEWER_H 9 | #define DISKUSAGEVIEWER_H 10 | 11 | #include "../DiskUsage/diskusage.h" 12 | 13 | // QtCore 14 | #include 15 | // QtWidgets 16 | #include 17 | #include 18 | #include 19 | 20 | class DiskUsageViewer : public QWidget 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit DiskUsageViewer(QWidget *parent = nullptr); 26 | ~DiskUsageViewer() override; 27 | 28 | void openUrl(QUrl url); 29 | void closeUrl(); 30 | void setStatusLabel(QLabel *statLabel, QString pref); 31 | 32 | inline DiskUsage *getWidget() 33 | { 34 | return diskUsage; 35 | } 36 | 37 | signals: 38 | void openUrlRequest(const QUrl &); 39 | 40 | protected slots: 41 | void slotUpdateStatus(QString status = QString()); 42 | void slotNewSearch(); 43 | 44 | protected: 45 | DiskUsage *diskUsage; 46 | QGridLayout *layout; 47 | 48 | QLabel *statusLabel; 49 | QString prefix; 50 | }; 51 | 52 | #endif /* DISKUSAGEVIEWER_H */ 53 | -------------------------------------------------------------------------------- /app/Filter/filterdialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef FILTERDIALOG_H 9 | #define FILTERDIALOG_H 10 | 11 | #include "../FileSystem/krquery.h" 12 | #include "filtersettings.h" 13 | 14 | // QtWidgets 15 | #include 16 | 17 | class FilterTabs; 18 | class GeneralFilter; 19 | 20 | class FilterDialog : public QDialog 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | explicit FilterDialog(QWidget *parent = nullptr, const QString &caption = QString(), QStringList extraOptions = QStringList(), bool modal = true); 26 | KrQuery getQuery(); 27 | const FilterSettings &getSettings() 28 | { 29 | return settings; 30 | } 31 | void applySettings(const FilterSettings &s); 32 | bool isExtraOptionChecked(QString name); 33 | void checkExtraOption(QString name, bool check); 34 | 35 | public slots: 36 | void slotCloseRequest(bool doAccept); 37 | void slotReset(); 38 | void slotOk(); 39 | 40 | private: 41 | FilterTabs *filterTabs; 42 | GeneralFilter *generalFilter; 43 | FilterSettings settings; 44 | }; 45 | 46 | #endif /* FILTERDIALOG_H */ 47 | -------------------------------------------------------------------------------- /app/KViewer/viewertabbar.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020-2022 Krusader Krew 3 | 4 | SPDX-License-Identifier: GPL-2.0-or-later 5 | */ 6 | 7 | #ifndef VIEWERTABBAR_H 8 | #define VIEWERTABBAR_H 9 | 10 | // QtWidgets 11 | #include 12 | #include 13 | #include 14 | 15 | class ViewerTabBar; 16 | 17 | /** 18 | * This class extends QTabWidget such that we can use a custom QTabBar on it 19 | */ 20 | class ViewerTabWidget : public QTabWidget 21 | { 22 | Q_OBJECT 23 | public: 24 | explicit ViewerTabWidget(QWidget *parent); 25 | void adjustViewerTabBarVisibility(); 26 | 27 | ViewerTabBar *tabBar() const; 28 | }; 29 | 30 | /** 31 | * This class extends QTabBar such that right-clicking on a tab pops-up a menu 32 | * containing relevant actions for the tab. It also emits signals to close the 33 | * current tab. 34 | */ 35 | class ViewerTabBar : public QTabBar 36 | { 37 | Q_OBJECT 38 | public: 39 | explicit ViewerTabBar(QWidget *parent) 40 | : QTabBar(parent){}; 41 | 42 | protected: 43 | void mousePressEvent(QMouseEvent *) override; 44 | 45 | signals: 46 | /** 47 | * emitted when the user mid-clicks on the tab 48 | */ 49 | void closeTabSignal(int index); 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /.kde-ci.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: None 2 | # SPDX-License-Identifier: CC0-1.0 3 | 4 | Dependencies: 5 | - 'on': ['Linux/Qt6', 'FreeBSD/Qt6'] 6 | 'require': 7 | 'frameworks/extra-cmake-modules': '@latest-kf6' 8 | 'frameworks/karchive': '@latest-kf6' 9 | 'frameworks/kbookmarks': '@latest-kf6' 10 | 'frameworks/kcodecs': '@latest-kf6' 11 | 'frameworks/kcompletion': '@latest-kf6' 12 | 'frameworks/kcoreaddons': '@latest-kf6' 13 | 'frameworks/kconfig': '@latest-kf6' 14 | 'frameworks/kdoctools': '@latest-kf6' 15 | 'frameworks/ki18n': '@latest-kf6' 16 | 'frameworks/kiconthemes': '@latest-kf6' 17 | 'frameworks/kitemviews': '@latest-kf6' 18 | 'frameworks/kio': '@latest-kf6' 19 | 'frameworks/knotifications': '@latest-kf6' 20 | 'frameworks/kparts': '@latest-kf6' 21 | 'frameworks/solid': '@latest-kf6' 22 | 'frameworks/kstatusnotifieritem': '@latest-kf6' 23 | 'frameworks/ktextwidgets': '@latest-kf6' 24 | 'frameworks/kwallet': '@latest-kf6' 25 | 'frameworks/kwidgetsaddons': '@latest-kf6' 26 | 'frameworks/kwindowsystem': '@latest-kf6' 27 | 'frameworks/kxmlgui': '@latest-kf6' 28 | 'frameworks/kguiaddons': '@latest-kf6' 29 | 'frameworks/kcolorscheme': '@latest-kf6' 30 | 31 | Options: 32 | require-passing-tests-on: ['Linux', 'FreeBSD'] 33 | -------------------------------------------------------------------------------- /po/cs/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Příkazy myši 10 | 11 | Příkazy 13 | Myš 15 | 16 | 17 | Použití myši 19 | V této kapitole budete provedeni účinnějším používáním aplikace &krusader; pomocí myši a nastavení gest myši pomocí KHotKeys. Jednoduchým kliknutím myši můžete označit různé části aplikace &krusader;. Další kapitola popisuje režimy označování a jak je lze nastavit: Režimy označování. 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /app/Dialogs/newftpgui.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2009 Fathi Boudra 5 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 6 | 7 | SPDX-License-Identifier: GPL-2.0-or-later 8 | */ 9 | 10 | #ifndef NEWFTPGUI_H 11 | #define NEWFTPGUI_H 12 | 13 | // QtWidgets 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include "../GUI/krhistorycombobox.h" 22 | 23 | /** 24 | * The "New Network Connection" dialog 25 | */ 26 | class newFTPGUI : public QDialog 27 | { 28 | Q_OBJECT 29 | 30 | public: 31 | explicit newFTPGUI(QWidget *parent = nullptr); 32 | ~newFTPGUI() override; 33 | 34 | KComboBox *prefix; 35 | KrHistoryComboBox *url; 36 | QSpinBox *port; 37 | KLineEdit *username; 38 | KLineEdit *password; 39 | 40 | protected: 41 | bool event(QEvent *) override; 42 | 43 | private slots: 44 | void slotTextChanged(const QString &); 45 | 46 | private: 47 | QLabel *iconLabel; 48 | QLabel *aboutLabel; 49 | QLabel *protocolLabel; 50 | QLabel *passwordLabel; 51 | QLabel *hostLabel; 52 | QLabel *usernameLabel; 53 | QLabel *portLabel; 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /doc/handbook/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Mouse Commands 9 | 10 | Commands 11 | Mouse 12 | 13 | 14 | Mouse Usage 15 | In this chapter you will be guided in using 16 | &krusader; effectively with a mouse and to configure 17 | mouse gestures through KHotKeys. By simply clicking the mouse 18 | you can select different sections of &krusader;. 19 | Another chapter describes the selection modes, and how you can 20 | configure them: 21 | Selection Mode 22 | 23 | 24 | 31 | 32 | -------------------------------------------------------------------------------- /po/sv/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Muskommandon 10 | 11 | Kommandon 13 | Mus 15 | 16 | 17 | Musanvändning 19 | I det här kapitlet får du handledning i hur &krusader; används effektivt med en mus, och hur musgester ställs in via Khotkeys. Genom att helt enkelt klicka med musen kan du välja olika delar av &krusader;. Ett annat kapitel beskriver urvalslägen, och hur du kan ställa in dem: Urvalsläge. 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /app/Panel/krpreviewjob.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2009 Jan Lepper 3 | SPDX-FileCopyrightText: 2009-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRPREVIEWJOB_H 9 | #define KRPREVIEWJOB_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | #include 15 | // QtGui 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | class KrViewItem; 22 | class KrPreviews; 23 | 24 | class KrPreviewJob : public KJob 25 | { 26 | friend class KrPreviews; 27 | Q_OBJECT 28 | public: 29 | void start() override 30 | { 31 | } 32 | 33 | protected slots: 34 | void slotStartJob(); 35 | void slotJobResult(KJob *job); 36 | void slotGotPreview(const KFileItem &item, const QPixmap &preview); 37 | void slotFailed(const KFileItem &item); 38 | 39 | protected: 40 | QList _scheduled; 41 | QHash _hash; 42 | KIO::PreviewJob *_job; 43 | QTimer _timer; 44 | KrPreviews *_parent; 45 | 46 | explicit KrPreviewJob(KrPreviews *parent); 47 | ~KrPreviewJob() override; 48 | void scheduleItem(KrViewItem *item); 49 | void removeItem(KrViewItem *item); 50 | 51 | void sort(); 52 | bool doKill() override; 53 | }; 54 | 55 | #endif // __krpreviewjob__ 56 | -------------------------------------------------------------------------------- /app/icon.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2018-2022 Nikita Melnichenko 3 | SPDX-FileCopyrightText: 2018-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef ICON_H 9 | #define ICON_H 10 | 11 | // QtGui 12 | #include 13 | #include 14 | 15 | /** 16 | * @class Icon 17 | * 18 | * Universal icon class for Krusader. 19 | * 20 | * There is a list of configured themes that Icon searches in. 21 | * The order of themes is the following: active theme, theme specified by user, 22 | * fallback themes that provide complete icon set for Krusader. 23 | * If icon is not found in any configured theme, the fallback icon is used. 24 | */ 25 | class Icon : public QIcon 26 | { 27 | public: 28 | Icon(); 29 | explicit Icon(QString name, QStringList overlays = QStringList()); 30 | explicit Icon(QString name, QIcon fallbackIcon, QStringList overlays = QStringList()); 31 | 32 | /// Check if icon exists in any configured theme 33 | static bool exists(const QString &iconName); 34 | 35 | /// Apply overlays to the pixmap with fallbacks to standard emblems 36 | static void applyOverlays(QPixmap *pixmap, QStringList overlays); 37 | 38 | /// Determine if light window theme is currently enabled 39 | static bool isLightWindowThemeActive(); 40 | }; 41 | 42 | #endif // ICON_H 43 | -------------------------------------------------------------------------------- /po/de/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Mausbefehle 10 | 11 | Befehle 13 | Maus 15 | 16 | 17 | Mausbefehle 19 | In diesem Kapitel finden Sie Anleitungen, um &krusader; effektiv mit der Maus zu bedienen und Mausgesten mit KHotKeys einzurichten. Durch einfaches Klicken mit der Maus können Sie verschiedene Abschnitte von &krusader; auswählen. Ein weiteres Kapitel beschreibt die Auswahlmodi und deren Einrichtung. 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /plugins/iso/iso.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 David Faure 3 | SPDX-FileCopyrightText: 2002 Szombathelyi György 4 | SPDX-FileCopyrightText: 2003 Leo Savernik 5 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 6 | 7 | This file is heavily based on ktar from kdelibs 8 | 9 | SPDX-License-Identifier: GPL-2.0-or-later 10 | */ 11 | 12 | #ifndef ISO_H 13 | #define ISO_H 14 | 15 | // QtCore 16 | #include 17 | #include 18 | 19 | #include 20 | 21 | #include "kisofile.h" 22 | 23 | class KIso; 24 | 25 | class kio_isoProtocol : public KIO::WorkerBase 26 | { 27 | public: 28 | kio_isoProtocol(const QByteArray &pool, const QByteArray &app); 29 | virtual ~kio_isoProtocol(); 30 | 31 | virtual KIO::WorkerResult listDir(const QUrl &url) override; 32 | virtual KIO::WorkerResult stat(const QUrl &url) override; 33 | virtual KIO::WorkerResult get(const QUrl &url) override; 34 | 35 | protected: 36 | KIO::WorkerResult getFile(const KIsoFile *isoFileEntry, const QString &path); 37 | void createUDSEntry(const KArchiveEntry *isoEntry, KIO::UDSEntry &entry); 38 | bool checkNewFile(QString fullPath, QString &path, int startsec); 39 | QString getPath(const QUrl &url); 40 | 41 | KIso *m_isoFile; 42 | time_t m_mtime; 43 | int m_mode; 44 | }; 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /po/ca/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Ordres del ratolí 10 | 11 | Ordres 13 | Ratolí 15 | 16 | 17 | Ús del ratolí 19 | En aquest capítol, us guiarem a utilitzar el &krusader; amb eficàcia amb un ratolí i per a configurar els gestos del ratolí a través del KHotKeys. Simplement fent clic al ratolí podreu seleccionar diferents seccions del &krusader;. Un altre capítol descriu els modes de selecció i com podeu configurar-los: Mode de selecció 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /po/nl/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Besturing met de muis 10 | 11 | Commando's 13 | Muis 15 | 16 | 17 | Gebruik van de muis 19 | In deze sectie zult u een gids vinden over hoe &krusader; effectief met een muis te gebruiken en muisgebaren via KHotKeys in te stellen. Door eenvoudig met de muis te klikken kunt u verschillende secties van &krusader; selecteren. Een andere sectie beschrijft de selectiemodes en hoe u ze kunt instellen: Selectiemodus 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /po/it/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Comandi del mouse 10 | 11 | Comandi 13 | Mouse 15 | 16 | 17 | Uso del mouse 19 | In questo capitolo sarai guidato nell'uso di &krusader; per mezzo del mouse e nella configurazione dei movimenti del mouse per mezzo di KHotKeys. Un semplice clic del mouse ti consente di selezionare le differenti sezioni di &krusader;. Un altro capitolo descrive le modalità di selezione, e come puoi configurarle: Modalità di selezione 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /po/uk/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Керування за допомогою миші 10 | 11 | Команди 13 | Миша 15 | 16 | 17 | Використання миші 19 | У цій главі ми пояснимо як ефективно керувати &krusader; за допомогою миші і налаштувати жести мишею за допомогою KHotKeys. Простим клацанням кнопкою миші ви можете задіяти різні функціональні можливості &krusader;. Ще одну главу підручника присвячено опису режимів вибору та їх налаштуванню, ця глава називається Режим вибору. 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /po/pt_BR/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Comandos do mouse 10 | 11 | Comandos 13 | Mouse 15 | 16 | 17 | Uso do mouse 19 | Neste capítulo, você será conduzido pela utilização efetiva do &krusader; com um mouse, assim como configurar os gestos do mouse através do KHotKeys. Ao clicar simplesmente com o mouse, você poderá selecionar as diferentes seções do &krusader;. Outro capítulo descreve os modos de seleção, podendo configurá-los posteriormente: Modo de Seleção 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /po/pt/docs/krusader/krusader-tools.docbook: -------------------------------------------------------------------------------- 1 | 19 | 20 | Ferramentas do &krusader; 22 | &bookmarks; &diskusage; &search; &viewer-editor; &locate; &mount; &remote-connections; &synchronizer; &krusader-useractions; 23 | -------------------------------------------------------------------------------- /app/Panel/krerrordisplay.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "krerrordisplay.h" 9 | #include 10 | 11 | #include "krcolorcache.h" 12 | 13 | KrErrorDisplay::KrErrorDisplay(QWidget *parent) 14 | : QLabel(parent) 15 | , _currentDim(100) 16 | { 17 | setAutoFillBackground(true); 18 | _startColor = QColor(240, 150, 150); 19 | QPalette p(palette()); 20 | _targetColor = p.color(QPalette::Window); 21 | p.setColor(QPalette::Window, _startColor); 22 | setPalette(p); 23 | 24 | _dimTimer.setSingleShot(true); 25 | connect(&_dimTimer, &QTimer::timeout, this, &KrErrorDisplay::slotTimeout); 26 | } 27 | 28 | void KrErrorDisplay::setText(const QString &text) 29 | { 30 | QLabel::setText(text); 31 | _currentDim = 100; 32 | 33 | QPalette p(palette()); 34 | p.setColor(QPalette::Window, _startColor); 35 | setPalette(p); 36 | 37 | _dimTimer.start(5000); 38 | } 39 | 40 | void KrErrorDisplay::slotTimeout() 41 | { 42 | _currentDim -= 2; 43 | dim(); 44 | if (_currentDim > 0) 45 | _dimTimer.start(50); 46 | } 47 | 48 | void KrErrorDisplay::dim() 49 | { 50 | QPalette p(palette()); 51 | p.setColor(QPalette::Window, KrColorCache::dimColor(_startColor, _currentDim, _targetColor)); 52 | setPalette(p); 53 | } 54 | -------------------------------------------------------------------------------- /app/Synchronizer/synchronizerdirlist.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2006 Csaba Karai 3 | SPDX-FileCopyrightText: 2006-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef SYNCHRONIZERDIRLIST_H 9 | #define SYNCHRONIZERDIRLIST_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | #include "../FileSystem/fileitem.h" 18 | 19 | class SynchronizerDirList : public QObject, public QHash 20 | { 21 | Q_OBJECT 22 | 23 | public: 24 | SynchronizerDirList(QWidget *w, bool ignoreHidden); 25 | ~SynchronizerDirList() override; 26 | 27 | FileItem *search(const QString &name, bool ignoreCase = false); 28 | FileItem *first(); 29 | FileItem *next(); 30 | 31 | inline const QString &url() 32 | { 33 | return currentUrl; 34 | } 35 | bool load(const QString &urlIn, bool wait = false); 36 | 37 | public slots: 38 | 39 | void slotEntries(KIO::Job *job, const KIO::UDSEntryList &entries); 40 | void slotListResult(KJob *job); 41 | 42 | signals: 43 | void finished(bool err); 44 | 45 | private: 46 | QHashIterator *fileIterator; //< Point to a dictionary of file items 47 | QWidget *parentWidget; 48 | bool busy; 49 | bool result; 50 | bool ignoreHidden; 51 | QString currentUrl; 52 | }; 53 | 54 | #endif /* __SYNCHRONIZER_DIR_LIST_H__ */ 55 | -------------------------------------------------------------------------------- /app/Konfigurator/krresulttabledialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Dirk Eschler 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRRESULTTABLEDIALOG_H 9 | #define KRRESULTTABLEDIALOG_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | #include "../Konfigurator/krresulttable.h" 15 | 16 | class KrResultTableDialog : public QDialog 17 | { 18 | public: 19 | enum DialogType { Archiver = 1, Tool = 2 }; 20 | 21 | KrResultTableDialog(QWidget *parent, 22 | DialogType type, 23 | const QString &caption, 24 | const QString &heading, 25 | const QString &headerIcon = QString(), 26 | const QString &hint = QString()); 27 | virtual ~KrResultTableDialog(); 28 | 29 | const QString &getHeading() const 30 | { 31 | return _heading; 32 | } 33 | const QString &getHint() const 34 | { 35 | return _hint; 36 | } 37 | void setHeading(const QString &s) 38 | { 39 | _heading = s; 40 | } 41 | void setHint(const QString &s) 42 | { 43 | _hint = s; 44 | } 45 | 46 | public slots: 47 | void showHelp(); 48 | 49 | protected: 50 | QString _heading; 51 | QString _hint; 52 | QString helpAnchor; 53 | 54 | KrResultTable *_resultTable; 55 | }; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /plugins/iso/kisofile.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KISOFILE_H 9 | #define KISOFILE_H 10 | 11 | // QtCore 12 | #include 13 | 14 | #include 15 | 16 | class KIsoFile : public KArchiveFile 17 | { 18 | public: 19 | KIsoFile(KArchive *archive, 20 | const QString &name, 21 | int access, 22 | time_t date, 23 | time_t adate, 24 | time_t cdate, 25 | const QString &user, 26 | const QString &group, 27 | const QString &symlink, 28 | long long pos, 29 | long long size); 30 | ~KIsoFile(); 31 | void setZF(char algo[2], char parms[2], long long realsize); 32 | time_t adate() const 33 | { 34 | return m_adate; 35 | } 36 | time_t cdate() const 37 | { 38 | return m_cdate; 39 | } 40 | long long realsize() const 41 | { 42 | return m_realsize; 43 | } 44 | 45 | virtual QByteArray dataAt(long long pos, long long count) const; 46 | 47 | private: 48 | /* hide this member function, it's broken by design, because the full 49 | data often requires too much memory */ 50 | char m_algo[2], m_parms[2]; 51 | long long m_realsize; 52 | time_t m_adate, m_cdate; 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /po/fr/docs/krusader/mouse-commands.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Les commandes avec la souris 10 | 11 | Commandes 13 | Souris 15 | 16 | 17 | Utilisation de la souris 19 | Dans ce chapitre, vous serez guidé efficacement dans l'utilisation de &krusader; avec une souris et pour configurer les mouvements de la souris avec KHotKeys. En cliquant simplement sur la souris, vous pouvez sélectionner différentes sections de &krusader;. D'autres chapitres décrivent les modes de sélection, et la manière dont vous pouvez les configurer : Mode de sélection. 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /app/KViewer/viewertabbar.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020-2022 Krusader Krew 3 | 4 | SPDX-License-Identifier: GPL-2.0-or-later 5 | */ 6 | 7 | #include "viewertabbar.h" 8 | 9 | // QtGui 10 | #include 11 | 12 | #include 13 | 14 | #include "../defaults.h" 15 | #include "../krglobal.h" 16 | 17 | ViewerTabWidget::ViewerTabWidget(QWidget *parent) 18 | : QTabWidget(parent) 19 | { 20 | setTabBar(new ViewerTabBar(this)); 21 | } 22 | 23 | void ViewerTabWidget::adjustViewerTabBarVisibility() 24 | { 25 | if (count() > 1) { 26 | tabBar()->show(); 27 | } else if (count() == 1) { 28 | KConfigGroup group(krConfig, "General"); 29 | bool hideSingleTab = group.readEntry("Viewer Hide Single Tab", _ViewerHideSingleTab); 30 | if (hideSingleTab) 31 | tabBar()->hide(); 32 | } 33 | return; 34 | } 35 | 36 | ViewerTabBar *ViewerTabWidget::tabBar() const 37 | { 38 | return dynamic_cast(QTabWidget::tabBar()); 39 | } 40 | 41 | void ViewerTabBar::mousePressEvent(QMouseEvent *e) 42 | { 43 | int clickedTab = tabAt(e->pos()); 44 | 45 | if (-1 == clickedTab) { // clicked on nothing ... 46 | QTabBar::mousePressEvent(e); 47 | return; 48 | } 49 | 50 | setCurrentIndex(clickedTab); 51 | 52 | if (e->button() == Qt::MiddleButton) { 53 | // close the current tab 54 | emit closeTabSignal(clickedTab); 55 | } 56 | 57 | QTabBar::mousePressEvent(e); 58 | } 59 | -------------------------------------------------------------------------------- /app/Panel/krcalcspacedialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Shie Erlich 3 | SPDX-FileCopyrightText: 2004 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRCALCSPACEDIALOG_H 10 | #define KRCALCSPACEDIALOG_H 11 | 12 | // QtWidgets 13 | #include 14 | #include 15 | #include 16 | 17 | class SizeCalculator; 18 | 19 | /** Dialog showing the number of files and directories and its total size for a calculation. */ 20 | class KrCalcSpaceDialog : public QDialog 21 | { 22 | Q_OBJECT 23 | public: 24 | /** 25 | * Create and show a dialog. If delayed is true the dialog is shown with a delay of 2 seconds 26 | * to avoid a short appearance and is autoclosed when the calculation finished. 27 | */ 28 | static void showDialog(QWidget *parent, SizeCalculator *calculator); 29 | void closeEvent(QCloseEvent *) override; 30 | void keyPressEvent(QKeyEvent *e) override; 31 | 32 | private slots: 33 | void slotCancel(); // cancel was pressed 34 | void slotCalculatorFinished(); 35 | void updateResult(); // show the current result in the dialog 36 | 37 | private: 38 | KrCalcSpaceDialog(QWidget *parent, SizeCalculator *calculator); 39 | SizeCalculator *const m_calculator; 40 | 41 | QLabel *m_label; 42 | QDialogButtonBox *m_buttonBox; 43 | 44 | QTimer *m_updateTimer; 45 | }; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /app/Panel/krpreviews.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2009 Jan Lepper 3 | SPDX-FileCopyrightText: 2009-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRPREVIEWS_H 9 | #define KRPREVIEWS_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | #include 15 | // QtGui 16 | #include 17 | #include 18 | 19 | class KJob; 20 | class KrView; 21 | class KrViewItem; 22 | class KrPreviewJob; 23 | class FileItem; 24 | 25 | class KrPreviews : public QObject 26 | { 27 | friend class KrPreviewJob; 28 | Q_OBJECT 29 | public: 30 | explicit KrPreviews(KrView *view); 31 | ~KrPreviews() override; 32 | 33 | bool getPreview(const FileItem *file, QPixmap &pixmap, bool active); 34 | void updatePreview(KrViewItem *item); 35 | void deletePreview(KrViewItem *item); 36 | // updates all items for which no preview has been loaded yet 37 | void update(); 38 | void clear(); 39 | 40 | protected slots: 41 | void slotRefreshColors(); 42 | void slotJobResult(KJob *job); 43 | 44 | protected: 45 | void addPreview(const FileItem *file, const QPixmap &preview); 46 | void removePreview(const FileItem *file); 47 | 48 | KrPreviewJob *_job; 49 | bool _dim; 50 | QColor _dimColor; 51 | int _dimFactor; 52 | QHash _previews; 53 | QHash _previewsInactive; 54 | KrView *_view; 55 | }; 56 | 57 | #endif // __krpreviews__ 58 | -------------------------------------------------------------------------------- /app/GUI/recentlyclosedtabsmenu.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | Based on KrRemoteEncodingMenu (© Csaba Karai and Krusader Krew) 6 | from Krusader and DolphinRecentTabsMenu (© Emmanuel Pescosta) 7 | from Dolphin. 8 | 9 | SPDX-License-Identifier: GPL-2.0-or-later 10 | */ 11 | 12 | #ifndef RECENTLYCLOSEDTABSMENU_H 13 | #define RECENTLYCLOSEDTABSMENU_H 14 | 15 | #include 16 | 17 | class KActionCollection; 18 | class TabActions; 19 | 20 | /** 21 | * A menu to perform operations with a list of recently closed tabs 22 | */ 23 | class RecentlyClosedTabsMenu : public KActionMenu 24 | { 25 | Q_OBJECT 26 | friend class PanelManager; 27 | 28 | public: 29 | explicit RecentlyClosedTabsMenu(const QString &text, const QString &iconName, KActionCollection *parent = nullptr); 30 | 31 | protected slots: 32 | void slotTriggered(QAction *action); 33 | 34 | private: 35 | QAction *updateAfterClosingATab(const QUrl &urlClosedTab, const QByteArray &backedUpData, TabActions *argTabActions); 36 | QAction *actClearTheList; 37 | TabActions *tabActions = nullptr; 38 | 39 | //! Krusader saves information about closed tabs until its quantity reaches that limit 40 | const int maxClosedTabs = 6; 41 | 42 | //! The quantity of fixed menu entries (the "Empty Recently Closed Tabs" one and a separator) 43 | const int quantFixedMenuEntries = 2; 44 | }; 45 | 46 | #endif // RECENTLYCLOSEDTABSMENU_H 47 | -------------------------------------------------------------------------------- /app/BookMan/krbookmarkbutton.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #include "krbookmarkbutton.h" 10 | #include "../compat.h" 11 | #include "../icon.h" 12 | #include "../krglobal.h" 13 | #include "krbookmarkhandler.h" 14 | 15 | // QtGui 16 | #include 17 | // QtWidgets 18 | #include 19 | #include 20 | 21 | #include 22 | 23 | KrBookmarkButton::KrBookmarkButton(QWidget *parent) 24 | : QToolButton(parent) 25 | { 26 | setAutoRaise(true); 27 | setIcon(Icon("bookmarks")); 28 | setText(i18n("BookMan II")); 29 | setToolTip(i18n("BookMan II")); 30 | setPopupMode(QToolButton::InstantPopup); 31 | setAcceptDrops(false); 32 | 33 | acmBookmarks = new KActionMenu(Icon("bookmarks"), i18n("Bookmarks"), this); 34 | acmBookmarks->KACTIONMENU_SETDELAYED; 35 | 36 | setMenu(acmBookmarks->menu()); 37 | connect(acmBookmarks->menu(), &QMenu::aboutToShow, this, &KrBookmarkButton::populate); 38 | connect(acmBookmarks->menu(), &QMenu::aboutToShow, this, &KrBookmarkButton::aboutToShow); 39 | } 40 | 41 | void KrBookmarkButton::populate() 42 | { 43 | krBookMan->populate(static_cast(menu())); 44 | } 45 | 46 | void KrBookmarkButton::showMenu() 47 | { 48 | populate(); 49 | menu()->exec(mapToGlobal(QPoint(0, height()))); 50 | } 51 | -------------------------------------------------------------------------------- /app/Panel/PanelView/krviewitemdelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2009 Csaba Karai 3 | SPDX-FileCopyrightText: 2009-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRVIEWITEMDELEGATE_H 9 | #define KRVIEWITEMDELEGATE_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | class KrViewItemDelegate : public QItemDelegate 15 | { 16 | public: 17 | explicit KrViewItemDelegate(QObject *parent = nullptr); 18 | 19 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; 20 | void drawDisplay(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, const QString &text) const override; 21 | QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &sovi, const QModelIndex &index) const override; 22 | void setEditorData(QWidget *editor, const QModelIndex &index) const override; 23 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; 24 | bool eventFilter(QObject *object, QEvent *event) override; 25 | 26 | /// Set the next file name selection in the editor. 27 | void cycleEditorSelection(); 28 | 29 | private: 30 | mutable int _currentlyEdited; 31 | mutable bool _dontDraw; 32 | mutable QWidget *_editor; 33 | 34 | /// Init editor-related members when editor is closed. 35 | void onEditorClose() 36 | { 37 | _currentlyEdited = -1; 38 | _editor = nullptr; 39 | } 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /app/Splitter/splittergui.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef SPLITTERGUI_H 9 | #define SPLITTERGUI_H 10 | 11 | // QtCore 12 | #include 13 | // QtWidgets 14 | #include 15 | 16 | #include 17 | #include 18 | 19 | class QComboBox; 20 | class QCheckBox; 21 | class QDoubleSpinBox; 22 | 23 | class SplitterGUI : public QDialog 24 | { 25 | Q_OBJECT 26 | private: 27 | struct PredefinedDevice; 28 | 29 | static const QList &predefinedDevices(); 30 | 31 | KIO::filesize_t userDefinedSize; 32 | int lastSelectedDevice; 33 | KIO::filesize_t division; 34 | 35 | QDoubleSpinBox *spinBox; 36 | QComboBox *deviceCombo; 37 | QComboBox *sizeCombo; 38 | QCheckBox *overwriteCb; 39 | KUrlRequester *urlReq; 40 | 41 | public: 42 | SplitterGUI(QWidget *parent, const QUrl &fileURL, const QUrl &defaultDir); 43 | ~SplitterGUI() override; 44 | 45 | QUrl getDestinationDir() 46 | { 47 | return urlReq->url(); 48 | } 49 | KIO::filesize_t getSplitSize(); 50 | bool overWriteFiles(); 51 | 52 | public slots: 53 | virtual void sizeComboActivated(int item); 54 | virtual void predefinedComboActivated(int item); 55 | virtual void splitPressed(); 56 | 57 | protected: 58 | void keyPressEvent(QKeyEvent *e) override; 59 | }; 60 | 61 | #endif /* __SPLITTERGUI_H__ */ 62 | -------------------------------------------------------------------------------- /plugins/krarc/krarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "KDE-KIO-Protocols": { 3 | "krarc": { 4 | "Class": ":local", 5 | "Icon": "package-x-generic", 6 | "archiveMimetype": [ 7 | "application/x-7z", 8 | "application/x-7z-compressed", 9 | "application/x-ace", 10 | "application/x-ace-compressed", 11 | "application/x-arj", 12 | "application/x-arj-compressed", 13 | "application/x-cpio", 14 | "application/x-lha", 15 | "application/x-lha-compressed", 16 | "application/x-rar", 17 | "application/x-rar-compressed", 18 | "application/vnd.rar", 19 | "application/zip", 20 | "application/x-zip", 21 | "application/x-zip-compressed" 22 | ], 23 | "copyToFile": true, 24 | "deleting": true, 25 | "input": "filesystem", 26 | "linking": false, 27 | "listing": [ 28 | "Name", 29 | "Type", 30 | "Size", 31 | "Date", 32 | "Access", 33 | "Owner", 34 | "Group", 35 | "Link" 36 | ], 37 | "makedir": true, 38 | "moving": false, 39 | "output": "filesystem", 40 | "protocol": "krarc", 41 | "reading": true, 42 | "source": true, 43 | "writing": true 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /app/Konfigurator/kgpanel.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGPANEL_H 9 | #define KGPANEL_H 10 | 11 | #include "konfiguratorpage.h" 12 | 13 | class KrTreeWidget; 14 | class KrViewInstance; 15 | 16 | class KgPanel : public KonfiguratorPage 17 | { 18 | Q_OBJECT 19 | 20 | public: 21 | explicit KgPanel(bool first, QWidget *parent = nullptr); 22 | 23 | int activeSubPage() override; 24 | bool apply() override; 25 | 26 | protected: 27 | KonfiguratorCheckBoxGroup *panelToolbarButtonsCheckboxes; 28 | KonfiguratorCheckBoxGroup *buttonsCheckboxes; 29 | KonfiguratorRadioButtons *mouseRadio; 30 | KonfiguratorCheckBoxGroup *mouseCheckboxes; 31 | KrTreeWidget *mousePreview; 32 | 33 | protected slots: 34 | void slotEnablePanelToolbar(); 35 | void slotSelectionModeChanged(); 36 | void slotMouseCheckBoxChanged(); 37 | 38 | private: 39 | void setupGeneralTab(); 40 | void setupPanelTab(); 41 | void setupButtonsTab(); 42 | void setupMouseModeTab(); 43 | void setupMediaMenuTab(); 44 | void setupLayoutTab(); 45 | void setupView(KrViewInstance *instance, QWidget *parent); 46 | void createIgnoredMountpointsList(QWidget *tab, QBoxLayout *tabLayout); 47 | void slotAddMountpoint(); 48 | void slotRemoveMountpoint(); 49 | QTabWidget *tabWidget; 50 | KonfiguratorListBox *listBox; 51 | }; 52 | 53 | #endif /* __KGPANEL_H__ */ 54 | -------------------------------------------------------------------------------- /app/DiskUsage/dufilelight.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef DUFILELIGHT_H 9 | #define DUFILELIGHT_H 10 | 11 | // QtGui 12 | #include 13 | 14 | #include "diskusage.h" 15 | #include "filelightParts/Config.h" 16 | #include "radialMap/widget.h" 17 | 18 | class DUFilelight : public RadialMap::Widget 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | explicit DUFilelight(DiskUsage *usage); 24 | 25 | File *getCurrentFile(); 26 | 27 | public slots: 28 | void slotDirChanged(Directory *); 29 | void clear(); 30 | void slotChanged(File *); 31 | void slotRefresh(); 32 | 33 | protected slots: 34 | void slotAboutToShow(int); 35 | 36 | void schemeRainbow() 37 | { 38 | setScheme(Filelight::Rainbow); 39 | } 40 | void schemeHighContrast() 41 | { 42 | setScheme(Filelight::HighContrast); 43 | } 44 | void schemeKDE() 45 | { 46 | setScheme(Filelight::KDE); 47 | } 48 | 49 | void increaseContrast(); 50 | void decreaseContrast(); 51 | void changeAntiAlias(); 52 | void showSmallFiles(); 53 | void varyLabelFontSizes(); 54 | void minFontSize(); 55 | 56 | protected: 57 | void mousePressEvent(QMouseEvent *) override; 58 | 59 | void setScheme(Filelight::MapScheme); 60 | 61 | DiskUsage *diskUsage; 62 | Directory *currentDir; 63 | 64 | private: 65 | bool refreshNeeded; 66 | }; 67 | 68 | #endif /* __DU_FILELIGHT_H__ */ 69 | -------------------------------------------------------------------------------- /app/tabactions.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2011 Jan Lepper 5 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 6 | 7 | SPDX-License-Identifier: GPL-2.0-or-later 8 | */ 9 | 10 | #ifndef TABACTIONS_H 11 | #define TABACTIONS_H 12 | 13 | #include "actionsbase.h" 14 | 15 | class KrMainWindow; 16 | class PanelManager; 17 | 18 | class TabActions : public ActionsBase 19 | { 20 | friend class PanelTabBar; 21 | friend class RecentlyClosedTabsMenu; 22 | 23 | Q_OBJECT 24 | 25 | public: 26 | TabActions(QObject *parent, KrMainWindow *mainWindow); 27 | 28 | public slots: 29 | void refreshActions(); 30 | 31 | protected slots: 32 | void newTab(); 33 | void duplicateTab(); 34 | void lockTab(); 35 | void pinTab(); 36 | void closeTab(); 37 | void undoCloseTab(); 38 | void nextTab(); 39 | void previousTab(); 40 | void closeInactiveTabs(); 41 | void closeDuplicatedTabs(); 42 | void moveTabToOtherSide(); 43 | void moveTabToLeft(); 44 | void moveTabToRight(); 45 | 46 | protected: 47 | inline PanelManager *activeManager(); 48 | 49 | QAction *actNewTab; 50 | QAction *actDupTab, *actCloseTab, *actUndoCloseTab; 51 | QAction *actPreviousTab, *actNextTab, *actMoveTabToOtherSide; 52 | QAction *actCloseInactiveTabs, *actCloseDuplicatedTabs, *actLockTab, *actPinTab; 53 | QAction *actMoveTabToLeft, *actMoveTabToRight; 54 | }; 55 | 56 | #endif // TABACTIONS_H 57 | -------------------------------------------------------------------------------- /app/Panel/viewactions.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef VIEWACTIONS_H 9 | #define VIEWACTIONS_H 10 | 11 | #include "../actionsbase.h" 12 | 13 | // QtWidgets 14 | #include 15 | 16 | class KrView; 17 | 18 | class ViewActions : public ActionsBase 19 | { 20 | Q_OBJECT 21 | public: 22 | ViewActions(QObject *parent, KrMainWindow *mainWindow); 23 | 24 | public slots: 25 | // zoom 26 | void zoomIn(); 27 | void zoomOut(); 28 | void defaultZoom(); 29 | 30 | // filter 31 | void allFilter(); 32 | // void execFilter(); 33 | void customFilter(); 34 | 35 | // selection 36 | void markAll(); 37 | void unmarkAll(); 38 | void markGroup(); 39 | void unmarkGroup(); 40 | void invertSelection(); 41 | void restoreSelection(); 42 | void markSameBaseName(); 43 | void markSameExtension(); 44 | 45 | void showOptionsMenu(); 46 | void saveDefaultSettings(); 47 | void applySettingsToOthers(); 48 | void focusPanel(); 49 | void togglePreviews(bool show); 50 | 51 | void refreshActions(); 52 | 53 | public: 54 | QAction *actZoomIn, *actZoomOut, *actDefaultZoom; 55 | QAction *actSelect, *actUnselect, *actSelectAll, *actUnselectAll, *actInvert, *actRestoreSelection; 56 | QAction *actMarkSameBaseName, *actMarkSameExtension; 57 | KToggleAction *actTogglePreviews; 58 | 59 | protected: 60 | KrView *view(); 61 | }; 62 | 63 | #endif // VIEWACTIONS_H 64 | -------------------------------------------------------------------------------- /app/BookMan/kraddbookmarkdlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRADDBOOKMARKDLG_H 10 | #define KRADDBOOKMARKDLG_H 11 | 12 | #include "../GUI/krtreewidget.h" 13 | #include "krbookmark.h" 14 | 15 | // QtCore 16 | #include 17 | #include 18 | // QtWidgets 19 | #include 20 | #include 21 | 22 | #include 23 | 24 | class KrAddBookmarkDlg : public QDialog 25 | { 26 | Q_OBJECT 27 | public: 28 | explicit KrAddBookmarkDlg(QWidget *parent, const QUrl &url = QUrl()); 29 | QUrl url() const 30 | { 31 | return QUrl::fromUserInput(_url->text(), QString(), QUrl::AssumeLocalFile); 32 | } 33 | QString name() const 34 | { 35 | return _name->text(); 36 | } 37 | KrBookmark *folder() const; 38 | 39 | protected: 40 | QWidget *createInWidget(); 41 | void populateCreateInWidget(KrBookmark *root, QTreeWidgetItem *parent); 42 | 43 | protected slots: 44 | void toggleCreateIn(bool show); 45 | void slotSelectionChanged(); 46 | void newFolder(); 47 | 48 | private: 49 | KLineEdit *_name; 50 | KLineEdit *_url; 51 | KLineEdit *_folder; 52 | KrTreeWidget *_createIn; 53 | QMap _xr; 54 | QToolButton *_createInBtn; 55 | QPushButton *newFolderButton; 56 | QWidget *detailsWidget; 57 | }; 58 | 59 | #endif // KRADDBOOKMARKDLG_H 60 | -------------------------------------------------------------------------------- /app/DiskUsage/dulines.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef DULINES_H 9 | #define DULINES_H 10 | 11 | // QtGui 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include "../GUI/krtreewidget.h" 18 | #include "diskusage.h" 19 | 20 | class DULinesToolTip; 21 | class DULinesItemDelegate; 22 | 23 | class DULines : public KrTreeWidget 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit DULines(DiskUsage *usage); 29 | ~DULines() override; 30 | 31 | File *getCurrentFile(); 32 | 33 | public slots: 34 | void slotDirChanged(Directory *dirEntry); 35 | void sectionResized(int); 36 | void slotRightClicked(QTreeWidgetItem *, const QPoint &); 37 | void slotChanged(File *); 38 | void slotDeleted(File *); 39 | void slotShowFileSizes(); 40 | void slotRefresh(); 41 | 42 | protected: 43 | DiskUsage *diskUsage; 44 | 45 | bool event(QEvent *event) override; 46 | void mouseDoubleClickEvent(QMouseEvent *e) override; 47 | void keyPressEvent(QKeyEvent *e) override; 48 | void resizeEvent(QResizeEvent *) override; 49 | 50 | private: 51 | QPixmap createPixmap(int percent, int maxPercent, int maxWidth); 52 | 53 | bool doubleClicked(QTreeWidgetItem *item); 54 | 55 | bool refreshNeeded; 56 | bool started; 57 | 58 | bool showFileSize; 59 | 60 | DULinesToolTip *toolTip; 61 | DULinesItemDelegate *itemDelegate; 62 | }; 63 | 64 | #endif /* __DU_LINES_H__ */ 65 | -------------------------------------------------------------------------------- /app/Konfigurator/kgprotocols.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KGPROTOCOLS_H 9 | #define KGPROTOCOLS_H 10 | 11 | // QtWidgets 12 | #include 13 | 14 | #include "../GUI/krlistwidget.h" 15 | #include "../GUI/krtreewidget.h" 16 | #include "konfiguratorpage.h" 17 | 18 | class KgProtocols : public KonfiguratorPage 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | explicit KgProtocols(bool first, QWidget *parent = nullptr); 24 | 25 | void loadInitialValues() override; 26 | void setDefaults() override; 27 | bool apply() override; 28 | bool isChanged() override; 29 | 30 | static void init(); 31 | 32 | public slots: 33 | void slotDisableButtons(); 34 | void slotAddProtocol(); 35 | void slotRemoveProtocol(); 36 | void slotAddMime(); 37 | void slotRemoveMime(); 38 | 39 | protected: 40 | void loadProtocols(); 41 | void loadMimes(); 42 | void addSpacer(QBoxLayout *parent); 43 | 44 | void addProtocol(const QString &name, bool changeCurrent = false); 45 | void removeProtocol(const QString &name); 46 | void addMime(QString name, const QString &protocol); 47 | void removeMime(const QString &name); 48 | 49 | KrTreeWidget *linkList; 50 | 51 | KrListWidget *protocolList; 52 | KrListWidget *mimeList; 53 | 54 | QPushButton *btnAddProtocol; 55 | QPushButton *btnRemoveProtocol; 56 | QPushButton *btnAddMime; 57 | QPushButton *btnRemoveMime; 58 | }; 59 | 60 | #endif /* __KgProtocols_H__ */ 61 | -------------------------------------------------------------------------------- /po/fr/docs/krusader/checksum.docbook: -------------------------------------------------------------------------------- 1 | 2 | Création et vérification de somme de contrôle 4 | 5 | Somme de contrôle 7 | 8 | Fichier Créer une somme de contrôle  : &krusader; vérifie quels outils sont installés et si ces outils permettent une opération récursive (dans le cas où vous avez sélectionné des dossiers). Vous pouvez générer une somme de contrôle en choisissant le type de somme de contrôle depuis la liste (md5, sha...). Vous pouvez ensuite enregistrer la somme de contrôle dans un fichier, habituellement appelé somme_de_contrôle.md5 ou somme_de_contrôle.sha1. 18 | Fichier Vérifier la somme de contrôle  : &krusader; vérifie si vous avez un outil qui gère le type de somme de contrôle dont vous avez besoin (depuis votre fichier de somme de contrôle spécifié) et affiche les fichiers qui ont échoué à la vérification de la somme de contrôle (s'il y en a). 28 | Le système prend en compte différents mécanismes et d'outils de somme de contrôle. Pour le moment, les somme de contrôle suivantes sont gérées : md5, sha1, sha256, sha224, sha256, sha384, sha512, tiger, whirlpool, cfv and crc. Veuillez vérifier votre Configuration des outils de somme de contrôle avant d'utiliser cette fonctionnalité. 32 | 33 | -------------------------------------------------------------------------------- /app/Dialogs/krpleasewait.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRPLEASEWAIT_H 10 | #define KRPLEASEWAIT_H 11 | 12 | // QtCore 13 | #include 14 | #include 15 | // QtGui 16 | #include 17 | // QtWidgets 18 | #include 19 | 20 | #include 21 | 22 | class KrPleaseWait; 23 | 24 | class KrPleaseWaitHandler : public QObject 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit KrPleaseWaitHandler(QWidget *parentWindow); 30 | 31 | public slots: 32 | 33 | void startWaiting(const QString &msg, int count = 0, bool cancel = false); 34 | void stopWait(); 35 | void cycleProgress(); 36 | void incProgress(int i); 37 | void killJob(); 38 | void setJob(KIO::Job *j); 39 | bool wasCancelled() const 40 | { 41 | return _wasCancelled; 42 | } 43 | 44 | private: 45 | QWidget *_parentWindow; 46 | QPointer job; 47 | KrPleaseWait *dlg; 48 | bool cycle, cycleMutex, incMutex, _wasCancelled; 49 | }; 50 | 51 | class KrPleaseWait : public QProgressDialog 52 | { 53 | Q_OBJECT 54 | public: 55 | KrPleaseWait(const QString &msg, QWidget *parent, int count = 0, bool cancel = false); 56 | 57 | public slots: 58 | void incProgress(int howMuch); 59 | void cycleProgress(); 60 | 61 | protected: 62 | bool inc; 63 | QTimer *timer; 64 | void closeEvent(QCloseEvent *e) override; 65 | bool canClose; 66 | }; 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /app/krmainwindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRMAINWINDOW_H 9 | #define KRMAINWINDOW_H 10 | 11 | #include 12 | #include 13 | 14 | #include "abstractpanelmanager.h" 15 | 16 | class KActionCollection; 17 | class KrPanel; 18 | class KrActions; 19 | class KrView; 20 | class ListPanelActions; 21 | class PopularUrls; 22 | class TabActions; 23 | class ViewActions; 24 | 25 | /** 26 | * @brief Abstract file manager main window 27 | */ 28 | class KrMainWindow 29 | { 30 | public: 31 | virtual ~KrMainWindow() 32 | { 33 | } 34 | virtual QWidget *widget() = 0; 35 | virtual KrView *activeView() = 0; 36 | virtual ViewActions *viewActions() = 0; 37 | virtual KActionCollection *actions() = 0; 38 | virtual AbstractPanelManager *activeManager() = 0; 39 | virtual AbstractPanelManager *leftManager() = 0; 40 | virtual AbstractPanelManager *rightManager() = 0; 41 | virtual PopularUrls *popularUrls() = 0; 42 | virtual KrActions *krActions() = 0; 43 | virtual ListPanelActions *listPanelActions() = 0; 44 | virtual TabActions *tabActions() = 0; 45 | virtual void plugActionList(const char *name, QList &list) = 0; 46 | 47 | KrPanel *activePanel() 48 | { 49 | return activeManager()->currentPanel(); 50 | } 51 | KrPanel *leftPanel() 52 | { 53 | return leftManager()->currentPanel(); 54 | } 55 | KrPanel *rightPanel() 56 | { 57 | return rightManager()->currentPanel(); 58 | } 59 | }; 60 | 61 | #endif // KRMAINWINDOW_H 62 | -------------------------------------------------------------------------------- /po/it/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Funzioni avanzate&vfs; &compare; &occupied-space; &splitter; &checksum; Invia file per posta elettronica Seleziona un file ed utilizza il menu contestuale Invia per posta elettronica . Verrà aperta una nuova finestra di &kmail; con il file già allegato. Inserisci l'oggetto ed i destinatari ed invia il messaggio. Ovviamente, &kmail; deve essere correttamente configurato. &profiles; 23 | Permessi ACL 25 | I permessi ACL sono pienamente supportati quando si stanno utilizzando le proprietà, mantieni attributi e la sincronizzazione. Per vedere/modificare i permessi ACL, seleziona un file ed usa il menu contestuale: Proprietà... Permessi Permessi avanzati . In Copia/Sposta vengono copiati anche i permessi ACL. Anche la sincronizzazione mantiene i permessi ACL. 39 | 41 | -------------------------------------------------------------------------------- /po/sv/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Avancerade funktioner&vfs; &compare; &occupied-space; &splitter; &checksum; Skicka filer med e-post Markera en fil och använd högerklicksmenyn Skicka med e-post . Att välja alternativet öppnar ett nytt &kmail;-fönster med filen redan bilagd. Fyll bara i rubriken och mottagaren eller mottagarna och skicka det. Naturligtvis måste &kmail; vara riktigt inställt. &profiles; 23 | ACL-behörigheter 25 | ACL-behörigheter stöds helt och hållet vid användning av egenskaper, bevara attribut och synkroniseraren. För att visa eller ändra ACL-behörigheter, markera en fil och använd den sammanhangsberoende menyn: Egenskaper... Skydd Avancerat åtkomstskydd . ACL-behörigheter kopieras också vid kopiering eller förflyttning. Synkroniseraren behåller också ACL-behörigheter. 39 | 41 | -------------------------------------------------------------------------------- /app/total_commander.color: -------------------------------------------------------------------------------- 1 | (Alternate Background6Alternate Marked Background(Alternate BackgroundBackground$Current Background0,85,127$Current Foreground255,255,2556Enable Alternate BackgroundtrueForeground(Directory Foreground*Executable Foreground$Symlink Foreground4Invalid Symlink Foreground:Inactive Alternate BackgroundHInactive Alternate Marked Background&Inactive Background6Inactive Current Foreground6Inactive Current Background160,160,1604Inactive Marked BackgroundDInactive Marked Current Foreground4Inactive Marked Foreground&Inactive Foreground:Inactive Directory Foreground<Inactive Executable Foreground6Inactive Symlink ForegroundFInactive Invalid Symlink ForegroundKDE Default 2 | false"Marked BackgroundBackground2Marked Current Foreground255,0,0"Marked Foreground255,0,00Show Current Item Alwaystrue 3 | -------------------------------------------------------------------------------- /app/midnight_commander.color: -------------------------------------------------------------------------------- 1 | (Alternate BackgroundBackground6Alternate Marked BackgroundBackground24,24,178$Current Background24,178,178$Current Foreground 2 | 0,0,06Enable Alternate BackgroundForeground177,177,178(Directory Foreground255,255,255*Executable Foreground84,254,85$Symlink Foreground4Invalid Symlink Foreground:Inactive Alternate BackgroundHInactive Alternate Marked Background&Inactive Background6Inactive Current Foreground6Inactive Current Background4Inactive Marked BackgroundDInactive Marked Current Foreground4Inactive Marked Foreground&Inactive Foreground:Inactive Directory Foreground<Inactive Executable Foreground6Inactive Symlink ForegroundFInactive Invalid Symlink ForegroundKDE Default"Marked BackgroundBackground2Marked Current Foreground254,254,85"Marked Foreground254,254,850Show Current Item Always 3 | -------------------------------------------------------------------------------- /app/Konfigurator/konfigurator.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2000 Shie Erlich 3 | SPDX-FileCopyrightText: 2000 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KONFIGURATOR_H 10 | #define KONFIGURATOR_H 11 | 12 | #include "konfiguratorpage.h" 13 | 14 | // QtCore 15 | #include 16 | 17 | #include 18 | 19 | class QString; 20 | class QResizeEvent; 21 | class QCloseEvent; 22 | 23 | class Konfigurator : public KPageDialog 24 | { 25 | Q_OBJECT 26 | 27 | signals: 28 | void configChanged(bool isGUIRestartNeeded); 29 | 30 | public: 31 | explicit Konfigurator(bool f = false, int startPage = 0); // true if Konfigurator is run for the first time 32 | 33 | void reject() override; 34 | 35 | protected: 36 | void newPage(KonfiguratorPage *, const QString &, const QString &, const QIcon &); // adds widget and connects to slot 37 | void createLayout(int startPage); 38 | void closeDialog(); 39 | 40 | void resizeEvent(QResizeEvent *e) override; 41 | void closeEvent(QCloseEvent *event) override; 42 | 43 | protected slots: 44 | void slotApplyEnable(); 45 | bool slotPageSwitch(KPageWidgetItem *, KPageWidgetItem *); 46 | void slotRestorePage(); 47 | void slotClose(); 48 | void slotApply(); 49 | void slotReset(); 50 | void slotRestoreDefaults(); 51 | void slotShowHelp(); 52 | 53 | private: 54 | QList kgPages; 55 | bool firstTime; 56 | KPageWidgetItem *lastPage; 57 | bool internalCall; 58 | QTimer restoreTimer; 59 | int sizeX; 60 | int sizeY; 61 | }; 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /po/de/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Fortgeschrittene Funktionen&vfs; &compare; &occupied-space; &splitter; &checksum; Dateien per E-Mail senden Wählen Sie eine Datei und dann im KontextmenüPer E-Mail versenden . Damit öffnen Sie den Nachrichten-Editor von &kmail;, die ausgewählte Datei ist bereits angehängt. Geben Sie noch Empfänger und Betreff an und versenden dann die Datei. Dazu muss &kmail; natürlich richtig eingerichtet sein. &profiles; 23 | ACL-Berechtigungen 25 | ACL-Berechtigungen werden vollständig unterstützt, wenn Eigenschaften oder das Abgleichen verwendet werden. Um ACL-Berechtigungen anzusehen oder zu bearbeiten, wählen Sie eine Datei oder einen Ordner aus und klicken im Kontextmenü auf Eigenschaften Berechtigungen Erweiterte Berechtigungen . Beim Kopieren und Verschieben wie auch beim Abgleichen bleiben die ACL-Berechtigungen erhalten. 39 | 41 | -------------------------------------------------------------------------------- /po/pt_BR/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Funções avançadas&vfs; &compare; &occupied-space; &splitter; &checksum; Enviar os arquivos por e-mail Selecione um arquivo e use o Menu do botão direito Enviar por e-mail . Se selecionar esta opção, irá abrir uma nova janela do &kmail; com o arquivo já em anexo. Basta preencher o assunto e os destinatários para enviá-lo a seguir. Obviamente, o &kmail; deverá estar devidamente configurado. &profiles; 23 | Permissões da ACL 25 | As permissões da ACL são suportadas por completo, ao usar as propriedades, para preservar os atributos e a sincronização. Para ver/modificar as permissões da ACL, selecione um arquivo e use o Menu de contexto: Propriedades... Permissões Permissões avançadas . No Copiar/Mover, as permissões da ACL serão também copiadas. O módulo de sincronização também faz a manutenção das permissões da ACL. 39 | 41 | -------------------------------------------------------------------------------- /app/Filter/filtertabs.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef FILTERTABS_H 9 | #define FILTERTABS_H 10 | 11 | // QtCore 12 | #include 13 | 14 | #include "filterbase.h" 15 | 16 | class QTabWidget; 17 | 18 | class FilterTabs : public QObject 19 | { 20 | Q_OBJECT 21 | 22 | public: 23 | enum { 24 | HasProfileHandler = 0x1000, 25 | HasRecurseOptions = 0x2000, 26 | HasSearchIn = 0x4000, 27 | HasDontSearchIn = 0x8000, 28 | 29 | Default = 0xe000 30 | }; 31 | 32 | static FilterTabs *addTo(QTabWidget *tabWidget, int props = FilterTabs::Default, QStringList extraOptions = QStringList()); 33 | static KrQuery getQuery(QWidget *parent = nullptr); 34 | 35 | FilterBase *get(const QString &name); 36 | bool isExtraOptionChecked(QString name); 37 | void checkExtraOption(QString name, bool check); 38 | FilterSettings getSettings(); 39 | void applySettings(const FilterSettings &s); 40 | void reset(); 41 | 42 | public slots: 43 | void loadFromProfile(const QString &); 44 | void saveToProfile(const QString &); 45 | bool fillQuery(KrQuery *query); 46 | void close(bool accept = true) 47 | { 48 | emit closeRequest(accept); 49 | } 50 | 51 | signals: 52 | void closeRequest(bool accept = true); 53 | 54 | private: 55 | FilterTabs(int properties, QTabWidget *tabWidget, QObject *parent, QStringList extraOptions); 56 | void acceptQuery(); 57 | 58 | QList filterList; 59 | QList pageNumbers; 60 | 61 | QTabWidget *tabWidget; 62 | }; 63 | 64 | #endif /* FILTERTABS_H */ 65 | -------------------------------------------------------------------------------- /po/ca/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Funcions avançades&vfs; &compare; &occupied-space; &splitter; &checksum; Enviar fitxers per correu electrònic Se selecciona un fitxer i utilitzeu el menú del clic dret Envia per correu electrònic. Seleccionant aquesta opció s'obrirà una finestra nova del &kmail; amb aquest fitxer ja adjuntat. Simplement ompliu l'assumpte i el/s destinatari/s, i envieu-lo. Per descomptat, el &kmail; haurà d'estar adequadament configurat. &profiles; 23 | Permisos de l'ACL 25 | Els permisos de l'ACL estan completament admesos quan s'utilitzen propietats, conservant els atributs i el sincronitzador. Per a visualitzar/modificar els permisos de l'ACL, seleccioneu un fitxer i utilitzeu el menú contextual: Propietats... Permisos Permisos avançats. A Copia/Mou, també es copiaran els permisos de l'ACL. El sincronitzador també mantindrà els permisos de l'ACL. 39 | 41 | -------------------------------------------------------------------------------- /app/Panel/dirhistoryqueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Shie Erlich 3 | SPDX-FileCopyrightText: 2004 Rafi Yanai 4 | SPDX-FileCopyrightText: 2010 Jan Lepper 5 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 6 | 7 | SPDX-License-Identifier: GPL-2.0-or-later 8 | */ 9 | 10 | #ifndef DIRHISTORYQUEUE_H 11 | #define DIRHISTORYQUEUE_H 12 | 13 | // QtCore 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | 20 | class KrPanel; 21 | 22 | class DirHistoryQueue : public QObject 23 | { 24 | Q_OBJECT 25 | public: 26 | explicit DirHistoryQueue(KrPanel *panel); 27 | ~DirHistoryQueue() override; 28 | 29 | void clear(); 30 | int currentPos() 31 | { 32 | return _currentPos; 33 | } 34 | qsizetype count() 35 | { 36 | return _urlQueue.count(); 37 | } 38 | QUrl currentUrl(); 39 | void setCurrentUrl(const QUrl &url); 40 | const QUrl &get(int pos) 41 | { 42 | return _urlQueue[pos]; 43 | } 44 | void add(QUrl url, const QString ¤tItem); 45 | QUrl gotoPos(int pos); 46 | QUrl goBack(); 47 | QUrl goForward(); 48 | bool canGoBack() 49 | { 50 | return _currentPos < count() - 1; 51 | } 52 | bool canGoForward() 53 | { 54 | return _currentPos > 0; 55 | } 56 | QString currentItem(); // current item of the view 57 | 58 | void save(KConfigGroup cfg); 59 | bool restore(const KConfigGroup &cfg); 60 | 61 | public slots: 62 | void saveCurrentItem(); 63 | 64 | private: 65 | KrPanel *_panel; 66 | int _currentPos; 67 | QList _urlQueue; 68 | QStringList _currentItems; 69 | }; 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /po/es/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Funciones avanzadas&vfs; &compare; &occupied-space; &splitter; &checksum; Enviar archivos por correo electrónico Seleccione un archivo y utilice el menú emergente que aparece al hacer clic derecho Enviar por correo electrónico . Al seleccionar esta opción se abrirá una ventana nueva de &kmail; con el archivo anexado. Rellene el tema y el(los) destinatario(s) y envíelo. Por supuesto, &kmail; debe estar configurado correctamente. &profiles; 23 | Permisos de la LCA 25 | Los permisos de la LCA se soportan completamente al utilizar las propiedades, preservar los atributos y el sincronizador. Para ver/modificar los permisos de la LCA, seleccione un archivo y utilice el menú contextual: Propiedades... Permisos Permisos avanzados . Al copiar/mover, también se copian los permisos de la LCA. El sincronizador también mantiene los permisos de la LCA. 39 | 41 | -------------------------------------------------------------------------------- /po/cs/docs/krusader/occupied-space.docbook: -------------------------------------------------------------------------------- 1 | 2 | Spočítat obsazené místo 4 | 5 | Obsazené místo 7 | 8 | 9 | Jsou dva způsoby vypočítání obsazeného místa soubory/adresáři. 11 | 12 | 13 | Stisknutí Mezerníku u adresáře s kursorem přímo vypočítá velikost obsazeného místa. Stisknutí Mezerníku podruhé zruší výběr adresáře bez zásahu do stavu výběru ostatních souborů/adresářů. 19 | 20 | 21 | Chcete-li vypočítat kolik místa na disku zabírají vybrané soubory a adresáře v aktivním panelu zvolte Úpravy Spočítat obsazené místo . Po menším zpoždění bude zobrazeno dialogové okno s celkovým obsazeným místem a počtem souborů a adresářů, které jste vybrali. Místo obsazené všemi vybranými adresáři bude zobrazeno, jako kdyby uživatel u těchto adresářů stiskl jen Mezerník. Prochází-li aktivní panel archivem, pak se bude počet vztahovat k velikosti rozbalených vybraných souborů, nikoli k jejich komprimované velikosti. Po vypočítání bude stav výběru přepnut a kursor se přesune o jeden krok dolů. 31 | 32 | 33 | Podporováno je i vypočítání obsazeného místa na vzdáleném systému souborů. Provedení této operace ve velmi velkém systémů souborů (tisíce souborů) může být časově náročné. Kliknutím na tlačítko Zrušit kdykoli zrušíte proces výpočtu. 39 | 41 | 42 | -------------------------------------------------------------------------------- /app/Dialogs/kurllistrequester.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2005 Csaba Karai 3 | SPDX-FileCopyrightText: 2005-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KURLLISTREQUESTER_H 9 | #define KURLLISTREQUESTER_H 10 | 11 | // QtGui 12 | #include 13 | // QtWidgets 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | 20 | #include "../GUI/krlistwidget.h" 21 | 22 | /** 23 | * Widget for letting the user define a list of URLs. 24 | */ 25 | class KURLListRequester : public QWidget 26 | { 27 | Q_OBJECT 28 | 29 | public: 30 | enum Mode { RequestFiles, RequestDirs }; 31 | 32 | explicit KURLListRequester(Mode requestMode, QWidget *parent = nullptr); 33 | 34 | QList urlList(); 35 | void setUrlList(const QList &); 36 | 37 | KLineEdit *lineEdit() 38 | { 39 | return urlLineEdit; 40 | } 41 | KrListWidget *listBox() 42 | { 43 | return urlListBox; 44 | } 45 | 46 | void setCompletionDir(const QUrl &dir) 47 | { 48 | completion.setDir(dir); 49 | } 50 | 51 | signals: 52 | void checkValidity(QString &text, QString &error); 53 | void changed(); 54 | 55 | protected slots: 56 | void slotAdd(); 57 | void slotBrowse(); 58 | void slotRightClicked(QListWidgetItem *, const QPoint &); 59 | 60 | protected: 61 | void keyPressEvent(QKeyEvent *e) override; 62 | void deleteSelectedItems(); 63 | 64 | Mode mode; 65 | 66 | KLineEdit *urlLineEdit; 67 | KrListWidget *urlListBox; 68 | QToolButton *urlAddBtn; 69 | QToolButton *urlBrowseBtn; 70 | 71 | KUrlCompletion completion; 72 | }; 73 | 74 | #endif /* __KURLLISTREQUESTER_H__ */ 75 | -------------------------------------------------------------------------------- /app/Panel/krlayoutfactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2010 Jan Lepper 3 | SPDX-FileCopyrightText: 2010-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef KRLAYOUTFACTORY_H 9 | #define KRLAYOUTFACTORY_H 10 | 11 | // QtCore 12 | #include 13 | #include 14 | // QtWidgets 15 | #include 16 | #include 17 | #include 18 | // QtXml 19 | #include 20 | 21 | class ListPanel; 22 | 23 | class KrLayoutFactory 24 | { 25 | public: 26 | KrLayoutFactory(ListPanel *panel, QHash &widgets) 27 | : panel(panel) 28 | , widgets(widgets) 29 | { 30 | } 31 | // creates the layout and adds the widgets to it 32 | QLayout *createLayout(QString layoutName = QString()); 33 | 34 | static QStringList layoutNames(); 35 | static QString layoutDescription(const QString &layoutName); 36 | 37 | private: 38 | QBoxLayout *createLayout(const QDomElement &e, QWidget *parent); 39 | QWidget *createFrame(const QDomElement &e, QWidget *parent); 40 | 41 | static bool parseFiles(); 42 | static bool parseFile(const QString &path, QDomDocument &doc); 43 | static bool parseResource(const QString &path, QDomDocument &doc); 44 | static bool parseContent(const QString &content, const QString &fileName, QDomDocument &doc); 45 | static void getLayoutNames(const QDomDocument &doc, QStringList &names); 46 | static QDomElement findLayout(const QDomDocument &doc, const QString &layoutName); 47 | 48 | ListPanel *const panel; 49 | QHash &widgets; 50 | 51 | static bool _parsed; 52 | static QDomDocument _mainDoc; 53 | static QList _extraDocs; 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /app/Search/krsearchmod.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2001 Shie Erlich 3 | SPDX-FileCopyrightText: 2001 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRSEARCHMOD_H 10 | #define KRSEARCHMOD_H 11 | 12 | // QtCore 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | 22 | class KrQuery; 23 | class FileItem; 24 | class FileSystem; 25 | class DefaultFileSystem; 26 | class VirtualFileSystem; 27 | 28 | /** 29 | * Search for files based on a search query. 30 | * 31 | * Subdirectories are included if query->isRecursive() is true. 32 | */ 33 | class KrSearchMod : public QObject 34 | { 35 | Q_OBJECT 36 | public: 37 | explicit KrSearchMod(const KrQuery *query); 38 | ~KrSearchMod() override; 39 | 40 | void start(); 41 | void stop(); 42 | 43 | private: 44 | void scanUrl(const QUrl &url); 45 | void scanDirectory(const QUrl &url); 46 | FileSystem *getFileSystem(const QUrl &url); 47 | 48 | signals: 49 | void searching(const QString &url); 50 | void found(const FileItem &file, const QString &foundText); 51 | // NOTE: unused 52 | void error(const QUrl &url); 53 | void finished(); 54 | 55 | private slots: 56 | void slotProcessEvents(bool &stopped); 57 | 58 | private: 59 | KrQuery *m_query; 60 | DefaultFileSystem *m_defaultFileSystem; 61 | VirtualFileSystem *m_virtualFileSystem; 62 | 63 | bool m_stopSearch; 64 | 65 | QStack m_scannedUrls; 66 | QStack m_unScannedUrls; 67 | QElapsedTimer m_timer; 68 | }; 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /app/Dialogs/krsqueezedtextlabel.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Shie Erlich 3 | SPDX-FileCopyrightText: 2002 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRSQUEEZEDTEXTLABEL_H 10 | #define KRSQUEEZEDTEXTLABEL_H 11 | 12 | // QtGui 13 | #include 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | class QMouseEvent; 20 | class QDragEnterEvent; 21 | class QPaintEvent; 22 | 23 | /** 24 | This class overloads KSqueezedTextLabel and simply adds a clicked signal, 25 | so that users will be able to click the label and switch focus between panels. 26 | 27 | NEW: a special setText() method allows to choose which part of the string should 28 | be displayed (example: make sure that search results won't be cut out) 29 | */ 30 | class KrSqueezedTextLabel : public KSqueezedTextLabel 31 | { 32 | Q_OBJECT 33 | public: 34 | explicit KrSqueezedTextLabel(QWidget *parent = nullptr); 35 | ~KrSqueezedTextLabel() override; 36 | 37 | public slots: 38 | void setText(const QString &text, qsizetype index = -1, qsizetype length = -1); 39 | 40 | signals: 41 | void clicked(QMouseEvent *); /**< emitted when someone clicks on the label */ 42 | 43 | protected: 44 | void resizeEvent(QResizeEvent *) override 45 | { 46 | squeezeTextToLabel(_index, _length); 47 | } 48 | void mousePressEvent(QMouseEvent *e) override; 49 | void paintEvent(QPaintEvent *e) override; 50 | void squeezeTextToLabel(qsizetype index = -1, qsizetype length = -1); 51 | 52 | QString fullText; 53 | 54 | private: 55 | qsizetype _index, _length; 56 | }; 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /app/Panel/panelcontextmenu.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Shie Erlich 3 | SPDX-FileCopyrightText: 2003 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef PANELCONTEXTMENU_H 10 | #define PANELCONTEXTMENU_H 11 | 12 | // QtWidgets 13 | #include 14 | 15 | #include 16 | #include 17 | 18 | class KrPanel; 19 | 20 | /** 21 | * The right-click context menu for files and folders in the panel view. 22 | * 23 | * An instance is created each time a menu is shown. 24 | */ 25 | class PanelContextMenu : public QMenu 26 | { 27 | Q_OBJECT 28 | public: 29 | static PanelContextMenu *run(const QPoint &pos, KrPanel *panel); 30 | 31 | private: 32 | explicit PanelContextMenu(KrPanel *thePanel, QWidget *parent = nullptr); 33 | 34 | void performAction(int id); 35 | void addEmptyMenuEntries(); // adds the choices for a menu without selected items 36 | void addCreateNewMenu(); // adds a "create new" submenu 37 | 38 | enum ID { 39 | OPEN_ID, 40 | BROWSE_ID, 41 | OPEN_TERM_ID, 42 | OPEN_TAB_ID, 43 | PREVIEW_ID, 44 | CHOOSE_ID, 45 | DELETE_ID, 46 | MOUNT_ID, 47 | UNMOUNT_ID, 48 | TRASH_ID, 49 | NEW_LINK_ID, 50 | NEW_SYMLINK_ID, 51 | REDIRECT_LINK_ID, 52 | EMPTY_TRASH_ID, 53 | RESTORE_TRASHED_FILE_ID, 54 | SYNC_SELECTED_ID, 55 | SEND_BY_EMAIL_ID, 56 | EJECT_ID, 57 | SERVICE_LIST_ID // ALWAYS KEEP THIS ONE LAST!!! 58 | }; 59 | 60 | private: 61 | KrPanel *const panel; 62 | KFileItemList _items; 63 | KService::List offers; 64 | }; 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /po/nl/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Geavanceerde functies&vfs; &compare; &occupied-space; &splitter; &checksum; Bestanden per e-mail verzenden Selecteer een bestand en gebruik Menu bij rechts klikken Per e-mail verzenden . Door deze optie te kiezen opent u een nieuw &kmail;-venster met het bestand al bijgevoegd. Vul gewoon het onderwerp en de ontvanger(s) in en verzend het. Natuurlijk moet &kmail; juist zijn geconfigureerd. &profiles; 23 | ACL-toegangsrechten 25 | ACL-toegangsrechten worden volledig ondersteund bij gebruik van eigenschappen, attributen bewaren en het synchronisatieprogramma. Om de ACL-toegangsrechten te bekijken of te wijzigen, selecteert u een bestand en gebruikt u het Contextmenu: Eigenschappen... Toegangsrechten Geavanceerde toegangsrechten . Bij Kopiëren/Verplaatsen zullen de ACL-toegangsrechten ook worden gekopieerd. Het programma voor synchronisatie bewaart ook de ACL-toegangsrechten. 39 | 41 | -------------------------------------------------------------------------------- /app/DiskUsage/filelightParts/Config.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Shie Erlich 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "Config.h" 9 | 10 | // QtGui 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | bool Config::varyLabelFontSizes = true; 18 | bool Config::showSmallFiles = false; 19 | uint Config::contrast = 50; 20 | uint Config::antiAliasFactor = 2; 21 | uint Config::minFontPitch = 10; 22 | uint Config::defaultRingDepth = 4; 23 | Filelight::MapScheme Config::scheme; 24 | 25 | inline KConfigGroup Filelight::Config::kconfig() 26 | { 27 | KSharedConfigPtr config = KSharedConfig::openConfig(); 28 | return KConfigGroup(config, "DiskUsage"); 29 | } 30 | 31 | void Filelight::Config::read() 32 | { 33 | KConfigGroup group = kconfig(); 34 | 35 | varyLabelFontSizes = group.readEntry("varyLabelFontSizes", true); 36 | showSmallFiles = group.readEntry("showSmallFiles", false); 37 | contrast = group.readEntry("contrast", 50); 38 | antiAliasFactor = group.readEntry("antiAliasFactor", 2); 39 | minFontPitch = group.readEntry("minFontPitch", QFont().pointSize() - 3); 40 | scheme = (MapScheme)group.readEntry("scheme", 0); 41 | 42 | defaultRingDepth = 4; 43 | } 44 | 45 | void Filelight::Config::write() 46 | { 47 | KConfigGroup group = kconfig(); 48 | 49 | group.writeEntry("varyLabelFontSizes", varyLabelFontSizes); 50 | group.writeEntry("showSmallFiles", showSmallFiles); 51 | group.writeEntry("contrast", contrast); 52 | group.writeEntry("antiAliasFactor", antiAliasFactor); 53 | group.writeEntry("minFontPitch", minFontPitch); 54 | group.writeEntry("scheme", (int)scheme); 55 | } 56 | -------------------------------------------------------------------------------- /doc/handbook/checksum.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Checksum Creation and Verification 9 | 10 | Checksum 11 | 12 | 13 | 14 | File 15 | Create Checksum... 16 | : 17 | &krusader; checks which tools you have 18 | and if those tools allow recursive operation (in case you 19 | selected folders), you can generate a checksum by choosing a 20 | checksum type from the list (md5, 21 | sha, &etc;). You can then save the 22 | checksum to a file, usually called checksum.md5 23 | or checksum.sha1. 24 | 25 | 26 | File 27 | Verify Checksum... 28 | : 29 | &krusader; checks if you have a tool that 30 | supports the type of checksum you need (from your specified 31 | checksum file) and displays the files that failed the checksum 32 | (if any). 33 | The system abstracts over different checksum mechanisms and 34 | Checksum Utilities. At the moment, the following checksums are 35 | supported: md5, sha1, sha256, sha224, sha256, sha384, sha512, 36 | tiger, whirlpool, cfv and crc. Please check your 37 | Checksum Utilities 38 | settings before using this function. 39 | 40 | -------------------------------------------------------------------------------- /app/Synchronizer/synchronizedialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef SYNCHRONIZEDIALOG_H 9 | #define SYNCHRONIZEDIALOG_H 10 | 11 | // QtWidgets 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "synchronizer.h" 19 | 20 | class SynchronizeDialog : QDialog 21 | { 22 | Q_OBJECT 23 | 24 | public: 25 | SynchronizeDialog(QWidget *, Synchronizer *sync, int, KIO::filesize_t, int, KIO::filesize_t, int, KIO::filesize_t, int); 26 | ~SynchronizeDialog() override; 27 | 28 | inline bool wasSyncronizationStarted() 29 | { 30 | return syncStarted; 31 | } 32 | 33 | public slots: 34 | void startSynchronization(); 35 | void synchronizationFinished(); 36 | void processedSizes(int, KIO::filesize_t, int, KIO::filesize_t, int, KIO::filesize_t); 37 | void pauseOrResume(); 38 | void pauseAccepted(); 39 | 40 | private: 41 | QProgressBar *progress; 42 | 43 | QCheckBox *cbRightToLeft; 44 | QCheckBox *cbLeftToRight; 45 | QCheckBox *cbDeletable; 46 | 47 | QLabel *lbRightToLeft; 48 | QLabel *lbLeftToRight; 49 | QLabel *lbDeletable; 50 | 51 | QCheckBox *cbOverwrite; 52 | 53 | QPushButton *btnStart; 54 | QPushButton *btnPause; 55 | 56 | Synchronizer *synchronizer; 57 | 58 | int leftCopyNr; 59 | KIO::filesize_t leftCopySize; 60 | int rightCopyNr; 61 | KIO::filesize_t rightCopySize; 62 | int deleteNr; 63 | KIO::filesize_t deleteSize; 64 | 65 | int parallelThreads; 66 | 67 | bool isPause; 68 | bool syncStarted; 69 | }; 70 | 71 | #endif /* __SYNCHRONIZE_DIALOG__ */ 72 | -------------------------------------------------------------------------------- /po/sv/docs/krusader/checksum.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Skapa och verifiera checksummor 10 | 11 | Checksumma 13 | 14 | Arkiv Skapa checksumma... : &krusader; kontrollerar vilka verktyg du har, och om verktygen tillåter rekursiv användning (i det fall då du valt kataloger). Du kan skapa en checksumma genom att välja typ av checksumma i listan (md5, sha, etc.). Därefter kan du spara checksumman i en fil, som oftast kallas checksumma.md5 eller checksumma.sha1. 30 | Arkiv Verifiera checksumma... : &krusader; kontrollerar om du har ett verktyg som stöder den typ av checksumma du behöver (från den angivna checksummefilen) och visar filerna där checksummeringen misslyckades (om det finns några). 38 | Systemet generaliserar olika mekanismer och verktyg för checksummering. För närvarande stöds följande checksummor: md5, sha1, sha256, sha224, sha256, sha384, sha512, tiger, whirlpool, cfv och crc. Kontrollera inställningen av checksummeringshjälpmedel innan funktionen används. 42 | 43 | -------------------------------------------------------------------------------- /po/uk/docs/krusader/advanced-functions.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Додаткові функції&vfs; &compare; &occupied-space; &splitter; &checksum; Надсилання файлів електронною поштою Позначте файл і скористайтеся пунктом контекстне меню Надіслати ел. поштою . Після вибору цього пункту програма відкриє нове вікно &kmail; з вказаним файлом, який буде долучено до повідомлення. Вам достатньо буде вказати тему повідомлення і отримувача, а потім надіслати повідомлення. Звичайно ж, &kmail; має бути налаштовано належним чином. &profiles; 23 | Дозволи ACL 25 | Дозволи ACL повністю підтримуються інструментами властивостей файлів, збереження атрибутів і синхронізації (типово вимкнено під час збирання програми). Щоб переглянути або змінити дозволи ACL, позначте файл і скористайтеся пунктом контекстне меню: Властивості... Дозволи Розширені права доступу . Під час виконання дій з копіювання/пересування програма скопіює і атрибути ACL. Інструмент синхронізації також зберігає права доступу ACL. 39 | 41 | -------------------------------------------------------------------------------- /plugins/krarc/krlinecountingprocess.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2001 Shie Erlich 3 | SPDX-FileCopyrightText: 2001 Rafi Yanai 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #include "krlinecountingprocess.h" 10 | 11 | KrLinecountingProcess::KrLinecountingProcess() 12 | { 13 | setOutputChannelMode(KProcess::SeparateChannels); // without this output redirection has no effect! 14 | connect(this, &KrLinecountingProcess::readyReadStandardError, this, &KrLinecountingProcess::receivedError); 15 | connect(this, &KrLinecountingProcess::readyReadStandardOutput, [=]() { 16 | receivedOutput(); 17 | }); 18 | mergedOutput = true; 19 | } 20 | 21 | void KrLinecountingProcess::setMerge(bool value) 22 | { 23 | mergedOutput = value; 24 | } 25 | 26 | QString KrLinecountingProcess::getErrorMsg() 27 | { 28 | if (errorData.trimmed().isEmpty()) 29 | return QString::fromLocal8Bit(outputData); 30 | else 31 | return QString::fromLocal8Bit(errorData); 32 | } 33 | 34 | void KrLinecountingProcess::receivedError() 35 | { 36 | QByteArray newData(this->readAllStandardError()); 37 | emit newErrorLines(newData.count('\n')); 38 | errorData += newData; 39 | if (errorData.length() > 500) 40 | errorData = errorData.right(500); 41 | if (mergedOutput) 42 | receivedOutput(newData); 43 | } 44 | 45 | void KrLinecountingProcess::receivedOutput(QByteArray newData) 46 | { 47 | if (newData.isEmpty()) 48 | newData = this->readAllStandardOutput(); 49 | emit newOutputLines(newData.count('\n')); 50 | emit newOutputData(this, newData); 51 | outputData += newData; 52 | if (outputData.length() > 500) 53 | outputData = outputData.right(500); 54 | } 55 | -------------------------------------------------------------------------------- /plugins/krarc/krarcbasemanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2003 Rafi Yanai 3 | SPDX-FileCopyrightText: 2003 Shie Erlich 4 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 5 | 6 | SPDX-License-Identifier: GPL-2.0-or-later 7 | */ 8 | 9 | #ifndef KRARCBASEMANAGER_H 10 | #define KRARCBASEMANAGER_H 11 | 12 | #include 13 | #include 14 | 15 | // QtCore 16 | #include 17 | 18 | /*! 19 | * \brief An abstract base class for managing archives. 20 | */ 21 | class KrArcBaseManager 22 | { 23 | private: 24 | //! Information about a type of archive and the bytes that are used to detect it. 25 | struct AutoDetectParams { 26 | QString type; 27 | int location; 28 | QByteArray detectionString; 29 | }; 30 | 31 | static AutoDetectParams autoDetectParams[]; //! Information used to detect if a file is an archive 32 | static int autoDetectElems; //!< The size of autoDetectParams[] 33 | 34 | protected: 35 | //! The maximum length of a short QString that represents the type of a file 36 | static const int maxLenType; 37 | //! The configuration file for Krusader 38 | KConfig krConf; 39 | //! The 'Dependencies' config group 40 | KConfigGroup dependGrp; 41 | 42 | //! Search for the full path to a program 43 | QString fullPathName(const QString &name); 44 | //! Find the path to a 7z (or 7za) executable 45 | QString find7zExecutable(); 46 | 47 | static bool checkStatus(const QString &, int); 48 | 49 | public: 50 | KrArcBaseManager(); 51 | QString detectArchive(bool &, const QString &, bool = true, bool = false); 52 | virtual void checkIf7zIsEncrypted(bool &, QString) = 0; 53 | static QString getShortTypeFromMime(const QString &); 54 | virtual ~KrArcBaseManager() 55 | { 56 | } 57 | }; 58 | 59 | #endif // KRARCBASEMANAGER_H 60 | -------------------------------------------------------------------------------- /plugins/iso/kisofile.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2002 Szombathelyi György 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #include "kisofile.h" 9 | 10 | KIsoFile::KIsoFile(KArchive *archive, 11 | const QString &name, 12 | int access, 13 | time_t date, 14 | time_t adate, 15 | time_t cdate, 16 | const QString &user, 17 | const QString &group, 18 | const QString &symlink, 19 | long long pos, 20 | long long size) 21 | : KArchiveFile(archive, name, access, QDateTime::fromSecsSinceEpoch(static_cast(date)), user, group, symlink, pos, size) 22 | { 23 | m_adate = adate; 24 | m_cdate = cdate; 25 | m_algo[0] = 0; 26 | m_algo[1] = 0; 27 | m_parms[0] = 0; 28 | m_parms[1] = 0; 29 | m_realsize = 0; 30 | } 31 | 32 | KIsoFile::~KIsoFile() = default; 33 | 34 | void KIsoFile::setZF(char algo[2], char parms[2], long long realsize) 35 | { 36 | m_algo[0] = algo[0]; 37 | m_algo[1] = algo[1]; 38 | m_parms[0] = parms[0]; 39 | m_parms[1] = parms[1]; 40 | m_realsize = realsize; 41 | } 42 | 43 | QByteArray KIsoFile::dataAt(long long pos, long long count) const 44 | { 45 | QByteArray r; 46 | qint64 rlen; 47 | 48 | if (archive()->device()->seek(position() + pos)) { 49 | r.resize(static_cast(((pos + count) < size()) ? count : size() - pos)); 50 | if (r.size()) { 51 | rlen = archive()->device()->read(r.data(), r.size()); 52 | if (rlen == -1) 53 | r.resize(0); 54 | else if (rlen != (int)r.size()) 55 | r.resize(static_cast(rlen)); 56 | } 57 | } 58 | 59 | return r; 60 | } 61 | -------------------------------------------------------------------------------- /po/de/docs/krusader/checksum.docbook: -------------------------------------------------------------------------------- 1 | 7 | 8 | Prüfsummen erstellen und verifizieren 10 | 11 | Prüfsumme 13 | 14 | Datei Prüfsumme erstellen : &krusader; überprüft, welche Programme für Prüfsummen installiert sind und ob sie rekursiv funktionieren, falls Sie einen Ordner gewählt haben. Um die Prüfsumme zu erstellen, wählen Sie einen Methode aus der Liste wie md5, sha &etc;. Dann können Sie die Prüfsumme in einer Datei speichern, die normalerweise checksum.md5 oder checksum.sha1 genannt wird. 30 | Datei Prüfsummen verifizieren : &krusader; überprüft über die ausgewählte Prüfsummendatei, ob Programme für die Art der nötigen Prüfsummen installiert sind und zeigt alle vorhandenen Dateien an, bei der die Prüfsumme abweicht. 38 | Das System funktioniert mit verschiedenen Prüfsummen-Verfahren und -Programmen. Zurzeit werden folgende Prüfsummen-Verfahren unterstützt: md5, sha1, sha256, sha224, sha256, sha384, sha512, tiger, whirlpool, cfv und crc. Bitte überprüfen Sie Ihre Einstellungen für Prüfsummenwerkzeuge, ehe Sie diese Funktion benutzen. 42 | 43 | -------------------------------------------------------------------------------- /app/DiskUsage/diskusagegui.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2004 Csaba Karai 3 | SPDX-FileCopyrightText: 2004-2022 Krusader Krew 4 | 5 | SPDX-License-Identifier: GPL-2.0-or-later 6 | */ 7 | 8 | #ifndef DISKUSAGEGUI_H 9 | #define DISKUSAGEGUI_H 10 | 11 | // QtCore 12 | #include 13 | // QtGui 14 | #include 15 | // QtWidgets 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | 22 | #include "diskusage.h" 23 | 24 | class DiskUsageGUI : public QDialog 25 | { 26 | Q_OBJECT 27 | 28 | public: 29 | explicit DiskUsageGUI(const QUrl &openDir); 30 | ~DiskUsageGUI() override = default; 31 | void askDirAndShow(); 32 | 33 | protected slots: 34 | void closeEvent(QCloseEvent *event) override; 35 | 36 | protected: 37 | void resizeEvent(QResizeEvent *e) override; 38 | 39 | private slots: 40 | bool askDir(); 41 | void slotLoadUsageInfo(); 42 | void slotStatus(const QString &); 43 | 44 | void slotSelectLinesView() 45 | { 46 | diskUsage->setView(VIEW_LINES); 47 | } 48 | void slotSelectListView() 49 | { 50 | diskUsage->setView(VIEW_DETAILED); 51 | } 52 | void slotSelectFilelightView() 53 | { 54 | diskUsage->setView(VIEW_FILELIGHT); 55 | } 56 | 57 | void slotViewChanged(int view); 58 | void slotLoadFinished(bool); 59 | 60 | private: 61 | void enableButtons(bool); 62 | 63 | DiskUsage *diskUsage; 64 | QUrl baseDirectory; 65 | 66 | KSqueezedTextLabel *status; 67 | 68 | QToolButton *btnNewSearch; 69 | QToolButton *btnRefresh; 70 | QToolButton *btnDirUp; 71 | 72 | QToolButton *btnLines; 73 | QToolButton *btnDetailed; 74 | QToolButton *btnFilelight; 75 | 76 | int sizeX; 77 | int sizeY; 78 | 79 | bool exitAtFailure; 80 | }; 81 | 82 | #endif /* __DISK_USAGE_GUI_H__ */ 83 | --------------------------------------------------------------------------------