25 #include <QVBoxLayout> 27 #include <libfm-qt/browsehistory.h> 30 #include "statusbar.h" 32 #include <libfm-qt/core/fileinfo.h> 33 #include <libfm-qt/core/filepath.h> 34 #include <libfm-qt/core/folder.h> 35 #include <libfm-qt/cachedfoldermodel.h> 40 class ProxyFolderModel;
41 class CachedFolderModel;
50 bool filterAcceptsRow(
const Fm::ProxyFolderModel* model,
const std::shared_ptr<const Fm::FileInfo>& info)
const;
52 QString getFilterStr() {
55 void setFilterStr(QString str) {
70 void keyPressed(QKeyEvent* event);
73 virtual void focusOutEvent(QFocusEvent* event)
override {
75 QLineEdit::focusOutEvent(event);
77 virtual void keyPressEvent(QKeyEvent* event)
override;
78 virtual void contextMenuEvent(QContextMenuEvent *);
91 filterEdit_->setFocus();
94 filterEdit_->clearFocus();
99 void keyPressed(QKeyEvent* event) {
100 filterEdit_->keyPressed(event);
104 void textChanged(
const QString &text);
108 void onkeyPressed(QKeyEvent* event) {
109 filterEdit_->keyPressed(event);
122 enum StatusTextType {
124 StatusTextSelectedFiles,
130 explicit TabPage(QWidget* parent =
nullptr);
133 void chdir(Fm::FilePath newPath,
bool addHistory =
true);
134 void chsearchdir(Fm::FilePath searchpath);
136 Fm::FolderView::ViewMode viewMode() {
137 return folderSettings_.viewMode();
140 void setViewMode(Fm::FolderView::ViewMode mode);
142 void sort(
int col, Qt::SortOrder order = Qt::AscendingOrder);
145 return folderSettings_.sortColumn();
148 Qt::SortOrder sortOrder() {
149 return folderSettings_.sortOrder();
152 bool sortFolderFirst() {
153 return folderSettings_.sortFolderFirst();
155 void setSortFolderFirst(
bool value);
157 bool sortCaseSensitive() {
158 return folderSettings_.sortCaseSensitive();
161 void setSortCaseSensitive(
bool value);
164 return proxyModel_->showHidden();
167 void setShowHidden(
bool showHidden);
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();
203 void invertSelection();
207 QString statusText(StatusTextType type = StatusTextNormal)
const {
208 return statusText_[type];
212 return history_.canBackward();
218 return history_.canForward();
223 void jumpToHistory(
int index);
229 void updateFromSettings(
Settings& settings);
231 void setFileLauncher(Fm::FileLauncher* launcher) {
232 folderView_->setFileLauncher(launcher);
235 Fm::FileLauncher* fileLauncher() {
236 return folderView_->fileLauncher();
239 QString getFilterStr() {
241 return proxyFilter_->getFilterStr();
246 void setFilterStr(QString str) {
248 proxyFilter_->setFilterStr(str);
254 bool hasCustomizedView() {
255 return folderSettings_.isCustomized();
258 void setCustomizedView(
bool value);
260 void transientFilterBar(
bool transient);
262 void showFilterBar();
263 bool isFilterBarVisible()
const {
264 return (filterBar_ && filterBar_->isVisible());
272 void backspacePressed();
277 void statusChanged(
int type, QString statusText);
278 void titleChanged(QString title);
279 void openDirRequested(
const Fm::FilePath& path,
int target);
280 void sortFilterChanged();
281 void forwardRequested();
282 void backwardRequested();
283 void folderUnmounted();
284 void keyPressed(QKeyEvent* event);
285 void searchChanged();
287 virtual bool eventFilter(QObject* watched, QEvent* event);
288 virtual void resizeEvent(QResizeEvent *event){
289 filterBar_->setGeometry(size().width()-filterBar_->size().width() -20,size().height()-100,100,100);
291 folderView_->sizeHint();
297 void onFileSizeChanged(
const QModelIndex& index);
298 void onFilesAdded(
const Fm::FileInfoList files);
299 void onChangedMode(Fm::FolderView::ViewMode);
300 void onLosingFilterBarFocus();
301 void onSearchModeChange();
303 void onClearFilter();
306 void onFilterStringChanged(QString str);
307 void onFilterStringChanged_Folder(QString str);
310 QString formatStatusText();
311 QString formatSearchStatusText();
313 QString encloseWithBidiMarks(
const QString& text);
315 void onFolderStartLoading();
316 void onFolderFinishLoading();
319 void onFolderError(
const Fm::GErrorPtr& err, Fm::Job::ErrorSeverity severity, Fm::Job::ErrorAction& response);
321 void onFolderFsInfo();
322 void onFolderRemoved();
323 void onFolderUnmount();
324 void onFolderContentChanged();
328 Fm::CachedFolderModel* folderModel_;
329 Fm::ItemFolderModel * folderitemModel_;
330 Fm::ProxyFolderModel* proxyModel_;
332 QVBoxLayout* verticalLayout;
333 std::shared_ptr<Fm::Folder> folder_;
334 QString statusText_[StatusTextNum];
335 Fm::BrowseHistory history_;
336 Fm::FilePath lastFolderPath_;
337 bool overrideCursor_;
339 QTimer* selectionTimer_;
343 bool searchfolder {
false};
345 QLabel* fsInfoLabel_;
350 #endif // FM_TABPAGE_H Definition: desktopwindow.h:38
Definition: settings.h:90
Definition: tabpage.h:118
Definition: settings.h:170
Definition: application.cpp:59
Definition: statusbar.h:41