kitchensync

fileviewwidget.cpp

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  Todo:
00018  - welches part embedded
00019  - toolbar mergen
00020  - segfault am ende
00021 
00022 */
00023 
00024 KSyncFileviewWidget::KSyncFileviewWidget(  QWidget* parent , const char* name , WFlags fl )
00025     : KParts::MainWindow( parent, name, fl ) {
00026     //: QWidget( parent, name, fl ) {
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     //setView( m_splitter );
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         //   kdFatal() << "No suitable part found! " << endl;
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"
KDE Home | KDE Accessibility Home | Description of Access Keys