summaryrefslogtreecommitdiff
path: root/libopie2/opieui/otaskbarapplet.h
Side-by-side diff
Diffstat (limited to 'libopie2/opieui/otaskbarapplet.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/otaskbarapplet.h47
1 files changed, 23 insertions, 24 deletions
diff --git a/libopie2/opieui/otaskbarapplet.h b/libopie2/opieui/otaskbarapplet.h
index 074367f..0c85ee7 100644
--- a/libopie2/opieui/otaskbarapplet.h
+++ b/libopie2/opieui/otaskbarapplet.h
@@ -24,29 +24,38 @@
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OTASKBARAPPLET_H
#define OTASKBARAPPLET_H
#include <qpe/taskbarappletinterface.h>
+#include <qpe/qcom.h>
+#include <qwidget.h>
+
+class QMouseEvent;
+
+namespace Opie {
+namespace Ui {
+namespace Private {
/*======================================================================================
* OTaskbarAppletWrapper
*======================================================================================*/
+class OTaskbarAppletWrapperPrivate;
template<class T> class OTaskbarAppletWrapper : public TaskbarAppletInterface
{
public:
OTaskbarAppletWrapper():_applet( 0 )
{
}
virtual ~OTaskbarAppletWrapper()
{
delete _applet;
}
@@ -71,60 +80,50 @@ template<class T> class OTaskbarAppletWrapper : public TaskbarAppletInterface
{
if ( !_applet ) _applet = new T( parent );
return _applet;
}
virtual int position() const
{
return T::position();
}
private:
T* _applet;
+ OTaskbarAppletWrapperPrivate *d;
};
-#include <qframe.h>
-#include <qwidget.h>
-#include <qpe/qpeapplication.h>
-
-class QMouseEvent;
-
+}
/*======================================================================================
* OTaskbarApplet
*======================================================================================*/
// Must be inline until after we shipped Opie 1.0
// Having OTaskBarApplet reside in libopieui2 is not possible
// until we link the launcher binary against libopieui2 -
// otherwise the necessary symbols are not present, when
// the dynamic loader [dlopen] tries to resolve an applet which
// inherits OTaskbarApplet
class OTaskbarApplet : public QWidget
{
public:
- OTaskbarApplet( QWidget* parent, const char* name = 0 ):QWidget( parent, name )
- {
- setFixedHeight( 18 );
- setFixedWidth( 14 );
- }
+ OTaskbarApplet( QWidget* parent, const char* name = 0 );
+ virtual ~OTaskbarApplet();
- virtual ~OTaskbarApplet()
- {
+ protected:
+ virtual void popup( QWidget* widget );
+private:
+ class Private;
+ Private *d;
+};
+}
}
- protected:
- virtual void popup( QWidget* widget )
- {
- QPoint curPos = mapToGlobal( QPoint( 0, 0 ) );
- int w = widget->sizeHint().width();
- int x = curPos.x() - (w/2 );
- if ( (x+w) > QPEApplication::desktop()->width() )
- x = QPEApplication::desktop()->width()-w;
- widget->move( x, curPos.y()-widget->sizeHint().height() );
- widget->show();
+#define EXPORT_OPIE_APPLET_v1( AppLet ) \
+ Q_EXPORT_INTERFACE() { \
+ Q_CREATE_INSTANCE( Opie::Ui::Private::OTaskbarAppletWrapper<AppLet> ) \
}
-};
#endif