summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opie-smb/qsmb.cpp19
-rw-r--r--noncore/net/opie-smb/qsmb.h4
2 files changed, 21 insertions, 2 deletions
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
index 7f3ae89..d35e09a 100644
--- a/noncore/net/opie-smb/qsmb.cpp
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -39,16 +39,17 @@
Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl )
: FormQPESMBBase( parent, name, fl )
{
connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int)));
connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked()));
connect(UnmountBtn, SIGNAL(clicked()), this, SLOT(umountIt()));
connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked()));
connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear()));
+ connect(ListViewScan, SIGNAL(clicked(QListViewItem*)), this, SLOT(TextViewClicked(QListViewItem*)));
mountpt->setEditable(true);
mountpt->insertItem("/mnt/samba1",-1);
mountpt->insertItem("/mnt/samba2",-1);
mountpt->insertItem("/mnt/samba3",-1);
setTabOrder(BtnScan, username);
setTabOrder(username, password);
@@ -348,27 +349,31 @@ void Qsmb::DoIt()
//do nothing
}
scanning = false;
}
void Qsmb::umountIt()
{
+ QListViewItem *element;
+ element = ListViewScan->selectedItem();
+ if(!element) {
+ return;
+ }
+
QString mount = mountpt->currentText();
if(!isMounted(mount)) {
qWarning(mount +" is not mounted");
TextViewOutput->append(mount +" is not mounted");
return;
}
QStringList ccmd;
QString share;
- QListViewItem *element;
- element = ListViewScan->selectedItem();
share = element->text(0);
qWarning("selected share is "+share);
if(mount.left(1) != "/")
mount = QDir::currentDirPath()+"/"+mount;
mount = mount.stripWhiteSpace();
ccmd << "/usr/bin/smbumount";
@@ -430,8 +435,18 @@ QString Qsmb::getMount(const QString &shareName)
QString fsType = me->mnt_type;
if( fsType == "smbfs" && deviceName.find(shareName) != -1)
mount = mountDir;
}
}
endmntent( mntfp );
return mount;
}
+
+void Qsmb::TextViewClicked(QListViewItem* item)
+{
+ if(item == NULL) return;
+
+ QString text = item->text(2);
+ qWarning(text);
+ if( !text.isEmpty())
+ mountpt->insertItem(text,0);
+}
diff --git a/noncore/net/opie-smb/qsmb.h b/noncore/net/opie-smb/qsmb.h
index abf27da..175b2c3 100644
--- a/noncore/net/opie-smb/qsmb.h
+++ b/noncore/net/opie-smb/qsmb.h
@@ -5,16 +5,18 @@
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <qlistview.h>
#include <pthread.h>
+#include <qlistview.h>
+
class Qsmb : public FormQPESMBBase
{
Q_OBJECT
public:
static QString appName() { return QString::fromLatin1("opie-smb"); }
Qsmb( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~Qsmb();
@@ -33,13 +35,15 @@ public slots:
void clear();
void scanClicked();
void hostSelected(int);
void DoItClicked();
void umountIt();
QString out;
bool runCommand(const QStringList &);
+private slots:
+ void TextViewClicked(QListViewItem*);
};
void* runit(void *arg);
void* runitm(void *arg);
#endif // QSMB_H