summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/notesapplet/notes.cpp78
-rw-r--r--noncore/applets/notesapplet/notes.h6
2 files changed, 80 insertions, 4 deletions
diff --git a/noncore/applets/notesapplet/notes.cpp b/noncore/applets/notesapplet/notes.cpp
index 81864c6..2d38e97 100644
--- a/noncore/applets/notesapplet/notes.cpp
+++ b/noncore/applets/notesapplet/notes.cpp
@@ -24,20 +24,23 @@
#include <qpe/qpeapplication.h>
#include <qpe/timestring.h>
#include <qpe/resource.h>
#include <qpe/config.h>
#include <qpe/applnk.h>
#include <qpe/config.h>
-#include <qsocket.h>
+#include <qpe/ir.h>
+// #include <qsocket.h>
+// #include <qclipboard.h>
#include <qmultilineedit.h>
#include <qlistbox.h>
#include <qpopupmenu.h>
#include <qmessagebox.h>
#include <qdir.h>
+#include <qfile.h>
#include <qpoint.h>
#include <qpushbutton.h>
#include <qpainter.h>
#include <qlayout.h>
#include <qframe.h>
#include <qpixmap.h>
@@ -87,13 +90,15 @@ NotesControl::NotesControl( QWidget *parent, const char *name )
QVBoxLayout *vbox = new QVBoxLayout( this,0, -1, "Vlayout" );
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);
@@ -106,35 +111,51 @@ NotesControl::NotesControl( QWidget *parent, const char *name )
setFocusPolicy(QWidget::StrongFocus);
newButton= new QPushButton( this, "newButton" );
newButton->setText(tr("New"));
hbox->addWidget( newButton);
+ saveButton= new QPushButton( this, "saveButton" );
+ saveButton->setText(tr("Save"));
+ hbox->addWidget( saveButton);
+
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(saveButton, SIGNAL(clicked()), this, SLOT(slotSaveButton()));
connect(deleteButton, SIGNAL(clicked()), this, SLOT(slotDeleteButtonClicked()));
populateBox();
load();
setCaption("Notes");
// parent->setFocus();
}
+void NotesControl::slotSaveButton() {
+ if(edited) {
+ save();
+ populateBox();
+ }
+}
+
void NotesControl::slotDeleteButtonClicked() {
- switch ( QMessageBox::warning(this,tr("Delete?"),tr("Do you really want to<BR><B> delete</B> this note ?")
+ switch ( QMessageBox::warning(this,tr("Delete?")
+ ,tr("Do you really want to<BR><B> delete</B> this note ?")
,tr("Yes"),tr("No"),0,1,1) ) {
case 0:
slotDeleteButton();
break;
};
}
@@ -177,13 +198,33 @@ void NotesControl::slotDeleteButton() {
void NotesControl::slotNewButton() {
if(edited) save();
view->clear();
view->setFocus();
}
-void NotesControl::boxPressed(int mouse, QListBoxItem *item, const QPoint&) {
+void NotesControl::slotBeamButton() {
+ Ir ir;
+ if(!ir.supported()){
+ } else {
+ this->hide();
+ QString selectedText = box->currentText();
+ if( !selectedText.isEmpty()) {
+ QString file = QDir::homeDirPath()+"/"+selectedText;
+ QFile f(file);
+ Ir *irFile = new Ir(this, "IR");
+ connect( irFile, SIGNAL(done(Ir*)), this, SLOT( slotBeamFinished( Ir * )));
+ irFile->send( file, "Note", "text/plain" );
+ }
+ }
+}
+
+void NotesControl::slotBeamFinished(Ir *) {
+ this->show();
+}
+
+void NotesControl::boxPressed(int mouse, QListBoxItem *, const QPoint&) {
switch (mouse) {
case 1:{
}
break;
case 2:
menuTimer.start( 500, TRUE );
@@ -201,14 +242,15 @@ void NotesControl::slotBoxSelected(const QString &itemString) {
}
void NotesControl::showMenu() {
QPopupMenu *m = new QPopupMenu(0);
+ m->insertItem( tr( "Beam Out" ), this, SLOT( slotBeamButton() ));
+ m->insertSeparator();
m->insertItem( tr( "Delete" ), this, SLOT( slotDeleteButton() ));
-
m->setFocus();
m->exec( QCursor::pos() );
if(m) delete m;
}
@@ -253,12 +295,14 @@ void NotesControl::save() {
QString entryName;
entryName.sprintf( "File%i", noOfFiles + 1 );
cfg.writeEntry( entryName,docname );
cfg.writeEntry("NumberOfFiles", noOfFiles+1 );
cfg.write();
}
+ else
+ qDebug("oldname equals docname");
doc = new DocLnk(docname);
doc->setType("text/plain");
doc->setFile(docname);
doc->setName(docname);
@@ -290,12 +334,13 @@ void NotesControl::populateBox() {
entryName.sprintf( "File%i", i + 1 );
list.append(cfg.readEntry( entryName ));
}
list.sort();
box->insertStringList(list,-1);
doPopulate=false;
+ update();
}
void NotesControl::load() {
if(!loaded) {
Config cfg("Notes");
@@ -343,12 +388,37 @@ void NotesControl::loadDoc( const DocLnk &f) {
void NotesControl::slotViewEdited() {
if(loaded) {
edited=true;
}
}
+// void NotesControl::keyReleaseEvent( QKeyEvent *e) {
+
+// switch ( e->state() ) {
+// case ControlButton:
+// if(e->key() == Key_C) { //copy
+// qDebug("copy");
+// QClipboard *cb = QApplication::clipboard();
+// QString text;
+
+// // Copy text from the clipboard (paste)
+// text = cb->text();
+// }
+// if(e->key() == Key_X) { //cut
+// }
+// if(e->key() == Key_V) { //paste
+// QClipboard *cb = QApplication::clipboard();
+// QString text;
+// view
+// cb->setText();
+// }
+// break;
+// };
+// QWidget::keyReleaseEvent(e);
+// }
+
//===========================================================================
NotesApplet::NotesApplet( QWidget *parent, const char *name )
: QWidget( parent, name ) {
setFixedHeight( 18 );
setFixedWidth( 14 );
diff --git a/noncore/applets/notesapplet/notes.h b/noncore/applets/notesapplet/notes.h
index 473a89a..a593881 100644
--- a/noncore/applets/notesapplet/notes.h
+++ b/noncore/applets/notesapplet/notes.h
@@ -18,12 +18,13 @@
#include <qwidget.h>
#include <qframe.h>
#include <qpixmap.h>
#include <qguardedptr.h>
#include <qtimer.h>
#include <qpe/filemanager.h>
+#include <qpe/ir.h>
#include <qstring.h>
class QComboBox;
class QCheckBox;
class QSpinBox;
class QPushButton;
@@ -50,20 +51,25 @@ private:
QTimer menuTimer;
DocLnk *doc;
QString oldDocName;
void focusOutEvent( QFocusEvent * );
void load(const QString&);
private slots:
+ void slotBeamButton();
+ void slotBeamFinished( Ir*);
void slotDeleteButton();
+ void slotSaveButton();
void slotDeleteButtonClicked();
void slotNewButton();
void boxPressed(int, QListBoxItem *, const QPoint&);
void showMenu();
void loadDoc( const DocLnk &);
void slotViewEdited();
void slotBoxSelected(const QString &);
+// void keyReleaseEvent( QKeyEvent *);
+
};
class NotesApplet : public QWidget {
Q_OBJECT
public:
NotesApplet( QWidget *parent = 0, const char *name=0 );