kitchensync
fileviewwidget.cpp00001
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"
|