summaryrefslogtreecommitdiff
authorwazlaf <wazlaf>2002-10-24 20:40:24 (UTC)
committer wazlaf <wazlaf>2002-10-24 20:40:24 (UTC)
commit0fc598a0ee9151f82f5a78383645a758d5f6cad9 (patch) (unidiff)
treed7b6df2344aafe89f914d796d941ef6fd705cff4
parentb3d13ad799eebbee3a1a73c4fe5b38167070ab87 (diff)
downloadopie-0fc598a0ee9151f82f5a78383645a758d5f6cad9.zip
opie-0fc598a0ee9151f82f5a78383645a758d5f6cad9.tar.gz
opie-0fc598a0ee9151f82f5a78383645a758d5f6cad9.tar.bz2
only use .script files, set DocLnk names correctly
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index 888ab90..ccecdf8 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -1,34 +1,35 @@
1#include <assert.h> 1#include <assert.h>
2 2
3#include <qaction.h> 3#include <qaction.h>
4#include <qmenubar.h> 4#include <qmenubar.h>
5#include <qlabel.h> 5#include <qlabel.h>
6#include <qpopupmenu.h> 6#include <qpopupmenu.h>
7#include <qtoolbar.h> 7#include <qtoolbar.h>
8#include <qmessagebox.h> 8#include <qmessagebox.h>
9#include <qpushbutton.h> 9#include <qpushbutton.h>
10#include <qwhatsthis.h> 10#include <qwhatsthis.h>
11#include <qfileinfo.h>
11 12
12#include <qpe/resource.h> 13#include <qpe/resource.h>
13#include <qpe/qpeapplication.h> 14#include <qpe/qpeapplication.h>
14#include <qpe/filemanager.h> 15#include <qpe/filemanager.h>
15#include <qpe/mimetype.h> 16#include <qpe/mimetype.h>
16 17
17#include <opie/ofiledialog.h> 18#include <opie/ofiledialog.h>
18 19
19#include "keytrans.h" 20#include "keytrans.h"
20#include "profileeditordialog.h" 21#include "profileeditordialog.h"
21#include "configdialog.h" 22#include "configdialog.h"
22#include "default.h" 23#include "default.h"
23#include "metafactory.h" 24#include "metafactory.h"
24#include "profile.h" 25#include "profile.h"
25#include "profilemanager.h" 26#include "profilemanager.h"
26#include "mainwindow.h" 27#include "mainwindow.h"
27#include "tabwidget.h" 28#include "tabwidget.h"
28#include "transferdialog.h" 29#include "transferdialog.h"
29#include "function_keyboard.h" 30#include "function_keyboard.h"
30#include "emulation_handler.h" 31#include "emulation_handler.h"
31#include "script.h" 32#include "script.h"
32 33
33static char * filesave_xpm[] = { 34static char * filesave_xpm[] = {
34"16 16 78 1", 35"16 16 78 1",
@@ -120,48 +121,49 @@ static char * filesave_xpm[] = {
120" 90ab=c;dd;e1fg ", 121" 90ab=c;dd;e1fg ",
121" [ahij((kbl0mn$ ", 122" [ahij((kbl0mn$ ",
122" op^q^^7r&]s/$+ ", 123" op^q^^7r&]s/$+ ",
123"@btu;vbwxy]zAB ", 124"@btu;vbwxy]zAB ",
124"CzDEvEv;;DssF$ ", 125"CzDEvEv;;DssF$ ",
125"G.H{E{E{IxsJ$+ ", 126"G.H{E{E{IxsJ$+ ",
126" +...vEKxzLM ", 127" +...vEKxzLM ",
127" +...z]n$ ", 128" +...z]n$ ",
128" +... "}; 129" +... "};
129 130
130 131
131 132
132MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { 133MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) {
133 KeyTrans::loadAll(); 134 KeyTrans::loadAll();
134 for (int i = 0; i < KeyTrans::count(); i++ ) { 135 for (int i = 0; i < KeyTrans::count(); i++ ) {
135 KeyTrans* s = KeyTrans::find(i ); 136 KeyTrans* s = KeyTrans::find(i );
136 assert( s ); 137 assert( s );
137 } 138 }
138 m_factory = new MetaFactory(); 139 m_factory = new MetaFactory();
139 Default def(m_factory); 140 Default def(m_factory);
140 m_sessions.setAutoDelete( TRUE ); 141 m_sessions.setAutoDelete( TRUE );
141 m_curSession = 0; 142 m_curSession = 0;
142 m_manager = new ProfileManager( m_factory ); 143 m_manager = new ProfileManager( m_factory );
143 m_manager->load(); 144 m_manager->load();
145 m_scriptsData.setAutoDelete(TRUE);
144 146
145 initUI(); 147 initUI();
146 populateProfiles(); 148 populateProfiles();
147 populateScripts(); 149 populateScripts();
148} 150}
149void MainWindow::initUI() { 151void MainWindow::initUI() {
150 setToolBarsMovable( FALSE ); 152 setToolBarsMovable( FALSE );
151 153
152 /* tool bar for the menu */ 154 /* tool bar for the menu */
153 m_tool = new QToolBar( this ); 155 m_tool = new QToolBar( this );
154 m_tool->setHorizontalStretchable( TRUE ); 156 m_tool->setHorizontalStretchable( TRUE );
155 157
156 m_bar = new QMenuBar( m_tool ); 158 m_bar = new QMenuBar( m_tool );
157 m_console = new QPopupMenu( this ); 159 m_console = new QPopupMenu( this );
158 m_scripts = new QPopupMenu( this ); 160 m_scripts = new QPopupMenu( this );
159 m_sessionsPop= new QPopupMenu( this ); 161 m_sessionsPop= new QPopupMenu( this );
160 m_scriptsPop = new QPopupMenu( this ); 162 m_scriptsPop = new QPopupMenu( this );
161 163
162 /* add a toolbar for icons */ 164 /* add a toolbar for icons */
163 m_icons = new QToolBar(this); 165 m_icons = new QToolBar(this);
164 166
165 /* 167 /*
166 * the settings action 168 * the settings action
167 */ 169 */
@@ -337,117 +339,123 @@ void MainWindow::initUI() {
337} 339}
338 340
339ProfileManager* MainWindow::manager() { 341ProfileManager* MainWindow::manager() {
340 return m_manager; 342 return m_manager;
341} 343}
342TabWidget* MainWindow::tabWidget() { 344TabWidget* MainWindow::tabWidget() {
343 return m_consoleWindow; 345 return m_consoleWindow;
344} 346}
345void MainWindow::populateProfiles() { 347void MainWindow::populateProfiles() {
346 m_sessionsPop->clear(); 348 m_sessionsPop->clear();
347 Profile::ValueList list = manager()->all(); 349 Profile::ValueList list = manager()->all();
348 for (Profile::ValueList::Iterator it = list.begin(); it != list.end(); ++it ) { 350 for (Profile::ValueList::Iterator it = list.begin(); it != list.end(); ++it ) {
349 m_sessionsPop->insertItem( (*it).name() ); 351 m_sessionsPop->insertItem( (*it).name() );
350 } 352 }
351 353
352} 354}
353 355
354void MainWindow::populateScripts() { 356void MainWindow::populateScripts() {
355 m_scriptsPop->clear(); 357 m_scriptsPop->clear();
356 m_scriptsData.clear(); 358 m_scriptsData.clear();
357 DocLnkSet files(QPEApplication::documentDir(), "text/plain"); 359 DocLnkSet files(QPEApplication::documentDir(), "text/plain");
358 QListIterator<DocLnk> dit(files.children()); 360 QListIterator<DocLnk> dit(files.children());
359 for (; dit.current(); ++dit) { 361 for (; dit.current(); ++dit) {
360 if (*dit && (*dit)->name().length()>0) { 362 if (*dit && (*dit)->name().length()>0) {
361 m_scriptsData.append((*dit)); 363 QFileInfo info((*dit)->file());
362 m_scriptsPop->insertItem((*dit)->name()); 364 if (info.extension(false) == "script") {
365 m_scriptsData.append(new DocLnk(**dit));
366 m_scriptsPop->insertItem((*dit)->name());
367 }
363 } 368 }
364 } 369 }
365 370
366} 371}
367 372
368MainWindow::~MainWindow() { 373MainWindow::~MainWindow() {
369 delete m_factory; 374 delete m_factory;
370 manager()->save(); 375 manager()->save();
371} 376}
372 377
373MetaFactory* MainWindow::factory() { 378MetaFactory* MainWindow::factory() {
374 return m_factory; 379 return m_factory;
375} 380}
376 381
377Session* MainWindow::currentSession() { 382Session* MainWindow::currentSession() {
378 return m_curSession; 383 return m_curSession;
379} 384}
380 385
381QList<Session> MainWindow::sessions() { 386QList<Session> MainWindow::sessions() {
382 return m_sessions; 387 return m_sessions;
383} 388}
384 389
385void MainWindow::slotNew() { 390void MainWindow::slotNew() {
386 ProfileEditorDialog dlg(factory() ); 391 ProfileEditorDialog dlg(factory() );
387 dlg.showMaximized(); 392 dlg.showMaximized();
388 int ret = dlg.exec(); 393 int ret = dlg.exec();
389 394
390 if ( ret == QDialog::Accepted ) { 395 if ( ret == QDialog::Accepted ) {
391 create( dlg.profile() ); 396 create( dlg.profile() );
392 } 397 }
393} 398}
394 399
395void MainWindow::slotRecordScript() { 400void MainWindow::slotRecordScript() {
396 if (currentSession()) { 401 if (currentSession()) {
397 currentSession()->emulationHandler()->startRecording(); 402 currentSession()->emulationHandler()->startRecording();
398 m_saveScript->setEnabled(true); 403 m_saveScript->setEnabled(true);
399 m_recordScript->setEnabled(false); 404 m_recordScript->setEnabled(false);
400 } 405 }
401} 406}
402 407
403void MainWindow::slotSaveScript() { 408void MainWindow::slotSaveScript() {
404 if (currentSession() && currentSession()->emulationHandler()->isRecording()) { 409 if (currentSession() && currentSession()->emulationHandler()->isRecording()) {
405 QMap<QString, QStringList> map; 410 QMap<QString, QStringList> map;
406 QStringList text; 411 QStringList text;
407 text << "text/plain"; 412 text << "text/plain";
408 map.insert(tr("Script"), text ); 413 map.insert(tr("Script"), text );
409 QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map); 414 QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map);
410 if (!filename.isEmpty()) { 415 if (!filename.isEmpty()) {
416 QFileInfo info(filename);
417 if (info.extension(FALSE) != "script")
418 filename += ".script";
411 DocLnk nf; 419 DocLnk nf;
412 nf.setType("text/plain"); 420 nf.setType("text/plain");
413 nf.setFile(filename); 421 nf.setFile(filename);
414 nf.setName(filename); 422 nf.setName(info.fileName());
415 FileManager fm; 423 FileManager fm;
416 fm.saveFile(nf, currentSession()->emulationHandler()->script()->script()); 424 fm.saveFile(nf, currentSession()->emulationHandler()->script()->script());
417 currentSession()->emulationHandler()->clearScript(); 425 currentSession()->emulationHandler()->clearScript();
418 m_saveScript->setEnabled(false); 426 m_saveScript->setEnabled(false);
419 m_recordScript->setEnabled(true); 427 m_recordScript->setEnabled(true);
420 populateScripts(); 428 populateScripts();
421 } 429 }
422 } 430 }
423} 431}
424 432
425void MainWindow::slotRunScript(int id) { 433void MainWindow::slotRunScript(int id) {
426 if (currentSession()) { 434 if (currentSession()) {
427 DocLnk *lnk = m_scriptsData.at(m_scriptsPop->indexOf(id)); 435 int index = m_scriptsPop->indexOf(id);
436 DocLnk *lnk = m_scriptsData.at(index);
428 QString filePath = lnk->file(); 437 QString filePath = lnk->file();
429 printf("path is : %s\n", filePath.latin1());
430 Script script(filePath); 438 Script script(filePath);
431 currentSession()->emulationHandler()->runScript(&script); 439 currentSession()->emulationHandler()->runScript(&script);
432 } 440 }
433} 441}
434 442
435void MainWindow::slotConnect() { 443void MainWindow::slotConnect() {
436 if ( currentSession() ) { 444 if ( currentSession() ) {
437 bool ret = currentSession()->layer()->open(); 445 bool ret = currentSession()->layer()->open();
438 if(!ret) QMessageBox::warning(currentSession()->widgetStack(), 446 if(!ret) QMessageBox::warning(currentSession()->widgetStack(),
439 QObject::tr("Failed"), 447 QObject::tr("Failed"),
440 QObject::tr("Connecting failed for this session.")); 448 QObject::tr("Connecting failed for this session."));
441 else { 449 else {
442 m_connect->setEnabled( false ); 450 m_connect->setEnabled( false );
443 m_disconnect->setEnabled( true ); 451 m_disconnect->setEnabled( true );
444 m_transfer->setEnabled( true ); 452 m_transfer->setEnabled( true );
445 m_recordScript->setEnabled( true ); 453 m_recordScript->setEnabled( true );
446 m_scripts->setItemEnabled(m_runScript_id, true); 454 m_scripts->setItemEnabled(m_runScript_id, true);
447 } 455 }
448 } 456 }
449} 457}
450 458
451void MainWindow::slotDisconnect() { 459void MainWindow::slotDisconnect() {
452 if ( currentSession() ) { 460 if ( currentSession() ) {
453 currentSession()->layer()->close(); 461 currentSession()->layer()->close();