#
#
# patch "i18n/guitone_de.ts"
# from [26647e7950bae0db517d0122ff230c13ebd6b0ee]
# to [fb312dd3b4574049e13837d110b310e569271557]
#
# patch "src/model/ProxyModel.cpp"
# from [f3b31a260e8ed6d4eabea51f4d2a63490f7f22de]
# to [1b27de97ee5a5b66212ae25020a22f639a7afb1a]
#
# patch "src/model/ProxyModel.h"
# from [148d1e218bb9c5229ae658db2c559b87b875adc0]
# to [854a4b9618de6833f8db0783ba0fa1cc761e04ea]
#
# patch "src/view/Guitone.cpp"
# from [9479fbb59d8eb850a4c86735004ef2d25189fb66]
# to [22d38d0766c14d9a0927dc23c941aea3de1b1c1d]
#
# patch "src/view/Guitone.h"
# from [c255b20f0b057f5b04c71dc6373fdd08c7e427e3]
# to [df4f6efd4141467224a52cd0d97bb92a2e4652c9]
#
============================================================
--- i18n/guitone_de.ts 26647e7950bae0db517d0122ff230c13ebd6b0ee
+++ i18n/guitone_de.ts fb312dd3b4574049e13837d110b310e569271557
@@ -76,6 +76,18 @@
File|Import
STRG+I
+
+
+ &Ansicht
+
+
+
+ Ignorierte Dateien &verstecken
+
+
+
+ Ignorierte Dateien a&nzeigen
+
Monotone
============================================================
--- src/model/ProxyModel.cpp f3b31a260e8ed6d4eabea51f4d2a63490f7f22de
+++ src/model/ProxyModel.cpp 1b27de97ee5a5b66212ae25020a22f639a7afb1a
@@ -24,7 +24,7 @@
ProxyModel::ProxyModel(QObject *parent, bool folderTree_)
: QSortFilterProxyModel(parent), folderTree(folderTree_),
-sortColumn(0), sortOrder(Qt::AscendingOrder)
+sortColumn(0), sortOrder(Qt::AscendingOrder), hideIgnored(false)
{
}
@@ -37,15 +37,14 @@
QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
WorkspaceItem *item = static_cast(index.internalPointer());
- if (folderTree)
- {
- if(item->isDirectory())
- {
- return true;
- }
- return false;
- }
- return true;
+ bool acceptRow = true;
+
+ // check if we should hide ignored files
+ acceptRow &= !hideIgnored || !item->hasStatus(WorkspaceItem::Ignored);
+ // check if we should only display folders
+ acceptRow &= !folderTree || item->isDirectory();
+
+ return acceptRow;
}
bool ProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
@@ -93,3 +92,15 @@
sortColumn = column;
QSortFilterProxyModel::sort(column, order);
}
+
+void ProxyModel::setHideIgnoredFiles(bool hide)
+{
+ if (hide == hideIgnored) return;
+ hideIgnored = hide;
+ clear();
+}
+
+bool ProxyModel::hideIgnoredFiles() const
+{
+ return hideIgnored;
+}
============================================================
--- src/model/ProxyModel.h 148d1e218bb9c5229ae658db2c559b87b875adc0
+++ src/model/ProxyModel.h 854a4b9618de6833f8db0783ba0fa1cc761e04ea
@@ -32,10 +32,13 @@
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
-
+ void setHideIgnoredFiles(bool hide);
+ bool hideIgnoredFiles() const;
+
private:
bool folderTree;
int sortColumn;
+ bool hideIgnored;
Qt::SortOrder sortOrder;
};
============================================================
--- src/view/Guitone.cpp 9479fbb59d8eb850a4c86735004ef2d25189fb66
+++ src/view/Guitone.cpp 22d38d0766c14d9a0927dc23c941aea3de1b1c1d
@@ -59,6 +59,14 @@
Qt::CTRL + Qt::Key_Q
);
+ menu = menuBar()->addMenu(tr("&View"));
+ actShowHideIgnored = menu->addAction(
+ tr("&Hide ignored files"),
+ this,
+ SLOT(showHideIgnoredFiles()),
+ Qt::CTRL + Qt::Key_H
+ );
+
//
// Toolbar
//
@@ -188,3 +196,14 @@
properties.setStartupSize(size());
event->accept();
}
+
+void Guitone::showHideIgnoredFiles()
+{
+ bool hide = proxyModelFolderTree->hideIgnoredFiles();
+ proxyModelFolderTree->setHideIgnoredFiles(!hide);
+ proxyModelFileList->setHideIgnoredFiles(!hide);
+
+ actShowHideIgnored->setText(
+ hide ? tr("&Hide ignored files") : tr("&Show ignored files")
+ );
+}
============================================================
--- src/view/Guitone.h c255b20f0b057f5b04c71dc6373fdd08c7e427e3
+++ src/view/Guitone.h df4f6efd4141467224a52cd0d97bb92a2e4652c9
@@ -46,11 +46,13 @@
//void doFindAndSelectItem( WorkspaceItem* );
void slotMapFolderTreeToFileList( const QModelIndex &proxyIndex );
void slotMapFileListToFolderTree( const QModelIndex &proxyIndex );
+ void showHideIgnoredFiles();
private:
void closeEvent(QCloseEvent *event);
QMenu *menu;
+ QAction *actShowHideIgnored;
QToolBar *toolBar;
Workspace *myWorkspace;
ProxyModel *proxyModelFolderTree;