diff options
Diffstat (limited to 'kpilot/conduits/notepadconduit')
-rw-r--r-- | kpilot/conduits/notepadconduit/CMakeLists.txt | 38 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/Makefile.am | 14 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-conduit.cc | 265 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-conduit.desktop | 65 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-conduit.h | 94 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-factory.cc | 124 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-factory.h | 38 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepad-setup.ui | 79 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepadconduit.kcfg | 14 | ||||
-rw-r--r-- | kpilot/conduits/notepadconduit/notepadconduit.kcfgc | 7 |
10 files changed, 738 insertions, 0 deletions
diff --git a/kpilot/conduits/notepadconduit/CMakeLists.txt b/kpilot/conduits/notepadconduit/CMakeLists.txt new file mode 100644 index 000000000..90e202d60 --- /dev/null +++ b/kpilot/conduits/notepadconduit/CMakeLists.txt @@ -0,0 +1,38 @@ +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} +) + +set(conduit_notepad_SRCS + notepad-factory.cc + notepad-conduit.cc +) + +set(conduit_notepad_UIS + notepad-setup.ui +) + +set(conduit_notepad_KCFGS + notepadconduit.kcfgc +) + +kde3_add_kcfg_files(conduit_notepad_SRCS ${conduit_notepad_KCFGS}) +kde3_add_ui_files(conduit_notepad_SRCS ${conduit_notepad_UIS}) +kde3_automoc(${conduit_notepad_SRCS}) +add_library(conduit_notepad SHARED ${conduit_notepad_SRCS}) + +set_target_properties( + conduit_notepad PROPERTIES LOCATION ${KDE3_PLUGIN_INSTALL_DIR} + INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib + PREFIX "" +) + +kde3_install_libtool_file(conduit_notepad) + +install( + TARGETS conduit_notepad + LIBRARY DESTINATION ${KDE3_PLUGIN_INSTALL_DIR} +) + +install( + FILES notepad-conduit.desktop DESTINATION ${KDE3_SERVICES_DIR} +) diff --git a/kpilot/conduits/notepadconduit/Makefile.am b/kpilot/conduits/notepadconduit/Makefile.am new file mode 100644 index 000000000..d50e4fd48 --- /dev/null +++ b/kpilot/conduits/notepadconduit/Makefile.am @@ -0,0 +1,14 @@ +INCLUDES= $(PISOCK_INCLUDE) -I$(top_srcdir)/kpilot/lib $(all_includes) + +METASOURCES = AUTO + +servicedir = $(kde_servicesdir) +service_DATA = notepad-conduit.desktop + +kde_module_LTLIBRARIES = conduit_notepad.la + +conduit_notepad_la_SOURCES = notepadconduit.kcfgc notepad-setup.ui \ + notepad-conduit.cc notepad-factory.cc +conduit_notepad_la_LDFLAGS= -module $(KDE_PLUGIN) $(all_libraries) +conduit_notepad_la_LIBADD= ../../lib/libkpilot.la $(LIB_KDEUI) $(LIB_KIO) + diff --git a/kpilot/conduits/notepadconduit/notepad-conduit.cc b/kpilot/conduits/notepadconduit/notepad-conduit.cc new file mode 100644 index 000000000..763f3acd0 --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-conduit.cc @@ -0,0 +1,265 @@ +/* KPilot +** +** Copyright (C) 2004 by Adriaan de Groot, Joern Ahrens +** +** The code for NotepadActionThread::unpackNotePad was taken from +** Angus Ainslies read-notepad.c, which is part of pilot-link. +** NotepadActionThread::saveImage is also based on read-notepad.c. +** +** This file is part of the Notepad conduit, a conduit for KPilot that +** stores the notepad drawings to files. +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser 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 "pilotUser.h" +#include "pilotSerialDatabase.h" + +#include "notepad-conduit.h" // The Conduit action +#include "notepadconduit.h" // The settings class + +#include <pi-notepad.h> + +#include <qthread.h> +#include <qapplication.h> +#include <qvaluelist.h> +#include <qimage.h> +#include <qdir.h> +#include <qcstring.h> + +extern "C" +{ +unsigned long version_conduit_notepad = Pilot::PLUGIN_API; +} + +NotepadConduit::NotepadConduit(KPilotLink *d, const char *n, + const QStringList &args) : ConduitAction(d, n, args) +{ + FUNCTIONSETUP; + fConduitName=i18n("Notepad"); + thread = 0L; + +} + +NotepadConduit::~NotepadConduit() +{ + FUNCTIONSETUP; +} + +/* virtual */ bool NotepadConduit::exec() +{ + FUNCTIONSETUP; + +#ifdef DEBUG + DEBUGKPILOT << fname << ": In exec() @" << (unsigned long) this << endl; +#endif + + QDir dir(NotepadConduitSettings::outputDirectory()); + if(!dir.exists() && !dir.mkdir(dir.path())) { + emit logError(i18n("Unable to open %1").arg(dir.path())); + delayDone(); + return false; + } + else { + thread = new NotepadActionThread(this, deviceLink()); + thread->start(); + // tickle is disabled due to crashs during sync + // -> PADP TX "unexpected package" +// startTickle(); + } + + return true; +} + +bool NotepadConduit::event(QEvent *e) +{ + FUNCTIONSETUP; + + if(e->type() == QEvent::User) { +#ifdef DEBUG + DEBUGKPILOT << fname << ": Notepad thread done." << endl; +#endif +// stopTickle(); + delayDone(); + if(thread->getFailed()) + logError(i18n("1 notepad could not be saved", "%n notepads could not be saved", thread->getFailed())); + logMessage(i18n("1 notepad saved", "%n notepads saved", thread->getSaved())); + delete thread; + return true; + } + else + return ConduitAction::event(e); +} + +//----------------------------------------------------------------------------- +// NotepadActionThread +//----------------------------------------------------------------------------- + +NotepadActionThread::NotepadActionThread(QObject *parent, KPilotLink *link) : + fParent(parent), fLink(link), notSaved(0), saved(0) +{ + FUNCTIONSETUP; +} + +void NotepadActionThread::run() +{ + FUNCTIONSETUP; + + PilotDatabase *db = fLink->database( CSL1("npadDB") ); + + int n = db->recordCount(); + + if ( n > 0 ) + { + QValueList<recordid_t> vl = db->idList(); + QValueList<recordid_t>::iterator it; + struct NotePad a; + for ( it = vl.begin(); it != vl.end(); ++it ) + { + PilotRecord *pr = db->readRecordById(*it); + if(pr) + { + unpack_NotePad(&a, (unsigned char*)pr->data(), pr->size()); + saveImage(&a); + free_NotePad(&a); + } + } + } + KPILOT_DELETE(db); + QApplication::postEvent(fParent, new QEvent(QEvent::User)); +} + +static void saveImageFromBITS(QImage &image, struct NotePad *n, unsigned int width) +{ + FUNCTIONSETUP; + image.setColor(0, qRgb(0xaa, 0xc1 ,0x91)); + image.setColor(1, qRgb(0x30, 0x36, 0x29)); + + int x = 0; + int y = 0; + int pos = 0; + for(unsigned int i=0; i<n->body.dataLen/2; ++i) + { + for(int j=0; j<n->data[i].repeat; ++j) + { + for(int k=0; k<8; ++k) + { + y = pos / width; + x = pos % width ; + + image.setPixel( x, y, + (n->data[i].data & 1<<(7-k)) ? 1 : 0 ); + ++pos; + } + } + } +} + +static void saveImageFromUNCOMPRESSED(QImage &image, struct NotePad *n, unsigned int width) +{ + FUNCTIONSETUP; + + image.setColor(0, qRgb(0xaa, 0xc1 ,0x91)); + image.setColor(1, qRgb(0x30, 0x36, 0x29)); + + unsigned int pos = 0; + unsigned int x,y; + + for (unsigned int i=0; i<n->body.dataLen / 2; ++i) + { + for (unsigned int k=0; k<8; ++k) + { + y = pos / width; + x = pos % width ; + + image.setPixel( x, y, + (n->data[i].repeat & 1<<(7-k)) ? 1 : 0 ); + ++pos; + } + + for (unsigned int k=0; k<8; ++k) + { + y = pos / width; + x = pos % width ; + + image.setPixel( x, y, + (n->data[i].data & 1<<(7-k)) ? 1 : 0 ); + ++pos; + } + } +} + +void NotepadActionThread::saveImage(struct NotePad *n) +{ + FUNCTIONSETUP; + + // Width needs adjusting, based on whether it's low res (+8) + // or a hi-res notepad image. + int width = n->body.width + ( n->body.width > 160 ? 16 : 8 ); + int height = n->body.height; + + + QImage image(width, height, 8, 2); + + switch (n->body.dataType) + { + case NOTEPAD_DATA_BITS : + saveImageFromBITS( image,n,width ); + break; + case NOTEPAD_DATA_UNCOMPRESSED : + saveImageFromUNCOMPRESSED( image,n,width ); + break; + case NOTEPAD_DATA_PNG : + image.loadFromData((uchar*)(n->data), n->body.dataLen); + break; + default : + // Unknown data type + WARNINGKPILOT << "Unknown data type: " << n->body.dataType << endl; + return; + + // TODO: Post a warning to the UI + } + + QString filename(n->name); + if(filename.isEmpty()) + { + filename.sprintf("%4d-%02d-%02d_%02d-%02d-%02d", + n->changeDate.year, + n->changeDate.month, + n->changeDate.day, + n->changeDate.hour, + n->changeDate.min, + n->changeDate.sec); + } + QString imgname = QString("%1/%2.png").arg(NotepadConduitSettings::outputDirectory()).arg(filename); + + +#ifdef DEBUG + DEBUGKPILOT << fname << ": Notepad " << imgname << endl; +#endif + if(!image.save(imgname, "PNG", -1)) + ++notSaved; + else + ++saved; +} + diff --git a/kpilot/conduits/notepadconduit/notepad-conduit.desktop b/kpilot/conduits/notepadconduit/notepad-conduit.desktop new file mode 100644 index 000000000..4aa10dbee --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-conduit.desktop @@ -0,0 +1,65 @@ +[Desktop Entry] +Type=Service +Name=NotePad +Name[cs]=Poznámkový blok +Name[da]=Notesblok +Name[de]=Notizen +Name[es]=Bloc de notas +Name[fi]=Muistio +Name[fr]=Notes +Name[gl]=Caderno de Notas +Name[hu]=Notepad +Name[nb]=NotisBlokk +Name[ne]=नोटप्याड +Name[nn]=NotisBlokk +Name[pl]=Notatnik +Name[sv]=Anteckningar +Name[ta]=நோட்பேட் +Name[tg]=Эзоҳот +Name[zh_CN]=记事本 +Comment=This conduit backs up NotePad drawings to a local folder. +Comment[af]=Hierdie pad sinkroniseer NotePad tekeninge na 'n plaaslike gids. +Comment[bg]=Създаване на архивни копия на изображенията създадени с NotePad в локална директория. +Comment[ca]=Aquest conducte copia els dibuixos NotePad a una carpeta local. +Comment[cs]=Toto propojení synchronizuje záznamy v PDA s lokálním adresářem. +Comment[da]=Denne kanal sikkerhedskopierer NotePad's tegninger til en lokal mappe. +Comment[de]=Diese Erweiterung (Conduit) sichert NotePad-Zeichnungen in einen lokalen Ordner. +Comment[el]=Αυτός ο σύνδεσμος δημιουργεί αντίγραφα ασφαλείας σχεδίων του NotePad σε έναν τοπικό φάκελο. +Comment[es]=Este conducto copia los dibujos del bloc de notas en una carpeta local. +Comment[et]=See kanal teeb NotePadi joonistustest varukoopia kohalikku kataloogi. +Comment[eu]=Kanal honek Ohar-blokaren marrazkiak karpeta lokal batera gordetzen ditu. +Comment[fa]=این لوله، ترسیمهای NotePad را در پوشهای محلی پشتیبانی میکند. +Comment[fi]=Tämä yhdyskäytävä tekee varmuuskopion NotePad -piirroksista paikalliseen kansioon. +Comment[fr]=Ce conduit enregistre les dessins (Notes) dans un dossier local. +Comment[fy]=Dit conduit makket in reservekopy fan de notysje fan de notysje-oantekenings nei in lokale map. +Comment[gl]=Este conducto pon de volta os debuxos do NotePad a un cartafol local. +Comment[hu]=Bővítőmodul NotePad-rajzok helyi könyvtárba való lementéséhez. +Comment[is]=Þessi rás afritar NotePad teikningar í staðbundna möppu. +Comment[it]=Questo conduit archivia i disegni NotePad in una cartella locale. +Comment[ja]=このコンジットは NotePad の絵をローカルのフォルダにバックアップします。 +Comment[ka]=ეს არხი ლოკალურ საქაღალდეში ინახავს NotePad-ის სარეზერვო მონახაზებს +Comment[kk]=NotePad файлдарының сақтық көшірмелерін жергілікті қапшықта жасау арнасы. +Comment[km]=បំពង់នេះអាចបម្រុងទុកគំនូរ NotePad ទៅថតមូលដ្ឋាន ។ +Comment[lt]=Šis kanalas padaro NotePad piešinių atsargines kopijas į vietinį aplanką. +Comment[ms]=Saluran ini menyandarkan lukisan NotePad ke folder setempat. +Comment[nb]=Denne kanalen tar sikkerhetskopi av NotePad tegninger til en lokal mappe. +Comment[nds]=Sekert NotePad-Teken binnen en lokaal Orner. +Comment[ne]=यो कन्ड्युटले स्थानीय फाइलमा नोटप्याड रेखाचित्र ब्याकअप गर्छ । +Comment[nl]=Dit conduit maakt een backup van de notitie-aantekeningen naar een lokale map. +Comment[pl]=Ten łącznik robi kopię zapasową rysunków z Notatnika do lokalnego katalogu. +Comment[pt]=Esta conduta salvaguarda desenhos NotePad para uma pasta local. +Comment[pt_BR]=Este conduíte faz backup de desenhos do NotePad em uma pasta local. +Comment[ru]=Канал создания резервных копий примечаний в локальной папке. +Comment[sk]=Táto spojka zálohuje poznámky NotePad do lokálneho priečinku. +Comment[sl]=Ta veznik arhivira risanja z NotePadom v krajevno mapo. +Comment[sr]=Овај провод прави резервне копије NotePad цртежа у локалну фасциклу. +Comment[sr@Latn]=Ovaj provod pravi rezervne kopije NotePad crteža u lokalnu fasciklu. +Comment[sv]=Den här kanalen säkerhetskopierar ritade anteckningar i en lokal katalog. +Comment[ta]=இது நோட்பேடின் வரைபடங்களை உள்ளடைவுக்கு சேமிக்கிறது +Comment[tr]=Bu bileşen, NotePad çizimlerini yerel bir dosyaya aktarır veya alır. +Comment[uk]=Цей акведук створює резервну копію нотаток у локальній теці. +Comment[zh_CN]=此管道将记事本的绘图保存到本地文件夹。 +Comment[zh_TW]=此軟體備份 NotePad 畫的圖到本地端資料夾。 +Implemented=file +ServiceTypes=KPilotConduit +X-KDE-Library=conduit_notepad diff --git a/kpilot/conduits/notepadconduit/notepad-conduit.h b/kpilot/conduits/notepadconduit/notepad-conduit.h new file mode 100644 index 000000000..5ba915e31 --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-conduit.h @@ -0,0 +1,94 @@ +#ifndef _KPILOT_NOTEPAD_CONDUIT_H +#define _KPILOT_NOTEPAD_CONDUIT_H +/* notepad-conduit.h KPilot +** +** Copyright (C) 2004 by Adriaan de Groot, Joern Ahrens, Angus Ainslie +** +** The code for NotepadActionThread::unpackNotePad was taken from +** Angus Ainslies read-notepad.c, which is part of pilot-link. +** NotepadActionThread::saveImage is also based on read-notepad.c. +** +** This file is part of the Notepad conduit, a conduit for KPilot that +** store the notepad drawings to files. +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser 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 "plugin.h" + +#include <qthread.h> +struct NotePad; +class NotepadActionThread; + +class NotepadConduit : public ConduitAction +{ +public: + NotepadConduit(KPilotLink *, + const char *name=0L, + const QStringList &args = QStringList()); + virtual ~NotepadConduit(); + virtual bool event(QEvent *e); + +protected: + virtual bool exec(); // From ConduitAction + +private: + NotepadActionThread *thread; +}; + + +/** + * This class saves the notepads to disk + */ +class NotepadActionThread : public QThread +{ +public: + NotepadActionThread(QObject *parent, KPilotLink *link); + + virtual void run(); + int getFailed() { return notSaved; } + int getSaved() { return saved; } + +private: + QObject *fParent; + KPilotLink *fLink; + + /** + * counts how many notepads couldn't be saved during the sync + */ + int notSaved; + /** + * counts how many files a saved during the sync + */ + int saved; + + int unpackNotePad(struct NotePad *a, unsigned char *buffer, int len); + + /** + * Saves a single NotePad structure to disk, using the name in + * the Note @p n, or if no name is specified, using the + * timestamp in the note. + */ + void saveImage(struct NotePad *n); +}; + +#endif diff --git a/kpilot/conduits/notepadconduit/notepad-factory.cc b/kpilot/conduits/notepadconduit/notepad-factory.cc new file mode 100644 index 000000000..f934a2cb1 --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-factory.cc @@ -0,0 +1,124 @@ +/* KPilot +** +** Copyright (C) 2004 by Adriaan de Groot, Joern Ahrens +** +** This file defines the factory for the notepad-conduit plugin. +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser 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 <kconfig.h> +#include <kinstance.h> +#include <kaboutdata.h> +#include <kurlrequester.h> +#include <kmessagebox.h> +#include <qlineedit.h> + +#include "pluginfactory.h" + +#include "notepad-conduit.h" // Conduit action +#include "notepad-setup.h" +#include "notepadconduit.h" // Settings class + +//---------------------------------------------------------------------------- +// Conduit Configuration +//---------------------------------------------------------------------------- +class NotepadConduitConfig : public ConduitConfigBase +{ +public: + NotepadConduitConfig(QWidget *parent=0L, const char *n=0L); + virtual void commit(); + virtual void load(); + static ConduitConfigBase *create(QWidget *p, const char *n) + { + return new NotepadConduitConfig(p, n); + }; + +protected: + NotepadWidget *fConfigWidget; +} ; + +static KAboutData *createAbout() +{ + FUNCTIONSETUP; + + KAboutData *fAbout = new KAboutData("NotepadConduit", + I18N_NOOP("Saves notepads to png files"), + KPILOT_VERSION, + I18N_NOOP("Configures the Notepad Conduit for KPilot"), + KAboutData::License_LGPL, + "(C) 2004, Joern Ahrens"); + fAbout->addAuthor("Joern Ahrens", + I18N_NOOP("Primary Author"), + "kde@jokele.de", + "http://www.jokele.de/"); + fAbout->addCredit("Adriaan de Groot"); + fAbout->addCredit("Angus Ainslies", + I18N_NOOP("Notepad conduit is based on Angus' read-notepad, part of pilot-link" )); + return fAbout; +} + + +NotepadConduitConfig::NotepadConduitConfig(QWidget *p, const char *n) : + ConduitConfigBase(p, n), + fConfigWidget(new NotepadWidget(p)) +{ + FUNCTIONSETUP; + + fConduitName = i18n("Notepad"); + ConduitConfigBase::addAboutPage(fConfigWidget->tabWidget, createAbout()); + fWidget=fConfigWidget; + QObject::connect(fConfigWidget->fOutputDirectory, SIGNAL(textChanged(const QString&)), + this, SLOT(modified())); + fConfigWidget->fOutputDirectory->setMode(KFile::Directory | + KFile::LocalOnly); +} + +/* virtual */ void NotepadConduitConfig::commit() +{ + FUNCTIONSETUP; + + NotepadConduitSettings::setOutputDirectory(fConfigWidget->fOutputDirectory->url()); + NotepadConduitSettings::self()->writeConfig(); +} + +/* virtual */ void NotepadConduitConfig::load() +{ + FUNCTIONSETUP; + + NotepadConduitSettings::self()->readConfig(); + fConfigWidget->fOutputDirectory->setURL(NotepadConduitSettings::outputDirectory()); + fModified=false; +} + +extern "C" +{ + +void *init_conduit_notepad() +{ + return new ConduitFactory<NotepadConduitConfig,NotepadConduit>(0,"abbrowserconduit"); +} + +} + diff --git a/kpilot/conduits/notepadconduit/notepad-factory.h b/kpilot/conduits/notepadconduit/notepad-factory.h new file mode 100644 index 000000000..f208cd1fe --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-factory.h @@ -0,0 +1,38 @@ +#ifndef _KPILOT_NOTEPAD_FACTORY_H +#define _KPILOT_NOTEPAD_FACTORY_H +/* notepad-factory.h KPilot +** +** Copyright (C) 2004 by Adriaan de Groot, Joern Ahrens +** +** This file defines the factory for the notepad-conduit plugin. +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published by +** the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser 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 +*/ + +extern "C" +{ + +void *init_conduit_notepad(); + +} + +#endif diff --git a/kpilot/conduits/notepadconduit/notepad-setup.ui b/kpilot/conduits/notepadconduit/notepad-setup.ui new file mode 100644 index 000000000..ccc3feb28 --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepad-setup.ui @@ -0,0 +1,79 @@ +<!DOCTYPE UI><UI version="3.2" stdsetdef="1"> +<class>NotepadWidget</class> +<author>Jörn Ahrens</author> +<widget class="QWidget"> + <property name="name"> + <cstring>Form2</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>435</width> + <height>391</height> + </rect> + </property> + <property name="whatsThis" stdset="0"> + <string>Path to the directory to which the pictures should be exported.</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QTabWidget" row="0" column="0"> + <property name="name"> + <cstring>tabWidget</cstring> + </property> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>General</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer1</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>250</height> + </size> + </property> + </spacer> + <widget class="KURLRequester" row="1" column="1"> + <property name="name"> + <cstring>fOutputDirectory</cstring> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Output:</string> + </property> + </widget> + </grid> + </widget> + </widget> + </grid> +</widget> +<layoutdefaults spacing="6" margin="11"/> +<includes> + <include location="global" impldecl="in implementation">kurlrequester.h</include> + <include location="global" impldecl="in implementation">klineedit.h</include> + <include location="global" impldecl="in implementation">kpushbutton.h</include> +</includes> +</UI> diff --git a/kpilot/conduits/notepadconduit/notepadconduit.kcfg b/kpilot/conduits/notepadconduit/notepadconduit.kcfg new file mode 100644 index 000000000..1a2c9bf6f --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepadconduit.kcfg @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 + http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" > + <kcfgfile name="kpilotrc"/> + <group name="Notepad-conduit"> + <entry name="outputDirectory" type="Path"> + <label>The export directory for the notepad drawings</label> + <default>$HOME</default> + </entry> + </group> + +</kcfg> diff --git a/kpilot/conduits/notepadconduit/notepadconduit.kcfgc b/kpilot/conduits/notepadconduit/notepadconduit.kcfgc new file mode 100644 index 000000000..e18fa7c0c --- /dev/null +++ b/kpilot/conduits/notepadconduit/notepadconduit.kcfgc @@ -0,0 +1,7 @@ +File=notepadconduit.kcfg +ClassName=NotepadConduitSettings +Singleton=true +ItemAccessors=true +Mutators=true +GlobalEnums=true +SetUserTexts=true |