summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp92
-rw-r--r--core/apps/textedit/fileBrowser.h43
-rw-r--r--core/apps/textedit/textedit.cpp108
-rw-r--r--core/apps/textedit/textedit.h6
4 files changed, 118 insertions, 131 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 2e88067..92c15cb 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -1,114 +1,132 @@
1/**************************************************************************** 1/****************************************************************************
2** copyright 2001 ljp ljp@llornkcor.com 2** copyright 2001 ljp ljp@llornkcor.com
3** Created: Fri Dec 14 08:16:46 2001 3** Created: Fri Dec 14 08:16:46 2001
4** 4**
5** This file may be distributed and/or modified under the terms of the 5** This file may be distributed and/or modified under the terms of the
6** GNU General Public License version 2 as published by the Free Software 6** GNU General Public License version 2 as published by the Free Software
7** Foundation and appearing in the file LICENSE.GPL included in the 7** Foundation and appearing in the file LICENSE.GPL included in the
8** packaging of this file. 8** packaging of this file.
9** 9**
10** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 10** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
12** 12**
13****************************************************************************/ 13****************************************************************************/
14#include "fileBrowser.h" 14#include "fileBrowser.h"
15#include <qpe/config.h> 15#include <qpe/config.h>
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17#include <qpe/fileselector.h>
17#include <qpe/qpeapplication.h> 18#include <qpe/qpeapplication.h>
18 19
20#include <qwidgetstack.h>
19#include <qlistview.h> 21#include <qlistview.h>
22#include <qcombo.h>
20#include <qpushbutton.h> 23#include <qpushbutton.h>
21#include <qfile.h> 24#include <qfile.h>
22#include <qmessagebox.h> 25#include <qmessagebox.h>
23#include <qlayout.h> 26#include <qlayout.h>
24#include <unistd.h> 27#include <unistd.h>
25 28
26 29static int u_id = 1;
30static int get_unique_id()
31{
32 return u_id++;
33}
27 34
28fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter ) 35fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter )
29 : QDialog( parent, name, modal, fl ) 36 : QDialog( parent, name, modal, fl )
30{ 37{
31 if ( !name ) 38 if ( !name )
32 setName( "fileBrowser" ); 39 setName( "fileBrowser" );
33 setCaption(tr( name ) ); 40 setCaption(tr( name ) );
34 filterStr=filter; 41 filterStr=filter;
35 42
36 QGridLayout *layout = new QGridLayout( this ); 43 QGridLayout *layout = new QGridLayout( this );
37 layout->setSpacing( 4 ); 44 layout->setSpacing( 4 );
38 layout->setMargin( 4 ); 45 layout->setMargin( 4 );
39 46
40 47
41 dirLabel = new QLabel(this, "DirLabel"); 48 dirLabel = new QLabel(this, "DirLabel");
42 dirLabel->setText(currentDir.canonicalPath()); 49 dirLabel->setText(currentDir.canonicalPath());
43 dirLabel->setMinimumSize( QSize( 50, 15 ) ); 50 dirLabel->setMinimumSize( QSize( 50, 15 ) );
44 dirLabel->setMaximumSize( QSize( 250, 15 ) ); 51 dirLabel->setMaximumSize( QSize( 250, 15 ) );
45 layout->addWidget( dirLabel, 0, 0 ); 52 layout->addWidget( dirLabel, 0, 0 );
46 53
47 hideButton = new QPushButton( Resource::loadIconSet("s_hidden"),"",this,"hideButton");
48 hideButton->setMinimumSize( QSize( 25, 25 ) );
49 hideButton->setMaximumSize( QSize( 25, 25 ) );
50 connect( hideButton,SIGNAL(toggled(bool)),this,SLOT( hideButtonPushed(bool)) );
51 hideButton->setToggleButton(TRUE);
52 hideButton->setFlat(TRUE);
53 layout->addWidget( hideButton, 0, 1 );
54
55 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton"); 54 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
56 docButton->setMinimumSize( QSize( 25, 25 ) ); 55 docButton->setMinimumSize( QSize( 25, 25 ) );
57 docButton->setMaximumSize( QSize( 25, 25 ) ); 56 docButton->setMaximumSize( QSize( 25, 25 ) );
58 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 57 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
59 docButton->setFlat(TRUE); 58 docButton->setFlat(TRUE);
60 layout->addWidget( docButton, 0, 2 ); 59 layout->addWidget( docButton, 0, 1 );
61 60
62 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton"); 61 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
63 homeButton->setMinimumSize( QSize( 25, 25 ) ); 62 homeButton->setMinimumSize( QSize( 25, 25 ) );
64 homeButton->setMaximumSize( QSize( 25, 25 ) ); 63 homeButton->setMaximumSize( QSize( 25, 25 ) );
65 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 64 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
66 homeButton->setFlat(TRUE); 65 homeButton->setFlat(TRUE);
67 layout->addWidget( homeButton, 0, 3 ); 66 layout->addWidget( homeButton, 0, 2 );
67
68 FileStack = new QWidgetStack( this );
68 69
69 ListView = new QListView( this, "ListView" ); 70 ListView = new QListView( this, "ListView" );
70 ListView->setMinimumSize( QSize( 100, 25 ) ); 71 ListView->setMinimumSize( QSize( 100, 25 ) );
71 ListView->addColumn( tr( "Name" ) ); 72 ListView->addColumn( tr( "Name" ) );
72 ListView->setColumnWidth(0,140); 73 ListView->setColumnWidth(0,140);
73 ListView->setSorting( 2, FALSE); 74 ListView->setSorting( 2, FALSE);
74 ListView->addColumn( tr( "Size" ) ); 75 ListView->addColumn( tr( "Size" ) );
75 ListView->setColumnWidth(1,59); 76 ListView->setColumnWidth(1,59);
76// ListView->addColumn( tr( "" ) ); 77// ListView->addColumn( tr( "" ) );
77 ListView->setColumnWidthMode(0,QListView::Manual); 78 ListView->setColumnWidthMode(0,QListView::Manual);
78 ListView->setColumnAlignment(1,QListView::AlignRight); 79 ListView->setColumnAlignment(1,QListView::AlignRight);
79// ListView->setMultiSelection(true); 80// ListView->setMultiSelection(true);
80// ListView->setSelectionMode(QListView::Extended); 81// ListView->setSelectionMode(QListView::Extended);
81
82 ListView->setAllColumnsShowFocus( TRUE ); 82 ListView->setAllColumnsShowFocus( TRUE );
83 layout->addMultiCellWidget( ListView, 1, 1, 0, 3 );
84
85 // signals and slots connections
86 connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
87 connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 83 connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
84 FileStack->addWidget( ListView, get_unique_id() );
85
86 fileSelector = new FileSelector( "text/*", FileStack, "fileselector" , FALSE, FALSE); //buggy
87// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
88// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
89 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
90 layout->addMultiCellWidget( FileStack, 1, 1, 0, 2 );
91
92 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
93 SelectionCombo->setMinimumSize( QSize( 200, 25 ) );
94 SelectionCombo->insertItem( tr( "Documents" ) );
95 SelectionCombo->insertItem( tr( "All files" ) );
96 SelectionCombo->insertItem( tr( "All files (incl. hidden)" ) );
97 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 2 );
98 connect( SelectionCombo, SIGNAL( activated( const QString & ) ),
99 this, SLOT( selectionChanged( const QString & ) ) );
100
88 currentDir.setPath(QDir::currentDirPath()); 101 currentDir.setPath(QDir::currentDirPath());
89 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All); 102 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
90 103
91 populateList(); 104 populateList();
92 move(0,15); 105 move(0,15);
93} 106}
94 107
95fileBrowser::~fileBrowser() 108fileBrowser::~fileBrowser()
96{ 109{
97} 110}
98 111
112void fileBrowser::setFileView( int selection )
113{
114 SelectionCombo->setCurrentItem( selection );
115 selectionChanged( SelectionCombo->currentText() );
116}
99 117
100void fileBrowser::populateList() 118void fileBrowser::populateList()
101{ 119{
102 ListView->clear(); 120 ListView->clear();
103//qDebug(currentDir.canonicalPath()); 121//qDebug(currentDir.canonicalPath());
104 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 122 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
105 currentDir.setMatchAllDirs(TRUE); 123 currentDir.setMatchAllDirs(TRUE);
106 124
107 currentDir.setNameFilter(filterStr); 125 currentDir.setNameFilter(filterStr);
108// currentDir.setNameFilter("*.txt;*.etx"); 126// currentDir.setNameFilter("*.txt;*.etx");
109 QString fileL, fileS; 127 QString fileL, fileS;
110 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 128 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
111 QFileInfoListIterator it(*list); 129 QFileInfoListIterator it(*list);
112 QFileInfo *fi; 130 QFileInfo *fi;
113 while ( (fi=it.current()) ) { 131 while ( (fi=it.current()) ) {
114 132
@@ -127,36 +145,32 @@ void fileBrowser::populateList()
127 fileL+="/"; 145 fileL+="/";
128// qDebug( fileL); 146// qDebug( fileL);
129 } 147 }
130 } 148 }
131 item= new QListViewItem( ListView,fileL,fileS ); 149 item= new QListViewItem( ListView,fileL,fileS );
132 ++it; 150 ++it;
133 } 151 }
134 ListView->setSorting( 2, FALSE); 152 ListView->setSorting( 2, FALSE);
135 dirLabel->setText(currentDir.canonicalPath()); 153 dirLabel->setText(currentDir.canonicalPath());
136} 154}
137 155
138void fileBrowser::upDir() 156void fileBrowser::upDir()
139{ 157{
140// qDebug(currentDir.canonicalPath()); 158// qDebug(currentDir.canonicalPath());
141} 159}
142 160
143void fileBrowser::listDoubleClicked(QListViewItem *selectedItem)
144{
145}
146
147// you may want to switch these 2 functions. I like single clicks 161// you may want to switch these 2 functions. I like single clicks
148void fileBrowser::listClicked(QListViewItem *selectedItem) 162void fileBrowser::listClicked(QListViewItem *selectedItem)
149{ 163{
150 QString strItem=selectedItem->text(0); 164 QString strItem=selectedItem->text(0);
151 QString strSize=selectedItem->text(1); 165 QString strSize=selectedItem->text(1);
152// qDebug("strItem is "+strItem); 166// qDebug("strItem is "+strItem);
153 strSize.stripWhiteSpace(); 167 strSize.stripWhiteSpace();
154// qDebug(strSize); 168// qDebug(strSize);
155 169
156 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 170 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
157 // is symlink 171 // is symlink
158 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4); 172 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4);
159// qDebug("strItem symlink is "+strItem2); 173// qDebug("strItem symlink is "+strItem2);
160 if(QDir(strItem2).exists() ) { 174 if(QDir(strItem2).exists() ) {
161 currentDir.cd(strItem2, TRUE); 175 currentDir.cd(strItem2, TRUE);
162 populateList(); 176 populateList();
@@ -203,28 +217,46 @@ void fileBrowser::OnOK()
203 217
204void fileBrowser::homeButtonPushed() { 218void fileBrowser::homeButtonPushed() {
205 chdir( QDir::homeDirPath().latin1() ); 219 chdir( QDir::homeDirPath().latin1() );
206 currentDir.cd( QDir::homeDirPath(), TRUE); 220 currentDir.cd( QDir::homeDirPath(), TRUE);
207 populateList(); 221 populateList();
208 update(); 222 update();
209} 223}
210 224
211void fileBrowser::docButtonPushed() { 225void fileBrowser::docButtonPushed() {
212 chdir( QString(QPEApplication::documentDir()+"/text").latin1() ); 226 chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
213 currentDir.cd( QPEApplication::documentDir()+"/text", TRUE); 227 currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
214 populateList(); 228 populateList();
215 update(); 229 update();
216 230
217} 231}
218 232
219void fileBrowser::hideButtonPushed(bool b) { 233void fileBrowser::selectionChanged( const QString &select )
220 if (b) 234{
221 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 235 if ( select == "Documents")
236 {
237 FileStack->raiseWidget( fileSelector );
238 dirLabel->hide();
239 docButton->hide();
240 homeButton->hide();
241 }
222 else 242 else
223 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 243 {
224 244 if ( select == "All files" )
225// chdir( QString(QPEApplication::documentDir()+"/text").latin1() ); 245 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All);
226// currentDir.cd( QPEApplication::documentDir()+"/text", TRUE); 246 else
227 populateList(); 247 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
228 update();
229 248
249 populateList();
250 update();
251 dirLabel->show();
252 docButton->show();
253 homeButton->show();
254 FileStack->raiseWidget( ListView );
255 }
256}
257
258void fileBrowser::docOpen( const DocLnk &doc )
259{
260 fileList.append( doc.file().latin1() );
261 accept();
230} 262}
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index 50ed485..d8f0d0d 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -4,65 +4,78 @@
4** 4**
5** This file may be distributed and/or modified under the terms of the 5** This file may be distributed and/or modified under the terms of the
6** GNU General Public License version 2 as published by the Free Software 6** GNU General Public License version 2 as published by the Free Software
7** Foundation and appearing in the file LICENSE.GPL included in the 7** Foundation and appearing in the file LICENSE.GPL included in the
8** packaging of this file. 8** packaging of this file.
9** 9**
10** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 10** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 11** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
12** 12**
13copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com 13copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com
14****************************************************************************/ 14****************************************************************************/
15#ifndef FILEBROWSER_H 15#ifndef FILEBROWSER_H
16#define FILEBROWSER_H 16#define FILEBROWSER_H
17 17
18//#include <qvariant.h> 18//#include <qvariant.h>
19#include <qdialog.h> 19#include <qdialog.h>
20#include <qfile.h> 20#include <qfile.h>
21#include <qdir.h> 21#include <qdir.h>
22#include <qstringlist.h> 22#include <qstringlist.h>
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qstring.h> 24#include <qstring.h>
25 25
26class QVBoxLayout; 26#include <qpe/filemanager.h>
27class QHBoxLayout; 27
28class QGridLayout; 28class QVBoxLayout;
29class QHBoxLayout;
30class QGridLayout;
29class QListView; 31class QListView;
30class QListViewItem; 32class QListViewItem;
31class QPushButton; 33class QPushButton;
34class QComboBox;
35class QWidgetStack;
36class FileSelector;
32 37
33class fileBrowser : public QDialog 38class fileBrowser : public QDialog
34{ 39{
35 Q_OBJECT 40 Q_OBJECT
36 41
37public: 42public:
38 void populateList(); 43 void populateList();
39 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0); 44 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
40 ~fileBrowser(); 45 ~fileBrowser();
41 46
47 void setFileView( int );
48
42 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton; 49 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton;
43 QListView* ListView; 50 QListView* ListView;
44 51
45 QLabel *dirLabel; 52 QLabel *dirLabel;
46 QString selectedFileName, filterStr; 53 QString selectedFileName, filterStr;
47 QDir currentDir; 54 QDir currentDir;
48 QFile file; 55 QFile file;
49 QStringList fileList; 56 QStringList fileList;
50 QListViewItem * item; 57 QListViewItem * item;
58 QComboBox *SelectionCombo;
59 QWidgetStack *FileStack;
60 FileSelector *fileSelector;
61
51public slots: 62public slots:
52 void homeButtonPushed(); 63 void homeButtonPushed();
53 void docButtonPushed(); 64 void docButtonPushed();
54 void hideButtonPushed(bool); 65
55private: 66private:
56 67
57private slots: 68private slots:
58 void upDir(); 69 void upDir();
59 void listDoubleClicked(QListViewItem *); 70 void listClicked( QListViewItem * );
60 void listClicked(QListViewItem *); 71 void selectionChanged( const QString & );
61 void OnOK(); 72 void OnOK();
62protected slots: 73 void docOpen( const DocLnk & );
74
75protected slots:
63 76
64protected: 77protected:
65 78
66}; 79};
67 80
68#endif // FILEBROWSER_H 81#endif // FILEBROWSER_H
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 3a189cb..68ee1b4 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -36,32 +36,33 @@
36#include <qpe/qpemenubar.h> 36#include <qpe/qpemenubar.h>
37#include <qpe/qpetoolbar.h> 37#include <qpe/qpetoolbar.h>
38//#include <qpe/finddialog.h> 38//#include <qpe/finddialog.h>
39 39
40#include <qstringlist.h> 40#include <qstringlist.h>
41#include <qaction.h> 41#include <qaction.h>
42#include <qcolordialog.h> 42#include <qcolordialog.h>
43#include <qfileinfo.h> 43#include <qfileinfo.h>
44#include <qlineedit.h> 44#include <qlineedit.h>
45#include <qmessagebox.h> 45#include <qmessagebox.h>
46#include <qobjectlist.h> 46#include <qobjectlist.h>
47#include <qpopupmenu.h> 47#include <qpopupmenu.h>
48#include <qspinbox.h> 48#include <qspinbox.h>
49#include <qtoolbutton.h> 49#include <qtoolbutton.h>
50#include <qwidgetstack.h> 50#include <qwidgetstack.h>
51#include <qcheckbox.h> 51#include <qcheckbox.h>
52#include <qcombo.h>
52#include <unistd.h> 53#include <unistd.h>
53#include <sys/stat.h> 54#include <sys/stat.h>
54 55
55#include <stdlib.h> //getenv 56#include <stdlib.h> //getenv
56/* XPM */ 57/* XPM */
57static char * filesave_xpm[] = { 58static char * filesave_xpm[] = {
58"16 16 78 1", 59"16 16 78 1",
59" c None", 60" c None",
60". c #343434", 61". c #343434",
61"+ c #A0A0A0", 62"+ c #A0A0A0",
62"@ c #565656", 63"@ c #565656",
63"# c #9E9E9E", 64"# c #9E9E9E",
64"$ c #525252", 65"$ c #525252",
65"% c #929292", 66"% c #929292",
66"& c #676767", 67"& c #676767",
67"* c #848484", 68"* c #848484",
@@ -212,112 +213,97 @@ void QpeEditor::find ( const QString &txt, bool caseSensitive,
212 line++; 213 line++;
213 col = 0; 214 col = 0;
214 } 215 }
215 216
216 } 217 }
217 218
218} 219}
219 220
220 221
221#else 222#else
222 223
223#error "Must make a QpeEditor that inherits QTextEdit" 224#error "Must make a QpeEditor that inherits QTextEdit"
224 225
225#endif 226#endif
226 227
227 228
228
229
230static int u_id = 1;
231static int get_unique_id()
232{
233 return u_id++;
234}
235
236static const int nfontsizes = 6; 229static const int nfontsizes = 6;
237static const int fontsize[nfontsizes] = {8,10,12,14,18,24}; 230static const int fontsize[nfontsizes] = {8,10,12,14,18,24};
238 231
239TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) 232TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
240 : QMainWindow( parent, name, f ), bFromDocView( FALSE ) 233 : QMainWindow( parent, name, f ), bFromDocView( FALSE )
241{ 234{
242 doc = 0; 235 doc = 0;
243 edited=FALSE; 236 edited=FALSE;
244 edited1=FALSE; 237 edited1=FALSE;
245 setToolBarsMovable( FALSE ); 238 setToolBarsMovable( FALSE );
246 239
247 setIcon( Resource::loadPixmap( "TextEditor" ) ); 240 setIcon( Resource::loadPixmap( "TextEditor" ) );
248 241
249 QPEToolBar *bar = new QPEToolBar( this ); 242 QPEToolBar *bar = new QPEToolBar( this );
250 bar->setHorizontalStretchable( TRUE ); 243 bar->setHorizontalStretchable( TRUE );
251 menu = bar; 244 menu = bar;
252 245
253 QPEMenuBar *mb = new QPEMenuBar( bar ); 246 QPEMenuBar *mb = new QPEMenuBar( bar );
254 QPopupMenu *file = new QPopupMenu( this ); 247 QPopupMenu *file = new QPopupMenu( this );
255 QPopupMenu *edit = new QPopupMenu( this ); 248 QPopupMenu *edit = new QPopupMenu( this );
256 font = new QPopupMenu( this ); 249 font = new QPopupMenu( this );
257 250
258 bar = new QPEToolBar( this ); 251 bar = new QPEToolBar( this );
259 editBar = bar; 252 editBar = bar;
260 253
261 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 254 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
262 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); 255 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) );
263 a->addTo( bar ); 256 a->addTo( bar );
264 a->addTo( file ); 257 a->addTo( file );
265 258
266 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 ); 259 a = new QAction( tr( "Open" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 );
267 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); 260 connect( a, SIGNAL( activated() ), this, SLOT( fileOpen() ) );
268// a->addTo( bar );
269 a->addTo( file );
270
271 a = new QAction( tr( "Browse" ), Resource::loadPixmap( "fileopen" ), QString::null, 0, this, 0 );
272 connect( a, SIGNAL( activated() ), this, SLOT( newFileOpen() ) );
273 a->addTo( bar ); 261 a->addTo( bar );
274 a->addTo( file ); 262 a->addTo( file );
275 263
276 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 264 a = new QAction( tr( "Save" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
277 connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); 265 connect( a, SIGNAL( activated() ), this, SLOT( save() ) );
278// a->addTo( bar );
279 file->insertSeparator(); 266 file->insertSeparator();
280 a->addTo( file ); 267 a->addTo( file );
281 268
282 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 ); 269 a = new QAction( tr( "Save As" ), QPixmap(( const char** ) filesave_xpm ) , QString::null, 0, this, 0 );
283 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) ); 270 connect( a, SIGNAL( activated() ), this, SLOT( saveAs() ) );
284 a->addTo( file ); 271 a->addTo( file );
285 272
286 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 ); 273 a = new QAction( tr( "Cut" ), Resource::loadPixmap( "cut" ), QString::null, 0, this, 0 );
287 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); 274 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) );
288 a->addTo( editBar ); 275 a->addTo( editBar );
289 a->addTo( edit ); 276 a->addTo( edit );
290 277
291 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 ); 278 a = new QAction( tr( "Copy" ), Resource::loadPixmap( "copy" ), QString::null, 0, this, 0 );
292 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) ); 279 connect( a, SIGNAL( activated() ), this, SLOT( editCopy() ) );
293 a->addTo( editBar ); 280 a->addTo( editBar );
294 a->addTo( edit ); 281 a->addTo( edit );
295 282
296 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 ); 283 a = new QAction( tr( "Paste" ), Resource::loadPixmap( "paste" ), QString::null, 0, this, 0 );
297 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); 284 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) );
298 a->addTo( editBar ); 285 a->addTo( editBar );
299 a->addTo( edit ); 286 a->addTo( edit );
300 287
301 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 ); 288 a = new QAction( tr( "Find..." ), Resource::loadPixmap( "find" ), QString::null, 0, this, 0 );
302 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) ); 289 connect( a, SIGNAL( activated() ), this, SLOT( editFind() ) );
303 edit->insertSeparator(); 290 edit->insertSeparator();
304 a->addTo( bar ); 291 a->addTo( bar );
305 a->addTo( edit ); 292 a->addTo( edit );
306 293
307
308 int defsize; 294 int defsize;
309 bool defb, defi, wrap; 295 bool defb, defi, wrap;
310 296
311 Config cfg("TextEdit"); 297 Config cfg("TextEdit");
312 cfg.setGroup("View"); 298 cfg.setGroup("View");
313 defsize = cfg.readNumEntry("FontSize",10); 299 defsize = cfg.readNumEntry("FontSize",10);
314 defb = cfg.readBoolEntry("Bold",FALSE); 300 defb = cfg.readBoolEntry("Bold",FALSE);
315 defi = cfg.readBoolEntry("Italic",FALSE); 301 defi = cfg.readBoolEntry("Italic",FALSE);
316 wrap = cfg.readBoolEntry("Wrap",TRUE); 302 wrap = cfg.readBoolEntry("Wrap",TRUE);
317 303
318 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 304 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
319 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 305 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
320 zin->addTo( font ); 306 zin->addTo( font );
321 307
322 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 308 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
323 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 309 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
@@ -358,104 +344,95 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
358 344
359 mb->insertItem( tr( "File" ), file ); 345 mb->insertItem( tr( "File" ), file );
360 mb->insertItem( tr( "Edit" ), edit ); 346 mb->insertItem( tr( "Edit" ), edit );
361 mb->insertItem( tr( "View" ), font ); 347 mb->insertItem( tr( "View" ), font );
362 348
363 searchBar = new QPEToolBar(this); 349 searchBar = new QPEToolBar(this);
364 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 350 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
365 351
366 searchBar->setHorizontalStretchable( TRUE ); 352 searchBar->setHorizontalStretchable( TRUE );
367 353
368 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 354 searchEdit = new QLineEdit( searchBar, "searchEdit" );
369 searchBar->setStretchableWidget( searchEdit ); 355 searchBar->setStretchableWidget( searchEdit );
370 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 356 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
371 this, SLOT( search() ) ); 357 this, SLOT( search() ) );
372 358
373 359
374 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); 360 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
375 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 361 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
376 a->addTo( searchBar ); 362 a->addTo( searchBar );
377 a->addTo( edit ); 363 a->addTo( edit );
378 364
379 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 365 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
380 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 366 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
381 a->addTo( searchBar ); 367 a->addTo( searchBar );
382 368
383 edit->insertSeparator(); 369 edit->insertSeparator();
384 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 370 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
385 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); 371 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
386 a->addTo( edit ); 372 a->addTo( edit );
387
388 searchBar->hide();
389
390 editorStack = new QWidgetStack( this );
391 setCentralWidget( editorStack );
392 373
393 searchVisible = FALSE; 374 searchBar->hide();
394 375
395 fileSelector = new FileSelector( "text/*", editorStack, "fileselector" , TRUE, TRUE); //buggy
396 connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
397 connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
398 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( openFile( const DocLnk & ) ) );
399// fileOpen();
400 376
401 editor = new QpeEditor( editorStack ); 377 editor = new QpeEditor( this );
378 setCentralWidget( editor );
402 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 379 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken );
403 editorStack->addWidget( editor, get_unique_id() );
404 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); 380 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
405 381
406 resize( 200, 300 ); 382 resize( 200, 300 );
407 383
408// setFontSize(defsize,TRUE); 384// setFontSize(defsize,TRUE);
409 FontDatabase fdb; 385 FontDatabase fdb;
410 QFont defaultFont=editor->font(); 386 QFont defaultFont=editor->font();
411 QFontInfo fontInfo(defaultFont); 387 QFontInfo fontInfo(defaultFont);
412 388
413 cfg.setGroup("Font"); 389 cfg.setGroup("Font");
414 QString family = cfg.readEntry("Family", fontInfo.family()); 390 QString family = cfg.readEntry("Family", fontInfo.family());
415 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); 391 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont));
416 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); 392 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10);
417 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); 393 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) );
418 394
419 defaultFont = fdb.font(family,style,i_size,charSet); 395 defaultFont = fdb.font(family,style,i_size,charSet);
420 editor->setFont( defaultFont); 396 editor->setFont( defaultFont);
421 397
422 wa->setOn(wrap); 398 wa->setOn(wrap);
423 updateCaption(); 399 updateCaption();
424 400
425 cfg.setGroup("View"); 401 cfg.setGroup("View");
426 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 402 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
427 nStart->setOn(TRUE); 403 nStart->setOn(TRUE);
428 fileNew(); 404 fileNew();
429 } else { 405 } else {
430 fileOpen(); 406 fileOpen();
431 } 407 }
432 408 viewSelection = cfg.readNumEntry( "FileView", 0 );
433} 409}
434 410
435TextEdit::~TextEdit() 411TextEdit::~TextEdit()
436{ 412{
437// save(); 413// save();
438 414
439 Config cfg("TextEdit"); 415 Config cfg("TextEdit");
440 cfg.setGroup("View"); 416 cfg.setGroup("View");
441 QFont f = editor->font(); 417 QFont f = editor->font();
442 cfg.writeEntry("FontSize",f.pointSize()); 418 cfg.writeEntry("FontSize",f.pointSize());
443 cfg.writeEntry("Bold",f.bold()); 419 cfg.writeEntry("Bold",f.bold());
444 cfg.writeEntry("Italic",f.italic()); 420 cfg.writeEntry("Italic",f.italic());
445 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth); 421 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth);
422 cfg.writeEntry( "FileView", viewSelection );
446} 423}
447 424
448void TextEdit::zoomIn() 425void TextEdit::zoomIn()
449{ 426{
450 setFontSize(editor->font().pointSize()+1,FALSE); 427 setFontSize(editor->font().pointSize()+1,FALSE);
451} 428}
452 429
453void TextEdit::zoomOut() 430void TextEdit::zoomOut()
454{ 431{
455 setFontSize(editor->font().pointSize()-1,TRUE); 432 setFontSize(editor->font().pointSize()-1,TRUE);
456} 433}
457 434
458 435
459void TextEdit::setFontSize(int sz, bool round_down_not_up) 436void TextEdit::setFontSize(int sz, bool round_down_not_up)
460{ 437{
461 int s=10; 438 int s=10;
@@ -500,76 +477,52 @@ void TextEdit::setWordWrap(bool y)
500{ 477{
501 bool state = editor->edited(); 478 bool state = editor->edited();
502 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 479 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
503 editor->setEdited( state ); 480 editor->setEdited( state );
504} 481}
505 482
506void TextEdit::fileNew() 483void TextEdit::fileNew()
507{ 484{
508 if( !bFromDocView ) { 485 if( !bFromDocView ) {
509 saveAs(); 486 saveAs();
510 } 487 }
511 newFile(DocLnk()); 488 newFile(DocLnk());
512} 489}
513 490
514void TextEdit::fileOpen() 491void TextEdit::fileOpen()
515{ 492{
516// if ( !save() ) {
517// if ( QMessageBox::critical( this, tr( "Out of space" ),
518// tr( "Text Editor was unable to\n"
519// "save your changes.\n"
520// "Free some space and try again.\n"
521// "\nContinue anyway?" ),
522// QMessageBox::Yes|QMessageBox::Escape,
523// QMessageBox::No|QMessageBox::Default )
524// != QMessageBox::Yes )
525// return;
526// else {
527// delete doc;
528// doc = 0;
529// }
530// }
531 menu->hide();
532 editBar->hide();
533 searchBar->hide();
534 clearWState (WState_Reserved1 );
535 editorStack->raiseWidget( fileSelector );
536 fileSelector->reread();
537 updateCaption();
538}
539
540void TextEdit::newFileOpen()
541{
542 browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "*"); 493 browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "*");
494 browseForFiles->setFileView( viewSelection );
543 browseForFiles->showMaximized(); 495 browseForFiles->showMaximized();
544 if( browseForFiles->exec() != -1 ) { 496 if( browseForFiles->exec() != -1 ) {
545 QString selFile= browseForFiles->selectedFileName; 497 QString selFile= browseForFiles->selectedFileName;
546 QStringList fileList=browseForFiles->fileList; 498 QStringList fileList=browseForFiles->fileList;
547 qDebug(selFile); 499 qDebug(selFile);
548 QStringList::ConstIterator f; 500 QStringList::ConstIterator f;
549 QString fileTemp; 501 QString fileTemp;
550 for ( f = fileList.begin(); f != fileList.end(); f++ ) { 502 for ( f = fileList.begin(); f != fileList.end(); f++ ) {
551 fileTemp = *f; 503 fileTemp = *f;
552 fileTemp.right( fileTemp.length()-5); 504 fileTemp.right( fileTemp.length()-5);
553 QString fileName = fileTemp; 505 QString fileName = fileTemp;
554 if( fileName != "Unnamed" || fileName != "Empty Text" ) { 506 if( fileName != "Unnamed" || fileName != "Empty Text" ) {
555 currentFileName = fileName; 507 currentFileName = fileName;
556 qDebug("please open "+currentFileName); 508 qDebug("please open "+currentFileName);
557 openFile(fileName ); 509 openFile(fileName );
558 } 510 }
559 } 511 }
512 viewSelection = browseForFiles->SelectionCombo->currentItem();
560 } 513 }
561 delete browseForFiles; 514 delete browseForFiles;
562 editor->setEdited( FALSE); 515 editor->setEdited( FALSE);
563 edited1=FALSE; 516 edited1=FALSE;
564 edited=FALSE; 517 edited=FALSE;
565 if(caption().left(1)=="*") 518 if(caption().left(1)=="*")
566 setCaption(caption().right(caption().length()-1)); 519 setCaption(caption().right(caption().length()-1));
567} 520}
568 521
569#if 0 522#if 0
570void TextEdit::slotFind() 523void TextEdit::slotFind()
571{ 524{
572 FindDialog frmFind( "Text Editor", this ); 525 FindDialog frmFind( "Text Editor", this );
573 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 526 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
574 editor, SLOT(slotDoFind( const QString&,bool,bool))); 527 editor, SLOT(slotDoFind( const QString&,bool,bool)));
575 528
@@ -629,102 +582,100 @@ void TextEdit::findNext()
629void TextEdit::findClose() 582void TextEdit::findClose()
630{ 583{
631 searchVisible = FALSE; 584 searchVisible = FALSE;
632 searchBar->hide(); 585 searchBar->hide();
633} 586}
634 587
635void TextEdit::search() 588void TextEdit::search()
636{ 589{
637 editor->find( searchEdit->text(), FALSE, FALSE ); 590 editor->find( searchEdit->text(), FALSE, FALSE );
638} 591}
639 592
640void TextEdit::newFile( const DocLnk &f ) 593void TextEdit::newFile( const DocLnk &f )
641{ 594{
642 DocLnk nf = f; 595 DocLnk nf = f;
643 nf.setType("text/plain"); 596 nf.setType("text/plain");
644 clear(); 597 clear();
645 editorStack->raiseWidget( editor );
646 setWState (WState_Reserved1 ); 598 setWState (WState_Reserved1 );
647 editor->setFocus(); 599 editor->setFocus();
648 doc = new DocLnk(nf); 600 doc = new DocLnk(nf);
649 qDebug("newFile "+currentFileName); 601 qDebug("newFile "+currentFileName);
650 updateCaption(currentFileName); 602 updateCaption(currentFileName);
651} 603}
652 604
653void TextEdit::openFile( const QString &f ) 605void TextEdit::openFile( const QString &f )
654{ 606{
607
655 bFromDocView = TRUE; 608 bFromDocView = TRUE;
656 DocLnk nf; 609 DocLnk nf;
657 nf.setType("text/plain"); 610 nf.setType("text/plain");
658 nf.setFile(f); 611 nf.setFile(f);
659 currentFileName=f; 612 currentFileName=f;
660 QFileInfo fi( currentFileName); 613 QFileInfo fi( currentFileName);
661 nf.setName(fi.baseName()); 614 nf.setName(fi.baseName());
662 qDebug("openFile string"+currentFileName); 615 qDebug("openFile string"+currentFileName);
663 616
664 openFile(nf); 617 openFile(nf);
665 showEditTools(); 618 showEditTools();
666 // Show filename in caption 619 // Show filename in caption
667 QString name = f; 620 QString name = f;
668 int sep = name.findRev( '/' ); 621 int sep = name.findRev( '/' );
669 if ( sep > 0 ) 622 if ( sep > 0 )
670 name = name.mid( sep+1 ); 623 name = name.mid( sep+1 );
671 updateCaption( name ); 624 updateCaption( name );
672} 625}
673 626
674void TextEdit::openFile( const DocLnk &f ) 627void TextEdit::openFile( const DocLnk &f )
675{ 628{
676// clear(); 629// clear();
677 bFromDocView = TRUE; 630 bFromDocView = TRUE;
678 FileManager fm; 631 FileManager fm;
679 QString txt; 632 QString txt;
680 currentFileName=f.name(); 633 currentFileName=f.name();
681 qDebug("openFile doclnk " + currentFileName); 634 qDebug("openFile doclnk " + currentFileName);
682 if ( !fm.loadFile( f, txt ) ) { 635 if ( !fm.loadFile( f, txt ) ) {
683 // ####### could be a new file 636 // ####### could be a new file
684 qDebug( "Cannot open file" ); 637 qDebug( "Cannot open file" );
685 638
686 //return; 639 //return;
687 } 640 }
688 641
689 fileNew(); 642 fileNew();
690 if ( doc ) 643 if ( doc )
691 delete doc; 644 delete doc;
692 doc = new DocLnk(f); 645 doc = new DocLnk(f);
693 editor->setText(txt); 646 editor->setText(txt);
694 editor->setEdited( FALSE); 647 editor->setEdited( FALSE);
695 edited1=FALSE; 648 edited1=FALSE;
696 edited=FALSE; 649 edited=FALSE;
697 650
698 qDebug("openFile doclnk "+currentFileName); 651 qDebug("openFile doclnk "+currentFileName);
699 doc->setName(currentFileName); 652 doc->setName(currentFileName);
700 updateCaption(); 653 updateCaption();
701} 654}
702 655
703void TextEdit::showEditTools() 656void TextEdit::showEditTools()
704{ 657{
705// if ( !doc ) 658// if ( !doc )
706// close(); 659// close();
707// clear(); 660// clear();
708 fileSelector->hide();
709 menu->show(); 661 menu->show();
710 editBar->show(); 662 editBar->show();
711 if ( searchVisible ) 663 if ( searchVisible )
712 searchBar->show(); 664 searchBar->show();
713// updateCaption(); 665// updateCaption();
714 editorStack->raiseWidget( editor );
715 setWState (WState_Reserved1 ); 666 setWState (WState_Reserved1 );
716} 667}
717 668
718/*! 669/*!
719 unprompted save */ 670 unprompted save */
720bool TextEdit::save() 671bool TextEdit::save()
721{ 672{
722 QString file = doc->file(); 673 QString file = doc->file();
723 qDebug(file); 674 qDebug(file);
724 QString name= doc->name(); 675 QString name= doc->name();
725 qDebug(name); 676 qDebug(name);
726 QString rt = editor->text(); 677 QString rt = editor->text();
727 if( !rt.isEmpty() ) { 678 if( !rt.isEmpty() ) {
728 if(name.isEmpty()) { 679 if(name.isEmpty()) {
729 saveAs(); 680 saveAs();
730 } else { 681 } else {
@@ -873,41 +824,34 @@ void TextEdit::setDocument(const QString& fileref)
873{ 824{
874 bFromDocView = TRUE; 825 bFromDocView = TRUE;
875 qDebug("setDocument "+fileref); 826 qDebug("setDocument "+fileref);
876 bFromDocView = TRUE; 827 bFromDocView = TRUE;
877 if(fileref.find(".desktop",0,TRUE) == -1) { 828 if(fileref.find(".desktop",0,TRUE) == -1) {
878 openFile(fileref); 829 openFile(fileref);
879 } else { 830 } else {
880 openFile(DocLnk(fileref)); 831 openFile(DocLnk(fileref));
881 } 832 }
882 editor->setEdited(TRUE); 833 editor->setEdited(TRUE);
883 edited1=FALSE; 834 edited1=FALSE;
884 edited=TRUE; 835 edited=TRUE;
885} 836}
886 837
887void TextEdit::closeEvent( QCloseEvent *e ) 838void TextEdit::closeEvent( QCloseEvent *e )
888{ 839{
889 if ( editorStack->visibleWidget() == fileSelector && !bFromDocView ) { 840 bFromDocView = FALSE;
890 e->ignore(); 841 e->accept();
891 repaint();
892// fileRevert();
893
894 } else {
895 bFromDocView = FALSE;
896 e->accept();
897 }
898} 842}
899 843
900void TextEdit::accept() 844void TextEdit::accept()
901 { 845 {
902 QString file = doc->file(); 846 QString file = doc->file();
903 if (file.find("_.txt",0,TRUE) ==-1) 847 if (file.find("_.txt",0,TRUE) ==-1)
904 save(); 848 save();
905 else { 849 else {
906 QFile(file).remove(); 850 QFile(file).remove();
907 } 851 }
908 exit(0); 852 exit(0);
909 853
910} 854}
911 855
912void TextEdit::changeFont() { 856void TextEdit::changeFont() {
913 FontDatabase fdb; 857 FontDatabase fdb;
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index e7e20e3..aca2933 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -45,43 +45,42 @@ class FileSelector;
45class QpeEditor; 45class QpeEditor;
46class QPopupMenu; 46class QPopupMenu;
47 47
48class TextEdit : public QMainWindow 48class TextEdit : public QMainWindow
49{ 49{
50 Q_OBJECT 50 Q_OBJECT
51 51
52public: 52public:
53 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 53 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
54 ~TextEdit(); 54 ~TextEdit();
55 QPopupMenu *font; 55 QPopupMenu *font;
56 QAction *nStart; 56 QAction *nStart;
57 bool edited, edited1; 57 bool edited, edited1;
58 void openFile( const QString & ); 58 void openFile( const QString & );
59public slots: 59public slots:
60 void editorChanged(); 60 void editorChanged();
61 61
62protected: 62protected:
63 void closeEvent( QCloseEvent *e ); 63 void closeEvent( QCloseEvent *e );
64 64
65private slots: 65private slots:
66 void setDocument(const QString&); 66 void setDocument(const QString&);
67 void changeFont(); 67 void changeFont();
68 void fileNew(); 68 void fileNew();
69 void fileRevert(); 69 void fileRevert();
70 void fileOpen(); 70 void fileOpen();
71 void newFileOpen();
72 void changeStartConfig(bool); 71 void changeStartConfig(bool);
73 bool save(); 72 bool save();
74 bool saveAs(); 73 bool saveAs();
75 74
76 75
77 void editCut(); 76 void editCut();
78 void editCopy(); 77 void editCopy();
79 void editPaste(); 78 void editPaste();
80 void editFind(); 79 void editFind();
81 void editDelete(); 80 void editDelete();
82 81
83 void findNext(); 82 void findNext();
84 void findClose(); 83 void findClose();
85 84
86 void search(); 85 void search();
87 void accept(); 86 void accept();
@@ -90,32 +89,31 @@ private slots:
90 void openFile( const DocLnk & ); 89 void openFile( const DocLnk & );
91 void showEditTools(); 90 void showEditTools();
92 91
93 void zoomIn(); 92 void zoomIn();
94 void zoomOut(); 93 void zoomOut();
95 void setBold(bool y); 94 void setBold(bool y);
96 void setItalic(bool y); 95 void setItalic(bool y);
97 void setWordWrap(bool y); 96 void setWordWrap(bool y);
98 97
99private: 98private:
100 void colorChanged( const QColor &c ); 99 void colorChanged( const QColor &c );
101 void clear(); 100 void clear();
102 void updateCaption( const QString &name=QString::null ); 101 void updateCaption( const QString &name=QString::null );
103 void setFontSize(int sz, bool round_down_not_up); 102 void setFontSize(int sz, bool round_down_not_up);
104 103
105private: 104private:
106 QWidgetStack *editorStack;
107 FileSelector *fileSelector;
108 fileSaver *fileSaveDlg; 105 fileSaver *fileSaveDlg;
109 fileBrowser *browseForFiles; 106 fileBrowser *browseForFiles;
110 107
111 QpeEditor* editor; 108 QpeEditor* editor;
112 QToolBar *menu, *editBar, *searchBar; 109 QToolBar *menu, *editBar, *searchBar;
113 QLineEdit *searchEdit; 110 QLineEdit *searchEdit;
114 DocLnk *doc; 111 DocLnk *doc;
115 bool searchVisible; 112 bool searchVisible;
116 bool bFromDocView; 113 bool bFromDocView;
114 int viewSelection;
117 QAction *zin, *zout; 115 QAction *zin, *zout;
118 QString currentFileName; 116 QString currentFileName;
119}; 117};
120 118
121#endif 119#endif