37#include <kio/jobclasses.h>
38#include <kmessagebox.h>
40#include <kdeversion.h>
41#if KDE_VERSION >= 0x30200
42#include <kinputdialog.h>
44#include <klineeditdlg.h>
45#define KInputDialog KLineEditDlg
52#include "uploadwidget.moc"
66 : QWidget( parent, name )
70 QVBoxLayout* layout =
new QVBoxLayout(
this, 0 );
88 d->
m_treeView->header()->setStretchEnabled(
true, 0 );
94 root = QDir::cleanDirPath(root);
95 uploadPath = QDir::cleanDirPath(uploadPath);
97 if ( !uploadPath.startsWith( root ) )
99 kdWarning(51000) <<
"Error in Host application: uploadPath() should start with uploadRoot()." <<
endl
105 uploadPath = uploadPath.mid( root.length() );
107 d->
m_pendingPath = QStringList::split(
"/", uploadPath,
false );
109 connect( d->
m_branch, SIGNAL( populateFinished(KFileTreeViewItem *) ),
110 this, SLOT( slotPopulateFinished(KFileTreeViewItem *) ) );
115 connect( d->
m_treeView, SIGNAL( executed(QListViewItem *) ),
126 return d->m_treeView->currentURL();
131 kdWarning() <<
"KIPI::UploadWidget::load(): This method is obsolete\n";
134void KIPI::UploadWidget::slotPopulateFinished( KFileTreeViewItem * parentItem )
136 if ( d->m_pendingPath.isEmpty() )
138 disconnect( d->m_branch, SIGNAL( populateFinished(KFileTreeViewItem *) ),
139 this, SLOT( slotPopulateFinished(KFileTreeViewItem *) ) );
143 QString itemName = d->m_pendingPath.front();
145 d->m_pendingPath.pop_front();
147 QListViewItem * item;
148 for ( item = parentItem->firstChild(); item; item = item->nextSibling() )
150 if ( item->text(0) == itemName )
158 kdDebug( 51000 ) <<
"Unable to open " << itemName <<
endl;
162 item->setOpen(
true );
163 d->m_treeView->setSelected( item,
true );
164 d->m_treeView->ensureItemVisible ( item );
166 KFileTreeViewItem * ftvItem =
static_cast<KFileTreeViewItem *
>( item );
167 if ( ftvItem->alreadyListed() )
168 slotPopulateFinished( ftvItem );
174 if ( !path().isValid() )
176 KMessageBox::error(
this, i18n(
"Please select a directory first.") );
181 QString dir = KInputDialog::getText( i18n(
"Create Directory"),
182 i18n(
"<qt>Enter new directory name (to be created as subdir of %1):</qt>")
183 .arg(path().prettyURL()),
"", &ok,
this);
190 KIO::SimpleJob* job = KIO::mkdir(url);
192 connect(job, SIGNAL(result(KIO::Job*)),
193 this, SLOT(slotAlbumCreated(KIO::Job*)));
198 int code = job->error();
201 job->showErrorDialog(
this );
206 emit folderItemSelected(d->m_treeView->currentURL());
KDStream & endl(KDStream &stream)
Definition KDStream.cpp:264
Definition imagecollection.h:53
bool isDirectory() const
Definition imagecollection.cpp:234
bool isValid() const
Definition imagecollection.cpp:244
QString uploadRootName() const
Definition imagecollection.cpp:219
KURL uploadRoot() const
Definition imagecollection.cpp:204
KURL uploadPath() const
Definition imagecollection.cpp:179
Definition interface.h:64
virtual ImageCollection currentAlbum()=0
Definition interface.cpp:184
virtual QValueList< ImageCollection > allAlbums()=0
Definition interface.cpp:204