summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-09-27 20:19:09 (UTC)
committer llornkcor <llornkcor>2002-09-27 20:19:09 (UTC)
commitd7bcdda1857ff31830705921d8248200d881cf93 (patch) (unidiff)
treefe75820a9ffa1e2340e4dcb02ffafed36a585a46
parentf9712865139ba9831ef188d4e00d1b75dda4f261 (diff)
downloadopie-d7bcdda1857ff31830705921d8248200d881cf93.zip
opie-d7bcdda1857ff31830705921d8248200d881cf93.tar.gz
opie-d7bcdda1857ff31830705921d8248200d881cf93.tar.bz2
save makes new
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/notesapplet/notes.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/noncore/applets/notesapplet/notes.cpp b/noncore/applets/notesapplet/notes.cpp
index 76cb6c1..f2dbabf 100644
--- a/noncore/applets/notesapplet/notes.cpp
+++ b/noncore/applets/notesapplet/notes.cpp
@@ -19,260 +19,258 @@
19#include <stdlib.h> 19#include <stdlib.h>
20#include <qstringlist.h> 20#include <qstringlist.h>
21 21
22#include <qpe/filemanager.h> 22#include <qpe/filemanager.h>
23#include <qpe/resource.h> 23#include <qpe/resource.h>
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25#include <qpe/timestring.h> 25#include <qpe/timestring.h>
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/config.h> 27#include <qpe/config.h>
28#include <qpe/applnk.h> 28#include <qpe/applnk.h>
29#include <qpe/config.h> 29#include <qpe/config.h>
30#include <qpe/ir.h> 30#include <qpe/ir.h>
31 31
32// #include <qsocket.h> 32// #include <qsocket.h>
33// #include <qclipboard.h> 33// #include <qclipboard.h>
34#include <qmultilineedit.h> 34#include <qmultilineedit.h>
35#include <qlistbox.h> 35#include <qlistbox.h>
36#include <qpopupmenu.h> 36#include <qpopupmenu.h>
37#include <qmessagebox.h> 37#include <qmessagebox.h>
38 38
39#include <qdir.h> 39#include <qdir.h>
40#include <qfile.h> 40#include <qfile.h>
41#include <qpoint.h> 41#include <qpoint.h>
42#include <qpushbutton.h> 42#include <qpushbutton.h>
43#include <qpainter.h> 43#include <qpainter.h>
44#include <qlayout.h> 44#include <qlayout.h>
45#include <qframe.h> 45#include <qframe.h>
46#include <qpixmap.h> 46#include <qpixmap.h>
47#include <qstring.h> 47#include <qstring.h>
48#include <qtimer.h> 48#include <qtimer.h>
49 49
50/* XPM */ 50/* XPM */
51static char * notes_xpm[] = { 51static char * notes_xpm[] = {
52"16 16 11 1", 52"16 16 11 1",
53" c None", 53" c None",
54". c #000000", 54". c #000000",
55"+ c #7F7F7F", 55"+ c #7F7F7F",
56"@ c #BFBFBF", 56"@ c #BFBFBF",
57"# c #BFC1FF", 57"# c #BFC1FF",
58"$ c #FF0000", 58"$ c #FF0000",
59"% c #FFFFFF", 59"% c #FFFFFF",
60"& c #00037F", 60"& c #00037F",
61"* c #0006FF", 61"* c #0006FF",
62"= c #0005BF", 62"= c #0005BF",
63"- c #7F0000", 63"- c #7F0000",
64" .. ", 64" .. ",
65" .. ", 65" .. ",
66" ... ", 66" ... ",
67" .+ ", 67" .+ ",
68" .@. ", 68" .@. ",
69" . .+ ", 69" . .+ ",
70" ..#.@. ", 70" ..#.@. ",
71" ..###.+.. ", 71" ..###.+.. ",
72" ..###$...##.. ", 72" ..###$...##.. ",
73"..###$$$%+$$##&.", 73"..###$$$%+$$##&.",
74".*=####$-###&=&.", 74".*=####$-###&=&.",
75".=**=###==&=&=..", 75".=**=###==&=&=..",
76" ..=**=#&=&=.. ", 76" ..=**=#&=&=.. ",
77" ..=*=&=.. ", 77" ..=*=&=.. ",
78" ..=.. ", 78" ..=.. ",
79" . "}; 79" . "};
80 80
81 81
82NotesControl::NotesControl( QWidget *parent, const char *name ) 82NotesControl::NotesControl( QWidget *parent, const char *name )
83 : QFrame( parent, name,/* WDestructiveClose | */WStyle_StaysOnTop ) 83 : QFrame( parent, name,/* WDestructiveClose | */WStyle_StaysOnTop )
84// : QFrame( parent, name, WDestructiveClose | WStyle_StaysOnTop | WType_Popup ) 84// : QFrame( parent, name, WDestructiveClose | WStyle_StaysOnTop | WType_Popup )
85{ 85{
86 setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); 86 setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
87 loaded=false; 87 loaded=false;
88 edited=false; 88 edited=false;
89 doPopulate=true; 89 doPopulate=true;
90 QVBoxLayout *vbox = new QVBoxLayout( this,0, -1, "Vlayout" ); 90 QVBoxLayout *vbox = new QVBoxLayout( this,0, -1, "Vlayout" );
91 QHBoxLayout *hbox = new QHBoxLayout( this, 0, -1, "HLayout" ); 91 QHBoxLayout *hbox = new QHBoxLayout( this, 0, -1, "HLayout" );
92 92
93 view = new QMultiLineEdit(this, "OpieNotesView"); 93 view = new QMultiLineEdit(this, "OpieNotesView");
94 94
95 box = new QListBox(this, "OpieNotesBox"); 95 box = new QListBox(this, "OpieNotesBox");
96 96
97 QPEApplication::setStylusOperation( box->viewport(),QPEApplication::RightOnHold); 97 QPEApplication::setStylusOperation( box->viewport(),QPEApplication::RightOnHold);
98 98
99 box->setFixedHeight(50); 99 box->setFixedHeight(50);
100 100
101 vbox->setMargin( 6 ); 101 vbox->setMargin( 6 );
102 vbox->setSpacing( 3 ); 102 vbox->setSpacing( 3 );
103 103
104 vbox->addWidget( view); 104 vbox->addWidget( view);
105 vbox->addWidget( box); 105 vbox->addWidget( box);
106 106
107 setFixedHeight(180); 107 setFixedHeight(180);
108 QWidget *wid = QPEApplication::desktop(); 108 QWidget *wid = QPEApplication::desktop();
109 setFixedWidth( wid->width()-10 /*200*/); 109 setFixedWidth( wid->width()-10 /*200*/);
110 110
111 setFocusPolicy(QWidget::StrongFocus); 111 setFocusPolicy(QWidget::StrongFocus);
112 112
113 newButton= new QPushButton( this, "newButton" ); 113 newButton= new QPushButton( this, "newButton" );
114 newButton->setText(tr("New")); 114 newButton->setText(tr("New"));
115 hbox->addWidget( newButton); 115 hbox->addWidget( newButton);
116 116
117 saveButton= new QPushButton( this, "saveButton" ); 117 saveButton= new QPushButton( this, "saveButton" );
118 saveButton->setText(tr("Save")); 118 saveButton->setText(tr("Save"));
119 hbox->addWidget( saveButton); 119 hbox->addWidget( saveButton);
120 120
121 deleteButton= new QPushButton( this, "deleteButton" ); 121 deleteButton= new QPushButton( this, "deleteButton" );
122 deleteButton->setText(tr("Delete")); 122 deleteButton->setText(tr("Delete"));
123 hbox->addWidget( deleteButton); 123 hbox->addWidget( deleteButton);
124 124
125 vbox->addItem(hbox); 125 vbox->addItem(hbox);
126 126
127 connect( box, SIGNAL( mouseButtonPressed( int, QListBoxItem *, const QPoint&)), 127 connect( box, SIGNAL( mouseButtonPressed( int, QListBoxItem *, const QPoint&)),
128 this,SLOT( boxPressed(int, QListBoxItem *, const QPoint&)) ); 128 this,SLOT( boxPressed(int, QListBoxItem *, const QPoint&)) );
129 129
130 connect(box, SIGNAL(highlighted(const QString&)), this, SLOT(slotBoxSelected(const QString &))); 130 connect(box, SIGNAL(highlighted(const QString&)), this, SLOT(slotBoxSelected(const QString &)));
131 131
132 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showMenu() ) ); 132 connect( &menuTimer, SIGNAL( timeout() ), SLOT( showMenu() ) );
133 133
134 connect(view,SIGNAL( textChanged() ), this, SLOT(slotViewEdited() ) ); 134 connect(view,SIGNAL( textChanged() ), this, SLOT(slotViewEdited() ) );
135 135
136 connect(newButton, SIGNAL(clicked()), this, SLOT(slotNewButton())); 136 connect(newButton, SIGNAL(clicked()), this, SLOT(slotNewButton()));
137 connect(saveButton, SIGNAL(clicked()), this, SLOT(slotSaveButton())); 137 connect(saveButton, SIGNAL(clicked()), this, SLOT(slotSaveButton()));
138 connect(deleteButton, SIGNAL(clicked()), this, SLOT(slotDeleteButtonClicked())); 138 connect(deleteButton, SIGNAL(clicked()), this, SLOT(slotDeleteButtonClicked()));
139 139
140 populateBox(); 140 populateBox();
141 load(); 141 load();
142 setCaption("Notes"); 142 setCaption("Notes");
143 // parent->setFocus(); 143 // parent->setFocus();
144} 144}
145 145
146void NotesControl::slotSaveButton() { 146void NotesControl::slotSaveButton() {
147 if(edited) { 147 slotNewButton();
148 save(); 148 populateBox();
149 populateBox();
150 }
151} 149}
152 150
153void NotesControl::slotDeleteButtonClicked() { 151void NotesControl::slotDeleteButtonClicked() {
154 switch ( QMessageBox::warning(this,tr("Delete?") 152 switch ( QMessageBox::warning(this,tr("Delete?")
155 ,tr("Do you really want to<BR><B> delete</B> this note ?") 153 ,tr("Do you really want to<BR><B> delete</B> this note ?")
156 ,tr("Yes"),tr("No"),0,1,1) ) { 154 ,tr("Yes"),tr("No"),0,1,1) ) {
157 case 0: 155 case 0:
158 slotDeleteButton(); 156 slotDeleteButton();
159 break; 157 break;
160 }; 158 };
161} 159}
162 160
163void NotesControl::slotDeleteButton() { 161void NotesControl::slotDeleteButton() {
164 162
165 QString selectedText = box->currentText(); 163 QString selectedText = box->currentText();
166 qDebug("deleting "+selectedText); 164 qDebug("deleting "+selectedText);
167 165
168 if( !selectedText.isEmpty()) { 166 if( !selectedText.isEmpty()) {
169 167
170 Config cfg("Notes"); 168 Config cfg("Notes");
171 cfg.setGroup("Docs"); 169 cfg.setGroup("Docs");
172 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 170 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
173 QString entryName, entryName2;; 171 QString entryName, entryName2;;
174 for ( int i = 0; i < noOfFiles; i++ ) { 172 for ( int i = 0; i < noOfFiles; i++ ) {
175 entryName.sprintf( "File%i", i + 1 ); 173 entryName.sprintf( "File%i", i + 1 );
176 if(selectedText == cfg.readEntry( entryName )) { 174 if(selectedText == cfg.readEntry( entryName )) {
177 qDebug("removing %s, %d", selectedText.latin1(), i); 175 qDebug("removing %s, %d", selectedText.latin1(), i);
178 for ( int j = i; j < noOfFiles; j++ ) { 176 for ( int j = i; j < noOfFiles; j++ ) {
179 entryName.sprintf( "File%i", i + 1 ); 177 entryName.sprintf( "File%i", i + 1 );
180 entryName2.sprintf( "File%i", i + 2 ); 178 entryName2.sprintf( "File%i", i + 2 );
181 QString temp = cfg.readEntry(entryName2); 179 QString temp = cfg.readEntry(entryName2);
182 qDebug("move "+temp); 180 qDebug("move "+temp);
183 cfg.writeEntry(entryName, temp); 181 cfg.writeEntry(entryName, temp);
184 i++; 182 i++;
185 } 183 }
186 cfg.writeEntry("NumberOfFiles", noOfFiles-1 ); 184 cfg.writeEntry("NumberOfFiles", noOfFiles-1 );
187 entryName.sprintf( "File%i", noOfFiles ); 185 entryName.sprintf( "File%i", noOfFiles );
188 cfg.removeEntry(entryName); 186 cfg.removeEntry(entryName);
189 cfg.write(); 187 cfg.write();
190 DocLnk nf(selectedText); 188 DocLnk nf(selectedText);
191 nf.removeFiles(); 189 nf.removeFiles();
192 } 190 }
193 } 191 }
194 populateBox(); 192 populateBox();
195 } 193 }
196} 194}
197 195
198void NotesControl::slotNewButton() { 196void NotesControl::slotNewButton() {
199 if(edited) save(); 197 if(edited) save();
200 view->clear(); 198 view->clear();
201 view->setFocus(); 199 view->setFocus();
202} 200}
203 201
204void NotesControl::slotBeamButton() { 202void NotesControl::slotBeamButton() {
205 Ir ir; 203 Ir ir;
206 if(!ir.supported()){ 204 if(!ir.supported()){
207 } else { 205 } else {
208 this->hide(); 206 this->hide();
209 QString selectedText = box->currentText(); 207 QString selectedText = box->currentText();
210 if( !selectedText.isEmpty()) { 208 if( !selectedText.isEmpty()) {
211 QString file = QDir::homeDirPath()+"/"+selectedText; 209 QString file = QDir::homeDirPath()+"/"+selectedText;
212 QFile f(file); 210 QFile f(file);
213 Ir *irFile = new Ir(this, "IR"); 211 Ir *irFile = new Ir(this, "IR");
214 connect( irFile, SIGNAL(done(Ir*)), this, SLOT( slotBeamFinished( Ir * ))); 212 connect( irFile, SIGNAL(done(Ir*)), this, SLOT( slotBeamFinished( Ir * )));
215 irFile->send( file, "Note", "text/plain" ); 213 irFile->send( file, "Note", "text/plain" );
216 } 214 }
217 } 215 }
218} 216}
219 217
220void NotesControl::slotBeamFinished(Ir *) { 218void NotesControl::slotBeamFinished(Ir *) {
221 this->show(); 219 this->show();
222} 220}
223 221
224void NotesControl::boxPressed(int mouse, QListBoxItem *, const QPoint&) { 222void NotesControl::boxPressed(int mouse, QListBoxItem *, const QPoint&) {
225 switch (mouse) { 223 switch (mouse) {
226 case 1:{ 224 case 1:{
227 } 225 }
228 break; 226 break;
229 case 2: 227 case 2:
230 menuTimer.start( 500, TRUE ); 228 menuTimer.start( 500, TRUE );
231 break; 229 break;
232 }; 230 };
233} 231}
234 232
235void NotesControl::slotBoxSelected(const QString &itemString) { 233void NotesControl::slotBoxSelected(const QString &itemString) {
236 if(edited) { 234 if(edited) {
237 save(); 235 save();
238 } 236 }
239 loaded=false; 237 loaded=false;
240 edited=false; 238 edited=false;
241 load(itemString); 239 load(itemString);
242} 240}
243 241
244 242
245void NotesControl::showMenu() { 243void NotesControl::showMenu() {
246 QPopupMenu *m = new QPopupMenu(0); 244 QPopupMenu *m = new QPopupMenu(0);
247 245
248 m->insertItem( tr( "Beam Out" ), this, SLOT( slotBeamButton() )); 246 m->insertItem( tr( "Beam Out" ), this, SLOT( slotBeamButton() ));
249 m->insertSeparator(); 247 m->insertSeparator();
250 m->insertItem( tr( "Delete" ), this, SLOT( slotDeleteButton() )); 248 m->insertItem( tr( "Delete" ), this, SLOT( slotDeleteButton() ));
251 m->setFocus(); 249 m->setFocus();
252 m->exec( QCursor::pos() ); 250 m->exec( QCursor::pos() );
253 251
254 if(m) delete m; 252 if(m) delete m;
255 253
256} 254}
257 255
258void NotesControl::focusOutEvent ( QFocusEvent * e) { 256void NotesControl::focusOutEvent ( QFocusEvent * e) {
259 if( e->reason() == QFocusEvent::Popup) 257 if( e->reason() == QFocusEvent::Popup)
260 save(); 258 save();
261 else { 259 else {
262 if(!loaded) { 260 if(!loaded) {
263 populateBox(); 261 populateBox();
264 load(); 262 load();
265 } 263 }
266 } 264 }
267 QWidget::focusOutEvent(e); 265 QWidget::focusOutEvent(e);
268} 266}
269 267
270void NotesControl::save() { 268void NotesControl::save() {
271 Config cfg("Notes"); 269 Config cfg("Notes");
272 cfg.setGroup("Docs"); 270 cfg.setGroup("Docs");
273 if( edited) { 271 if( edited) {
274 QString rt = view->text(); 272 QString rt = view->text();
275 if(!rt.isEmpty()) { 273 if(!rt.isEmpty()) {
276 QString pt = rt.simplifyWhiteSpace(); 274 QString pt = rt.simplifyWhiteSpace();
277 int i = pt.find( ' ' ); 275 int i = pt.find( ' ' );
278 QString docname = pt; 276 QString docname = pt;