summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opie-smb/qsmb.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index b978b46..e2ddc7f 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -29,100 +29,108 @@
29#include <arpa/inet.h> 29#include <arpa/inet.h>
30#include <rpc/clnt.h> 30#include <rpc/clnt.h>
31 31
32#include <sys/vfs.h> 32#include <sys/vfs.h>
33#include <mntent.h> 33#include <mntent.h>
34 34
35// #include <opie2/odebug.h> 35// #include <opie2/odebug.h>
36// using namespace Opie::Core; 36// using namespace Opie::Core;
37 37
38 38
39Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl ) 39Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl )
40 : FormQPESMBBase( parent, name, fl ) 40 : FormQPESMBBase( parent, name, fl )
41{ 41{
42 connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int))); 42 connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int)));
43 connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked())); 43 connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked()));
44 connect(UnmountBtn, SIGNAL(clicked()), this, SLOT(umountIt())); 44 connect(UnmountBtn, SIGNAL(clicked()), this, SLOT(umountIt()));
45 connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked())); 45 connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked()));
46 connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear())); 46 connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear()));
47 47
48 mountpt->setEditable(true); 48 mountpt->setEditable(true);
49 mountpt->insertItem("/mnt/samba1",-1); 49 mountpt->insertItem("/mnt/samba1",-1);
50 mountpt->insertItem("/mnt/samba2",-1); 50 mountpt->insertItem("/mnt/samba2",-1);
51 mountpt->insertItem("/mnt/samba3",-1); 51 mountpt->insertItem("/mnt/samba3",-1);
52 52
53// TextViewOutput 53 setTabOrder(BtnScan, username);
54 setTabOrder(username, password);
55 setTabOrder(password, CBHost);
56 setTabOrder(CBHost, TextViewOutput);
57 setTabOrder(TextViewOutput, mountpt);
58 setTabOrder(mountpt, DoItBtn);
59 setTabOrder(DoItBtn, UnmountBtn);
54 60
55 top_element = NULL; 61 top_element = NULL;
56 scanning = false; 62 scanning = false;
57} 63}
58 64
59Qsmb::~Qsmb() 65Qsmb::~Qsmb()
60{ 66{
61} 67}
62 68
63void Qsmb::clear() 69void Qsmb::clear()
64{ 70{
65 if (scanning) return; 71 if (scanning) return;
66 ListViewScan->clear(); 72 ListViewScan->clear();
67 TextViewOutput->setText(""); 73 TextViewOutput->setText("");
74 CBHost->clear();
68 top_element = NULL; 75 top_element = NULL;
69} 76}
70 77
71void Qsmb::scanClicked() 78void Qsmb::scanClicked()
72{ 79{
73 if (scanning) return; 80 if (scanning) return;
74 pthread_create(&tpid, NULL, runit, (void *)this); 81 pthread_create(&tpid, NULL, runit, (void *)this);
75} 82}
76 83
77void Qsmb::DoItClicked() 84void Qsmb::DoItClicked()
78{ 85{
79 86
80 if( !ListViewScan->selectedItem()) { 87 if( !ListViewScan->selectedItem()) {
81 QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>")); 88 QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>"));
82 return; 89 return;
83 } 90 }
84 if (scanning) return; 91 if (scanning) return;
85 pthread_create(&tpid, NULL, runitm, (void *)this); 92 pthread_create(&tpid, NULL, runitm, (void *)this);
86} 93}
87 94
88void* runit(void* arg) 95void* runit(void* arg)
89{ 96{
90 Qsmb* caller = (Qsmb*)arg; 97 Qsmb* caller = (Qsmb*)arg;
91 caller->scan(); 98 caller->scan();
92 return(0); 99 return(0);
93} 100}
94 101
95void* runitm(void* arg) 102void* runitm(void* arg)
96{ 103{
97 Qsmb* caller = (Qsmb*)arg; 104 Qsmb* caller = (Qsmb*)arg;
98 caller->DoIt(); 105 caller->DoIt();
99 return(0); 106 return(0);
100} 107}
101 108
102void Qsmb::scan() 109void Qsmb::scan()
103{ 110{
104 if (scanning) return; 111 clear();
112// if (scanning) return;
105 scanning = true; 113 scanning = true;
106 114
107 QString match; 115 QString match;
108 QString cmd; 116 QString cmd;
109 LScan->setText("Scanning..."); 117 LScan->setText("Scanning...");
110 qApp->processEvents(); 118 qApp->processEvents();
111 119
112 sockaddr_in my_addr; 120 sockaddr_in my_addr;
113 get_myaddress( &my_addr); 121 get_myaddress( &my_addr);
114 122
115 QString ip = inet_ntoa( my_addr.sin_addr); 123 QString ip = inet_ntoa( my_addr.sin_addr);
116 qWarning("IP Address : "+ip); 124 qWarning("IP Address : "+ip);
117 125
118 match = ip.left(5); 126 match = ip.left(5);
119 127
120 QStringList ccmd; 128 QStringList ccmd;
121 TextViewOutput->append("smbfind"); 129 TextViewOutput->append("smbfind");
122 130
123 QFile lmhosts("/etc/samba/lmhosts"); 131 QFile lmhosts("/etc/samba/lmhosts");
124 QTextStream lms(&lmhosts); 132 QTextStream lms(&lmhosts);
125 lmhosts.open(IO_WriteOnly); 133 lmhosts.open(IO_WriteOnly);
126 lms << "127.0.0.1 localhost\n"; 134 lms << "127.0.0.1 localhost\n";
127 135
128 /* parse output and display in ListViewScan */ 136 /* parse output and display in ListViewScan */