--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/controlpanelui/src/tonefetcher/src/tonefetchermodel.cpp Tue Aug 31 15:15:28 2010 +0300
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * The source file for tone list model
+ */
+#include "tonefetchermodel.h"
+#include <QFileInfo>
+#include <QtAlgorithms>
+
+ToneFetcherModel::ToneFetcherModel(QObject *parent)
+ : QStringListModel(parent)
+{
+}
+
+ToneFetcherModel::~ToneFetcherModel()
+{
+}
+
+QVariant ToneFetcherModel::data(const QModelIndex &index, int role) const
+{
+ if (role == Qt::DisplayRole) {
+ return QFileInfo(QStringListModel::data(index, role).toString()).baseName();
+ } else {
+ return QStringListModel::data(index, role);
+ }
+}
+
+QString ToneFetcherModel::getPath(const QModelIndex &index) const
+{
+ return QStringListModel::data(index, Qt::DisplayRole).toString();
+}
+
+void ToneFetcherModel::sort()
+{
+ QStringList list = stringList();
+ qStableSort(list.begin(), list.end(), caseSensitiveLessThan);
+ removeRows(0, rowCount());
+ setStringList(list);
+}
+void ToneFetcherModel::layoutToBeChanged()
+{
+ emit layoutAboutToBeChanged();
+}
+
+void ToneFetcherModel::layoutHasChanged()
+{
+ emit layoutChanged();
+}
+
+bool ToneFetcherModel::caseSensitiveLessThan(const QString &s1, const QString &s2)
+{
+ return QFileInfo(s1).baseName().toLower() < QFileInfo(s2).baseName().toLower();
+}
+//End of File