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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
/***************************************************************************
imageselectline.cpp - select a background image.
-------------------
begin : Fri Dec 17 1999
copyright : (C) 1999 by Klaas Freitag
email : [email protected]
$Id$
***************************************************************************/
/***************************************************************************
* *
* This file may be distributed and/or modified under the terms of the *
* GNU General Public License version 2 as published by the Free Software *
* Foundation and appearing in the file COPYING included in the *
* packaging of this file. *
*
* As a special exception, permission is given to link this program *
* with any version of the KADMOS ocr/icr engine of reRecognition GmbH, *
* Kreuzlingen and distribute the resulting executable without *
* including the source code for KADMOS in the source distribution. *
*
* As a special exception, permission is given to link this program *
* with any edition of Qt, and distribute the resulting executable, *
* without including the source code for Qt in the source distribution. *
* *
***************************************************************************/
#include <qhbox.h>
#include <qvbox.h>
#include <qbutton.h>
#include <qpushbutton.h>
#include <qlabel.h>
#include <kdebug.h>
#include <klocale.h>
#include <kurl.h>
#include <kurlcombobox.h>
#include <kfiledialog.h>
#include <kiconloader.h>
#include "imageselectline.h"
/* ############################################################################## */
/*
* This widget just combines a label, a combobox holding a path and a select button
* together in a row. The button opens a file selector box to pick a file.
*/
ImageSelectLine::ImageSelectLine( QWidget *parent, const QString& text )
: QHBox( parent )
{
setSpacing( 5 );
(void) new QLabel( text, this );
m_urlCombo = new KURLComboBox( KURLComboBox::Files, this );
m_buttFileSelect = new QPushButton( this );
m_buttFileSelect->setPixmap( SmallIcon( "fileopen" ) );
m_urlCombo->setMaxItems(5);
connect( m_urlCombo, SIGNAL( urlActivated( const KURL& )),
this, SLOT( slUrlActivated( const KURL& )));
connect( m_buttFileSelect, SIGNAL( clicked() ),
this, SLOT( slSelectFile()));
}
void ImageSelectLine::slSelectFile()
{
KURL newUrl;
newUrl = KFileDialog::getImageOpenURL();
QStringList l = m_urlCombo->urls();
if( ! newUrl.isEmpty())
{
l.prepend( newUrl.url() );
m_urlCombo->setURLs( l );
m_currUrl = newUrl;
}
}
void ImageSelectLine::slUrlActivated( const KURL& url )
{
kdDebug(28000) << "Activating url: " << url.url() << endl;
m_currUrl = url;
}
KURL ImageSelectLine::selectedURL() const
{
return m_currUrl;
}
void ImageSelectLine::setURL( const KURL& url )
{
if( m_urlCombo ) m_urlCombo->setURL( url );
m_currUrl = url;
}
void ImageSelectLine::setURLs( const QStringList& list )
{
if( m_urlCombo ) m_urlCombo->setURLs( list );
}
#include "imageselectline.moc"
|