summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-09-22 13:22:51 (UTC)
committer llornkcor <llornkcor>2002-09-22 13:22:51 (UTC)
commit0816ba0c42df8074d698b60041993dbda5591e27 (patch) (side-by-side diff)
treec8688bedc4bf5a87e967b0ede8218997dbdd4071
parent2778d4b110b6b9106da568eb10568af18e482900 (diff)
downloadopie-0816ba0c42df8074d698b60041993dbda5591e27.zip
opie-0816ba0c42df8074d698b60041993dbda5591e27.tar.gz
opie-0816ba0c42df8074d698b60041993dbda5591e27.tar.bz2
delete button so I dont have to explain so much about the hold-menu delete
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/notesapplet/notes.cpp32
1 files changed, 22 insertions, 10 deletions
diff --git a/noncore/applets/notesapplet/notes.cpp b/noncore/applets/notesapplet/notes.cpp
index a4aa093..cc5245c 100644
--- a/noncore/applets/notesapplet/notes.cpp
+++ b/noncore/applets/notesapplet/notes.cpp
@@ -72,98 +72,108 @@ 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 )
{
setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
loaded=false;
edited=false;
doPopulate=true;
QVBoxLayout *vbox = new QVBoxLayout( this,0, -1, "Vlayout" );
- QHBoxLayout *hbox = new QHBoxLayout( this );
+ QHBoxLayout *hbox = new QHBoxLayout( this, 0, -1, "HLayout" );
view = new QMultiLineEdit(this, "OpieNotesView");
box = new QListBox(this, "OpieNotesBox");
QPEApplication::setStylusOperation( box->viewport(),QPEApplication::RightOnHold);
box->setFixedHeight(50);
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);
+
+ deleteButton= new QPushButton( this, "deleteButton" );
+ deleteButton->setText(tr("Delete"));
+ hbox->addWidget( deleteButton);
+
vbox->addItem(hbox);
connect( box, SIGNAL( mouseButtonPressed( int, QListBoxItem *, const QPoint&)),
this,SLOT( boxPressed(int, QListBoxItem *, const QPoint&)) );
connect(box, SIGNAL(highlighted(const QString&)), this, SLOT(slotBoxSelected(const QString &)));
connect( &menuTimer, SIGNAL( timeout() ), SLOT( showMenu() ) );
connect(view,SIGNAL( textChanged() ), this, SLOT(slotViewEdited() ) );
connect(newButton, SIGNAL(clicked()), this, SLOT(slotNewButton()));
+ connect(deleteButton, SIGNAL(clicked()), this, SLOT(slotDeleteButton()));
populateBox();
load();
setCaption("Notes");
// parent->setFocus();
}
void NotesControl::slotDeleteButton() {
+
QString selectedText = box->currentText();
qDebug("deleting "+selectedText);
+
+ if( !selectedText.isEmpty()) {
Config cfg("Notes");
cfg.setGroup("Docs");
int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
QString entryName, entryName2;;
for ( int i = 0; i < noOfFiles; i++ ) {
entryName.sprintf( "File%i", i + 1 );
if(selectedText == cfg.readEntry( entryName )) {
qDebug("removing %s, %d", selectedText.latin1(), i);
for ( int j = i; j < noOfFiles; j++ ) {
entryName.sprintf( "File%i", i + 1 );
entryName2.sprintf( "File%i", i + 2 );
QString temp = cfg.readEntry(entryName2);
qDebug("move "+temp);
cfg.writeEntry(entryName, temp);
i++;
}
cfg.writeEntry("NumberOfFiles", noOfFiles-1 );
entryName.sprintf( "File%i", noOfFiles );
cfg.removeEntry(entryName);
cfg.write();
DocLnk nf(selectedText);
nf.removeFiles();
}
}
populateBox();
+ }
}
void NotesControl::slotNewButton() {
if(edited) save();
view->clear();
view->setFocus();
}
void NotesControl::boxPressed(int mouse, QListBoxItem *item, const QPoint&) {
switch (mouse) {
case 1:{
}
break;
case 2:
menuTimer.start( 500, TRUE );
break;
@@ -234,74 +244,75 @@ void NotesControl::save() {
cfg.writeEntry( entryName,docname );
cfg.writeEntry("NumberOfFiles", noOfFiles+1 );
cfg.write();
}
doc = new DocLnk(docname);
doc->setType("text/plain");
doc->setFile(docname);
doc->setName(docname);
FileManager fm;
if ( !fm.saveFile( *doc, rt ) ) {
}
oldDocName=docname;
edited=false;
+ qDebug("save");
+ if (doPopulate)
+ populateBox();
}
- qDebug("save");
- if (doPopulate)
- populateBox();
- }
cfg.writeEntry( "LastDoc",oldDocName );
cfg.write();
+
+ }
}
void NotesControl::populateBox() {
box->clear();
qDebug("populate");
Config cfg("Notes");
cfg.setGroup("Docs");
int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
QStringList list;
QString entryName;
for ( int i = 0; i < noOfFiles; i++ ) {
entryName.sprintf( "File%i", i + 1 );
list.append(cfg.readEntry( entryName ));
}
list.sort();
box->insertStringList(list,-1);
doPopulate=false;
}
void NotesControl::load() {
- Config cfg("Notes");
- cfg.setGroup("Docs");
if(!loaded) {
+ Config cfg("Notes");
+ cfg.setGroup("Docs");
QString lastDoc=cfg.readEntry( "LastDoc","");
DocLnk nf;
nf.setType("text/plain");
nf.setFile(lastDoc);
loadDoc(nf);
loaded=true;
oldDocName=lastDoc;
- }
- cfg.writeEntry( "LastDoc",oldDocName );
- cfg.write();
+ cfg.writeEntry( "LastDoc",oldDocName );
+ cfg.write();
+ }
}
void NotesControl::load(const QString & file) {
qDebug("loading "+file);
if(!loaded) {
DocLnk nf;
nf.setType("text/plain");
nf.setFile( file);
loadDoc(nf);
loaded=true;
}
// view->setFocus();
oldDocName=file;
Config cfg("Notes");
cfg.setGroup("Docs");
@@ -336,28 +347,29 @@ NotesApplet::NotesApplet( QWidget *parent, const char *name )
NotesApplet::~NotesApplet() {
}
void NotesApplet::mousePressEvent( QMouseEvent *) {
if( !vc->isHidden()) {
vc->doPopulate=false;
vc->save();
vc->close();
} else {
// vc = new NotesControl;
// QPoint curPos = mapToGlobal( rect().topLeft() );
vc->show();
vc->move( 5, 18);
vc->doPopulate=true;
vc->populateBox();
vc->doPopulate=false;
+ vc->loaded=false;
vc->load();
// this->setFocus();
vc->view->setFocus();
}
}
void NotesApplet::paintEvent( QPaintEvent* ) {
QPainter p(this);
p.drawPixmap( 0, 1, ( const char** ) notes_xpm );
}