X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftracksconfigdialog.cpp;h=939859903d17bd2d5b5255fc38002e32d8c8c417;hb=014689d6fdfb170aec6fc1924a14e248c2775157;hp=e018283c681dfc6132a9182e9a2964fbbca8af69;hpb=2de6a4383d1837c573e064307cd7f8d82eec6b6b;p=kdenlive diff --git a/src/tracksconfigdialog.cpp b/src/tracksconfigdialog.cpp index e018283c..93985990 100644 --- a/src/tracksconfigdialog.cpp +++ b/src/tracksconfigdialog.cpp @@ -23,6 +23,7 @@ #include #include #include +#include TracksDelegate::TracksDelegate(QObject *parent) : QItemDelegate(parent) @@ -77,6 +78,26 @@ TracksConfigDialog::TracksConfigDialog(KdenliveDoc * doc, int selected, QWidget* table->setItemDelegateForColumn(1, new TracksDelegate(this)); + buttonReset->setIcon(KIcon("document-revert")); + buttonReset->setToolTip(i18n("Reset")); + connect(buttonReset, SIGNAL(clicked()), this, SLOT(setupOriginal())); + + buttonAdd->setIcon(KIcon("list-add")); + buttonAdd->setToolTip(i18n("Add Track")); + buttonAdd->setEnabled(false); + + buttonDelete->setIcon(KIcon("list-remove")); + buttonDelete->setToolTip(i18n("Delete Track")); + connect(buttonDelete, SIGNAL(clicked()), this, SLOT(slotDelete())); + + buttonUp->setIcon(KIcon("arrow-up")); + buttonUp->setToolTip(i18n("Move Track upwards")); + buttonUp->setEnabled(false); + + buttonDown->setIcon(KIcon("arrow-down")); + buttonDown->setToolTip(i18n("Move Track downwards")); + buttonDown->setEnabled(false); + setupOriginal(selected); connect(table, SIGNAL(itemChanged(QTableWidgetItem *)), this, SLOT(slotUpdateRow(QTableWidgetItem *))); } @@ -102,6 +123,11 @@ const QList TracksConfigDialog::tracksList() return tracks; } +QList TracksConfigDialog::deletedTracks() +{ + return m_deletedRows; +} + void TracksConfigDialog::setupOriginal(int selected) { table->setRowCount(m_doc->tracksCount()); @@ -141,6 +167,8 @@ void TracksConfigDialog::setupOriginal(int selected) table->resizeColumnsToContents(); if (selected != -1) table->selectRow(selected); + + m_deletedRows = QList(); } void TracksConfigDialog::slotUpdateRow(QTableWidgetItem* item) @@ -157,4 +185,23 @@ void TracksConfigDialog::slotUpdateRow(QTableWidgetItem* item) } } +void TracksConfigDialog::slotDelete() +{ + int row = table->currentRow(); + int i = 0; + while (i < m_deletedRows.count()) { + if (m_deletedRows.at(i) == row) + return; + if (m_deletedRows.at(i) > row) + break; + i++; + } + m_deletedRows.insert(i, row); + for (i = 0; i < table->columnCount(); ++i) { + QTableWidgetItem *item = table->item(row, i); + item->setFlags(Qt::NoItemFlags); + item->setBackground(palette().dark()); + } +} + #include "tracksconfigdialog.moc"