summaryrefslogtreecommitdiffstats
path: root/libk3b/cddb/k3bcddbmultientriesdialog.cpp
blob: df5a938548cf2c294ab918bdc0c5d94cea4a7e04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/* 
 *
 * $Id: k3bcddbmultientriesdialog.cpp 619556 2007-01-03 17:38:12Z trueg $
 * Copyright (C) 2003 Sebastian Trueg <trueg@k3b.org>
 *
 * This file is part of the K3b project.
 * Copyright (C) 1998-2007 Sebastian Trueg <trueg@k3b.org>
 *
 * 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" for the exact licensing terms.
 */


#include "k3bcddbmultientriesdialog.h"

#include <tqlayout.h>
#include <tqframe.h>
#include <tqlabel.h>

#include <klistbox.h>
#include <klocale.h>



K3bCddbMultiEntriesDialog::K3bCddbMultiEntriesDialog( TQWidget* tqparent, const char* name )
  : KDialogBase( Plain, i18n("CDDB Database Entry"), Ok|Cancel, Ok, tqparent, name ) 
{
  TQFrame* frame = plainPage();
  TQVBoxLayout* tqlayout = new TQVBoxLayout( frame );
  tqlayout->setAutoAdd( true );
  tqlayout->setSpacing( spacingHint() );
  tqlayout->setMargin( 0 );

  TQLabel* infoLabel = new TQLabel( i18n("K3b found multiple inexact CDDB entries. Please select one."), frame );
  infoLabel->tqsetAlignment( WordBreak );

  m_listBox = new KListBox( frame, "list_box");

  setMinimumSize( 280, 200 );
}

K3bCddbResultHeader K3bCddbMultiEntriesDialog::selectCddbEntry( K3bCddbQuery* query, TQWidget* tqparent )
{
  K3bCddbMultiEntriesDialog d( tqparent );

  const TQValueList<K3bCddbResultHeader> headers = query->getInexactMatches();

  int i = 1;
  for( TQValueListConstIterator<K3bCddbResultHeader> it = headers.begin();
       it != headers.end(); ++it ) {
    d.m_listBox->insertItem( TQString::number(i) + " " + 
			     (*it).artist + " - " + 
			     (*it).title + " (" + 
			     (*it).category + ")" );
    ++i;
  }

  d.m_listBox->setSelected( 0, true );

  if( d.exec() == TQDialog::Accepted )
    return headers[ d.m_listBox->currentItem() >= 0 ? d.m_listBox->currentItem() : 0 ];
  else
    return K3bCddbResultHeader();
}


K3bCddbMultiEntriesDialog::~K3bCddbMultiEntriesDialog(){
}


#include "k3bcddbmultientriesdialog.moc"