[Konsole-devel] question about KDE4 and konsole parts

Giacomo delleceste at gmail.com
Mon Aug 27 09:54:44 UTC 2007


Good morning and thank you for your answer.

I found the kate plugin example, and i applied it to my code.

The problem is that i am missing something probably...

In fact, my application at startup says:

Fatal error: you need to have a KComponentData object before
you do anything that requires it! Examples of this are config
objects, standard directories or translations.

My main window class is declared like this:

class IQFIREmainwin : public KParts::MainWindow
{ ... };

and the constructor does:

IQFIREmainwin::IQFIREmainwin(QWidget* p, int argc, char **argv) :
KParts::MainWindow()
{
        ui.setupUi(this);
	CreateSystemTray();
	...
/* ui.pageConsole is a page of a QT Stacked widget */
	QGridLayout *consolelo = new QGridLayout(ui.pageConsole);
	
	IQFWidgetKonsole* iqfconsole = new IQFWidgetKonsole(ui.pageConsole);
	consolelo->addWidget(iqfconsole, 0, 0);
	
        /* IQFWidgetKonsole is the widget that contains the part */

	ui.stackedWidgetMain->setCurrentWidget(ui.pageConsole);

}

class IQFWidgetKonsole : public QWidget
{
	public:
	IQFWidgetKonsole(QWidget *parent);
	~IQFWidgetKonsole();
};

IQFWidgetKonsole::IQFWidgetKonsole(QWidget *parent)
{
	KLibFactory* factory = KLibLoader::self()->factory( "libkonsolepart" );
	qDebug() << "IQFWidgetKonsole() : constructor";
	if ( factory == 0L )
	{
		// inform the user that he should install konsole..
		QMessageBox::information(this, "Information",
			"You need to install konsole!");
		
		return;
	}
	KParts::ReadOnlyPart *part = static_cast<KParts::ReadOnlyPart *>
			(factory->create(this, "KParts::ReadOnlyPart"));
	
	// start the terminal
	qobject_cast<TerminalInterface*>(part)->showShellInDir( QString() );

	
	
}

i am missing something substantial...
but i am new in kde programming and, most of all, i did not find some
startup tutorial...

Thank you for any hint..

GIacomo



2007/8/26, Giacomo <delleceste at gmail.com>:
> ---------- Forwarded message ----------
> From: Robert Knight <robertknight at gmail.com>
> Date: 25-ago-2007 19.06
> Subject: Re: [Konsole-devel] question about KDE4 and konsole parts
> To: konsole-devel at kde.org
>
>
> > but since QT4 do not provide an efficient class to
> > print out messages as konsole does (QTextEdit is very slow)
> > i must integrate my app with a konsole.
>
> QTextEdit has an optimised mode for logging which can be enabled by
> calling textEdit->setTextFormat( Qt::LogText )
>
> Yes, but i need to include QT3 support (the option is no more available in QT4)
> anyway i tried it...
>
> The comparison anyway is:
> 20% - 50% CPU usage with QTextEdit
> 0.7% - 2% CPU usage inside Konsole (pure C command line application)
>
> .....
>
> Thanks anyway.
> Tomorrow i will have a look at kate part and let you know!
>
> Thank you again!!
>
>
>
>
> Regards,
> Robert.
>
> On 24/08/07, Giacomo <delleceste at gmail.com> wrote:
> > Sorry, I meant kdebase, not kdecore!
> >
> > Ok i will have a look at kate's terminal plugin then!
> >
> > Thank you very much!
> >
> > I usually program inside QT4 environment, but never
> > wrote code integrating with kde.. but since QT4 do not
> > provide an efficient class to print out messages as konsole does
> > (QTextEdit is very slow) i must integrate my app with a konsole.
> >
> > Thanks again, giacomo
> >
> > Giacomo
> >
> > 2007/8/24, Robert Knight <robertknight at gmail.com>:
> > > Hello Giacomo,
> > >
> > > > I have installed kdelibs (of KDE4), kdepimlibs and kdecore.
> > >
> > > I'm not sure what you mean by "kdecore", that is a library which is
> > > part of kdelibs.  You need kdebase installed as well.
> > >
> > > I think the easiest option would be to look at the code for Kate's
> > > terminal plugin, which can be found in:
> > >
> > > trunk/KDE/kdesdk/kate/plugins/konsole/
> > >
> > > Specifically, the KateConsole::loadConsoleIfNeeded() code in
> > kateconsole.cpp
> > >
> > > Regards,
> > > Robert.
> > >
> > >
> > >
> > > On 24/08/07, Giacomo <delleceste at gmail.com> wrote:
> > > > Good morning.
> > > >
> > > > I would like to embed a Konsole in my QT4 application.
> > > >
> > > > More precisely, i would like to have a Konsole as a child of a QWidget
> > > > inside my QT application (QMainWindow).
> > > >
> > > > I have installed kdelibs (of KDE4), kdepimlibs and kdecore.
> > > >
> > > > Can anyone tell me how to do this in QT4?
> > > >
> > > > The example in kde_terminal_interface.h does not work in QT-KDE4.
> > > >
> > > > Thanks for any suggestion.
> > > >
> > > > Giacomo Strangolino, Italy.
> > > >
> > > > --
> > > > Giacomo S.
> > > > http://www.giacomos.it
> > > >
> > > > - - - - - - - - - - - - - - - - - - - - - -
> > > >
> > > > IPFIREwall (http://www.giacomos.it/ipfire) viene presentato
> > > > all'Universita` degli Studi di Udine, il 28 ottobre, in occasione del
> > > > Linux Day 2006:
> > > > http://iglu.cc.uniud.it/linuxday
> > > >
> > > > - - - - - - - - - - - - - - - - - - - - - -
> > > >
> > > >  . ''  `.
> > > > :   :'    :
> > > >  `.  ` '
> > > >     `- Debian GNU/Linux -- The power of freedom
> > > >         http://www.debian.org
> > > > _______________________________________________
> > > > konsole-devel mailing list
> > > > konsole-devel at kde.org
> > > > https://mail.kde.org/mailman/listinfo/konsole-devel
> > > >
> > > _______________________________________________
> > > konsole-devel mailing list
> > > konsole-devel at kde.org
> > > https://mail.kde.org/mailman/listinfo/konsole-devel
> > >
> >
> >
> > --
> > Giacomo S.
> > http://www.giacomos.it
> >
> > - - - - - - - - - - - - - - - - - - - - - -
> >
> > IPFIREwall (http://www.giacomos.it/ipfire) viene presentato
> > all'Universita` degli Studi di Udine, il 28 ottobre, in occasione del
> > Linux Day 2006:
> > http://iglu.cc.uniud.it/linuxday
> >
> > - - - - - - - - - - - - - - - - - - - - - -
> >
> >  . ''  `.
> > :   :'    :
> >  `.  ` '
> >     `- Debian GNU/Linux -- The power of freedom
> >         http://www.debian.org
> > _______________________________________________
> > konsole-devel mailing list
> > konsole-devel at kde.org
> > https://mail.kde.org/mailman/listinfo/konsole-devel
> >
> _______________________________________________
> konsole-devel mailing list
> konsole-devel at kde.org
> https://mail.kde.org/mailman/listinfo/konsole-devel
>
>
> --
> Giacomo S.
> http://www.giacomos.it
>
> - - - - - - - - - - - - - - - - - - - - - -
>
> IPFIREwall (http://www.giacomos.it/ipfire) viene presentato
> all'Universita` degli Studi di Udine, il 28 ottobre, in occasione del
> Linux Day 2006:
> http://iglu.cc.uniud.it/linuxday
>
> - - - - - - - - - - - - - - - - - - - - - -
>
>  . ''  `.
> :   :'    :
>  `.  ` '
>     `- Debian GNU/Linux -- The power of freedom
>         http://www.debian.org
>


-- 
Giacomo S.
http://www.giacomos.it

- - - - - - - - - - - - - - - - - - - - - -

IPFIREwall (http://www.giacomos.it/ipfire) viene presentato
all'Universita` degli Studi di Udine, il 28 ottobre, in occasione del
Linux Day 2006:
http://iglu.cc.uniud.it/linuxday

- - - - - - - - - - - - - - - - - - - - - -

 . ''  `.
:   :'    :
 `.  ` '
    `- Debian GNU/Linux -- The power of freedom
        http://www.debian.org



More information about the konsole-devel mailing list