GCF 2.2 Released

GCF 2.2 is now released. The 2.2 release is an effort of 8 months, hope you like it.

Key Highlights

  • Software Updater Framework – GCF now includes a software updater framework that can be activated to have your applications automatically download and install updates. GCF provides tools for you to create updates that you can host on a serer site of your choice and have your applications download and install them!
  • Logger Module – GCF now provides a logger module that helps log messages from your programs.
  • CreateAppTemplateWizard replaces the old CreateAppTemplate tool. The new application generation wizard generates better code and helps configure more aspects of your application.

New Classes and Methods

  • GCF::AbstractFileDownloader and subclasses help in downloading files from local, http and ftp servers with ease.
  • GCF::ObjectIterator – This class helps in iterating through all exposed objects in a GCF application.
  • GCF::findObject<>() and GCF::findObjects<>() – These methods now make it easy to look for objects in GCF. Moreover developers can now search for objects from any class, not just from subclasses of GCF::AbstractComponent
  • GCF::connect() and GCF::disconnect() help make it easy for developers to make signal/slot connections between local and remote objects.

The above are in addition to the extended documentation and bug fixes. For a complete log of changes please read the changelog.

How to get the new version?

Just visit http://www.vcreatelogic.com/products/gcf/ and click on “Download GCF 2.2”. Once you download the ZIP file, unpack it and read the CompileHOWTO.txt file to figure out how to compile GCF on your system.

  • The cross-referenced documentation are available within doc/html.
  • You can add doc/help/GCFHelp.qch into Qt Assistant and refer to the documentation within assistant.
  • You can also read the new and updated manual contained within doc/Manual.

Remote Signal/Slot connections

How easy it is to make signal/slot connections between local and remote objects 🙂

GCF::RemoteAppAccessPoint* rap = ....
GCF::RemoteObject* remoteObject = rap->getRemoteObject("ComponentName.ObjectName");

GCF::connect(remoteObject, SIGNAL(someSignal(int,char,QString,QPixmap)),
localObjectPtr, SLOT(someSlot(int,char,QString,QPixmap)));

Isnt this sweet 🙂

FtpDirModel

Qt provides a QDirModel class that makes it easy to display directory structures in a view. For a project that we are working on, we needed a model that would make it easy to display the structure of a FTP directory. Thats exactly what we have in FtpDirModel right now. Using the FtpDirModel class is very simple,

#include <QApplication>
#include <QTreeView>

#include "FtpDirModel.h"

int main(int argc, char** argv)
{
QApplication a(argc, argv);

FtpDirModel model;
model.setUrl(QUrl("ftp://ftp.trolltech.com"));

QTreeView view;
view.setModel(&model);
view.show();

return a.exec();
}

Upon executing the above program, you will see a QTreeView that shows the directory structure of ftp.trolltech.com.

While the model is fetching data for a directory, it shows a nice “Fetching…” text in the first column :-).

Take a look at the code. You can checkout a copy from here: https://svn2.hosted-projects.com/vcreatelogic/FtpDirModel. Username and password is anonymous.