Skip to content

Commit

Permalink
enterable file path
Browse files Browse the repository at this point in the history
  • Loading branch information
kicktheken committed Apr 22, 2009
1 parent e665810 commit e6a5cab
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
29 changes: 23 additions & 6 deletions filebrowser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,26 @@ FileBrowser::FileBrowser(QWidget *parent) : QFrame(parent)
view = new QListWidget(this);
layout = new QVBoxLayout(this);
QLabel *label = new QLabel(" File Browser");

layout->setSpacing(5);
layout->setContentsMargins(5,5,0,5);
layout->addWidget(label);
layout->addWidget(pathEdit);
layout->addWidget(view);

setDir(QDir::currentPath());

connect(pathEdit, SIGNAL(editingFinished()), SLOT(resolvePath()));
}

// @pre dir is valid path
void FileBrowser::setDir(const QString &path)
{

QDir dir = QDir(path);
//printf("set dir to (%s)\n",dir.path().toAscii().constData());
pathEdit->setText(dir.path());
dir.setSorting(QDir::DirsFirst | QDir::Name);
QList<QFileInfo> list = dir.entryInfoList();
curDir = QDir(path);
//printf("set dir to (%s)\n",curDir.path().toAscii().constData());
pathEdit->setText(curDir.path());
curDir.setSorting(QDir::DirsFirst | QDir::Name);
QList<QFileInfo> list = curDir.entryInfoList();
view->clear();
while (!list.isEmpty())
{
Expand All @@ -46,3 +50,16 @@ void FileBrowser::setDir(const QString &path)
view->addItem(item);
}
}

void FileBrowser::resolvePath()
{
QDir dir = QDir(pathEdit->text());
if (dir.exists())
{
setDir(dir.path());
}
else
{
pathEdit->setText(curDir.path());
}
}
3 changes: 3 additions & 0 deletions filebrowser.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ class FileBrowser : public QFrame
FileBrowser(QWidget *parent=NULL);
void setDir(const QString &path);
QListWidget *view;
private slots:
void resolvePath();
private:
QDir curDir;
QDirModel dirModel;
QLineEdit *pathEdit;
QVBoxLayout *layout;
Expand Down

0 comments on commit e6a5cab

Please sign in to comment.