[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso dialogs/project/NewProjec...
From: |
Nicola Doebelin |
Subject: |
[Traverso-commit] traverso/src/traverso dialogs/project/NewProjec... |
Date: |
Tue, 20 May 2008 20:51:05 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Nicola Doebelin <n_doebelin> 08/05/20 20:51:05
Modified files:
src/traverso/dialogs/project: NewProjectDialog.cpp
NewProjectDialog.h
src/traverso/ui: NewProjectDialog.ui
Log message:
* "New Project" dialog was modified. Doesn't work yet. Use the "Empty
Project" tab for the moment.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/project/NewProjectDialog.cpp?cvsroot=traverso&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/project/NewProjectDialog.h?cvsroot=traverso&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/NewProjectDialog.ui?cvsroot=traverso&r1=1.4&r2=1.5
Patches:
Index: dialogs/project/NewProjectDialog.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/traverso/dialogs/project/NewProjectDialog.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- dialogs/project/NewProjectDialog.cpp 21 Jan 2008 16:25:16 -0000
1.4
+++ dialogs/project/NewProjectDialog.cpp 20 May 2008 20:51:04 -0000
1.5
@@ -30,12 +30,19 @@
#include <QFileDialog>
#include <QHeaderView>
#include <QPushButton>
+#include <QTreeWidget>
+#include <QTreeWidgetItem>
+#include <QList>
+#include <QFileInfo>
#include <Config.h>
#include <Information.h>
#include <ProjectManager.h>
#include <Project.h>
+#include <Sheet.h>
+#include <Track.h>
#include <Utils.h>
+#include "Import.h"
// Always put me below _all_ includes, this is needed
@@ -54,6 +61,8 @@
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
connect(useTemplateCheckBox, SIGNAL(stateChanged (int)), this,
SLOT(use_template_checkbox_state_changed(int)));
+ connect(pushButtonAddFiles, SIGNAL(clicked()), this, SLOT(add_files()));
+ connect(pushButtonRemoveFiles, SIGNAL(clicked()), this,
SLOT(remove_files()));
}
NewProjectDialog::~ NewProjectDialog( )
@@ -88,17 +97,31 @@
}
}
+ Project* project;
+
int numSheets = sheetCountSpinBox->value();
int numTracks = trackCountSpinBox->value();
int index = templateComboBox->currentIndex();
bool usetemplate = false;
+
if (useTemplateCheckBox->isChecked() && index >= 0) {
usetemplate = true;
}
- Project* project;
-
+ // check which method to use. If there are items in the
treeWidgetFiles, ignore
+ // settings in the "empty project" tab. Else use settings from "empty
project" tab.
+ int items = treeWidgetFiles->topLevelItemCount();
+ bool loadFiles = false;
+ if (items > 0)
+ {
+ //there are items in the treeWidgetFiles
+ loadFiles = true;
+ numSheets = 1;
+ numTracks = items;
+ project = pm().create_new_project(numSheets, numTracks, title);
+ } else {
+ //no items in the treeWidgetFiles
if (usetemplate) {
project = pm().create_new_project(QDir::homePath() +
"/.traverso/ProjectTemplates/" +
templateComboBox->itemText(index) + ".tpt",
title);
@@ -106,6 +129,7 @@
} else {
project = pm().create_new_project(numSheets, numTracks, title);
}
+ }
if (! project) {
info().warning(tr("Couldn't create project (%1)").arg(title) );
@@ -119,6 +143,11 @@
pm().load_project(title);
+ if (loadFiles)
+ {
+ load_files();
+ }
+
hide();
}
@@ -142,5 +171,57 @@
}
}
+void NewProjectDialog::add_files()
+{
+ QStringList list = QFileDialog::getOpenFileNames(this, tr("Open Audio
Files"), config().get_property("Project", "directory",
"/directory/unknown").toString(), tr("Audio files (*.wav *.flac *.ogg *.mp3
*.wv *.w64)"));
+
+ for(int i = 0; i < list.size(); ++i)
+ {
+ QStringList labels;
+ QFileInfo finfo(list.at(i));
+ labels << "Unnamed" << finfo.fileName();
+
+ QTreeWidgetItem* item = new QTreeWidgetItem(treeWidgetFiles,
labels, 0);
+ item->setData(0, Qt::ToolTipRole, finfo.absoluteFilePath());
+ treeWidgetFiles->addTopLevelItem(item);
+ }
+}
+
+void NewProjectDialog::remove_files()
+{
+ QList<QTreeWidgetItem*> selection = treeWidgetFiles->selectedItems();
+
+ if (selection.isEmpty())
+ {
+ return;
+ }
+
+ while (!selection.isEmpty())
+ {
+ QTreeWidgetItem *it = selection.takeLast();
+ delete it;
+ }
+}
+
+void NewProjectDialog::load_files()
+{
+ Sheet* sheet = pm().get_project()->get_current_sheet();
+
+ int i = 0;
+ while(treeWidgetFiles->topLevelItemCount()) {
+ QTreeWidgetItem* item =
treeWidgetFiles->takeTopLevelItem(0);
+ QString f = item->data(0, Qt::ToolTipRole).toString();
+ delete item;
+
+ if (i < sheet->get_numtracks())
+ {
+printf(QS_C(QString("****** %1\n").arg(f)));
+ Track* track = sheet->get_track_for_index(i);
+ Import* cmd = new Import(track, f,
(TimeRef)0.0);
+ Command::process_command(cmd);
+ }
+ ++i;
+ }
+}
//eof
Index: dialogs/project/NewProjectDialog.h
===================================================================
RCS file:
/sources/traverso/traverso/src/traverso/dialogs/project/NewProjectDialog.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- dialogs/project/NewProjectDialog.h 4 Apr 2007 00:07:14 -0000 1.1
+++ dialogs/project/NewProjectDialog.h 20 May 2008 20:51:04 -0000 1.2
@@ -37,6 +37,9 @@
void accept();
void use_template_checkbox_state_changed(int state);
void update_template_combobox();
+ void add_files();
+ void remove_files();
+ void load_files();
};
#endif
Index: ui/NewProjectDialog.ui
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/ui/NewProjectDialog.ui,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ui/NewProjectDialog.ui 21 Jan 2008 16:22:18 -0000 1.4
+++ ui/NewProjectDialog.ui 20 May 2008 20:51:05 -0000 1.5
@@ -5,39 +5,30 @@
<rect>
<x>0</x>
<y>0</y>
- <width>283</width>
- <height>284</height>
+ <width>358</width>
+ <height>443</height>
</rect>
</property>
<property name="windowTitle" >
<string>New Project</string>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
+ <item>
+ <layout class="QHBoxLayout" >
<property name="spacing" >
<number>6</number>
</property>
- <item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>New Project</string>
- </property>
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
+ <property name="leftMargin" >
+ <number>0</number>
</property>
- <property name="spacing" >
- <number>6</number>
+ <property name="topMargin" >
+ <number>0</number>
</property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="margin" >
+ <property name="rightMargin" >
<number>0</number>
</property>
- <property name="spacing" >
- <number>6</number>
+ <property name="bottomMargin" >
+ <number>0</number>
</property>
<item>
<widget class="QLabel" name="label_2_2" >
@@ -55,9 +46,7 @@
<item>
<widget class="QLineEdit" name="newProjectName" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -68,12 +57,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label" >
<property name="minimumSize" >
@@ -90,9 +88,7 @@
<item>
<widget class="QTextEdit" name="descriptionTextEdit" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>7</vsizetype>
+ <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -109,12 +105,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label_3_2" >
<property name="minimumSize" >
@@ -131,9 +136,7 @@
<item>
<widget class="QLineEdit" name="newProjectEngineer" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -143,19 +146,121 @@
</layout>
</item>
<item>
- <layout class="QHBoxLayout" >
- <property name="margin" >
+ <widget class="QTabWidget" name="tabWidget" >
+ <property name="currentIndex" >
<number>0</number>
</property>
+ <widget class="QWidget" name="tab_2" >
+ <attribute name="title" >
+ <string>Import Audio Files</string>
+ </attribute>
+ <layout class="QVBoxLayout" >
+ <item>
+ <layout class="QHBoxLayout" >
+ <item>
+ <widget class="QPushButton" name="pushButtonAddFiles" >
+ <property name="text" >
+ <string>Add Files</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButtonRemoveFiles" >
+ <property name="text" >
+ <string>Remove Files</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTreeWidget" name="treeWidgetFiles" >
+ <property name="selectionMode" >
+ <enum>QAbstractItemView::ExtendedSelection</enum>
+ </property>
+ <property name="rootIsDecorated" >
+ <bool>false</bool>
+ </property>
+ <property name="columnCount" >
+ <number>2</number>
+ </property>
+ <column>
+ <property name="text" >
+ <string>Track Name</string>
+ </property>
+ </column>
+ <column>
+ <property name="text" >
+ <string>File</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButtonLeave" >
+ <property name="text" >
+ <string>load files from original location</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButtonCopy" >
+ <property name="text" >
+ <string>copy files to project directory</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButtonMove" >
+ <property name="text" >
+ <string>move files to project directory</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab" >
+ <attribute name="title" >
+ <string>Empty Project</string>
+ </attribute>
+ <layout class="QVBoxLayout" >
+ <item>
+ <layout class="QHBoxLayout" >
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label_2_2_2" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -168,9 +273,7 @@
<item>
<widget class="QSpinBox" name="sheetCountSpinBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -193,18 +296,25 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label_2" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -217,9 +327,7 @@
<item>
<widget class="QSpinBox" name="trackCountSpinBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -230,12 +338,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QCheckBox" name="useTemplateCheckBox" >
<property name="text" >
@@ -246,9 +363,7 @@
<item>
<widget class="QComboBox" name="templateComboBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -257,8 +372,22 @@
</item>
</layout>
</item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
</layout>
</widget>
+ </widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox" >
@@ -281,8 +410,8 @@
<slot>accept()</slot>
<hints>
<hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
+ <x>252</x>
+ <y>438</y>
</hint>
<hint type="destinationlabel" >
<x>157</x>
@@ -297,8 +426,8 @@
<slot>reject()</slot>
<hints>
<hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
+ <x>268</x>
+ <y>438</y>
</hint>
<hint type="destinationlabel" >
<x>286</x>
- [Traverso-commit] traverso/src/traverso dialogs/project/NewProjec...,
Nicola Doebelin <=