00001
00002
#include "ksync_fileviewwidget.h"
00003
00004
#include <qlayout.h>
00005
00006
#include <ktrader.h>
00007
#include <kinstance.h>
00008
#include <klibloader.h>
00009
00010
#include <manipulatorpart.h>
00011
00012
using namespace KitchenSync;
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 KSyncFileviewWidget::KSyncFileviewWidget(
QWidget* parent ,
const char* name , WFlags fl )
00025 : KParts::MainWindow( parent, name, fl ) {
00026
00027
00028 setInstance(KGlobal::instance() );
00029
00030
if ( !name )
00031 setName(
"FileviewWidget" );
00032
00033
QBoxLayout * l =
new QHBoxLayout(
this );
00034
00035 m_manager =
new KParts::PartManager(
this );
00036 connect ( m_manager, SIGNAL ( activePartChanged ( KParts::Part * ) ),
this, SLOT ( createGUI ( KParts::Part *)) );
00037 m_splitter =
new QSplitter(
this );
00038
00039
00040 KTrader::OfferList offers = KTrader::self()->query(QString::fromLatin1(
"inode/directory"), QString::null);
00041 KService::Ptr ptr = offers.first();
00042 KLibFactory *factory = KLibLoader::self()->factory( ptr->library() );
00043
if (factory) {
00044 m_part1 = static_cast<KParts::ReadOnlyPart *>(factory->create(m_splitter, ptr->name(),
"KParts::ReadOnlyPart"));
00045 m_part2 = static_cast<KParts::ReadOnlyPart *>(factory->create(m_splitter, ptr->name(),
"KParts::ReadOnlyPart"));
00046 }
else {
00047
00048 }
00049
00050 m_manager->addPart(m_part1,
true);
00051 m_manager->addPart(m_part2,
false);
00052
00053 m_splitter->setMinimumSize(300, 200);
00054 m_splitter->show();
00055
00056 l->
addWidget( m_splitter );
00057 }
00058
00059
void KSyncFileviewWidget::openURLHost(
const KURL & url) {
00060 m_part1->openURL( url );
00061 }
00062
00063
00064
void KSyncFileviewWidget::openURLClient(
const KURL & url) {
00065 m_part2->openURL( url );
00066 }
00067
00068 KSyncFileviewWidget::~KSyncFileviewWidget() {
00069
delete m_part1;
00070
delete m_part2;
00071 }
00072
#include "ksync_fileviewwidget.moc"
00073
#include "fileviewwidget.moc"