summaryrefslogtreecommitdiff
path: root/dgedit/filelist.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-10-12 21:19:48 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-10-12 21:19:48 +0200
commitadc6d371af2cf356578fee6be0711d6db7f31288 (patch)
tree969a2b081f5089168a798dd945a8e0b287d02f8d /dgedit/filelist.cc
parentfafc815d3b2f525e703ab9482a008201097ab90d (diff)
parent32d9c872e7abdaedb497e7403a44470676838ecb (diff)
Merge in from master.
Diffstat (limited to 'dgedit/filelist.cc')
-rw-r--r--dgedit/filelist.cc186
1 files changed, 0 insertions, 186 deletions
diff --git a/dgedit/filelist.cc b/dgedit/filelist.cc
deleted file mode 100644
index c4e5c4b..0000000
--- a/dgedit/filelist.cc
+++ /dev/null
@@ -1,186 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/***************************************************************************
- * filelist.cc
- *
- * Mon Nov 30 15:35:52 CET 2009
- * Copyright 2009 Bent Bisballe Nyeng
- * deva@aasimon.org
- ****************************************************************************/
-
-/*
- * This file is part of DrumGizmo.
- *
- * DrumGizmo is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * DrumGizmo is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with DrumGizmo; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- */
-#include "filelist.h"
-
-#include <QFileDialog>
-#include <QFileInfo>
-#include <QMenu>
-
-#include "itemeditor.h"
-
-FileList::FileList()
-{
- setContextMenuPolicy(Qt::CustomContextMenu);
-
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(popupMenu(const QPoint &)));
-
- connect(this, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
- this, SLOT(selectionChanged(QListWidgetItem *)));
-
- createMenus();
-}
-
-void FileList::addFiles()
-{
- QStringList files = QFileDialog::getOpenFileNames(this, tr("Open file"),
- path, tr("Audio Files (*.wav)"));
- QStringList::Iterator i = files.begin();
- while(i != files.end()) {
- QString file = *i;
- QFileInfo fi(file);
- QString name = fi.baseName();
- path = fi.absolutePath();
-
- QListWidgetItem *item = new QListWidgetItem();
- setItemFile(item, file);
- setItemName(item, name);
- setItemMaster(item, false);
- addItem(item);
-
- emit fileAdded(file, name);
-
- i++;
- }
-}
-
-void FileList::setMasterFile(QListWidgetItem *i)
-{
- QString filename = itemFile(i);
-
- for(int idx = 0; idx < count(); idx++) {
- setItemMaster(item(idx), false);
- }
-
- setItemMaster(i, true);
- emit masterFileChanged(filename);
-}
-
-void FileList::selectionChanged(QListWidgetItem *i)
-{
- setMasterFile(i);
-}
-
-
-void FileList::createMenus()
-{
- menu = new QMenu();
-
- setMasterAction = new QAction("Set as Master (dbl-click)", this);
- connect(setMasterAction, SIGNAL(triggered()), this, SLOT(setMaster()));
-
- editAction = new QAction("Edit name", this);
- connect(editAction, SIGNAL(triggered()), this, SLOT(editName()));
-
- removeAction = new QAction("Remove", this);
- connect(removeAction, SIGNAL(triggered()), this, SLOT(removeFile()));
-
- removeAllAction = new QAction("Remove all", this);
- connect(removeAllAction, SIGNAL(triggered()), this, SLOT(removeAllFiles()));
-
- menu->addAction(setMasterAction);
- menu->addAction(editAction);
- menu->addAction(removeAction);
- menu->addSeparator();
- menu->addAction(removeAllAction);
-
-}
-
-void FileList::popupMenu(const QPoint & pos)
-{
- activeItem = itemAt(pos);
- if(!activeItem) return;
- menu->popup(mapToGlobal(pos));
-}
-
-void FileList::setMaster()
-{
- setMasterFile(activeItem);
-}
-
-void FileList::removeFile()
-{
- QString file = itemFile(activeItem);
- QString name = itemName(activeItem);
-
- printf("Removing: %s\n", file.toStdString().c_str());
- delete activeItem;//takeItem(row(activeItem));
- activeItem = NULL;
- setCurrentRow(-1);
-
- emit fileRemoved(file, name);
-}
-
-void FileList::removeAllFiles()
-{
- activeItem = NULL;
-
- clear();
-
- emit allFilesRemoved();
-}
-
-void FileList::editName()
-{
- ItemEditor *e = new ItemEditor(activeItem, itemName(activeItem));
- connect(e, SIGNAL(updateItem(QListWidgetItem *, QString)),
- this, SLOT(setItemName(QListWidgetItem *, QString)));
-}
-
-
-// Item utility functions.
-QString FileList::itemFile(QListWidgetItem *i)
-{
- return i->data(Qt::ToolTipRole).toString();
-}
-
-void FileList::setItemFile(QListWidgetItem *i, QString file)
-{
- i->setData(Qt::ToolTipRole, file);
- i->setData(Qt::DisplayRole, itemName(i) + "\t" + file);
-}
-
-QString FileList::itemName(QListWidgetItem *i)
-{
- return i->data(Qt::UserRole).toString();
-}
-
-void FileList::setItemName(QListWidgetItem *i, QString name)
-{
- QString oldname = itemName(i);
-
- i->setData(Qt::UserRole, name);
- i->setData(Qt::DisplayRole, name + "\t" + itemFile(i));
-
- if(oldname != "" && oldname != name) emit nameChanged(itemFile(i), name);
-}
-
-void FileList::setItemMaster(QListWidgetItem *i, bool master)
-{
- if(master) i->setIcon(QPixmap(":icons/master.png"));
- else i->setIcon(QPixmap(":icons/file.png"));
-}