From 2756d5739009be7bc47f7b0ca8a9a78e29f272c8 Mon Sep 17 00:00:00 2001 From: Tobias Rundstrom Date: Fri, 25 Aug 2006 11:16:09 -0400 Subject: [PATCH] Speed-up the BrowseDialog --- BrowseDialog.cpp | 8 +++++--- BrowseDialog.h | 3 ++- BrowseModel.cpp | 6 ++++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/BrowseDialog.cpp b/BrowseDialog.cpp index a2c89a3..23ea683 100644 --- a/BrowseDialog.cpp +++ b/BrowseDialog.cpp @@ -11,20 +11,22 @@ #include #include #include +#include BrowseDialog::BrowseDialog (QWidget *parent) : QDialog (parent) { setSizeGripEnabled(true); QGridLayout *grid = new QGridLayout (this); - m_list = new QListView (this); + m_list = new QTreeView (this); m_model = new BrowseModel (this); m_list->setModel (m_model); m_list->setSelectionMode (QAbstractItemView::ExtendedSelection); m_list->setSelectionBehavior (QAbstractItemView::SelectRows); - m_list->setWrapping (true); - m_list->setResizeMode (QListView::Adjust); +// m_list->setWrapping (true); + m_list->setIndentation (0); + //m_list->setResizeMode (QListView::Adjust); m_list->setEditTriggers (QAbstractItemView::EditKeyPressed); m_list->setContextMenuPolicy (Qt::CustomContextMenu); diff --git a/BrowseDialog.h b/BrowseDialog.h index 08982f1..8404c30 100644 --- a/BrowseDialog.h +++ b/BrowseDialog.h @@ -4,6 +4,7 @@ #include "BrowseModel.h" #include +#include #include #include #include @@ -27,7 +28,7 @@ class BrowseDialog : public QDialog QStringList getFiles (); private: - QListView *m_list; + QTreeView *m_list; QComboBox *m_lookInCombo; QLineEdit *m_lookInEdit; QLineEdit *m_fileNameEdit; diff --git a/BrowseModel.cpp b/BrowseModel.cpp index e57cf47..4db0264 100644 --- a/BrowseModel.cpp +++ b/BrowseModel.cpp @@ -86,12 +86,12 @@ BrowseModel::list_cb (const Xmms::List< Xmms::Dict > &res) QString name; if (d.contains ("name")) { - name = QString::fromStdString ((*res).get ("name")); + name = QString::fromStdString (d.get ("name")); } else { name = path.mid (path.lastIndexOf ("/")+1); } - bool isdir = (*res).get ("isdir"); + bool isdir = d.get ("isdir"); if (m_filter_dot && name.startsWith (".")) // skip these files @@ -104,6 +104,8 @@ BrowseModel::list_cb (const Xmms::List< Xmms::Dict > &res) emit dirChanged (m_current_dir); + qDebug ("done"); + return true; }