21 #ifndef PCMANFM_SETTINGS_H
22 #define PCMANFM_SETTINGS_H
25 #include <libfm-qt/folderview.h>
26 #include <libfm-qt/foldermodel.h>
27 #include "desktopwindow.h"
28 #include <libfm-qt/sidepane.h>
29 #include <libfm-qt/core/thumbnailjob.h>
30 #include <libfm-qt/core/archiver.h>
31 #include <libfm-qt/core/legacy/fm-config.h>
35 enum OpenDirTargetType {
39 OpenInLastActiveWindow
48 sortOrder_(Qt::AscendingOrder),
49 sortColumn_(Fm::FolderModel::ColumnFileName),
50 viewMode_(Fm::FolderView::IconMode),
52 sortFolderFirst_(
true),
53 sortHiddenLast_(
false),
54 sortCaseSensitive_(
true),
58 bool isCustomized()
const {
62 void setCustomized(
bool value) {
63 isCustomized_ = value;
66 Qt::SortOrder sortOrder()
const {
70 void setSortOrder(Qt::SortOrder value) {
74 Fm::FolderModel::ColumnId sortColumn()
const {
78 void setSortColumn(Fm::FolderModel::ColumnId value) {
82 Fm::FolderView::ViewMode viewMode()
const {
86 void setViewMode(Fm::FolderView::ViewMode value) {
90 bool sortFolderFirst()
const {
91 return sortFolderFirst_;
94 void setSortFolderFirst(
bool value) {
95 sortFolderFirst_ = value;
98 bool sortHiddenLast()
const {
99 return sortHiddenLast_;
102 void setSortHiddenLast(
bool value) {
103 sortHiddenLast_ = value;
106 bool showHidden()
const {
110 void setShowHidden(
bool value) {
114 bool sortCaseSensitive()
const {
115 return sortCaseSensitive_;
118 void setSortCaseSensitive(
bool value) {
119 sortCaseSensitive_ = value;
122 bool recursive()
const {
126 void setRecursive(
bool value) {
130 Fm::FilePath inheritedPath()
const {
131 return inheritedPath_;
134 void seInheritedPath(
const Fm::FilePath& path) {
135 inheritedPath_ = std::move(path);
141 Qt::SortOrder sortOrder_;
142 Fm::FolderModel::ColumnId sortColumn_;
143 Fm::FolderView::ViewMode viewMode_;
145 bool sortFolderFirst_;
146 bool sortHiddenLast_;
147 bool sortCaseSensitive_;
149 Fm::FilePath inheritedPath_;
166 bool load(QString profile = QStringLiteral(
"default"));
167 bool save(QString profile = QString());
169 bool loadFile(QString filePath);
170 bool saveFile(QString filePath);
172 static QString xdgUserConfigDir();
173 static const QList<int> & iconSizes(IconType type);
175 QString profileDir(QString profile,
bool useFallback =
false);
178 QString profileName()
const {
182 bool supportTrash()
const {
183 return supportTrash_;
186 QString fallbackIconThemeName()
const {
187 return fallbackIconThemeName_;
190 bool useFallbackIconTheme()
const {
191 return useFallbackIconTheme_;
194 void setFallbackIconThemeName(QString iconThemeName) {
195 fallbackIconThemeName_ = iconThemeName;
198 bool singleWindowMode()
const {
199 return singleWindowMode_;
202 void setSingleWindowMode(
bool singleWindowMode) {
203 singleWindowMode_ = singleWindowMode;
206 OpenDirTargetType bookmarkOpenMethod() {
207 return bookmarkOpenMethod_;
210 void setBookmarkOpenMethod(OpenDirTargetType bookmarkOpenMethod) {
211 bookmarkOpenMethod_ = bookmarkOpenMethod;
214 QString suCommand()
const {
218 void setSuCommand(QString suCommand) {
219 suCommand_ = suCommand;
225 void setTerminal(QString terminalCommand);
227 QString archiver()
const {
231 void setArchiver(QString archiver) {
232 archiver_ = archiver;
233 Fm::Archiver::setDefaultArchiverByName(archiver_.toLocal8Bit().constData());
236 bool mountOnStartup()
const {
237 return mountOnStartup_;
240 void setMountOnStartup(
bool mountOnStartup) {
241 mountOnStartup_ = mountOnStartup;
244 bool mountRemovable() {
245 return mountRemovable_;
248 void setMountRemovable(
bool mountRemovable) {
249 mountRemovable_ = mountRemovable;
252 bool autoRun()
const {
256 void setAutoRun(
bool autoRun) {
260 bool closeOnUnmount()
const {
261 return closeOnUnmount_;
264 void setCloseOnUnmount(
bool value) {
265 closeOnUnmount_ = value;
268 DesktopWindow::WallpaperMode wallpaperMode()
const {
269 return DesktopWindow::WallpaperMode(wallpaperMode_);
272 void setWallpaperMode(
int wallpaperMode) {
273 wallpaperMode_ = wallpaperMode;
276 QString wallpaper()
const {
280 void setWallpaper(QString wallpaper) {
281 wallpaper_ = wallpaper;
284 QSize wallpaperDialogSize()
const {
285 return wallpaperDialogSize_;
288 void setWallpaperDialogSize(
const QSize& size) {
289 wallpaperDialogSize_ = size;
292 int wallpaperDialogSplitterPos()
const {
293 return wallpaperDialogSplitterPos_;
296 void setWallpaperDialogSplitterPos(
int pos) {
297 wallpaperDialogSplitterPos_ = pos;
300 QString wallpaperDir()
const {
301 return wallpaperDir_;
304 void setLastSlide(QString wallpaper) {
305 lastSlide_ = wallpaper;
308 QString lastSlide()
const {
312 void setWallpaperDir(QString dir) {
316 int slideShowInterval()
const {
317 return slideShowInterval_;
320 void setSlideShowInterval(
int interval) {
321 slideShowInterval_ = interval;
324 bool wallpaperRandomize()
const {
325 return wallpaperRandomize_;
328 void setWallpaperRandomize(
bool randomize) {
329 wallpaperRandomize_ = randomize;
332 bool transformWallpaper()
const {
333 return transformWallpaper_;
336 void setTransformWallpaper(
bool tr) {
337 transformWallpaper_ = tr;
340 bool perScreenWallpaper()
const {
341 return perScreenWallpaper_;
344 void setPerScreenWallpaper(
bool tr) {
345 perScreenWallpaper_ = tr;
348 const QColor& desktopBgColor()
const {
349 return desktopBgColor_;
352 void setDesktopBgColor(QColor desktopBgColor) {
353 desktopBgColor_ = desktopBgColor;
356 const QColor& desktopFgColor()
const {
357 return desktopFgColor_;
360 void setDesktopFgColor(QColor desktopFgColor) {
361 desktopFgColor_ = desktopFgColor;
364 const QColor& desktopShadowColor()
const {
365 return desktopShadowColor_;
368 void setDesktopShadowColor(QColor desktopShadowColor) {
369 desktopShadowColor_ = desktopShadowColor;
372 QFont desktopFont()
const {
376 void setDesktopFont(QFont font) {
380 int desktopIconSize()
const {
381 return desktopIconSize_;
384 void setDesktopIconSize(
int desktopIconSize) {
385 desktopIconSize_ = desktopIconSize;
388 QStringList desktopShortcuts()
const {
389 return desktopShortcuts_;
392 void setDesktopShortcuts(
const QStringList& list) {
393 desktopShortcuts_ = list;
396 bool desktopShowHidden()
const {
397 return desktopShowHidden_;
400 void setDesktopShowHidden(
bool desktopShowHidden) {
401 desktopShowHidden_ = desktopShowHidden;
404 bool desktopHideItems()
const {
405 return desktopHideItems_;
408 void setDesktopHideItems(
bool hide) {
409 desktopHideItems_ = hide;
412 Qt::SortOrder desktopSortOrder()
const {
413 return desktopSortOrder_;
416 void setDesktopSortOrder(Qt::SortOrder desktopSortOrder) {
417 desktopSortOrder_ = desktopSortOrder;
420 Fm::FolderModel::ColumnId desktopSortColumn()
const {
421 return desktopSortColumn_;
424 void setDesktopSortColumn(Fm::FolderModel::ColumnId desktopSortColumn) {
425 desktopSortColumn_ = desktopSortColumn;
428 bool desktopSortFolderFirst()
const {
429 return desktopSortFolderFirst_;
432 void setDesktopSortFolderFirst(
bool desktopFolderFirst) {
433 desktopSortFolderFirst_ = desktopFolderFirst;
436 bool desktopSortHiddenLast()
const {
437 return desktopSortHiddenLast_;
440 void setDesktopSortHiddenLast(
bool desktopHiddenLast) {
441 desktopSortHiddenLast_ = desktopHiddenLast;
444 bool alwaysShowTabs()
const {
445 return alwaysShowTabs_;
448 void setAlwaysShowTabs(
bool alwaysShowTabs) {
449 alwaysShowTabs_ = alwaysShowTabs;
452 bool showTabClose()
const {
453 return showTabClose_;
456 void setShowTabClose(
bool showTabClose) {
457 showTabClose_ = showTabClose;
460 bool switchToNewTab()
const {
461 return switchToNewTab_;
464 void setSwitchToNewTab(
bool showTabClose) {
465 switchToNewTab_ = showTabClose;
468 bool reopenLastTabs()
const {
469 return reopenLastTabs_;
472 void setReopenLastTabs(
bool reopenLastTabs) {
473 reopenLastTabs_ = reopenLastTabs;
476 QStringList tabPaths()
const {
480 void setTabPaths(
const QStringList& tabPaths) {
481 tabPaths_ = tabPaths;
484 bool rememberWindowSize()
const {
485 return rememberWindowSize_;
488 void setRememberWindowSize(
bool rememberWindowSize) {
489 rememberWindowSize_ = rememberWindowSize;
492 int windowWidth()
const {
493 if(rememberWindowSize_) {
494 return lastWindowWidth_;
497 return fixedWindowWidth_;
501 int windowHeight()
const {
502 if(rememberWindowSize_) {
503 return lastWindowHeight_;
506 return fixedWindowHeight_;
510 bool windowMaximized()
const {
511 if(rememberWindowSize_) {
512 return lastWindowMaximized_;
519 int fixedWindowWidth()
const {
520 return fixedWindowWidth_;
523 void setFixedWindowWidth(
int fixedWindowWidth) {
524 fixedWindowWidth_ = fixedWindowWidth;
527 int fixedWindowHeight()
const {
528 return fixedWindowHeight_;
531 void setFixedWindowHeight(
int fixedWindowHeight) {
532 fixedWindowHeight_ = fixedWindowHeight;
535 void setLastWindowWidth(
int lastWindowWidth) {
536 lastWindowWidth_ = lastWindowWidth;
539 void setLastWindowHeight(
int lastWindowHeight) {
540 lastWindowHeight_ = lastWindowHeight;
543 void setLastWindowMaximized(
bool lastWindowMaximized) {
544 lastWindowMaximized_ = lastWindowMaximized;
547 int splitterPos()
const {
551 void setSplitterPos(
int splitterPos) {
552 splitterPos_ = splitterPos;
555 bool isSidePaneVisible()
const {
556 return sidePaneVisible_;
559 void showSidePane(
bool show) {
560 sidePaneVisible_ = show;
563 Fm::SidePane::Mode sidePaneMode()
const {
564 return sidePaneMode_;
567 void setSidePaneMode(Fm::SidePane::Mode sidePaneMode) {
568 sidePaneMode_ = sidePaneMode;
571 bool showMenuBar()
const {
575 void setShowMenuBar(
bool showMenuBar) {
576 showMenuBar_ = showMenuBar;
579 bool splitView()
const {
583 void setSplitView(
bool split) {
587 Fm::FolderView::ViewMode viewMode()
const {
591 void setViewMode(Fm::FolderView::ViewMode viewMode) {
592 viewMode_ = viewMode;
595 bool showHidden()
const {
599 void setShowHidden(
bool showHidden) {
600 showHidden_ = showHidden;
603 bool sortCaseSensitive()
const {
604 return sortCaseSensitive_;
607 void setSortCaseSensitive(
bool value) {
608 sortCaseSensitive_ = value;
611 QSet<QString> getHiddenPlaces()
const {
612 return hiddenPlaces_;
615 void setHiddenPlace(
const QString& str,
bool hide) {
617 hiddenPlaces_ << str;
620 hiddenPlaces_.remove(str);
624 Qt::SortOrder sortOrder()
const {
628 void setSortOrder(Qt::SortOrder sortOrder) {
629 sortOrder_ = sortOrder;
632 Fm::FolderModel::ColumnId sortColumn()
const {
636 void setSortColumn(Fm::FolderModel::ColumnId sortColumn) {
637 sortColumn_ = sortColumn;
640 bool sortFolderFirst()
const {
641 return sortFolderFirst_;
644 void setSortFolderFirst(
bool folderFirst) {
645 sortFolderFirst_ = folderFirst;
648 bool sortHiddenLast()
const {
649 return sortHiddenLast_;
652 void setSortHiddenLast(
bool hiddenLast) {
653 sortHiddenLast_ = hiddenLast;
656 bool showFilter()
const {
660 void setShowFilter(
bool value) {
664 bool pathBarButtons()
const {
665 return pathBarButtons_;
668 void setPathBarButtons(
bool value) {
669 pathBarButtons_ = value;
673 bool singleClick()
const {
677 void setSingleClick(
bool singleClick) {
678 singleClick_ = singleClick;
681 int autoSelectionDelay()
const {
682 return autoSelectionDelay_;
685 void setAutoSelectionDelay(
int value) {
686 autoSelectionDelay_ = value;
689 bool ctrlRightClick()
const {
690 return ctrlRightClick_;
693 void setCtrlRightClick(
bool value) {
694 ctrlRightClick_ = value;
697 bool useTrash()
const {
704 void setUseTrash(
bool useTrash) {
705 useTrash_ = useTrash;
708 bool confirmDelete()
const {
709 return confirmDelete_;
712 void setConfirmDelete(
bool confirmDelete) {
713 confirmDelete_ = confirmDelete;
716 bool noUsbTrash()
const {
720 void setNoUsbTrash(
bool noUsbTrash) {
721 noUsbTrash_ = noUsbTrash;
722 fm_config->no_usb_trash = noUsbTrash_;
725 bool confirmTrash()
const {
726 return confirmTrash_;
729 void setConfirmTrash(
bool value) {
730 confirmTrash_ = value;
733 bool quickExec()
const {
737 void setQuickExec(
bool value) {
739 fm_config->quick_exec = quickExec_;
742 bool selectNewFiles()
const {
743 return selectNewFiles_;
746 void setSelectNewFiles(
bool value) {
747 selectNewFiles_ = value;
750 int bigIconSize()
const {
754 void setBigIconSize(
int bigIconSize) {
755 bigIconSize_ = bigIconSize;
758 int smallIconSize()
const {
759 return smallIconSize_;
762 void setSmallIconSize(
int smallIconSize) {
763 smallIconSize_ = smallIconSize;
766 int sidePaneIconSize()
const {
767 return sidePaneIconSize_;
770 void setSidePaneIconSize(
int sidePaneIconSize) {
771 sidePaneIconSize_ = sidePaneIconSize;
774 int thumbnailIconSize()
const {
775 return thumbnailIconSize_;
778 QSize folderViewCellMargins()
const {
779 return folderViewCellMargins_;
782 void setFolderViewCellMargins(QSize size) {
783 folderViewCellMargins_ = size;
786 QSize desktopCellMargins()
const {
787 return desktopCellMargins_;
790 void setDesktopCellMargins(QSize size) {
791 desktopCellMargins_ = size;
794 bool openWithDefaultFileManager()
const {
795 return openWithDefaultFileManager_;
798 void setOpenWithDefaultFileManager(
bool open) {
799 openWithDefaultFileManager_ = open;
802 bool allSticky()
const {
806 void setAllSticky(
bool sticky) {
810 bool showThumbnails() {
811 return showThumbnails_;
814 void setShowThumbnails(
bool show) {
815 showThumbnails_ = show;
818 void setThumbnailLocalFilesOnly(
bool value) {
819 Fm::ThumbnailJob::setLocalFilesOnly(value);
822 bool thumbnailLocalFilesOnly()
const {
823 return Fm::ThumbnailJob::localFilesOnly();
826 int maxThumbnailFileSize()
const {
827 return Fm::ThumbnailJob::maxThumbnailFileSize();
830 void setMaxThumbnailFileSize(
int size) {
831 Fm::ThumbnailJob::setMaxThumbnailFileSize(size);
834 int maxExternalThumbnailFileSize()
const {
835 return Fm::ThumbnailJob::maxExternalThumbnailFileSize();
838 void setMaxExternalThumbnailFileSize(
int size) {
839 Fm::ThumbnailJob::setMaxExternalThumbnailFileSize(size);
842 void setThumbnailIconSize(
int thumbnailIconSize) {
843 thumbnailIconSize_ = thumbnailIconSize;
850 void setSiUnit(
bool siUnit) {
853 fm_config->si_unit = (gboolean)siUnit_;
856 bool backupAsHidden()
const {
857 return backupAsHidden_;
860 void setBackupAsHidden(
bool value) {
861 backupAsHidden_ = value;
862 fm_config->backup_as_hidden = backupAsHidden_;
865 bool showFullNames()
const {
866 return showFullNames_;
869 void setShowFullNames(
bool value) {
870 showFullNames_ = value;
873 bool shadowHidden()
const {
874 return shadowHidden_;
877 void setShadowHidden(
bool value) {
878 shadowHidden_ = value;
881 bool noItemTooltip()
const {
882 return noItemTooltip_;
885 void setNoItemTooltip(
bool noTooltip) {
886 noItemTooltip_ = noTooltip;
889 bool scrollPerPixel()
const {
890 return scrollPerPixel_;
893 void setScrollPerPixel(
bool perPixel) {
894 scrollPerPixel_ = perPixel;
897 bool onlyUserTemplates()
const {
898 return onlyUserTemplates_;
901 void setOnlyUserTemplates(
bool value) {
902 onlyUserTemplates_ = value;
903 fm_config->only_user_templates = onlyUserTemplates_;
906 bool templateTypeOnce()
const {
907 return templateTypeOnce_;
910 void setTemplateTypeOnce(
bool value) {
911 templateTypeOnce_ = value;
912 fm_config->template_type_once = templateTypeOnce_;
915 bool templateRunApp()
const {
916 return templateRunApp_;
919 void setTemplateRunApp(
bool value) {
920 templateRunApp_ = value;
921 fm_config->template_run_app = templateRunApp_;
925 FolderSettings loadFolderSettings(
const Fm::FilePath& path)
const;
927 void saveFolderSettings(
const Fm::FilePath& path,
const FolderSettings& settings);
929 void clearFolderSettings(
const Fm::FilePath& path)
const;
931 bool searchNameCaseInsensitive()
const {
932 return searchNameCaseInsensitive_;
935 void setSearchNameCaseInsensitive(
bool caseInsensitive) {
936 searchNameCaseInsensitive_ = caseInsensitive;
939 bool searchContentCaseInsensitive()
const {
940 return searchContentCaseInsensitive_;
943 void setsearchContentCaseInsensitive(
bool caseInsensitive) {
944 searchContentCaseInsensitive_ = caseInsensitive;
947 bool searchNameRegexp()
const {
948 return searchNameRegexp_;
951 void setSearchNameRegexp(
bool reg) {
952 searchNameRegexp_ = reg;
955 bool searchContentRegexp()
const {
956 return searchContentRegexp_;
959 void setSearchContentRegexp(
bool reg) {
960 searchContentRegexp_ = reg;
963 bool searchRecursive()
const {
964 return searchRecursive_;
967 void setSearchRecursive(
bool rec) {
968 searchRecursive_ = rec;
971 bool searchhHidden()
const {
972 return searchhHidden_;
975 void setSearchhHidden(
bool hidden) {
976 searchhHidden_ = hidden;
979 QList<int> getCustomColumnWidths()
const {
981 for(
auto width : qAsConst(customColumnWidths_)) {
987 void setCustomColumnWidths(
const QList<int> &widths) {
988 customColumnWidths_.clear();
989 for(
auto width : widths) {
990 customColumnWidths_ << QVariant(width);
994 QList<int> getHiddenColumns()
const {
996 for(
auto width : qAsConst(hiddenColumns_)) {
1002 void setHiddenColumns(
const QList<int> &columns) {
1003 hiddenColumns_.clear();
1004 for(
auto column : columns) {
1005 hiddenColumns_ << QVariant(column);
1010 int toIconSize(
int size, IconType type)
const;
1012 QString profileName_;
1016 QString fallbackIconThemeName_;
1017 bool useFallbackIconTheme_;
1019 bool singleWindowMode_;
1020 OpenDirTargetType bookmarkOpenMethod_;
1023 bool mountOnStartup_;
1024 bool mountRemovable_;
1026 bool closeOnUnmount_;
1030 QSize wallpaperDialogSize_;
1031 int wallpaperDialogSplitterPos_;
1033 QString wallpaperDir_;
1034 int slideShowInterval_;
1035 bool wallpaperRandomize_;
1036 bool transformWallpaper_;
1037 bool perScreenWallpaper_;
1038 QColor desktopBgColor_;
1039 QColor desktopFgColor_;
1040 QColor desktopShadowColor_;
1042 int desktopIconSize_;
1043 QStringList desktopShortcuts_;
1045 bool desktopShowHidden_;
1046 bool desktopHideItems_;
1047 Qt::SortOrder desktopSortOrder_;
1048 Fm::FolderModel::ColumnId desktopSortColumn_;
1049 bool desktopSortFolderFirst_;
1050 bool desktopSortHiddenLast_;
1052 bool alwaysShowTabs_;
1054 bool switchToNewTab_;
1055 bool reopenLastTabs_;
1056 QStringList tabPaths_;
1057 bool rememberWindowSize_;
1058 int fixedWindowWidth_;
1059 int fixedWindowHeight_;
1060 int lastWindowWidth_;
1061 int lastWindowHeight_;
1062 bool lastWindowMaximized_;
1064 bool sidePaneVisible_;
1065 Fm::SidePane::Mode sidePaneMode_;
1069 Fm::FolderView::ViewMode viewMode_;
1071 Qt::SortOrder sortOrder_;
1072 Fm::FolderModel::ColumnId sortColumn_;
1073 bool sortFolderFirst_;
1074 bool sortHiddenLast_;
1075 bool sortCaseSensitive_;
1077 bool pathBarButtons_;
1081 int autoSelectionDelay_;
1082 bool ctrlRightClick_;
1084 bool confirmDelete_;
1088 bool selectNewFiles_;
1090 bool showThumbnails_;
1094 bool backupAsHidden_;
1095 bool showFullNames_;
1097 bool noItemTooltip_;
1098 bool scrollPerPixel_;
1100 QSet<QString> hiddenPlaces_;
1104 int sidePaneIconSize_;
1105 int thumbnailIconSize_;
1107 bool onlyUserTemplates_;
1108 bool templateTypeOnce_;
1109 bool templateRunApp_;
1111 QSize folderViewCellMargins_;
1112 QSize desktopCellMargins_;
1114 bool openWithDefaultFileManager_;
1119 bool searchNameCaseInsensitive_;
1120 bool searchContentCaseInsensitive_;
1121 bool searchNameRegexp_;
1122 bool searchContentRegexp_;
1123 bool searchRecursive_;
1124 bool searchhHidden_;
1127 QList<QVariant> customColumnWidths_;
1128 QList<QVariant> hiddenColumns_;
Definition: settings.h:42
Definition: settings.h:154