summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/tinykate/tinykate.cpp41
-rw-r--r--noncore/apps/tinykate/tinykate.h4
2 files changed, 43 insertions, 2 deletions
diff --git a/noncore/apps/tinykate/tinykate.cpp b/noncore/apps/tinykate/tinykate.cpp
index a823530..c8c3b31 100644
--- a/noncore/apps/tinykate/tinykate.cpp
+++ b/noncore/apps/tinykate/tinykate.cpp
@@ -34,6 +34,7 @@
#include <katedocument.h>
#include <katehighlight.h>
+#include <kateview.h>
TinyKate::TinyKate( QWidget *parent, const char *name, WFlags f) :
QMainWindow( parent, name, f )
@@ -71,10 +72,12 @@ TinyKate::TinyKate( QWidget *parent, const char *name, WFlags f) :
// Action for saving document
a = new QAction( tr( "Save" ), QPixmap((const char**)file_save_xpm), QString::null, 0, this, 0 );
a->addTo(popup);
+ connect(a, SIGNAL(activated()), this, SLOT(slotSave()));
// Action for saving document to a new name
a = new QAction( tr( "Save As" ), QPixmap((const char**)file_save_xpm), QString::null, 0, this, 0 );
a->addTo(popup);
+ connect(a, SIGNAL(activated()), this, SLOT(slotSaveAs()));
// Action for closing the currently active document
a = new QAction( tr( "Close" ), QPixmap(), QString::null, 0, this, 0 );
@@ -168,6 +171,7 @@ void TinyKate::open(const QString & filename)
void TinyKate::slotCurrentChanged( QWidget * view)
{
if (currentView) {
+
disconnect(editCopy,SIGNAL(activated()),currentView,SLOT(copy()));
disconnect(editCut,SIGNAL(activated()),currentView,SLOT(cut()));
disconnect(editPaste,SIGNAL(activated()),currentView,SLOT(paste()));
@@ -197,7 +201,9 @@ void TinyKate::slotNew( )
{
KateDocument *kd= new KateDocument(false, false, this,0,this);
KTextEditor::View *kv;
- tabwidget->addTab(kv=kd->createView(tabwidget,"BLAH"),"tinykate/tinykate",tr("Unnamed %1").arg(nextUnnamed++));
+ tabwidget->addTab(kv=kd->createView(tabwidget,"BLAH"),
+ "tinykate/tinykate",
+ tr("Unnamed %1").arg(nextUnnamed++));
viewCount++;
}
@@ -212,3 +218,36 @@ void TinyKate::slotClose( )
if (!viewCount) slotNew();
}
+void TinyKate::slotSave() {
+ // feel free to make this how you want
+ if (currentView==0) return;
+
+ // KateView *kv = (KateView*) currentView;
+ KateDocument *kd = (KateDocument*) currentView->document();
+ // qDebug("saving file "+kd->docName());
+ if( kd->docName().isEmpty())
+ slotSaveAs();
+ else
+ kd->saveFile();
+ // kv->save();
+ // kd->saveFile();
+}
+
+void TinyKate::slotSaveAs() {
+ if (currentView==0) return;
+ KateDocument *kd = (KateDocument*) currentView->document();
+
+ QString filename=OFileDialog::getSaveFileName(OFileSelector::EXTENDED_ALL);
+ if (!filename.isEmpty()) {
+ qDebug("saving file "+filename);
+ QFileInfo fi(filename);
+ QString filenamed = fi.fileName();
+ kd->setDocFile( filename);
+ kd->setDocName( filenamed);
+ kd->saveFile();
+// KTextEditor::View *dv = currentView;
+// tabwidget->changeTab( dv, filenamed);
+ // need to change tab label here
+ }
+
+}
diff --git a/noncore/apps/tinykate/tinykate.h b/noncore/apps/tinykate/tinykate.h
index ef0dcba..7b61bae 100644
--- a/noncore/apps/tinykate/tinykate.h
+++ b/noncore/apps/tinykate/tinykate.h
@@ -33,13 +33,15 @@ public:
TinyKate( QWidget *parent=0, const char *name=0, WFlags f = 0);
public slots:
+ QString currentFileName;
void slotNew();
protected slots:
void slotOpen();
void slotClose();
void slotCurrentChanged(QWidget *);
-
+ void slotSave();
+ void slotSaveAs();
protected:
void open(const QString&);
private: