25 #include <QVBoxLayout>
27 #include <libfm-qt/browsehistory.h>
29 #include <libfm-qt/path.h>
30 #include <libfm-qt/folder.h>
31 #include <libfm-qt/fileinfo.h>
37 class ProxyFolderModel;
38 class CachedFolderModel;
47 bool filterAcceptsRow(
const Fm::ProxyFolderModel* model, FmFileInfo* info)
const;
49 void setVirtHidden(Fm::Folder folder);
50 QString getFilterStr() {
53 void setFilterStr(QString str) {
59 QStringList virtHiddenList_;
68 StatusTextSelectedFiles,
74 explicit TabPage(Fm::Path path, QWidget* parent =
nullptr);
77 void chdir(Fm::Path newPath,
bool addHistory =
true);
79 Fm::FolderView::ViewMode viewMode() {
80 return folderSettings_.viewMode();
83 void setViewMode(Fm::FolderView::ViewMode mode);
85 void sort(
int col, Qt::SortOrder order = Qt::AscendingOrder);
88 return folderSettings_.sortColumn();
91 Qt::SortOrder sortOrder() {
92 return folderSettings_.sortOrder();
95 bool sortFolderFirst() {
96 return folderSettings_.sortFolderFirst();
98 void setSortFolderFirst(
bool value);
100 bool sortCaseSensitive() {
101 return folderSettings_.sortCaseSensitive();
104 void setSortCaseSensitive(
bool value);
107 return folderSettings_.showHidden();
110 void setShowHidden(
bool showHidden);
113 return Fm::Path(!folder_.isNull() ? folder_.getPath() :
nullptr);
118 Fm::Folder& folder() {
122 Fm::FolderModel* folderModel() {
123 return reinterpret_cast<Fm::FolderModel*
>(folderModel_);
130 Fm::BrowseHistory& browseHistory() {
134 Fm::FileInfoList selectedFiles() {
135 return folderView_->selectedFiles();
138 Fm::PathList selectedFilePaths() {
139 return folderView_->selectedFilePaths();
144 void invertSelection();
147 if(!folder_.isNull()) {
148 proxyFilter_->setVirtHidden(folder_);
153 QString title()
const {
157 QString statusText(StatusTextType type = StatusTextNormal)
const {
158 return statusText_[type];
162 return history_.canBackward();
168 return history_.canForward();
173 void jumpToHistory(
int index);
179 void updateFromSettings(
Settings& settings);
181 void setFileLauncher(Fm::FileLauncher* launcher) {
182 folderView_->setFileLauncher(launcher);
185 Fm::FileLauncher* fileLauncher() {
186 return folderView_->fileLauncher();
189 QString getFilterStr() {
191 return proxyFilter_->getFilterStr();
195 void setFilterStr(QString str) {
197 proxyFilter_->setFilterStr(str);
202 bool hasCustomizedView() {
203 return folderSettings_.isCustomized();
206 void setCustomizedView(
bool value);
209 void statusChanged(
int type, QString statusText);
210 void titleChanged(QString title);
211 void openDirRequested(FmPath* path,
int target);
212 void sortFilterChanged();
213 void forwardRequested();
214 void backwardRequested();
217 void onOpenDirRequested(FmPath* path,
int target);
218 void onSelChanged(
int numSel);
219 void restoreScrollPos();
223 QString formatStatusText();
225 static void onFolderStartLoading(FmFolder* _folder,
TabPage* pThis);
226 static void onFolderFinishLoading(FmFolder* _folder,
TabPage* pThis);
227 static FmJobErrorAction onFolderError(FmFolder* _folder, GError* err, FmJobErrorSeverity severity,
TabPage* pThis);
228 static void onFolderFsInfo(FmFolder* _folder,
TabPage* pThis);
229 static void onFolderRemoved(FmFolder* _folder,
TabPage* pThis);
230 static void onFolderUnmount(FmFolder* _folder,
TabPage* pThis);
231 static void onFolderContentChanged(FmFolder* _folder,
TabPage* pThis);
235 Fm::CachedFolderModel* folderModel_;
236 Fm::ProxyFolderModel* proxyModel_;
238 QVBoxLayout* verticalLayout;
241 QString statusText_[StatusTextNum];
242 Fm::BrowseHistory history_;
243 Fm::Path lastFolderPath_;
244 bool overrideCursor_;
250 #endif // FM_TABPAGE_H
Definition: settings.h:121
Definition: settings.h:41