summaryrefslogtreecommitdiffstats
path: root/kpilot/conduits/docconduit/kpalmdoc_dlg.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kpilot/conduits/docconduit/kpalmdoc_dlg.cc')
-rw-r--r--kpilot/conduits/docconduit/kpalmdoc_dlg.cc529
1 files changed, 0 insertions, 529 deletions
diff --git a/kpilot/conduits/docconduit/kpalmdoc_dlg.cc b/kpilot/conduits/docconduit/kpalmdoc_dlg.cc
deleted file mode 100644
index 29713ffae..000000000
--- a/kpilot/conduits/docconduit/kpalmdoc_dlg.cc
+++ /dev/null
@@ -1,529 +0,0 @@
-/* kpalmdoc_dlg.cpp
-**
-** Copyright (C) 2003 by Reinhold Kainhofer
-**
-** This is the main dialog of the KDE PalmDOC converter.
-*/
-
-/*
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program in a file called COPYING; if not, write to
-** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-** MA 02110-1301, USA.
-*/
-
-/*
-** Bug reports and questions can be sent to kde-pim@kde.org
-*/
-#include "options.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <iostream>
-
-#include <tqtabwidget.h>
-#include <tqcheckbox.h>
-#include <tqradiobutton.h>
-#include <tqbuttongroup.h>
-#include <tqlabel.h>
-#include <tqcombobox.h>
-
-#include <klocale.h>
-#include <kconfig.h>
-#include <kaboutapplication.h>
-#include <kapplication.h>
-#include <kurlrequester.h>
-#include <kmessagebox.h>
-#include <kcharsets.h>
-
-#include <pilotLocalDatabase.h>
-
-#include "kpalmdoc_dlg.h"
-#include "kpalmdoc_dlgbase.h"
-#include "DOC-converter.h"
-#include "kpalmdocSettings.h"
-
-
-ConverterDlg::ConverterDlg( TQWidget *parent, const TQString& caption)
- : KDialogBase( parent, "converterdialog", false, caption, KDialogBase::Close|KDialogBase::Help|KDialogBase::User1,
- KDialogBase::Close, true, i18n("&About"))
-{
- TQWidget *page = makeHBoxMainWidget();
- dlg=new ConverterDlgBase(page);
- TQStringList l = KGlobal::charsets()->descriptiveEncodingNames();
- for ( TQStringList::Iterator it = l.begin(); it != l.end(); ++it)
- {
- dlg->fEncoding->insertItem(*it);
- }
-
- readSettings();
-
- connect(dlg->fDirectories, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(slotDirectories(bool)));
- connect(dlg->fTextToPDB, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotToPDB()));
- connect(dlg->fPDBToText, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotToText()));
-
- resize(minimumSize());
-}
-
-ConverterDlg::~ConverterDlg()
-{
- // no need to delete child widgets, Qt does it all for us
-}
-void ConverterDlg::writeSettings()
-{
- // General page
- KPalmDocSettings::setTXTFolder( dlg->fTXTDir->url() );
- KPalmDocSettings::setPDBFolder( dlg->fPDBDir->url() );
- KPalmDocSettings::setSyncFolders( dlg->fDirectories->isChecked() );
- KPalmDocSettings::setAskOverwrite( dlg->fAskOverwrite->isChecked() );
- KPalmDocSettings::setVerboseMessages( dlg->fVerbose->isChecked() );
- KPalmDocSettings::setEncoding( dlg->fEncoding->currentText() );
-
- // PC->Handheld page
- KPalmDocSettings::setCompress( dlg->fCompress->isChecked() );
- KPalmDocSettings::setConvertBookmarks( dlg->fConvertBookmarks->isChecked() );
- KPalmDocSettings::setBookmarksInline( dlg->fBookmarksInline->isChecked() );
- KPalmDocSettings::setBookmarksEndtags( dlg->fBookmarksEndtags->isChecked() );
- KPalmDocSettings::setBookmarksBmk( dlg->fBookmarksBmk->isChecked() );
-
- // Handheld->PC page
- KPalmDocSettings::setBookmarksToPC( dlg->fPCBookmarks->id(dlg->fPCBookmarks->selected()) );
-
- KPalmDocSettings::self()->writeConfig();
-}
-
-void ConverterDlg::readSettings()
-{
- FUNCTIONSETUP;
-
- KPalmDocSettings::self()->readConfig();
-
- // General Page:
- dlg->fTXTDir->setURL(KPalmDocSettings::tXTFolder());
- dlg->fPDBDir->setURL(KPalmDocSettings::pDBFolder());
- bool dir=KPalmDocSettings::syncFolders();
- dlg->fDirectories->setChecked(dir);
- slotDirectories(dir);
- dlg->fAskOverwrite->setChecked( KPalmDocSettings::askOverwrite() );
- dlg->fVerbose->setChecked( KPalmDocSettings::verboseMessages() );
- TQString encoding = KPalmDocSettings::encoding();
-#ifdef DEBUG
- DEBUGKPILOT << fname << ": Encoding=" << encoding << endl;
-#endif
- dlg->fEncoding->setCurrentText( KPalmDocSettings::encoding() );
-
- // PC->Handheld page
- dlg->fCompress->setChecked(KPalmDocSettings::compress() );
- dlg->fConvertBookmarks->setChecked(KPalmDocSettings::convertBookmarks());
- dlg->fBookmarksInline->setChecked(KPalmDocSettings::bookmarksInline());
- dlg->fBookmarksEndtags->setChecked(KPalmDocSettings::bookmarksEndtags());
- dlg->fBookmarksBmk->setChecked(KPalmDocSettings::bookmarksBmk());
-
- // Handheld->PC page
- dlg->fPCBookmarks->setButton(KPalmDocSettings::bookmarksToPC() );
-}
-
-void ConverterDlg::slotClose()
-{
- writeSettings();
- kapp->quit();
- delete this;
-}
-
-void ConverterDlg::slotToText()
-{
- FUNCTIONSETUP;
- // First, get the settings from the controls and initialize
- // the converter object
- int bmks=dlg->fPCBookmarks->id(dlg->fPCBookmarks->selected());
- DOCConverter conv;
- switch(bmks) {
- case 0: conv.setBookmarkTypes(DOCConverter::eBmkNone); break;
- case 1: conv.setBookmarkTypes(DOCConverter::eBmkInline); break;
- case 2: conv.setBookmarkTypes(DOCConverter::eBmkEndtags); break;
- case 3: conv.setBookmarkTypes(DOCConverter::eBmkDefaultBmkFile); break;
- default:
- break;
- }
-
- askOverwrite=dlg->fAskOverwrite->isChecked();
- verbose=dlg->fVerbose->isChecked();
-
-
- bool dir=dlg->fDirectories->isChecked();
- TQString txturl=dlg->fTXTDir->url();
- TQString pdburl=dlg->fPDBDir->url();
-
- TQFileInfo txtinfo(txturl);
- TQFileInfo pdbinfo(pdburl);
-
- if (dir)
- {
- if (pdbinfo.isFile())
- {
- int res=KMessageBox::questionYesNo(this,
- i18n("<qt>You selected to sync folders, "
- "but gave a filename instead (<em>%1</em>)."
- "<br>Use folder <em>%2</em> instead?</qt>").arg(pdburl)
- .arg(pdbinfo.dirPath(true)), TQString::null, i18n("Use Folder"), KStdGuiItem::cancel());
- if (res==KMessageBox::Yes)
- {
- pdburl=pdbinfo.dirPath(true);
- pdbinfo.setFile(pdburl);
- }
- else return;
- }
-
- if (!pdbinfo.isDir())
- {
- // no directory, so error message and return
- KMessageBox::sorry(this,
- i18n("<qt>The folder <em>%1</em> for "
- "the handheld database files is not a valid "
- "folder.</qt>").arg(pdburl));
- return;
- }
-
- if (!pdbinfo.exists())
- {
- KMessageBox::sorry(this,
- i18n("<qt>The folder <em>%1</em> for "
- "the handheld database files is not a "
- "valid directory.</qt>").arg(pdburl));
- return;
- }
-
-
- // Now check the to directory:
- if (txtinfo.isFile())
- {
- int res=KMessageBox::questionYesNo(this,
- i18n("<qt>You selected to sync folders, "
- "but gave a filename instead (<em>%1</em>)."
- "<br>Use folder <em>%2</em> instead?</qt>").arg(txturl)
- .arg(txtinfo.dirPath(true)), TQString::null, i18n("Use Folder"), KStdGuiItem::cancel());
- if (res==KMessageBox::Yes) {
- txturl=txtinfo.dirPath(true);
- txtinfo.setFile(txturl);
- }
- else return;
- }
-
- // Now that we have a directory path, try to create it:
- if (!txtinfo.isDir()) {
- txtinfo.dir().mkdir(txturl, true);
- }
- if (!txtinfo.isDir()) {
- KMessageBox::sorry(this,
- i18n("<qt>The folder <em>%1</em> for "
- "the text files could not be created.</qt>").arg(txturl));
- return;
- }
-
-
- // Now that we have both directories, create the converter object
- DEBUGKPILOT<<"Pdbinfo.dir="<<pdbinfo.dir().absPath()<<endl;
- DEBUGKPILOT<<"txtinfo.dir="<<txtinfo.dir().absPath()<<endl;
- TQStringList pdbfiles(pdbinfo.dir().entryList(CSL1("*.pdb")));
- TQStringList converted_Files;
-
- DEBUGKPILOT<<"Length of filename list: "<<pdbfiles.size()<<endl;
- for ( TQStringList::Iterator it = pdbfiles.begin(); it != pdbfiles.end(); ++it )
- {
- TQString txtfile=TQFileInfo(*it).baseName(true)+CSL1(".txt");
- DEBUGKPILOT<<"pdbfile="<<*it<<", pdbdir="<<pdburl<<", txtfile="<<txtfile<<", txtdir="<<txturl<<endl;
- if (convertPDBtoTXT(pdburl, *it, txturl, txtfile, &conv))
- {
- converted_Files.append(*it);
- }
- }
- if (converted_Files.size()>0) {
- KMessageBox::informationList(this, i18n("The following texts were "
- "successfully converted:"), converted_Files, i18n("Conversion Successful"));
- }
- else
- {
- KMessageBox::sorry(this, i18n("No text files were converted correctly"));
- }
-
-
- } else { // no dir
-
-
- // Check the from file
- if (!pdbinfo.isFile() || !pdbinfo.exists())
- {
- KMessageBox::sorry(this, i18n("<qt>The file <em>%1</em> does not "
- "exist.</qt>").arg(pdburl));
- return;
- }
-
- // Now check the to file
-/* // I can't check if a given filename is a valid filename
- if (!txtinfo.isFile())
- {
- KMessageBox::sorry(this, i18n("<qt>The filename <em>%1</em> for the "
- "text is not a valid filename.</qt>").arg(txturl));
- return;
- }*/
- if (convertPDBtoTXT(pdbinfo.dirPath(true), pdbinfo.fileName(),
- txtinfo.dirPath(true), txtinfo.fileName(), &conv) )
- {
- KMessageBox::information(this, i18n("Conversion of file %1 successful.").arg(pdburl));
- }
-
- }
-
-}
-
-void ConverterDlg::slotToPDB()
-{
- FUNCTIONSETUP;
- // First, get the settings from the controls and initialize
- // the converter object
- bool compress=dlg->fCompress->isChecked();
- int bmks=0;
- if (dlg->fConvertBookmarks->isChecked())
- {
- if (dlg->fBookmarksInline->isChecked()) bmks|=DOCConverter::eBmkInline;
- if (dlg->fBookmarksEndtags->isChecked()) bmks|=DOCConverter::eBmkEndtags;
- if(dlg->fBookmarksBmk->isChecked()) bmks|=DOCConverter::eBmkDefaultBmkFile;
- }
- DOCConverter conv;
- conv.setBookmarkTypes(bmks);
- conv.setCompress(compress);
- conv.setSort(DOCConverter::eSortName);
-
-
- askOverwrite=dlg->fAskOverwrite->isChecked();
- verbose=dlg->fVerbose->isChecked();
-
-
- bool dir=dlg->fDirectories->isChecked();
- TQString txturl=dlg->fTXTDir->url();
- TQString pdburl=dlg->fPDBDir->url();
-
- TQFileInfo txtinfo(txturl);
- TQFileInfo pdbinfo(pdburl);
-
- if (dir)
- {
- if (txtinfo.isFile())
- {
- int res=KMessageBox::questionYesNo(this,
- i18n("<qt>You selected to sync folders, "
- "but gave a filename instead (<em>%1</em>)."
- "<br>Use folder <em>%2</em> instead?</qt>").arg(txturl)
- .arg(txtinfo.dirPath(true)), TQString::null, i18n("Use Folder"), KStdGuiItem::cancel());
- if (res==KMessageBox::Yes)
- {
- txturl=txtinfo.dirPath(true);
- txtinfo.setFile(txturl);
- }
- else return;
- }
-
- if (!txtinfo.isDir() || !txtinfo.exists())
- {
- KMessageBox::sorry(this,
- i18n("<qt>The folder <em>%1</em> for "
- "the text files is not a valid folder.</qt>").arg(txturl));
- return;
- }
-
-
- // Now check the to directory:
- if (pdbinfo.isFile())
- {
- int res=KMessageBox::questionYesNo(this,
- i18n("<qt>You selected to sync folders, "
- "but gave a filename instead (<em>%1</em>)."
- "<br>Use folder <em>%2</em> instead?</qt>")
- .arg(pdburl)
- .arg(pdbinfo.dirPath(true)), TQString::null, i18n("Use Folder"), KStdGuiItem::cancel());
- if (res==KMessageBox::Yes) {
- pdburl=pdbinfo.dirPath(true);
- pdbinfo.setFile(pdburl);
- }
- else return;
- }
-
- // Now that we have a directory path, try to create it:
- if (!pdbinfo.isDir()) {
- pdbinfo.dir().mkdir(pdburl, true);
- }
- if (!pdbinfo.isDir()) {
- KMessageBox::sorry(this, i18n("<qt>The folder <em>%1</em> for "
- "the PalmDOC files could not be created.</qt>").arg(pdburl));
- return;
- }
-
-
- // Now that we have both directories, create the converter object
- DEBUGKPILOT<<"Pdbinfo.dir="<<pdbinfo.dir().absPath()<<endl;
- DEBUGKPILOT<<"txtinfo.dir="<<txtinfo.dir().absPath()<<endl;
- TQStringList txtfiles(txtinfo.dir().entryList(CSL1("*.txt")));
- TQStringList converted_Files;
-
- DEBUGKPILOT<<"Length of filename list: "<<txtfiles.size()<<endl;
- for ( TQStringList::Iterator it = txtfiles.begin(); it != txtfiles.end(); ++it )
- {
- TQString pdbfile=TQFileInfo(*it).baseName(true)+CSL1(".pdb");
- DEBUGKPILOT<<"pdbfile="<<pdbfile<<", pdbdir="<<pdburl<<", txtfile="<<*it<<", txtdir="<<txturl<<endl;
- if (convertTXTtoPDB(txturl, *it, pdburl, pdbfile, &conv))
- {
- converted_Files.append(*it);
- }
- }
- if (converted_Files.size()>0) {
- KMessageBox::informationList(this, i18n("The following texts were "
- "successfully converted:"), converted_Files, i18n("Conversion Successful"));
- }
- else
- {
- KMessageBox::sorry(this, i18n("No text files were converted correctly"));
- }
-
-
- } else { // no dir
-
-
- // Check the from file
- if (!txtinfo.isFile() || !txtinfo.exists())
- {
- KMessageBox::sorry(this, i18n("<qt>The file <em>%1</em> does not "
- "exist.</qt>").arg(txturl));
- return;
- }
-
- if (convertTXTtoPDB(txtinfo.dirPath(true), txtinfo.fileName(),
- pdbinfo.dirPath(true), pdbinfo.fileName(), &conv) )
- {
- KMessageBox::information(this, i18n("Conversion of file %1 successful.").arg(txturl));
- }
-
- }
-
-}
-
-
-void ConverterDlg::slotUser1()
-{
- KAboutApplication ab(KGlobal::instance()->aboutData(), this);
- ab.show();
- ab.exec();
- return;
-}
-
-void ConverterDlg::slotDirectories(bool dir)
-{
- FUNCTIONSETUP;
- DEBUGKPILOT<<"Slot Directories: "<<dir<<endl;
- if (dir)
- {
- dlg->fTextLabel->setText(i18n("&Text folder:"));
- dlg->fPdbLabel->setText(i18n("&PalmDOC folder:"));
- dlg->fTXTDir->setMode(KFile::LocalOnly | KFile::Directory);
- dlg->fPDBDir->setMode(KFile::LocalOnly | KFile::Directory);
- } else {
- dlg->fTextLabel->setText(i18n("&Text file:"));
- dlg->fPdbLabel->setText(i18n("&DOC file:"));
- dlg->fTXTDir->setMode(KFile::LocalOnly | KFile::File);
- dlg->fPDBDir->setMode(KFile::LocalOnly | KFile::File);
- }
-}
-
-bool ConverterDlg::convertTXTtoPDB(TQString txtdir, TQString txtfile,
- TQString pdbdir, TQString pdbfile, DOCConverter*conv)
-{
- FUNCTIONSETUP;
- bool res=false;
- TQFileInfo dbfileinfo(pdbdir, pdbfile);
- DEBUGKPILOT<<"Working on file "<<pdbfile<<endl;
- if (!dbfileinfo.exists() || !askOverwrite ||
- (KMessageBox::Yes==KMessageBox::questionYesNo(this,
- i18n("<qt>The database file <em>%1</em> already exists. Overwrite it?</qt>")
- .arg(dbfileinfo.filePath()), TQString::null, i18n("Overwrite"), KStdGuiItem::cancel() ) ))
- {
- PilotLocalDatabase*pdbdb=new PilotLocalDatabase(pdbdir, TQFileInfo(pdbfile).baseName(), false);
- if (pdbdb)
- {
- if (!pdbdb->isOpen())
- {
-#ifdef DEBUG
- DEBUGKPILOT<<pdbfile<<" does not yet exist. Creating it"<<endl;
-#endif
- if (!pdbdb->createDatabase(get_long("REAd"), get_long("TEXt")) ) {
- }
- }
-
- if (pdbdb->isOpen())
- {
- conv->setPDB(pdbdb);
- conv->setTXTpath(txtdir, txtfile);
- DEBUGKPILOT<<"Converting "<<txtfile<<" (dir "<<txtdir<<") to "<<dbfileinfo.filePath()<<endl;
- if (conv->convertTXTtoPDB()) res=true;
- }
- delete pdbdb;
- }
- if ( !res && verbose )
- {
- KMessageBox::sorry(this, i18n("<qt>Error while converting the text %1.</qt>").arg(txtfile));
- }
- }
- else
- {
- DEBUGKPILOT<<"Ignoring the file "<<txtfile<<endl;
- }
- return res;
-}
-
-bool ConverterDlg::convertPDBtoTXT(TQString pdbdir, TQString pdbfile,
- TQString txtdir, TQString txtfile, DOCConverter*conv)
-{
- FUNCTIONSETUP;
- bool res=false;
- TQFileInfo txtfileinfo(txtdir, txtfile);
- DEBUGKPILOT<<"Working on file "<<txtfile<<endl;
- if (!txtfileinfo.exists() || !askOverwrite ||
- (KMessageBox::Yes==KMessageBox::questionYesNo(this,
- i18n("<qt>The text file <em>%1</em> already exists. Overwrite it?</qt>")
- .arg(txtfileinfo.filePath()), TQString::null, i18n("Overwrite"), KStdGuiItem::cancel() ) ))
- {
- PilotLocalDatabase*pdbdb=new PilotLocalDatabase(pdbdir, TQFileInfo(pdbfile).baseName(), false);
- if (pdbdb)
- {
- if (pdbdb->isOpen())
- {
- conv->setPDB(pdbdb);
- conv->setTXTpath(txtdir, txtfile);
- DEBUGKPILOT<<"Converting "<<txtfile<<" (dir "<<txtdir<<") from "<<pdbfile<<" (dir "<<pdbdir<<")"<<endl;
- if (conv->convertPDBtoTXT()) res=true;
- }
- delete pdbdb;
- }
- if ( !res && verbose )
- {
- KMessageBox::sorry(this, i18n("<qt>Error while converting the text %1.</qt>").arg(pdbfile));
- }
- }
- else
- {
- DEBUGKPILOT<<"Ignoring the file "<<pdbfile<<endl;
- }
- return res;
-
-}
-
-#include "kpalmdoc_dlg.moc"