27#include <libfm-qt/browsehistory.h>
31#include <libfm-qt/core/fileinfo.h>
32#include <libfm-qt/core/filepath.h>
33#include <libfm-qt/core/folder.h>
38class ProxyFolderModel;
39class CachedFolderModel;
49 bool filterAcceptsRow(
const Fm::ProxyFolderModel* model,
const std::shared_ptr<const Fm::FileInfo>& info)
const;
51 QString getFilterStr() {
54 void setFilterStr(QString str) {
57 void filterFullName(
bool fullName) {
73 void keyPressed(QKeyEvent* event);
76 virtual void focusOutEvent(QFocusEvent* event)
override {
78 QLineEdit::focusOutEvent(event);
80 virtual void keyPressEvent(QKeyEvent* event)
override;
93 filterEdit_->setFocus();
98 void keyPressed(QKeyEvent* event) {
99 filterEdit_->keyPressed(event);
103 void textChanged(
const QString &text);
116 enum StatusTextType {
118 StatusTextSelectedFiles,
124 explicit TabPage(QWidget* parent =
nullptr);
127 void chdir(Fm::FilePath newPath,
bool addHistory =
true);
129 Fm::FolderView::ViewMode viewMode() {
130 return folderSettings_.viewMode();
133 void setViewMode(Fm::FolderView::ViewMode mode);
135 void sort(
int col, Qt::SortOrder order = Qt::AscendingOrder);
138 return folderSettings_.sortColumn();
141 Qt::SortOrder sortOrder() {
142 return folderSettings_.sortOrder();
145 bool sortFolderFirst() {
146 return folderSettings_.sortFolderFirst();
148 void setSortFolderFirst(
bool value);
150 bool sortHiddenLast() {
151 return folderSettings_.sortHiddenLast();
153 void setSortHiddenLast(
bool value);
155 bool sortCaseSensitive() {
156 return folderSettings_.sortCaseSensitive();
159 void setSortCaseSensitive(
bool value);
162 return proxyModel_->showHidden();
165 void setShowHidden(
bool showHidden);
167 void setShowThumbnails(
bool showThumbnails);
169 void saveFolderSorting();
171 Fm::FilePath path() {
172 return folder_ ? folder_->path() : Fm::FilePath();
177 const std::shared_ptr<Fm::Folder>& folder() {
181 Fm::FolderModel* folderModel() {
182 return reinterpret_cast<Fm::FolderModel*
>(folderModel_);
189 Fm::BrowseHistory& browseHistory() {
193 Fm::FileInfoList selectedFiles() {
194 return folderView_->selectedFiles();
197 Fm::FilePathList selectedFilePaths() {
198 return folderView_->selectedFilePaths();
205 void invertSelection();
209 QString title()
const {
213 QString statusText(StatusTextType type = StatusTextNormal)
const {
214 return statusText_[type];
218 return history_.canBackward();
224 return history_.canForward();
229 void jumpToHistory(
int index);
235 void updateFromSettings(
Settings& settings);
237 void setFileLauncher(Fm::FileLauncher* launcher) {
238 folderView_->setFileLauncher(launcher);
241 Fm::FileLauncher* fileLauncher() {
242 return folderView_->fileLauncher();
245 QString getFilterStr() {
247 return proxyFilter_->getFilterStr();
252 void setFilterStr(QString str) {
254 proxyFilter_->setFilterStr(str);
260 bool hasCustomizedView()
const {
261 return folderSettings_.isCustomized();
263 bool hasRecursiveCustomizedView()
const {
264 return folderSettings_.isCustomized() && folderSettings_.recursive();
266 bool hasInheritedCustomizedView()
const {
267 return !folderSettings_.isCustomized() && folderSettings_.inheritedPath().isValid();
270 void setCustomizedView(
bool value,
bool recursive =
false);
272 void goToCustomizedViewSource();
274 void transientFilterBar(
bool transient);
276 void showFilterBar();
277 bool isFilterBarVisible()
const {
278 return (filterBar_ && filterBar_->isVisible());
286 void backspacePressed();
288 void ceateShortcut();
290 void setFilesToSelect(
const Fm::FilePathList& files) {
291 filesToSelect_ = files;
295 void statusChanged(
int type, QString statusText);
297 void sortFilterChanged();
298 void forwardRequested();
299 void backwardRequested();
300 void folderUnmounted();
303 virtual bool eventFilter(QObject* watched, QEvent* event);
308 void onFileSizeChanged(
const QModelIndex& index);
309 void onFilesAdded(
const Fm::FileInfoList files);
310 void onFilterStringChanged(QString str);
311 void onLosingFilterBarFocus();
315 QString formatStatusText();
317 void onFolderStartLoading();
318 void onFolderFinishLoading();
321 void onFolderError(
const Fm::GErrorPtr& err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction& response);
323 void onFolderFsInfo();
324 void onFolderRemoved();
325 void onFolderUnmount();
326 void onFolderContentChanged();
332 Fm::CachedFolderModel* folderModel_;
333 Fm::ProxyFolderModel* proxyModel_;
335 QVBoxLayout* verticalLayout;
336 std::shared_ptr<Fm::Folder> folder_;
338 QString statusText_[StatusTextNum];
339 Fm::BrowseHistory history_;
340 Fm::FilePath lastFolderPath_;
341 bool overrideCursor_;
343 QTimer* selectionTimer_;
345 QStringList filesToTrust_;
346 Fm::FilePathList filesToSelect_;
Definition: settings.h:42
Definition: settings.h:154
Definition: tabpage.h:112