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
@@ -44,6 +44,7 @@ Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl )
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);
@@ -353,6 +354,12 @@ void Qsmb::DoIt()
void Qsmb::umountIt()
{
+ QListViewItem *element;
+ element = ListViewScan->selectedItem();
+ if(!element) {
+ return;
+ }
+
QString mount = mountpt->currentText();
if(!isMounted(mount)) {
qWarning(mount +" is not mounted");
@@ -362,8 +369,6 @@ void Qsmb::umountIt()
QStringList ccmd;
QString share;
- QListViewItem *element;
- element = ListViewScan->selectedItem();
share = element->text(0);
qWarning("selected share is "+share);
@@ -435,3 +440,13 @@ QString Qsmb::getMount(const QString &shareName)
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
@@ -10,6 +10,8 @@
#include <qlistview.h>
#include <pthread.h>
+#include <qlistview.h>
+
class Qsmb : public FormQPESMBBase
{
Q_OBJECT
@@ -38,6 +40,8 @@ public slots:
QString out;
bool runCommand(const QStringList &);
+private slots:
+ void TextViewClicked(QListViewItem*);
};
void* runit(void *arg);
void* runitm(void *arg);