From 066cc53c2506fb7f7cb7b3b0d888243df611cacd Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 30 Jul 2010 19:59:52 +0200 Subject: Bugfix commit The journey through the internals of SheMov started by fixing SeriesTreeWidget::readSettings(). The selected index didn't really get selected on startup because only QItemSelectionModel::setCurrendt() was called. Replace it with QItemSelectionModel::select() and QTreeView::setCurrent(). Also fix SeriesTreeWidget::writeSettings() to only write selected items to QSettings() when something is selected. While working on selections I realized that there is a serious bug in Helper::moveToArchive. The destination directory in the archive must be created if it doesn't exist. For a testcase I needed an easy way to move files back from the archive to incoming directory, so I added FilesTreeWiget::moveToDirectory(). This lets you move files from the FilesTreeWidget to any directory. During testing I realized that SeriesTreeWidget::deleteFromSeries() QMessageBox() doesn't show files when deleting a series part. Fixed that by adding SeriesParts to file list. Finally a newly added SeriesPart gets selected and selected by expanding it first and then calling QItemSelectionModel::select() To make a long story short: 1. fix SeriesTreeWidget::{read,write}Settings 2. add FilesTreeWidget::moveToDirectory() 3. fix SeriesTreeWidget::deleteFromSeries() QMessageBox 4. fix selecting newly added SeriesParts --- helper.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'helper.cpp') diff --git a/helper.cpp b/helper.cpp index 7b49695..9be7066 100644 --- a/helper.cpp +++ b/helper.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include "helper.h" @@ -90,6 +91,10 @@ namespace Helper { return QString(); } } + QFileInfo destDir = QFileInfo(destFile.absolutePath()); + if(!destDir.exists()){ + QDir::root().mkpath(destFile.absolutePath()); + } bool success = QFile::rename(path, destFile.absoluteFilePath()); if(success){ return destFile.absoluteFilePath(); -- cgit v1.2.3-70-g09d2