-rw-r--r-- | noncore/applets/notesapplet/notes.cpp | 64 | ||||
-rw-r--r-- | noncore/applets/notesapplet/notes.h | 3 |
2 files changed, 54 insertions, 13 deletions
diff --git a/noncore/applets/notesapplet/notes.cpp b/noncore/applets/notesapplet/notes.cpp index 90c2550..2b25476 100644 --- a/noncore/applets/notesapplet/notes.cpp +++ b/noncore/applets/notesapplet/notes.cpp @@ -80,12 +80,22 @@ static char * notes_xpm[] = { NotesControl::NotesControl( QWidget *parent, const char *name ) : QFrame( parent, name,/* WDestructiveClose | */WStyle_StaysOnTop ) // : QFrame( parent, name, WDestructiveClose | WStyle_StaysOnTop | WType_Popup ) { + QDir d( QDir::homeDirPath()+"/notes"); + if( !d.exists()) { + qDebug("make dir"); + if(!d.mkdir( QDir::homeDirPath()+"/notes", true)) + qDebug("<<<<<<<<<<<<<<<<<<<<<<<<<<<make dir failed"); + } + Config cfg("Notes"); + cfg.setGroup("Options"); + showMax = cfg.readBoolEntry("ShowMax", false); + setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); loaded=false; edited=false; doPopulate=true; isNew=false; QVBoxLayout *vbox = new QVBoxLayout( this,0, -1, "Vlayout" ); @@ -102,16 +112,12 @@ NotesControl::NotesControl( QWidget *parent, const char *name ) vbox->setMargin( 6 ); vbox->setSpacing( 3 ); vbox->addWidget( view); vbox->addWidget( box); - setFixedHeight(180); - QWidget *wid = QPEApplication::desktop(); - setFixedWidth( wid->width()-10 /*200*/); - setFocusPolicy(QWidget::StrongFocus); newButton= new QPushButton( this, "newButton" ); newButton->setText(tr("New")); hbox->addWidget( newButton); @@ -250,21 +256,21 @@ void NotesControl::slotBoxSelected(const QString &itemString) { load(itemString); } void NotesControl::showMenu() { QPopupMenu *m = new QPopupMenu(0); - m->insertItem( tr( "Beam Out" ), this, SLOT( slotBeamButton() )); + m->insertItem( tr( "Search For..." ), this, SLOT( slotSearch() )); + m->insertItem( tr( "Toggle Maximized" ), this, SLOT( slotShowMax() )); m->insertSeparator(); m->insertItem( tr( "Delete" ), this, SLOT( slotDeleteButton() )); m->setFocus(); m->exec( QCursor::pos() ); if(m) delete m; - } void NotesControl::focusOutEvent ( QFocusEvent * e) { if( e->reason() == QFocusEvent::Popup) save(); else { @@ -281,13 +287,13 @@ void NotesControl::save() { cfg.setGroup("Docs"); if( edited) { // qDebug("is edited"); QString rt = view->text(); if( rt.length()>1) { QString pt = rt.simplifyWhiteSpace(); - int i = pt.find( ' ' ); + int i = pt.find( ' ', pt.find( ' ' )+2 ); QString docname = pt; if ( i > 0 ) docname = pt.left( i ); // remove "." at the beginning while( docname.startsWith( "." ) ) docname = docname.mid( 1 ); @@ -308,21 +314,19 @@ void NotesControl::save() { cfg.writeEntry("NumberOfFiles", noOfFiles+1 ); cfg.write(); } // else // qDebug("oldname equals docname"); - doc = new DocLnk(docname); - if(QFile(doc->linkFile()).exists()) qDebug("puppie"); doc->setType("text/plain"); - doc->setFile(QDir::homeDirPath()+"/"+docname); doc->setName(docname); - + QString temp = docname.replace( QRegExp(" "), "_" ); + doc->setFile( QDir::homeDirPath()+"/notes/"+temp); FileManager fm; if ( !fm.saveFile( *doc, rt ) ) { } oldDocName=docname; edited=false; @@ -371,16 +375,22 @@ void NotesControl::load() { cfg.write(); } } void NotesControl::load(const QString & file) { qDebug("loading "+file); + QString name = file; + QString temp; + if( !QFile( QDir::homeDirPath()+"/"+file).exists() ) + temp = QDir::homeDirPath()+"/notes/"+ name.replace( QRegExp(" "), "_" ); + else + temp = name; if(!loaded) { DocLnk nf; nf.setType("text/plain"); - nf.setFile( file); + nf.setFile( temp); loadDoc(nf); loaded=true; } // view->setFocus(); oldDocName=file; @@ -391,23 +401,41 @@ void NotesControl::load(const QString & file) { } void NotesControl::loadDoc( const DocLnk &f) { FileManager fm; QString txt; if ( !fm.loadFile( f, txt ) ) { + qDebug("could not load file "+f.file()); return; } view->setText(txt); } void NotesControl::slotViewEdited() { if(loaded) { edited=true; } } + +void NotesControl::slotShowMax() { + Config cfg("Notes"); + cfg.setGroup("Options"); + showMax=!showMax; + cfg.writeEntry("ShowMax", showMax); + cfg.write(); + hide(); +} + +void NotesControl::slotSearch() { + int boxCount = box->count(); + for(int i=0;i< boxCount;i++) { + + } +} + // void NotesControl::keyReleaseEvent( QKeyEvent *e) { // switch ( e->state() ) { // case ControlButton: // if(e->key() == Key_C) { //copy // qDebug("copy"); @@ -447,14 +475,24 @@ void NotesApplet::mousePressEvent( QMouseEvent *) { vc->doPopulate=false; vc->save(); vc->close(); } else { // vc = new NotesControl; // QPoint curPos = mapToGlobal( rect().topLeft() ); + if(vc->showMax) { + qDebug("show max"); + vc->showMaximized(); + } else { + qDebug("no show max"); + QWidget *wid = QPEApplication::desktop(); + QRect rect = QApplication::desktop()->geometry(); + vc->setGeometry( ( wid->width() / 2) - ( vc->width() / 2 ) , 28 , wid->width() -10 , 180); + vc->move ( (rect.center()/2) - (vc->rect().center()/2)); +// vc->move( (( wid->width() / 2) - ( vc->width() / 2 ))-4, 28); + } vc->show(); - vc->move( 2, 28); vc->doPopulate=true; vc->populateBox(); vc->doPopulate=false; vc->loaded=false; vc->load(); diff --git a/noncore/applets/notesapplet/notes.h b/noncore/applets/notesapplet/notes.h index 381dc80..c428efe 100644 --- a/noncore/applets/notesapplet/notes.h +++ b/noncore/applets/notesapplet/notes.h @@ -39,23 +39,26 @@ public: QPixmap notes; QMultiLineEdit *view; QListBox *box; QPushButton *saveButton, *deleteButton, *newButton; QString FileNamePath; bool loaded, edited, doPopulate, isNew; + bool showMax; void save(); void populateBox(); void load(); private: QTimer menuTimer; DocLnk *doc; QString oldDocName; void focusOutEvent( QFocusEvent * ); void load(const QString&); private slots: + void slotSearch(); + void slotShowMax(); void slotBeamButton(); void slotBeamFinished( Ir*); void slotDeleteButton(); void slotSaveButton(); void slotDeleteButtonClicked(); void slotNewButton(); |