[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso/widgets ResourcesWidget.cpp
From: |
Ben Levitt |
Subject: |
[Traverso-commit] traverso/src/traverso/widgets ResourcesWidget.cpp |
Date: |
Sat, 05 May 2007 16:48:31 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Ben Levitt <benjie> 07/05/05 16:48:31
Modified files:
src/traverso/widgets: ResourcesWidget.cpp
Log message:
Clean up file viewer, especially on windows
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/ResourcesWidget.cpp?cvsroot=traverso&r1=1.11&r2=1.12
Patches:
Index: ResourcesWidget.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/ResourcesWidget.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- ResourcesWidget.cpp 4 May 2007 01:05:07 -0000 1.11
+++ ResourcesWidget.cpp 5 May 2007 16:48:31 -0000 1.12
@@ -62,15 +62,17 @@
m_dirModel->setSorting(QDir::DirsFirst | QDir::Name |
QDir::IgnoreCase);
m_box = new QComboBox(this);
- m_box->addItem("");
+ m_box->addItem("", "");
#if defined (Q_WS_WIN)
QFileInfoList list = QDir::drives();
+ m_box->addItem(tr("My Computer"), "");
+ m_box->addItem(tr("My Documents"), QDir::homePath() + "\\" +
tr("My Documents"));
foreach(QFileInfo info, list) {
- m_box->addItem(info.dir().canonicalPath());
+ m_box->addItem(info.dir().canonicalPath(),
info.dir().canonicalPath());
}
#else
- m_box->addItem(QDir::rootPath());
- m_box->addItem(QDir::homePath());
+ m_box->addItem(QDir::rootPath(), QDir::rootPath());
+ m_box->addItem(QDir::homePath(), QDir::homePath());
#endif
QPushButton* button = new QPushButton(this);
QIcon icon =
QApplication::style()->standardIcon(QStyle::SP_FileDialogToParent);
@@ -90,7 +92,7 @@
connect(m_dirView, SIGNAL(clicked(const QModelIndex& )), this,
SLOT(dirview_item_clicked(const QModelIndex&)));
connect(button, SIGNAL(clicked()), this,
SLOT(dir_up_button_clicked()));
- connect(m_box, SIGNAL(activated(const QString&)), this,
SLOT(box_actived(const QString&)));
+ connect(m_box, SIGNAL(activated(int)), this,
SLOT(box_actived(int)));
}
@@ -99,7 +101,7 @@
private slots:
void dirview_item_clicked(const QModelIndex & index);
void dir_up_button_clicked();
- void box_actived(const QString& path);
+ void box_actived(int i);
private:
QListView* m_dirView;
@@ -115,26 +117,48 @@
m_dirView->setRootIndex(index);
pm().get_project()->set_import_dir(m_dirModel->filePath(index));
m_box->setItemText(0, m_dirModel->filePath(index));
+ m_box->setItemData(0, m_dirModel->filePath(index));
+ m_box->setCurrentIndex(0);
}
}
void FileWidget::dir_up_button_clicked()
{
QDir dir(m_dirModel->filePath(m_dirView->rootIndex()));
+
+#if defined (Q_WS_WIN)
+ if (m_dirModel->filePath(m_dirView->rootIndex()) == "") {
+ return;
+ }
+ QString oldDir = dir.canonicalPath();
+#endif
+
dir.cdUp();
+ QString text = dir.canonicalPath();
+
+#if defined (Q_WS_WIN)
+ if (oldDir == dir.canonicalPath()) {
+ dir.setPath("");
+ text = tr("My Computer");
+ }
+#endif
+
m_dirView->setRootIndex(m_dirModel->index(dir.canonicalPath()));
- m_box->setItemText(0, dir.canonicalPath());
+ m_box->setItemText(0, text);
+ m_box->setItemData(0, dir.canonicalPath());
+ m_box->setCurrentIndex(0);
}
-void FileWidget::box_actived(const QString& path)
+void FileWidget::box_actived(int i)
{
- m_dirView->setRootIndex(m_dirModel->index(path));
+
m_dirView->setRootIndex(m_dirModel->index(m_box->itemData(i).toString()));
}
void FileWidget::set_current_path(const QString& path) const
{
m_dirView->setRootIndex(m_dirModel->index(path));
m_box->setItemText(0, path);
+ m_box->setItemData(0, path);
}