PlacesItemModel* m_model;
QSet<int> m_tobeRemoved;
QMap<QString, QDBusInterface *> m_interfacesMap;
- int m_expectedModelCount = qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused")) ? 16 : 14;
+ int m_expectedModelCount = 14;
bool m_hasDesktopFolder = false;
bool m_hasDocumentsFolder = false;
bool m_hasDownloadsFolder = false;
+ bool m_hasMusicFolder = false;
+ bool m_hasPicturesFolder = false;
+ bool m_hasVideosFolder = false;
void setBalooEnabled(bool enabled);
int indexOf(const QUrl &url);
void schedulePlaceRemoval(int index);
void cancelPlaceRemoval(int index);
QMimeData *createMimeData(const QList<int> &indexes) const;
+ void increaseIndexIfNeeded(int &index) const;
QTemporaryDir m_tempHomeDir;
};
urls << QDir::homePath() + QStringLiteral("/Downloads");
}
+ if (m_hasMusicFolder) {
+ urls << QDir::homePath() + QStringLiteral("/Music");
+ }
+
+ if (m_hasPicturesFolder) {
+ urls << QDir::homePath() + QStringLiteral("/Pictures");
+ }
+
+ if (m_hasVideosFolder) {
+ urls << QDir::homePath() + QStringLiteral("/Videos");
+ }
+
urls << QStringLiteral("trash:/")
<< QStringLiteral("remote:/")
<< QStringLiteral("/media/nfs");
if (qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused"))) {
urls << QStringLiteral("recentlyused:/files");
urls << QStringLiteral("recentlyused:/locations");
+ } else {
+ urls << QStringLiteral("timeline:/today")
+ << QStringLiteral("timeline:/yesterday");
}
- urls << QStringLiteral("timeline:/today") << QStringLiteral("timeline:/yesterday")
- << QStringLiteral("search:/documents") << QStringLiteral("search:/images") << QStringLiteral("search:/audio") << QStringLiteral("search:/videos")
+ urls << QStringLiteral("search:/documents") << QStringLiteral("search:/images") << QStringLiteral("search:/audio") << QStringLiteral("search:/videos")
<< QStringLiteral("/foreign")
<< QStringLiteral("/media/floppy0") << QStringLiteral("/media/XO-Y4") << QStringLiteral("/media/cdrom");
}
return mimeData;
}
+void PlacesItemModelTest::increaseIndexIfNeeded(int &index) const
+{
+ if (m_hasDesktopFolder) {
+ index++;
+ }
+ if (m_hasDocumentsFolder) {
+ index++;
+ }
+ if (m_hasDownloadsFolder) {
+ index++;
+ }
+ if (m_hasMusicFolder) {
+ index++;
+ }
+ if (m_hasPicturesFolder) {
+ index++;
+ }
+ if (m_hasVideosFolder) {
+ index++;
+ }
+}
+
void PlacesItemModelTest::init()
{
m_model = new PlacesItemModel();
m_expectedModelCount++;
}
+ if (QDir(QStandardPaths::writableLocation(QStandardPaths::MusicLocation)).exists()) {
+ m_hasMusicFolder = true;
+ m_expectedModelCount++;
+ }
+
+ if (QDir(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)).exists()) {
+ m_hasPicturesFolder = true;
+ m_expectedModelCount++;
+ }
+
+ if (QDir(QStandardPaths::writableLocation(QStandardPaths::MoviesLocation)).exists()) {
+ m_hasVideosFolder = true;
+ m_expectedModelCount++;
+ }
+
qRegisterMetaType<KItemRangeList>();
qRegisterMetaType<KItemRange>();
}
{
const auto groups = m_model->groups();
int expectedRemoteIndex = 2;
- if (m_hasDesktopFolder) {
- expectedRemoteIndex++;
- }
- if (m_hasDocumentsFolder) {
- expectedRemoteIndex++;
- }
- if (m_hasDownloadsFolder) {
- expectedRemoteIndex++;
- }
+ increaseIndexIfNeeded(expectedRemoteIndex);
QCOMPARE(groups.size(), 6);
QCOMPARE(groups.at(2).first, expectedRemoteIndex + 2);
QCOMPARE(groups.at(2).second.toString(), QStringLiteral("Recent"));
- if (qEnvironmentVariableIsSet("KDE_FULL_SESSION") && KProtocolInfo::isKnownProtocol(QStringLiteral("recentlyused"))) {
- expectedRemoteIndex += 2;
- }
-
QCOMPARE(groups.at(3).first, expectedRemoteIndex + 4);
QCOMPARE(groups.at(3).second.toString(), QStringLiteral("Search For"));
// baloo -search
QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << false << true << QStringLiteral("Search For") << false;
- // baloo - timeline
- QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << false << true << QStringLiteral("Recent") << false;
-
// devices
QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << false << false << QStringLiteral("Removable Devices") << false;
}
PlacesItemModel *model = new PlacesItemModel();
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
// create a new place
createPlaceItem(QStringLiteral("Temporary Dir"), tempUrl, QString());
// audio files
QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::DetailsView << false << QList<QByteArray>({"text", "artist", "album"});
- // baloo - timeline
- QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << DolphinView::DetailsView << true << QList<QByteArray>({"text", "modificationtime"});
-
// devices
QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::IconsView << true << QList<QByteArray>({"text"});
void PlacesItemModelTest::testSystemItems()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
QCOMPARE(m_model->count(), m_expectedModelCount);
for (int r = 0; r < m_model->count(); r++) {
void PlacesItemModelTest::testEditBookmark()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
QScopedPointer<PlacesItemModel> other(new PlacesItemModel());
void PlacesItemModelTest::testEditAfterCreation()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
void PlacesItemModelTest::testEditMetadata()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
void PlacesItemModelTest::testRefresh()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
// baloo -search
QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << QStringLiteral("folder-text");
- // baloo - timeline
- QTest::newRow("Baloo - Today") << QUrl("timeline:/today") << QStringLiteral("go-jump-today");
-
// devices
QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << QStringLiteral("blockdevice");
}
void PlacesItemModelTest::testDragAndDrop()
{
int lastIndex = 1; // last index of places group
- if (m_hasDesktopFolder) {
- lastIndex++;
- }
- if (m_hasDocumentsFolder) {
- lastIndex++;
- }
- if (m_hasDownloadsFolder) {
- lastIndex++;
- }
+ increaseIndexIfNeeded(lastIndex);
QList<QVariant> args;
KItemRangeList range;
void PlacesItemModelTest::renameAfterCreation()
{
int tempDirIndex = 2;
- if (m_hasDesktopFolder) {
- tempDirIndex++;
- }
- if (m_hasDocumentsFolder) {
- tempDirIndex++;
- }
- if (m_hasDownloadsFolder) {
- tempDirIndex++;
- }
+ increaseIndexIfNeeded(tempDirIndex);
const QUrl tempUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation));
QStringList urls = initialUrls();