-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 18 |
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 @@ -7,8 +7,9 @@ #include <qtoolbar.h> #include <qmessagebox.h> #include <qpushbutton.h> #include <qwhatsthis.h> +#include <qfileinfo.h> #include <qpe/resource.h> #include <qpe/qpeapplication.h> #include <qpe/filemanager.h> @@ -140,8 +141,9 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow( m_sessions.setAutoDelete( TRUE ); m_curSession = 0; m_manager = new ProfileManager( m_factory ); m_manager->load(); + m_scriptsData.setAutoDelete(TRUE); initUI(); populateProfiles(); populateScripts(); @@ -357,10 +359,13 @@ void MainWindow::populateScripts() { DocLnkSet files(QPEApplication::documentDir(), "text/plain"); QListIterator<DocLnk> dit(files.children()); for (; dit.current(); ++dit) { if (*dit && (*dit)->name().length()>0) { - m_scriptsData.append((*dit)); - m_scriptsPop->insertItem((*dit)->name()); + QFileInfo info((*dit)->file()); + if (info.extension(false) == "script") { + m_scriptsData.append(new DocLnk(**dit)); + m_scriptsPop->insertItem((*dit)->name()); + } } } } @@ -407,12 +412,15 @@ void MainWindow::slotSaveScript() { text << "text/plain"; map.insert(tr("Script"), text ); QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map); if (!filename.isEmpty()) { + QFileInfo info(filename); + if (info.extension(FALSE) != "script") + filename += ".script"; DocLnk nf; nf.setType("text/plain"); nf.setFile(filename); - nf.setName(filename); + nf.setName(info.fileName()); FileManager fm; fm.saveFile(nf, currentSession()->emulationHandler()->script()->script()); currentSession()->emulationHandler()->clearScript(); m_saveScript->setEnabled(false); @@ -423,11 +431,11 @@ void MainWindow::slotSaveScript() { } void MainWindow::slotRunScript(int id) { if (currentSession()) { - DocLnk *lnk = m_scriptsData.at(m_scriptsPop->indexOf(id)); + int index = m_scriptsPop->indexOf(id); + DocLnk *lnk = m_scriptsData.at(index); QString filePath = lnk->file(); - printf("path is : %s\n", filePath.latin1()); Script script(filePath); currentSession()->emulationHandler()->runScript(&script); } } |