summaryrefslogtreecommitdiffstats
path: root/kmid/collectdlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kmid/collectdlg.cpp')
-rw-r--r--kmid/collectdlg.cpp307
1 files changed, 0 insertions, 307 deletions
diff --git a/kmid/collectdlg.cpp b/kmid/collectdlg.cpp
deleted file mode 100644
index 20ac8def..00000000
--- a/kmid/collectdlg.cpp
+++ /dev/null
@@ -1,307 +0,0 @@
-/**************************************************************************
-
- collectdlg.cpp - The collections manager dialog
- Copyright (C) 1998 Antonio Larrosa Jimenez
-
- 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.
-
- This program 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 this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Send comments and bug fixes to larrosa@kde.org
- or to Antonio Larrosa, Rio Arnoya, 10 5B, 29006 Malaga, Spain
-
-***************************************************************************/
-#include <tqpushbutton.h>
-#include <tqlistbox.h>
-#include <tqlabel.h>
-
-#include <kapplication.h>
-#include <kfiledialog.h>
-#include <klocale.h>
-#include <kinputdialog.h>
-#include <kmessagebox.h>
-#include <kurl.h>
-#include <kpushbutton.h>
-#include <kstdguiitem.h>
-#include "collectdlg.h"
-#include "version.h"
-#include "songlist.h"
-#include "slman.h"
-
-CollectionDialog::CollectionDialog(SLManager *slm,int selC,TQWidget *parent,const char *name) : TQDialog(parent,name,TRUE)
-{
-setCaption(i18n("Collections Manager"));
-ok=new KPushButton(KStdGuiItem::ok(),this);
-ok->setGeometry(140,200,100,30);
-connect(ok,TQT_SIGNAL(clicked()),TQT_SLOT(accept()) );
-cancel=new KPushButton(KStdGuiItem::cancel(),this);
-cancel->setGeometry(250,200,100,30);
-connect(cancel,TQT_SIGNAL(clicked()),TQT_SLOT(reject()) );
-
-label=new TQLabel(i18n("Available collections:"),this);
-label->adjustSize();
-label->move(10,10);
-collections=new TQListBox(this,"collectionlist");
-collections->setGeometry(10,20+label->height(),340,90);
-connect(collections,TQT_SIGNAL(highlighted(int)),TQT_SLOT(collectionselected(int)));
-connect(collections,TQT_SIGNAL(selected(int)),TQT_SLOT(changeCollectionName(int)));
-slman=slm;
-for (int i=0;i<=slman->numberOfCollections();i++)
- {
- collections->insertItem(i18n( slman->getCollectionName(i) ),i);
-#ifdef COLLECTDLGDEBUG
- printf("Name : %s\n",slman->getCollectionName(i));
-#endif
- };
-selectedC=selC;
-#ifdef COLLECTDLGDEBUG
-printf("selectedC : %d\n",selectedC);
-#endif
-
-label2=new TQLabel(i18n("Songs in selected collection:"),this);
-label2->adjustSize();
-label2->move(10,collections->y()+collections->height()+10);
-
-songs=new TQListBox(this,"songlist");
-songs->setGeometry(10,label2->y()+label2->height()+10,340,120);
-connect(songs,TQT_SIGNAL(highlighted(int)),TQT_SLOT(songselected(int)));
-currentsl=slman->getCollection(selectedC);
-if (slman->numberOfCollections()>0)
- {
- collections->setCurrentItem(selectedC);
- collections->centerCurrentItem();
- };
-//fillInSongList();
-newC=new TQPushButton(i18n("&New..."),this);
-newC->adjustSize();
-newC->move(360,collections->y()+5);
-connect(newC,TQT_SIGNAL(clicked()),TQT_SLOT(newCollection()) );
-copyC=new TQPushButton(i18n("&Copy..."),this);
-copyC->adjustSize();
-copyC->move(360,newC->y()+newC->height()+5);
-connect(copyC,TQT_SIGNAL(clicked()),TQT_SLOT(copyCollection()) );
-deleteC=new TQPushButton(i18n("Delete"),this);
-deleteC->adjustSize();
-deleteC->move(360,copyC->y()+copyC->height()+5);
-connect(deleteC,TQT_SIGNAL(clicked()),TQT_SLOT(deleteCollection()) );
-
-addS=new TQPushButton(i18n("&Add..."),this);
-addS->adjustSize();
-addS->move(360,songs->y()+5);
-connect(addS,TQT_SIGNAL(clicked()),TQT_SLOT(addSong()) );
-delS=new TQPushButton(i18n("&Remove"),this);
-delS->adjustSize();
-delS->move(360,addS->y()+addS->height()+5);
-connect(delS,TQT_SIGNAL(clicked()),TQT_SLOT(removeSong()) );
-
-ok->move(ok->x(),songs->y()+songs->height()+10);
-cancel->move(ok->x()+ok->width()+5,ok->y());
-
-setMinimumSize(400,ok->y()+ok->height()+5);
-//setMaximumSize(360,240);
-}
-
-void CollectionDialog::collectionselected(int idx)
-{
-selectedC=idx;
-#ifdef COLLECTDLGDEBUG
-printf("Selected collection: %d\n",selectedC);
-#endif
-currentsl=slman->getCollection(selectedC);
-fillInSongList();
-}
-
-void CollectionDialog::fillInSongList(void)
-{
-TQString qs;
-songs->clear();
-if (currentsl!=NULL)
- {
- currentsl->iteratorStart();
- int i=0;
- while (!currentsl->iteratorAtEnd())
- {
- qs=TQString(currentsl->getIteratorName());
- //KURL::decode(qs);
- songs->insertItem(qs,i);
- currentsl->iteratorNext();
- i++;
- };
- songs->setCurrentItem(currentsl->getActiveSongID()-1);
- songs->centerCurrentItem();
- };
-}
-
-void CollectionDialog::songselected(int idx)
-{
-selectedS=idx;
-currentsl->setActiveSong(idx+1);
-
-#ifdef COLLECTDLGDEBUG
-printf("Selected song: %d\n",selectedS);
-#endif
-}
-
-void CollectionDialog::newCollection()
-{
- bool ok;
- TQString name = KInputDialog::getText( i18n( "New Collection" ),
- i18n( "Enter the name of the new collection:" ), TQString(),
- &ok, this );
-
- if (ok)
- {
- int i=slman->createCollection(name.ascii());
- if (i==-1)
- {
- TQString s = i18n("The name '%1' is already used").arg(name);
- KMessageBox::sorry(this, s);
- }
- else
- {
- collections->insertItem(name,i);
- collections->setCurrentItem(i);
- collections->centerCurrentItem();
- };
- };
-}
-
-void CollectionDialog::copyCollection()
-{
-SongList *src=currentsl;
-int i;
- bool ok;
- TQString name = KInputDialog::getText( i18n( "Copy Collection" ),
- i18n( "Enter the name of the copy collection:" ), TQString(),
- &ok, this );
-
- if (ok)
- {
- i=slman->createCollection(name.ascii());
- if (i==-1)
- {
- TQString s = i18n("The name '%1' is already used").arg(name);
- KMessageBox::sorry(this, s);
- }
- else
- {
- collections->insertItem(name,i);
- SongList *tgt=slman->getCollection(i);
- src->iteratorStart();
- while (!src->iteratorAtEnd())
- {
- tgt->AddSong(src->getIteratorName());
- src->iteratorNext();
- };
- collections->setCurrentItem(i);
- collections->centerCurrentItem();
- };
- };
-}
-
-void CollectionDialog::deleteCollection()
-{
-if (selectedC==0) return;
-slman->deleteCollection(selectedC);
-int i=selectedC;
-collections->removeItem(selectedC);
-collections->setCurrentItem(i);
-collections->centerCurrentItem();
-}
-
-void CollectionDialog::changeCollectionName(int idx)
-{
-if (idx==0) return;
- bool ok;
-
- TQString name = KInputDialog::getText( i18n( "Change Collection Name" ),
- i18n( "Enter the name of the selected collection:" ), TQString(),
- &ok, this );
-
- if (ok)
- {
- if (slman->getCollection(name.ascii())!=NULL)
- {
- TQString s = i18n("The name '%1' is already used").arg(name);
- KMessageBox::sorry(this, s);
- }
- else
- {
- slman->changeCollectionName(idx,name.ascii());
- collections->changeItem(name,idx);
- };
- };
-}
-
-void CollectionDialog::addSong(const KURL &url)
-{
- if (currentsl==NULL) return;
- if( url.isEmpty()) return;
-
- int id=currentsl->AddSong(TQFile::encodeName(url.path()));
-
- if (id==-1)
- {
- printf("Couldn't add song to collection\n");
- return;
- };
-
- songs->insertItem(url.fileName(),id-1);
-}
-
-
-void CollectionDialog::addSong()
-{
- KURL::List urls = KFileDialog::getOpenURLs(":MidiFiles",
- "*.kar *.mid *.kar.gz *.mid.gz\n*.kar *.kar.gz\n*.mid *.mid.gz\n*",this);
-
- KURL::List::Iterator it;
- for( it = urls.begin(); it != urls.end(); ++it )
- addSong(*it);
-
-}
-
-void CollectionDialog::removeSong()
-{
-if (currentsl==NULL) return;
-currentsl->DelSong(selectedS+1);
-int i=selectedS;
-songs->removeItem(selectedS);
-songs->setCurrentItem(i);
-}
-
-void CollectionDialog::resizeEvent(TQResizeEvent *)
-{
-int maxw=newC->width();
-if (copyC->width()>maxw) maxw=copyC->width();
-if (deleteC->width()>maxw) maxw=deleteC->width();
-if (addS->width()>maxw) maxw=addS->width();
-if (delS->width()>maxw) maxw=delS->width();
-
-newC->setGeometry(width()-maxw-5,newC->y(),maxw,newC->height());
-copyC->setGeometry(width()-maxw-5,copyC->y(),maxw,copyC->height());
-deleteC->setGeometry(width()-maxw-5,deleteC->y(),maxw,deleteC->height());
-
-collections->resize(width()-maxw-20,(height()*35)/100);
-label2->move(10,collections->y()+collections->height()+10);
-songs->setGeometry(10,label2->y()+label2->height()+10,width()-maxw-20,height()-(label2->y()+label2->height()+10+ok->height()+10));
-addS->setGeometry(width()-maxw-5,songs->y()+5,maxw,addS->height());
-delS->setGeometry(width()-maxw-5,addS->y()+addS->height()+5,maxw,delS->height());
-
-cancel->move(width()-cancel->width()-5,height()-cancel->height()-5);
-ok->move(cancel->x()-5-ok->width(),height()-ok->height()-5);
-}
-
-int CollectionDialog::selectedC=0;
-int CollectionDialog::selectedS=0;
-#include "collectdlg.moc"