From 90825e2392b2d70e43c7a25b8a3752299a933894 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- xparts/xpart_notepad/shell_xparthost.cpp | 80 ++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 xparts/xpart_notepad/shell_xparthost.cpp (limited to 'xparts/xpart_notepad/shell_xparthost.cpp') diff --git a/xparts/xpart_notepad/shell_xparthost.cpp b/xparts/xpart_notepad/shell_xparthost.cpp new file mode 100644 index 00000000..bd6a9418 --- /dev/null +++ b/xparts/xpart_notepad/shell_xparthost.cpp @@ -0,0 +1,80 @@ + +#include "xparthost_kpart.h" +#include "shell_xparthost.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +ShellWindow::ShellWindow() + : KParts::MainWindow() +{ + m_host = new XPartHost_KPart( this, 0, this, "parthost" ); + + setCentralWidget( m_host->widget() ); + + connect(m_host, SIGNAL( actionsInitialized() ), this, SLOT( mergeGUI() ) ); + + // Launch our XPart child. + m_partProcess = new KProcess; + *m_partProcess << "./xp_notepad" + << kapp->dcopClient()->appId() << m_host->objId(); + m_partProcess->start(); + + // Init our Gui + (void) new KAction( "Hop", 0, this, SLOT(hop()), actionCollection(), "hop" ); + KStdAction::quit( this, SLOT( close() ), actionCollection() ); + KSelectAction *s = new KSelectAction( "http://www.kde.org" , 0, + actionCollection(), "location" ); + connect( s, SIGNAL(activated( const QString& ) ), this, SLOT( slotOpenUrl( const QString & ) ) ); + s->setEditable(true); + + kdDebug() << "KShell window created" << endl; +} + +ShellWindow::~ShellWindow() +{ + delete m_partProcess; +} + +void ShellWindow::hop() +{ + kdDebug() << "hop called!" << endl; +} + +void ShellWindow::slotOpenUrl( const QString &url ) +{ + kdDebug() << "this=" << this; + kdDebug() << "url=" << url << endl; + m_host->openURL(url.latin1()); +} + +void ShellWindow::mergeGUI() +{ + qDebug("initGUI"); + setXMLFile("shell_xparthost.rc"); + createGUI( m_host ); + m_host->widget()->setFocus(); + kdDebug() << "focus set to embedded widget" << endl; +} + +int main( int argc, char **argv ) +{ + KApplication app( argc, argv, "xparthost_shell" ); + + app.dcopClient()->registerAs("xparthost_shell"); + + ShellWindow *w = new ShellWindow; + w->resize(500, 500); + w->show(); + + return app.exec(); +} + +#include "shell_xparthost.moc" -- cgit v1.2.1