summaryrefslogtreecommitdiff
path: root/core/applets/lockapplet/lock.cpp
authorclem <clem>2004-10-08 22:50:28 (UTC)
committer clem <clem>2004-10-08 22:50:28 (UTC)
commit2f29d0ec4bb2355f193d744c890add203bd6f2b2 (patch) (side-by-side diff)
treea703b00b673b9be036415393b53d9c95a5bb87cd /core/applets/lockapplet/lock.cpp
parentdec031cc21181d70e0c806bcf6c228044f7df90b (diff)
downloadopie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.zip
opie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.tar.gz
opie-2f29d0ec4bb2355f193d744c890add203bd6f2b2.tar.bz2
Big commit thanks to a little feature request :-) We now have an O-menu applet
to lock the PDA immediately, and the internal way to ask for an authentication (on resume, on start up, on demand or for a simple test) is much cleaner: it's through MultiauthPassword(int lockMode) (instead of the old bool at_poweron)
Diffstat (limited to 'core/applets/lockapplet/lock.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/lockapplet/lock.cpp84
1 files changed, 84 insertions, 0 deletions
diff --git a/core/applets/lockapplet/lock.cpp b/core/applets/lockapplet/lock.cpp
new file mode 100644
index 0000000..89f27bb
--- a/dev/null
+++ b/core/applets/lockapplet/lock.cpp
@@ -0,0 +1,84 @@
+#include "lock.h"
+
+/* OPIE */
+#include <opie2/multiauthpassword.h>
+
+#include <qpe/applnk.h>
+#include <qpe/resource.h>
+
+/* QT */
+#include <qiconset.h>
+#include <qpopupmenu.h>
+#include <qmessagebox.h>
+
+
+LockMenuApplet::LockMenuApplet()
+ :QObject( 0, "LockMenuApplet" )
+{
+}
+
+LockMenuApplet::~LockMenuApplet ( )
+{}
+
+int LockMenuApplet::position() const
+{
+ return 3;
+}
+
+QString LockMenuApplet::name() const
+{
+ return tr( "Lock shortcut" );
+}
+
+QString LockMenuApplet::text() const
+{
+ return tr( "Lock" );
+}
+
+
+QIconSet LockMenuApplet::icon() const
+{
+ QPixmap pix;
+ QImage img = Resource::loadImage( "security/lock" );
+ if ( !img.isNull() )
+ pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
+ return pix;
+}
+
+QPopupMenu* LockMenuApplet::popup(QWidget*) const
+{
+ /* no subdir */
+ return 0;
+}
+
+void LockMenuApplet::activated()
+{
+ /*
+ QMessageBox::information(0,tr("No white rabbit found"),
+ tr("<qt>No white rabbit was seen near Opie."
+ "Only the beautiful OpieZilla is available"
+ "for your pleassure</qt>"));
+ */
+ Opie::Security::MultiauthPassword::authenticate(Opie::Security::LockNow);
+}
+
+
+QRESULT LockMenuApplet::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
+{
+ *iface = 0;
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_MenuApplet )
+ *iface = this;
+ else
+ return QS_FALSE;
+
+ if ( *iface )
+ (*iface)->addRef();
+ return QS_OK;
+}
+
+Q_EXPORT_INTERFACE()
+{
+ Q_CREATE_INSTANCE( LockMenuApplet )
+}