25 #include <QVBoxLayout> 27 #include <libfm-qt/browsehistory.h> 29 #include <libfm-qt/path.h> 34 class ProxyFolderModel;
35 class CachedFolderModel;
45 bool filterAcceptsRow(
const Fm::ProxyFolderModel* model, FmFileInfo* info)
const;
47 void setVirtHidden(FmFolder* folder);
48 QString getFilterStr() {
51 void setFilterStr(QString str) {
57 QStringList virtHiddenList_;
66 StatusTextSelectedFiles,
72 explicit TabPage(FmPath* path, QWidget* parent =
nullptr);
75 void chdir(FmPath* newPath,
bool addHistory =
true);
77 Fm::FolderView::ViewMode viewMode() {
78 return folderView_->viewMode();
81 void setViewMode(Fm::FolderView::ViewMode mode) {
82 folderView_->setViewMode(mode);
85 void sort(
int col, Qt::SortOrder order = Qt::AscendingOrder) {
89 proxyModel_->sort(col, order);
93 return proxyModel_->sortColumn();
96 Qt::SortOrder sortOrder() {
97 return proxyModel_->sortOrder();
100 bool sortFolderFirst() {
101 return proxyModel_->folderFirst();
103 void setSortFolderFirst(
bool value) {
104 proxyModel_->setFolderFirst(value);
107 bool sortCaseSensitive() {
108 return proxyModel_->sortCaseSensitivity();
110 void setSortCaseSensitive(
bool value) {
111 proxyModel_->setSortCaseSensitivity(value ? Qt::CaseSensitive : Qt::CaseInsensitive);
115 return proxyModel_->showHidden();
118 void setShowHidden(
bool showHidden);
121 return folder_ ? fm_folder_get_path(folder_) :
nullptr;
130 Fm::FolderModel* folderModel() {
131 return reinterpret_cast<Fm::FolderModel*
>(folderModel_);
138 Fm::BrowseHistory& browseHistory() {
142 FmFileInfoList* selectedFiles() {
143 return folderView_->selectedFiles();
146 FmPathList* selectedFilePaths() {
147 return folderView_->selectedFilePaths();
152 void invertSelection();
156 proxyFilter_->setVirtHidden(folder_);
157 fm_folder_reload(folder_);
161 QString title()
const {
165 QString statusText(StatusTextType type = StatusTextNormal)
const {
166 return statusText_[type];
170 return history_.canBackward();
176 return history_.canForward();
181 void jumpToHistory(
int index);
187 void updateFromSettings(
Settings& settings);
189 void setFileLauncher(Fm::FileLauncher* launcher) {
190 folderView_->setFileLauncher(launcher);
193 Fm::FileLauncher* fileLauncher() {
194 return folderView_->fileLauncher();
197 QString getFilterStr() {
199 return proxyFilter_->getFilterStr();
203 void setFilterStr(QString str) {
205 proxyFilter_->setFilterStr(str);
211 void statusChanged(
int type, QString statusText);
212 void titleChanged(QString title);
213 void openDirRequested(FmPath* path,
int target);
214 void sortFilterChanged();
215 void forwardRequested();
216 void backwardRequested();
219 void onOpenDirRequested(FmPath* path,
int target);
220 void onModelSortFilterChanged();
221 void onSelChanged(
int numSel);
222 void restoreScrollPos();
226 QString formatStatusText();
228 static void onFolderStartLoading(FmFolder* _folder,
TabPage* pThis);
229 static void onFolderFinishLoading(FmFolder* _folder,
TabPage* pThis);
230 static FmJobErrorAction onFolderError(FmFolder* _folder, GError* err, FmJobErrorSeverity severity,
TabPage* pThis);
231 static void onFolderFsInfo(FmFolder* _folder,
TabPage* pThis);
232 static void onFolderRemoved(FmFolder* _folder,
TabPage* pThis);
233 static void onFolderUnmount(FmFolder* _folder,
TabPage* pThis);
234 static void onFolderContentChanged(FmFolder* _folder,
TabPage* pThis);
238 Fm::CachedFolderModel* folderModel_;
239 Fm::ProxyFolderModel* proxyModel_;
241 QVBoxLayout* verticalLayout;
244 QString statusText_[StatusTextNum];
245 Fm::BrowseHistory history_;
246 Fm::Path lastFolderPath_;
247 bool overrideCursor_;
252 #endif // FM_TABPAGE_H Definition: desktopwindow.h:31
Definition: settings.h:41
Definition: application.cpp:55