diff options
-rw-r--r-- | filesystemwidget.cpp | 14 | ||||
-rw-r--r-- | filesystemwidget.h | 1 | ||||
-rw-r--r-- | fileview.cpp | 6 | ||||
-rw-r--r-- | fileview.h | 3 | ||||
-rw-r--r-- | smdirmodel.cpp | 3 | ||||
-rw-r--r-- | smdirmodel.h | 3 |
6 files changed, 24 insertions, 6 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 1e70a49..e2dc9ef 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -66,6 +66,7 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboar mFileProxy = new FilesystemFileProxy; QStringList fHeaders = QStringList() << tr("Name") << tr("Size") << tr("Type") << tr("Created") << tr("Md5Sum") << tr("Duration") << tr("Bitrate") << tr("Full Path"); mFileModel = new SmDirModel(fHeaders, this); + connect(mFileModel, SIGNAL(needResize()), this, SLOT(resizeFileView())); mFileProxy->setSourceModel(mFileModel); mFileView->setModel(mFileProxy); mFileView->setSortingEnabled(true); @@ -152,11 +153,7 @@ void FilesystemWidget::directoryChanged(const QModelIndex &selected, const QMode setWindowTitle(mModel->filePath(real)); mFileView->selectionModel()->clear(); mFileModel->setDir(mModel->filePath(real)); - mFileView->resizeColumnToContents(0); - mFileView->resizeColumnToContents(1); - mFileView->resizeColumnToContents(2); - mFileView->resizeColumnToContents(3); - mFileView->resizeColumnToContents(4); + resizeFileView(); } void FilesystemWidget::directoryEdited(){ @@ -536,6 +533,13 @@ void FilesystemWidget::fileEditorClosed(const QModelIndex &idx){ } } +void FilesystemWidget::resizeFileView(){ + for(int i = 1; i < 5; ++i){ + mFileView->resizeColumnToContents(i); + } + mFileView->resizeColumnToContents(0); +} + QStringList FilesystemWidget::selectedFiles(){ QStringList retval; QModelIndexList selected = fileView()->selectionModel()->selectedRows(); diff --git a/filesystemwidget.h b/filesystemwidget.h index b668ae6..d6abc41 100644 --- a/filesystemwidget.h +++ b/filesystemwidget.h @@ -71,6 +71,7 @@ class FilesystemWidget : public QWidget { void dirExpanded(const QModelIndex &idx); void dirCollapsed(const QModelIndex &idx); void fileEditorClosed(const QModelIndex &idx); + void resizeFileView(); private: void setWindowTitle(const QString &dir); diff --git a/fileview.cpp b/fileview.cpp index f7c65ca..0f0fa28 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -97,6 +97,12 @@ void FileView::readConfig(){ mCursorOffset = s.value("ui/cursoroffset").toInt(); } +void FileView::resizeColumns(int columns) { + for(int i = 0; i < columns; ++i){ + resizeColumnToContents(i); + } +} + void FileView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint){ QTreeView::closeEditor(editor, hint); QSortFilterProxyModel *proxy = qobject_cast<QSortFilterProxyModel*>(model()); @@ -38,7 +38,8 @@ class FileView : public QTreeView { void markFiles(); void unmarkFiles(); void createFolder(); - void readConfig(); + void readConfig(); + void resizeColumns(int columns); protected slots: virtual void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint); diff --git a/smdirmodel.cpp b/smdirmodel.cpp index a02c47c..cf2197a 100644 --- a/smdirmodel.cpp +++ b/smdirmodel.cpp @@ -89,6 +89,7 @@ bool SmDirModel::setData(const QModelIndex &index, const QVariant &value, int ro QString dir = fileInfo(index).absolutePath(); QString newPath = QString("%1/%2").arg(dir).arg(newName); QFile::rename(old, newPath); + emit needResize(); } return SmTreeModel::setData(index, value, role); } @@ -136,6 +137,7 @@ void SmDirModel::dirEvent(const QString &file, int e){ setData(c, fData.at(i), Qt::EditRole); } } + emit needResize(); } void SmDirModel::readSettings(){ @@ -167,6 +169,7 @@ void SmDirModel::populate(){ root->appendChild(n); } setRoot(root); + emit needResize(); } const QList<QVariant> SmDirModel::fileData(const QFileInfo &fi) const{ diff --git a/smdirmodel.h b/smdirmodel.h index 620a632..3712cba 100644 --- a/smdirmodel.h +++ b/smdirmodel.h @@ -47,6 +47,9 @@ class SmDirModel : public SmTreeModel { private slots: void populate(); + signals: + void needResize(); + private: const QList<QVariant> fileData(const QFileInfo &fi) const; SmDirWatcher *mWatch; |