00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
#include <qstringlist.h>
00013
#include <qlistview.h>
00014
#include <qheader.h>
00015
#include <qcheckbox.h>
00016
00017
#include <kdebug.h>
00018
00019
#include "closer_dialogimpl.h"
00020
00021
00022
class CheckURL :
public QCheckListItem
00023 {
00024
public:
00025 CheckURL(
QListView * lv,
KURL const & url )
00026 :
QCheckListItem( lv, url.fileName(),
QCheckListItem::CheckBox),
00027
_url( url )
00028 {}
00029
00030 KURL const &
url()
const {
return _url; }
00031
00032 void showPath(
bool showPaths )
00033 {
00034
if ( showPaths )
00035 {
00036 setText( 0,
_url.
path() );
00037 }
00038
else
00039 {
00040 setText( 0,
_url.
fileName() );
00041 }
00042 }
00043
00044
private:
00045 KURL _url;
00046 };
00047
00048
00049 CloserDialogImpl::CloserDialogImpl(
KURL::List const & fileList )
00050 :
CloserDialog( 0, 0, false, 0 )
00051 {
00052 files_listview->addColumn(
"" );
00053 files_listview->header()->hide();
00054
00055 KURL::List::ConstIterator it = fileList.begin();
00056
while ( it != fileList.end() )
00057 {
00058
QCheckListItem * x =
new CheckURL( files_listview, *it );
00059 x->setOn(
true );
00060 ++it;
00061 }
00062
00063 connect( this->path_check, SIGNAL( toggled(
bool ) ),
this, SLOT(
togglePaths(
bool ) ) );
00064 }
00065
00066 CloserDialogImpl::~CloserDialogImpl()
00067 {
00068 }
00069
00070 void CloserDialogImpl::togglePaths(
bool showPaths )
00071 {
00072
QListViewItemIterator it( files_listview );
00073
while ( it.current() )
00074 {
00075
CheckURL * item = static_cast<CheckURL*>( it.current() );
00076 item->
showPath( showPaths );
00077 ++it;
00078 }
00079 }
00080
00081 KURL::List CloserDialogImpl::getCheckedFiles()
00082 {
00083
KURL::List checkedFiles;
00084
00085
CheckURL const * item = static_cast<CheckURL*>( files_listview->firstChild() );
00086
while ( item )
00087 {
00088
if ( item->isOn() )
00089 {
00090 checkedFiles << item->
url();
00091 }
00092 item = static_cast<CheckURL*>( item->nextSibling() );
00093 }
00094
return checkedFiles;
00095 }
00096
00097
#include "closer_dialogimpl.moc"
00098