25 #include <QVBoxLayout> 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> 38 class ProxyFolderModel;
39 class CachedFolderModel;
48 bool filterAcceptsRow(
const Fm::ProxyFolderModel* model,
const std::shared_ptr<const Fm::FileInfo>& info)
const;
50 QString getFilterStr() {
53 void setFilterStr(QString str) {
68 void keyPressed(QKeyEvent* event);
71 virtual void focusOutEvent(QFocusEvent* event)
override {
73 QLineEdit::focusOutEvent(event);
75 virtual void keyPressEvent(QKeyEvent* event)
override;
88 filterEdit_->setFocus();
93 void keyPressed(QKeyEvent* event) {
94 filterEdit_->keyPressed(event);
98 void textChanged(
const QString &text);
111 enum StatusTextType {
113 StatusTextSelectedFiles,
119 explicit TabPage(QWidget* parent =
nullptr);
122 void chdir(Fm::FilePath newPath,
bool addHistory =
true);
124 Fm::FolderView::ViewMode viewMode() {
125 return folderSettings_.viewMode();
128 void setViewMode(Fm::FolderView::ViewMode mode);
130 void sort(
int col, Qt::SortOrder order = Qt::AscendingOrder);
133 return folderSettings_.sortColumn();
136 Qt::SortOrder sortOrder() {
137 return folderSettings_.sortOrder();
140 bool sortFolderFirst() {
141 return folderSettings_.sortFolderFirst();
143 void setSortFolderFirst(
bool value);
145 bool sortCaseSensitive() {
146 return folderSettings_.sortCaseSensitive();
149 void setSortCaseSensitive(
bool value);
152 return proxyModel_->showHidden();
155 void setShowHidden(
bool showHidden);
157 void saveFolderSorting();
159 Fm::FilePath path() {
160 return folder_ ? folder_->path() : Fm::FilePath();
165 const std::shared_ptr<Fm::Folder>& folder() {
169 Fm::FolderModel* folderModel() {
170 return reinterpret_cast<Fm::FolderModel*>(folderModel_);
177 Fm::BrowseHistory& browseHistory() {
181 Fm::FileInfoList selectedFiles() {
182 return folderView_->selectedFiles();
185 Fm::FilePathList selectedFilePaths() {
186 return folderView_->selectedFilePaths();
191 void invertSelection();
195 QString statusText(StatusTextType type = StatusTextNormal)
const {
196 return statusText_[type];
200 return history_.canBackward();
206 return history_.canForward();
211 void jumpToHistory(
int index);
217 void updateFromSettings(
Settings& settings);
219 void setFileLauncher(Fm::FileLauncher* launcher) {
220 folderView_->setFileLauncher(launcher);
223 Fm::FileLauncher* fileLauncher() {
224 return folderView_->fileLauncher();
227 QString getFilterStr() {
229 return proxyFilter_->getFilterStr();
234 void setFilterStr(QString str) {
236 proxyFilter_->setFilterStr(str);
242 bool hasCustomizedView() {
243 return folderSettings_.isCustomized();
246 void setCustomizedView(
bool value);
248 void transientFilterBar(
bool transient);
250 void showFilterBar();
251 bool isFilterBarVisible()
const {
252 return (filterBar_ && filterBar_->isVisible());
260 void backspacePressed();
263 void statusChanged(
int type, QString statusText);
264 void titleChanged(QString title);
265 void openDirRequested(
const Fm::FilePath& path,
int target);
266 void sortFilterChanged();
267 void forwardRequested();
268 void backwardRequested();
269 void folderUnmounted();
272 virtual bool eventFilter(QObject* watched, QEvent* event);
277 void onFileSizeChanged(
const QModelIndex& index);
278 void onFilesAdded(
const Fm::FileInfoList files);
279 void onFilterStringChanged(QString str);
280 void onLosingFilterBarFocus();
284 QString formatStatusText();
287 QString encloseWithBidiMarks(
const QString& text);
289 void onFolderStartLoading();
290 void onFolderFinishLoading();
293 void onFolderError(
const Fm::GErrorPtr& err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction& response);
295 void onFolderFsInfo();
296 void onFolderRemoved();
297 void onFolderUnmount();
298 void onFolderContentChanged();
302 Fm::CachedFolderModel* folderModel_;
303 Fm::ProxyFolderModel* proxyModel_;
305 QVBoxLayout* verticalLayout;
306 std::shared_ptr<Fm::Folder> folder_;
307 QString statusText_[StatusTextNum];
308 Fm::BrowseHistory history_;
309 Fm::FilePath lastFolderPath_;
310 bool overrideCursor_;
312 QTimer* selectionTimer_;
318 #endif // FM_TABPAGE_H Definition: settings.h:122
Definition: tabpage.h:107
Definition: settings.h:42