summaryrefslogtreecommitdiffabout
path: root/korganizer
Side-by-side diff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/journalentry.cpp83
-rw-r--r--korganizer/journalentry.h2
-rw-r--r--korganizer/koeventeditor.cpp4
3 files changed, 85 insertions, 4 deletions
diff --git a/korganizer/journalentry.cpp b/korganizer/journalentry.cpp
index 7af5cf4..dca42e0 100644
--- a/korganizer/journalentry.cpp
+++ b/korganizer/journalentry.cpp
@@ -27,4 +27,11 @@
#include <qlabel.h>
#include <qlayout.h>
+#include <qvbox.h>
+#include <qfile.h>
+#include <qdir.h>
+#include <qtextstream.h>
+#include <qtextcodec.h>
+#include <qpixmap.h>
+#include <qpushbutton.h>
#include <kdebug.h>
@@ -32,4 +39,6 @@
#include <klocale.h>
#include <ktextedit.h>
+#include <kfiledialog.h>
+#include <kmessagebox.h>
#include "koprefs.h"
@@ -51,5 +60,23 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
mDirty = false;
- mTitleLabel = new QLabel(i18n("Title"),this);
+ QHBox * vb = new QHBox ( this );
+ QPushButton * loadTemplate = new QPushButton( vb );
+ QPushButton * saveTemplate = new QPushButton( vb );
+ QIconSet icon;
+ if ( QApplication::desktop()->width() < 321 )
+ icon = SmallIcon("fileexport16");
+ else
+ icon = SmallIcon("fileexport");
+ saveTemplate->setIconSet (icon ) ;
+ int size = saveTemplate->sizeHint().height();
+ saveTemplate->setFixedSize( size, size );
+ if ( QApplication::desktop()->width() < 321 )
+ icon = SmallIcon("fileimport16");
+ else
+ icon = SmallIcon("fileimport");
+ loadTemplate->setIconSet (icon ) ;
+ loadTemplate->setFixedSize( size, size );
+
+ mTitleLabel = new QLabel(i18n("Title"),vb);
mTitleLabel->setMargin(2);
mTitleLabel->setAlignment(AlignCenter);
@@ -62,7 +89,9 @@ JournalEntry::JournalEntry(Calendar *calendar,QWidget *parent) :
mEditor->setWordWrap( KTextEdit::WidgetWidth );
QBoxLayout *topLayout = new QVBoxLayout(this);
- topLayout->addWidget(mTitleLabel);
+ topLayout->addWidget(vb);
topLayout->addWidget(mEditor);
mEditor->installEventFilter(this);
+ connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) );
+ connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) );
}
@@ -71,4 +100,53 @@ JournalEntry::~JournalEntry()
}
+void JournalEntry::slotSaveTemplate()
+{
+ QString fileName =locateLocal( "templates", "journals" );
+ QDir t_dir;
+ if ( !t_dir.exists(fileName) )
+ t_dir.mkdir ( fileName );
+ fileName += "/journal";
+ fileName = KFileDialog::getSaveFileName( fileName , i18n("Save as Journal template"), this );
+ if ( fileName.length() == 0 )
+ return;
+
+ QFile fileIn( fileName );
+ if (!fileIn.open( IO_WriteOnly ) ) {
+ KMessageBox::error( this, i18n("Error saving template file\n '%1'.")
+ .arg( fileName ) );
+ return;
+ }
+ // QString text;
+ QTextStream tsIn( &fileIn );
+ tsIn.setCodec( QTextCodec::codecForName("utf8") );
+ tsIn << mEditor->text();
+ fileIn.close();
+}
+void JournalEntry::slotLoadTemplate()
+{
+ QString fileName =locateLocal( "templates", "journals" );
+ QDir t_dir;
+ if ( !t_dir.exists(fileName) )
+ t_dir.mkdir ( fileName );
+ fileName += "/journal";
+ fileName = KFileDialog::getOpenFileName( fileName , i18n("Insert Journal template"), this );
+ if ( fileName.length() == 0 )
+ return;
+ QFile fileIn( fileName );
+ if (!fileIn.open( IO_ReadOnly ) ) {
+ KMessageBox::error( this, i18n("Error loading template file\n '%1'.")
+ .arg( fileName ) );
+ return;
+ }
+ QTextStream tsIn( &fileIn );
+ tsIn.setCodec( QTextCodec::codecForName("utf8") );
+ QString text = tsIn.read();
+ fileIn.close();
+ int line, col;
+ mEditor->getCursorPosition (& line, & col );
+ mEditor-> insertAt ( text, line, col, true );
+ //mEditor->setIgnoreMark( true );
+ setDirty();
+}
void JournalEntry::setDate(const QDate &date)
{
@@ -154,4 +232,5 @@ void JournalEntry::writeJournal()
mJournal->setDescription(mEditor->text());
+ //qDebug("tttt%s ", mEditor->text().latin1());
mDirty = false;
diff --git a/korganizer/journalentry.h b/korganizer/journalentry.h
index 1f784f4..f1a1fef 100644
--- a/korganizer/journalentry.h
+++ b/korganizer/journalentry.h
@@ -51,4 +51,6 @@ class JournalEntry : public QFrame {
protected slots:
+ void slotSaveTemplate();
+ void slotLoadTemplate();
void setDirty();
signals:
diff --git a/korganizer/koeventeditor.cpp b/korganizer/koeventeditor.cpp
index 0ff99a4..337db9b 100644
--- a/korganizer/koeventeditor.cpp
+++ b/korganizer/koeventeditor.cpp
@@ -336,5 +336,5 @@ void KOEventEditor::slotLoadTemplate()
t_dir.mkdir ( fileName );
fileName += "/event";
- fileName = KFileDialog::getSaveFileName( fileName , "Load Event template", this );
+ fileName = KFileDialog::getOpenFileName( fileName , i18n("Load Event template"), this );
if ( fileName.length() == 0 )
return;
@@ -365,5 +365,5 @@ void KOEventEditor::slotSaveTemplate()
t_dir.mkdir ( fileName );
fileName += "/event";
- fileName = KFileDialog::getSaveFileName( fileName , "Save as Event template", this );
+ fileName = KFileDialog::getSaveFileName( fileName , i18n("Save as Event template"), this );
if ( fileName.length() > 0 )
saveTemplate( fileName );