diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-08 12:31:36 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-08 12:31:36 -0600 |
commit | d796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch) | |
tree | 6e3dcca4f77e20ec8966c666aac7c35bd4704053 /examples/network/networkprotocol/view.cpp | |
download | tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.tar.gz tqt3-d796c9dd933ab96ec83b9a634feedd5d32e1ba3f.zip |
Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731
Diffstat (limited to 'examples/network/networkprotocol/view.cpp')
-rw-r--r-- | examples/network/networkprotocol/view.cpp | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/examples/network/networkprotocol/view.cpp b/examples/network/networkprotocol/view.cpp new file mode 100644 index 000000000..c6ee717d1 --- /dev/null +++ b/examples/network/networkprotocol/view.cpp @@ -0,0 +1,90 @@ +/**************************************************************************** +** +** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for TQt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#include "view.h" + +#include <qlabel.h> +#include <qpushbutton.h> +#include <qmultilineedit.h> +#include <qfiledialog.h> + +View::View() + : TQVBox() +{ + // setup the GUI + setSpacing( 5 ); + setMargin( 5 ); + + TQLabel *l = new TQLabel( this ); + l->setAlignment( TQt::WordBreak ), + l->setText( tr( "The button below opens the TQFileDialog and you " + "can choose a file then which is downloaded and " + "opened below then. You can use for that the <b>local " + "filesystem</b> using the file protocol, you can download " + "files from an <b>FTP</b> server using the ftp protocol and " + "you can download and open <b>USENET</b> articles using the " + "demo implementation of the nntp protocol of this " + "example (<i>This implementation of the nntp protocol is a very " + "basic and incomplete one, so you need to connect to a news server " + "which allows reading without authentification</i>)\n" + "To open a file from the local filesystem, enter in the " + "path combobox of the file dialog a url starting with file " + "(like <u>file:/usr/bin</u>), to download something from an FTP " + "server, use something like <u>ftp://ftp.trolltech.com</u> as url, and " + "for downloading a news article start with an url like " + "<u>nntp://news.tu-graz.ac.at</u> " ) ); + TQPushButton *b = new TQPushButton( tr( "Open a file..." ), this ); + connect( b, SIGNAL( clicked() ), + this, SLOT( downloadFile() ) ); + + fileView = new TQMultiLineEdit( this ); + fileView->setReadOnly( TRUE ); + + // if new data comes in, display it + connect( &op, SIGNAL( data( const TQByteArray &, TQNetworkOperation * ) ), + this, SLOT( newData( const TQByteArray & ) ) ); +} + +void View::downloadFile() +{ + // TQString file = TQFileDialog::getOpenFileName(); + // under Windows you must not use the native file dialog + TQString file = getOpenFileName(); + if ( !file.isEmpty() ) { + // clear the view + fileView->clear(); + + // download the data + op = file; + op.get(); + } +} + +TQString View::getOpenFileName() +{ + static TQString workingDirectory = TQDir::currentDirPath(); + + TQFileDialog *dlg = new TQFileDialog( workingDirectory, + TQString::null, 0, 0, TRUE ); + dlg->setCaption( TQFileDialog::tr( "Open" ) ); + dlg->setMode( TQFileDialog::ExistingFile ); + TQString result; + if ( dlg->exec() == TQDialog::Accepted ) { + result = dlg->selectedFile(); + workingDirectory = dlg->url(); + } + delete dlg; + return result; +} + +void View::newData( const TQByteArray &ba ) +{ + // append new data + fileView->append( ba ); +} |