From 145364a8af6a1fec06556221e66d4b724a62fc9a Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 1 Mar 2010 18:37:05 +0000 Subject: Added old abandoned KDE3 version of the RoseGarden MIDI tool git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/rosegarden@1097595 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- src/gui/dialogs/AddTracksDialog.cpp | 110 ++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/gui/dialogs/AddTracksDialog.cpp (limited to 'src/gui/dialogs/AddTracksDialog.cpp') diff --git a/src/gui/dialogs/AddTracksDialog.cpp b/src/gui/dialogs/AddTracksDialog.cpp new file mode 100644 index 0000000..67e5412 --- /dev/null +++ b/src/gui/dialogs/AddTracksDialog.cpp @@ -0,0 +1,110 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + Rosegarden + A MIDI and audio sequencer and musical notation editor. + + This program is Copyright 2000-2008 + Guillaume Laurent , + Chris Cannam , + Richard Bown + + The moral rights of Guillaume Laurent, Chris Cannam, and Richard + Bown to claim authorship of this work have been asserted. + + Other copyrights also apply to some parts of this work. Please + see the AUTHORS file and individual file headers for details. + + This program 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. See the file + COPYING included with this distribution for more information. +*/ + + +#include "AddTracksDialog.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "document/ConfigGroups.h" + + +namespace Rosegarden +{ + +AddTracksDialog::AddTracksDialog(QWidget *parent, int currentTrack) : + KDialogBase(parent, 0, true, i18n("Add Tracks"), + Ok | Cancel), + m_currentTrack(currentTrack) +{ + QVBox *vBox = makeVBoxMainWidget(); + + QHBox *countBox = new QHBox(vBox); + countBox->setSpacing(4); + new QLabel(i18n("How many tracks do you want to add?"), countBox); + m_count = new QSpinBox(countBox); + m_count->setMinValue(1); + m_count->setMaxValue(32); + m_count->setValue(1); + + QHBox *posBox = new QHBox(vBox); + posBox->setSpacing(4); + new QLabel(i18n("Add tracks"), posBox); + m_position = new KComboBox(posBox); + m_position->insertItem(i18n("At the top")); + m_position->insertItem(i18n("Above the current selected track")); + m_position->insertItem(i18n("Below the current selected track")); + m_position->insertItem(i18n("At the bottom")); + + KConfig *config = kapp->config(); + config->setGroup(GeneralOptionsConfigGroup); + m_position->setCurrentItem(config->readUnsignedNumEntry("lastaddtracksposition", 2)); +} + +int +AddTracksDialog::getTracks() +{ + return m_count->value(); +} + +int +AddTracksDialog::getInsertPosition() +{ + int opt = m_position->currentItem(); + + KConfig *config = kapp->config(); + config->setGroup(GeneralOptionsConfigGroup); + config->writeEntry("lastaddtracksposition", opt); + + int pos = 0; + + switch (opt) { + case 0: // at top + pos = 0; + break; + case 1: // above current track + pos = m_currentTrack; + break; + case 2: // below current track + pos = m_currentTrack + 1; + break; + case 3: // at bottom + pos = -1; + break; + } + + return pos; +} + +} +#include "AddTracksDialog.moc" -- cgit v1.2.3