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 Fm::FilePath path() {
158 return folder_ ? folder_->path() : Fm::FilePath();
163 const std::shared_ptr<Fm::Folder>& folder() {
167 Fm::FolderModel* folderModel() {
168 return reinterpret_cast<Fm::FolderModel*>(folderModel_);
175 Fm::BrowseHistory& browseHistory() {
179 Fm::FileInfoList selectedFiles() {
180 return folderView_->selectedFiles();
183 Fm::FilePathList selectedFilePaths() {
184 return folderView_->selectedFilePaths();
189 void invertSelection();
193 QString statusText(StatusTextType type = StatusTextNormal)
const {
194 return statusText_[type];
198 return history_.canBackward();
204 return history_.canForward();
209 void jumpToHistory(
int index);
215 void updateFromSettings(
Settings& settings);
217 void setFileLauncher(Fm::FileLauncher* launcher) {
218 folderView_->setFileLauncher(launcher);
221 Fm::FileLauncher* fileLauncher() {
222 return folderView_->fileLauncher();
225 QString getFilterStr() {
227 return proxyFilter_->getFilterStr();
232 void setFilterStr(QString str) {
234 proxyFilter_->setFilterStr(str);
240 bool hasCustomizedView() {
241 return folderSettings_.isCustomized();
244 void setCustomizedView(
bool value);
246 void transientFilterBar(
bool transient);
248 void showFilterBar();
249 bool isFilterBarVisible()
const {
250 return (filterBar_ && filterBar_->isVisible());
258 void backspacePressed();
261 void statusChanged(
int type, QString statusText);
262 void titleChanged(QString title);
263 void openDirRequested(
const Fm::FilePath& path,
int target);
264 void sortFilterChanged();
265 void forwardRequested();
266 void backwardRequested();
267 void folderUnmounted();
270 virtual bool eventFilter(QObject* watched, QEvent* event);
275 void onFileSizeChanged(
const QModelIndex& index);
276 void onFilesAdded(
const Fm::FileInfoList files);
277 void onFilterStringChanged(QString str);
278 void onLosingFilterBarFocus();
282 QString formatStatusText();
285 QString encloseWithBidiMarks(
const QString& text);
287 void onFolderStartLoading();
288 void onFolderFinishLoading();
291 void onFolderError(
const Fm::GErrorPtr& err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction& response);
293 void onFolderFsInfo();
294 void onFolderRemoved();
295 void onFolderUnmount();
296 void onFolderContentChanged();
300 Fm::CachedFolderModel* folderModel_;
301 Fm::ProxyFolderModel* proxyModel_;
303 QVBoxLayout* verticalLayout;
304 std::shared_ptr<Fm::Folder> folder_;
305 QString statusText_[StatusTextNum];
306 Fm::BrowseHistory history_;
307 Fm::FilePath lastFolderPath_;
308 bool overrideCursor_;
310 QTimer* selectionTimer_;
316 #endif // FM_TABPAGE_H Definition: settings.h:122
Definition: tabpage.h:107
Definition: settings.h:42