summaryrefslogtreecommitdiffstats
path: root/examples/network/networkprotocol/view.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-08 12:31:36 -0600
commitd796c9dd933ab96ec83b9a634feedd5d32e1ba3f (patch)
tree6e3dcca4f77e20ec8966c666aac7c35bd4704053 /examples/network/networkprotocol/view.cpp
downloadtqt3-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.cpp90
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 00000000..c6ee717d
--- /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 );
+}