aboutsummaryrefslogtreecommitdiff
path: root/src/gatscon/mainwnd.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2011-05-17 14:56:28 +0000
committerMike Buland <eichlan@xagasoft.com>2011-05-17 14:56:28 +0000
commit6d8bc516acf7a5995736423e838c987d08e69c09 (patch)
tree9db78ee528b26e0d5718b2ac4c987388e1b9c313 /src/gatscon/mainwnd.cpp
parentd269a39f27e2dcd57d0e3362ef3a7fd9ad3f3639 (diff)
downloadlibgats-6d8bc516acf7a5995736423e838c987d08e69c09.tar.gz
libgats-6d8bc516acf7a5995736423e838c987d08e69c09.tar.bz2
libgats-6d8bc516acf7a5995736423e838c987d08e69c09.tar.xz
libgats-6d8bc516acf7a5995736423e838c987d08e69c09.zip
Ok, you can now open files, save files, save files from proxies and clients,
and add new root items to files. Later I'll add some actual editing capabilities, should be really easy.
Diffstat (limited to 'src/gatscon/mainwnd.cpp')
-rw-r--r--src/gatscon/mainwnd.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/gatscon/mainwnd.cpp b/src/gatscon/mainwnd.cpp
index 628988e..bddaf08 100644
--- a/src/gatscon/mainwnd.cpp
+++ b/src/gatscon/mainwnd.cpp
@@ -7,11 +7,15 @@
7#include "connectdlg.h" 7#include "connectdlg.h"
8#include "setupproxydlg.h" 8#include "setupproxydlg.h"
9 9
10#include <QLabel>
10#include <QFileDialog> 11#include <QFileDialog>
11 12
12MainWnd::MainWnd() 13MainWnd::MainWnd()
13{ 14{
14 setupUi( this ); 15 setupUi( this );
16
17 pMode = new QLabel( "Idle", this );
18 statusBar()->addPermanentWidget( pMode );
15} 19}
16 20
17MainWnd::~MainWnd() 21MainWnd::~MainWnd()
@@ -23,11 +27,16 @@ void MainWnd::connect()
23 ConnectDlg dlg( this ); 27 ConnectDlg dlg( this );
24 if( dlg.exec() == QDialog::Accepted ) 28 if( dlg.exec() == QDialog::Accepted )
25 { 29 {
30 sCurFile.clear();
26 setCentralWidget( 31 setCentralWidget(
27 new ClientWidget( 32 new ClientWidget(
28 this, dlg.getHostname(), dlg.getPort() 33 this, dlg.getHostname(), dlg.getPort()
29 ) 34 )
30 ); 35 );
36 pMode->setText(
37 QString("Client Mode: %1:%2").arg( QString(dlg.getHostname()) ).
38 arg( dlg.getPort() )
39 );
31 } 40 }
32} 41}
33 42
@@ -37,11 +46,17 @@ void MainWnd::proxy()
37 46
38 if( dlg.exec() == QDialog::Accepted ) 47 if( dlg.exec() == QDialog::Accepted )
39 { 48 {
49 sCurFile.clear();
40 setCentralWidget( 50 setCentralWidget(
41 new ProxyWidget( 51 new ProxyWidget(
42 this, dlg.getPortIn(), dlg.getHostOut(), dlg.getPortOut() 52 this, dlg.getPortIn(), dlg.getHostOut(), dlg.getPortOut()
43 ) 53 )
44 ); 54 );
55 pMode->setText(
56 QString("Proxy Mode: :%1 -> %2:%3").arg( dlg.getPortIn() ).
57 arg( QString(dlg.getHostOut()) ).
58 arg( dlg.getPortOut() )
59 );
45 } 60 }
46} 61}
47 62
@@ -53,8 +68,52 @@ void MainWnd::open()
53 if( sFile.isEmpty() ) 68 if( sFile.isEmpty() )
54 return; 69 return;
55 70
71 sCurFile = sFile;
56 setCentralWidget( 72 setCentralWidget(
57 new FileWidget( this, sFile ) 73 new FileWidget( this, sFile )
58 ); 74 );
75 pMode->setText( QString("File mode: %1").arg( sCurFile ) );
76}
77
78void MainWnd::newFile()
79{
80 sCurFile.clear();
81 setCentralWidget(
82 new FileWidget( this )
83 );
84 pMode->setText( QString("File mode: <untitled>") );
85}
86
87void MainWnd::save()
88{
89 if( sCurFile.isEmpty() )
90 {
91 saveAs();
92 }
93 else
94 {
95 IoBase *pIo = dynamic_cast<IoBase *>(centralWidget());
96 if( !pIo )
97 return;
98
99 pIo->saveTo( sCurFile );
100 }
101}
102
103void MainWnd::saveAs()
104{
105 IoBase *pIo = dynamic_cast<IoBase *>(centralWidget());
106 if( !pIo )
107 return;
108
109 QString sFile = QFileDialog::getSaveFileName(
110 this, "GatsCon - save gats file"
111 );
112 if( sFile.isEmpty() )
113 return;
114
115 pIo->saveTo( sFile );
116
117 sCurFile = sFile;
59} 118}
60 119