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 sortHiddenLast() {
146 return folderSettings_.sortHiddenLast();
148 void setSortHiddenLast(
bool value);
150 bool sortCaseSensitive() {
151 return folderSettings_.sortCaseSensitive();
154 void setSortCaseSensitive(
bool value);
157 return proxyModel_->showHidden();
160 void setShowHidden(
bool showHidden);
162 void setShowThumbnails(
bool showThumbnails);
164 void saveFolderSorting();
166 Fm::FilePath path() {
167 return folder_ ? folder_->path() : Fm::FilePath();
172 const std::shared_ptr<Fm::Folder>& folder() {
176 Fm::FolderModel* folderModel() {
177 return reinterpret_cast<Fm::FolderModel*
>(folderModel_);
184 Fm::BrowseHistory& browseHistory() {
188 Fm::FileInfoList selectedFiles() {
189 return folderView_->selectedFiles();
192 Fm::FilePathList selectedFilePaths() {
193 return folderView_->selectedFilePaths();
198 void invertSelection();
202 QString title()
const {
206 QString statusText(StatusTextType type = StatusTextNormal)
const {
207 return statusText_[type];
211 return history_.canBackward();
217 return history_.canForward();
222 void jumpToHistory(
int index);
228 void updateFromSettings(
Settings& settings);
230 void setFileLauncher(Fm::FileLauncher* launcher) {
231 folderView_->setFileLauncher(launcher);
234 Fm::FileLauncher* fileLauncher() {
235 return folderView_->fileLauncher();
238 QString getFilterStr() {
240 return proxyFilter_->getFilterStr();
245 void setFilterStr(QString str) {
247 proxyFilter_->setFilterStr(str);
253 bool hasCustomizedView() {
254 return folderSettings_.isCustomized();
257 void setCustomizedView(
bool value);
259 void transientFilterBar(
bool transient);
261 void showFilterBar();
262 bool isFilterBarVisible()
const {
263 return (filterBar_ && filterBar_->isVisible());
271 void backspacePressed();
273 void ceateShortcut();
276 void statusChanged(
int type, QString statusText);
278 void sortFilterChanged();
279 void forwardRequested();
280 void backwardRequested();
281 void folderUnmounted();
284 virtual bool eventFilter(QObject* watched, QEvent* event);
289 void onFileSizeChanged(
const QModelIndex& index);
290 void onFilesAdded(
const Fm::FileInfoList files);
291 void onFilterStringChanged(QString str);
292 void onLosingFilterBarFocus();
296 QString formatStatusText();
298 void onFolderStartLoading();
299 void onFolderFinishLoading();
302 void onFolderError(
const Fm::GErrorPtr& err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction& response);
304 void onFolderFsInfo();
305 void onFolderRemoved();
306 void onFolderUnmount();
307 void onFolderContentChanged();
313 Fm::CachedFolderModel* folderModel_;
314 Fm::ProxyFolderModel* proxyModel_;
316 QVBoxLayout* verticalLayout;
317 std::shared_ptr<Fm::Folder> folder_;
319 QString statusText_[StatusTextNum];
320 Fm::BrowseHistory history_;
321 Fm::FilePath lastFolderPath_;
322 bool overrideCursor_;
324 QTimer* selectionTimer_;
326 QStringList filesToTrust_;
Definition: settings.h:42
Definition: settings.h:134
Definition: tabpage.h:107