-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 16 |
1 files changed, 12 insertions, 4 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 @@ -5,12 +5,13 @@ #include <qlabel.h> #include <qpopupmenu.h> #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> #include <qpe/mimetype.h> @@ -138,12 +139,13 @@ MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow( m_factory = new MetaFactory(); Default def(m_factory); m_sessions.setAutoDelete( TRUE ); m_curSession = 0; m_manager = new ProfileManager( m_factory ); m_manager->load(); + m_scriptsData.setAutoDelete(TRUE); initUI(); populateProfiles(); populateScripts(); } void MainWindow::initUI() { @@ -355,16 +357,19 @@ void MainWindow::populateScripts() { m_scriptsPop->clear(); m_scriptsData.clear(); 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)); + QFileInfo info((*dit)->file()); + if (info.extension(false) == "script") { + m_scriptsData.append(new DocLnk(**dit)); m_scriptsPop->insertItem((*dit)->name()); } } + } } MainWindow::~MainWindow() { delete m_factory; manager()->save(); @@ -405,31 +410,34 @@ void MainWindow::slotSaveScript() { QMap<QString, QStringList> map; QStringList text; 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); m_recordScript->setEnabled(true); populateScripts(); } } } 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); } } void MainWindow::slotConnect() { |