summaryrefslogtreecommitdiffstats
path: root/filesystemwidget.cpp
diff options
context:
space:
mode:
authoram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-07-12 16:04:04 +0000
committeram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-07-12 16:04:04 +0000
commita3dd54389f7b28431fc9853cd57af231bd6a3c9c (patch)
tree3fc25acead59266867f057e862e722ac7dbe2180 /filesystemwidget.cpp
parentb6fbec29ad08a0607adf4b5d3fe5d8a237d1a970 (diff)
downloadSheMov-a3dd54389f7b28431fc9853cd57af231bd6a3c9c.tar.gz
SheMov-a3dd54389f7b28431fc9853cd57af231bd6a3c9c.tar.bz2
SheMov-a3dd54389f7b28431fc9853cd57af231bd6a3c9c.zip
-implemented cover rename and templates
-started on configurationdialog git-svn-id: file:///var/svn/repos2/shemov/trunk@385 f440f766-f032-0410-8965-dc7d17de2ca0
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r--filesystemwidget.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index aafcd6d..edb842c 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -306,6 +306,46 @@ void FilesystemWidget::renameFile(){
mRenameDialog->exec();
}
+void FilesystemWidget::renameCover(const QString &infix){
+ if(mTemplate.isEmpty()){
+ emit statusbarMessage(tr("No template set!"));
+ return;
+ }
+ QModelIndex idx = mFileView->currentIndex();
+ QSortFilterProxyModel *proxy = static_cast<QSortFilterProxyModel*>(mFileView->model());
+ QModelIndex real = proxy->mapToSource(idx);
+ QFileInfo info = mModel->fileInfo(real);
+ QString newFilename = QString("%1/%2.%3.%4").arg(info.absolutePath()).arg(mTemplate).arg(infix).arg(info.suffix());
+ QFileInfo nf(newFilename);
+ if(nf.exists()){
+ QString message = QString(tr("New file %1 already exists!")).arg(newFilename);
+ statusbarMessage(message);
+ return;
+ }
+ QString question = QString(tr("Really rename %1 to %2?")).arg(info.absoluteFilePath()).arg(nf.fileName());
+ int retval = QMessageBox::question(this, tr("Question"), question, QMessageBox::Yes | QMessageBox::No);
+ if(retval == QMessageBox::Yes){
+ if(QFile::rename(info.absoluteFilePath(), newFilename)){
+ QString message = QString(tr("Successfully renamed %1 to %2")).arg(info.fileName()).arg(nf.fileName());
+ emit statusbarMessage(message);
+ mModel->refresh(real.parent());
+ }else{
+ QString message = QString(tr("Failed to rename %1 to %2")).arg(info.fileName()).arg(nf.fileName());
+ emit statusbarMessage(message);
+ }
+ }
+}
+
+void FilesystemWidget::setTemplate(){
+ QModelIndex idx = mFileView->currentIndex();
+ if(idx.column() != 0){
+ idx = mFileView->model()->index(idx.row(), 0);
+ }
+ QFileInfo info(idx.data().toString());
+ mTemplate = info.completeBaseName().toLower();
+ emit newTemplate(mTemplate);
+}
+
void FilesystemWidget::setWindowTitle(const QString &dir){
mWindowTitle = QString("%1 - %2").arg(qApp->applicationName()).arg(dir);
emit windowTitle(mWindowTitle);