summaryrefslogtreecommitdiff
path: root/noncore/net/opietooth/manager/scandialog.cpp
Unidiff
Diffstat (limited to 'noncore/net/opietooth/manager/scandialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/scandialog.cpp37
1 files changed, 23 insertions, 14 deletions
diff --git a/noncore/net/opietooth/manager/scandialog.cpp b/noncore/net/opietooth/manager/scandialog.cpp
index 3d6c928..9ce1b6a 100644
--- a/noncore/net/opietooth/manager/scandialog.cpp
+++ b/noncore/net/opietooth/manager/scandialog.cpp
@@ -62,22 +62,20 @@ namespace OpieTooth {
62 62
63 progress = new QProgressBar(privateLayoutWidget, "progbar"); 63 progress = new QProgressBar(privateLayoutWidget, "progbar");
64 progress->setTotalSteps(20); 64 progress->setTotalSteps(20);
65 65
66 QFrame *buttonFrame = new QFrame(Frame7, ""); 66 QFrame *buttonFrame = new QFrame(Frame7, "");
67 67
68 StartButton = new QPushButton( buttonFrame, "StartButton" ); 68 StartStopButton = new QPushButton( buttonFrame, "StartButton" );
69 StartButton->setText( tr( "Start scan" ) ); 69 StartStopButton->setText( tr( "Start scan" ) );
70 70
71 StopButton = new QPushButton( buttonFrame, "StopButton" );
72 StopButton->setText( tr( "Cancel scan" ) );
73 71
74 QHBoxLayout *buttonLayout = new QHBoxLayout(buttonFrame); 72 QHBoxLayout *buttonLayout = new QHBoxLayout(buttonFrame);
75 73
76 buttonLayout->addWidget(StartButton); 74 buttonLayout->addWidget(StartStopButton);
77 buttonLayout->addWidget(StopButton); 75 //buttonLayout->addWidget(StopButton);
78 76
79 ListView1 = new QListView( privateLayoutWidget, "ListView1" ); 77 ListView1 = new QListView( privateLayoutWidget, "ListView1" );
80 78
81 //ListView1->addColumn( tr( "Add" ) ); 79 //ListView1->addColumn( tr( "Add" ) );
82 ListView1->addColumn( tr( "Add Device" ) ); 80 ListView1->addColumn( tr( "Add Device" ) );
83 //ListView1->addColumn( tr( "Type" ) ); 81 //ListView1->addColumn( tr( "Type" ) );
@@ -85,69 +83,79 @@ namespace OpieTooth {
85 Layout11->addWidget( ListView1); 83 Layout11->addWidget( ListView1);
86 Layout11->addWidget(progress); 84 Layout11->addWidget(progress);
87 Layout11->addWidget( buttonFrame); 85 Layout11->addWidget( buttonFrame);
88 86
89 localDevice = new Manager( "hci0" ); 87 localDevice = new Manager( "hci0" );
90 88
91 connect( StartButton, SIGNAL( clicked() ), this, SLOT( startSearch() ) ); 89 connect( StartStopButton, SIGNAL( clicked() ), this, SLOT( startSearch() ) );
92 connect( StopButton, SIGNAL( clicked() ), this, SLOT( stopSearch() ) );
93 connect( localDevice, SIGNAL( foundDevices( const QString& , RemoteDevice::ValueList ) ), 90 connect( localDevice, SIGNAL( foundDevices( const QString& , RemoteDevice::ValueList ) ),
94 this, SLOT(fillList(const QString& , RemoteDevice::ValueList ) ) ) ; 91 this, SLOT(fillList(const QString& , RemoteDevice::ValueList ) ) ) ;
95 // connect( this, SIGNAL( accept() ), this, SLOT( emitToManager() )); 92 // connect( this, SIGNAL( accept() ), this, SLOT( emitToManager() ));
96 progressStat = 0; 93 progressStat = 0;
94 m_search = false;
97 } 95 }
98 96
99// hack, make cleaner later 97// hack, make cleaner later
100 void ScanDialog::progressTimer() { 98 void ScanDialog::progressTimer() {
101 99
102 progressStat++; 100 progressStat++;
103 if (progressStat++ < 20) { 101 if (progressStat++ < 20 && m_search ) {
104 QTimer::singleShot( 2000, this, SLOT(progressTimer() ) ); 102 QTimer::singleShot( 2000, this, SLOT(progressTimer() ) );
105 }
106 progress->setProgress(progressStat++); 103 progress->setProgress(progressStat++);
104 }
107 105
108 } 106 }
109 107
110 void ScanDialog::accept() { 108 void ScanDialog::accept() {
111 emitToManager(); 109 emitToManager();
112 QDialog::accept(); 110 QDialog::accept();
113 } 111 }
114 112
115 113
116 void ScanDialog::startSearch() { 114 void ScanDialog::startSearch() {
115 if ( m_search ) {
116 stopSearch();
117 return;
118 }
119 m_search = true;
117 progress->setProgress(0); 120 progress->setProgress(0);
118 progressStat = 0; 121 progressStat = 0;
119 122
120 // empty list before a new scan 123 // empty list before a new scan
121 ListView1->clear(); 124 ListView1->clear();
122 125
123 QCheckListItem *deviceItem2 = new QCheckListItem( ListView1, "Test1", QCheckListItem::CheckBox ); 126 QCheckListItem *deviceItem2 = new QCheckListItem( ListView1, "Test1", QCheckListItem::CheckBox );
124 deviceItem2->setText(1, "BLAH" ); 127 deviceItem2->setText(1, "BLAH" );
125 128
126 progressTimer(); 129 progressTimer();
127 // when finished, it emmite foundDevices() 130 // when finished, it emmite foundDevices()
128 // checken ob initialisiert , qcop ans applet. 131 // checken ob initialisiert , qcop ans applet.
132 StartStopButton->setText( tr("Stop scan"));
133
129 localDevice->searchDevices(); 134 localDevice->searchDevices();
130 135
131 } 136 }
132 137
133 void ScanDialog::stopSearch() { 138 void ScanDialog::stopSearch() {
134 139 m_search = true;
135 } 140 }
136 141
137 void ScanDialog::fillList(const QString& device, RemoteDevice::ValueList deviceList) { 142 void ScanDialog::fillList(const QString&, RemoteDevice::ValueList deviceList) {
138 143 progress->setProgress(0);
144 progressStat = 0;
139 qDebug("fill List"); 145 qDebug("fill List");
140 QCheckListItem * deviceItem; 146 QCheckListItem * deviceItem;
141 147
142 RemoteDevice::ValueList::Iterator it; 148 RemoteDevice::ValueList::Iterator it;
143 for( it = deviceList.begin(); it != deviceList.end(); ++it ) { 149 for( it = deviceList.begin(); it != deviceList.end(); ++it ) {
144 150
145 deviceItem = new QCheckListItem( ListView1, (*it).name(), QCheckListItem::CheckBox ); 151 deviceItem = new QCheckListItem( ListView1, (*it).name(), QCheckListItem::CheckBox );
146 deviceItem->setText(1, (*it).mac() ); 152 deviceItem->setText(1, (*it).mac() );
147 } 153 }
154 m_search = false;
155 StartStopButton->setText(tr ("Start scan") );
148 } 156 }
149 157
150/* 158/*
151 * Iterates trough the items, and collects the checked items. 159 * Iterates trough the items, and collects the checked items.
152 * Then it emits it, so the manager can connect to the signal to fill the listing. 160 * Then it emits it, so the manager can connect to the signal to fill the listing.
153 */ 161 */
@@ -172,10 +180,11 @@ namespace OpieTooth {
172 } 180 }
173 181
174/* 182/*
175 * Cleanup 183 * Cleanup
176 */ 184 */
177 ScanDialog::~ScanDialog() { 185 ScanDialog::~ScanDialog() {
186 qWarning("delete scan dialog");
178 delete localDevice; 187 delete localDevice;
179 } 188 }
180 189
181} 190}