summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/volumeapplet2/volumeapplet.cpp58
-rw-r--r--noncore/applets/volumeapplet2/volumeapplet.h15
-rw-r--r--noncore/apps/advancedfm/advancedfmData.cpp7
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp38
-rw-r--r--noncore/net/opie-smb/config.in4
-rw-r--r--noncore/net/opie-smb/main.cpp6
-rw-r--r--noncore/net/opie-smb/opie-smb.control12
-rw-r--r--noncore/net/opie-smb/opie-smb.pro18
-rw-r--r--noncore/net/opie-smb/qsmb.cpp402
-rw-r--r--noncore/net/opie-smb/qsmb.h39
-rw-r--r--noncore/net/opie-smb/qsmbbase.cpp146
-rw-r--r--noncore/net/opie-smb/qsmbbase.h62
-rw-r--r--noncore/net/opie-smb/qsmbbase.ui298
-rw-r--r--noncore/settings/netsystemtime/formattabwidget.cpp4
-rw-r--r--noncore/tools/calc2/binary/binary.pro28
-rw-r--r--noncore/tools/calc2/binary/binaryfactory.cpp2
-rw-r--r--noncore/tools/calc2/binary/binaryfactory.h4
-rw-r--r--noncore/tools/calc2/binary/binaryimpl.cpp2
-rw-r--r--noncore/tools/calc2/binary/binaryimpl.h2
-rw-r--r--noncore/tools/calc2/calc.cpp1
-rw-r--r--noncore/tools/calc2/simple/simple.pro22
-rw-r--r--noncore/tools/calc2/simple/simplefactory.cpp2
-rw-r--r--noncore/tools/calc2/simple/simplefactory.h4
-rw-r--r--noncore/tools/calc2/simple/simpleimpl.cpp2
-rw-r--r--noncore/tools/calc2/simple/simpleimpl.h4
25 files changed, 1115 insertions, 67 deletions
diff --git a/noncore/applets/volumeapplet2/volumeapplet.cpp b/noncore/applets/volumeapplet2/volumeapplet.cpp
index 2f61f48..2122007 100644
--- a/noncore/applets/volumeapplet2/volumeapplet.cpp
+++ b/noncore/applets/volumeapplet2/volumeapplet.cpp
@@ -1,175 +1,213 @@
/*
This file is part of the Opie Project
=. (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. This program is distributed in the hope that
+ . -:. = it will be useful, but WITHOUT ANY WARRANTY;
: .. .:, . . . without even the implied warranty of
=_ + =;=|` MERCHANTABILITY or FITNESS FOR A
_.=:. : :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = 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.
*/
#include "volumeapplet.h"
/* OPIE */
#include <opie2/odebug.h>
#include <opie2/otaskbarapplet.h>
#include <opie2/osoundsystem.h>
#include <opie2/oledbox.h>
#include <opie2/oresource.h>
#include <qpe/applnk.h>
+#include <qpe/qpeapplication.h>
using namespace Opie::Core;
using namespace Opie::MM;
using namespace Opie::Ui;
/* QT */
#include <qpainter.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qslider.h>
/* STD */
#include <assert.h>
Channel::Channel( OMixerInterface* mixer, QWidget* parent, const char* name )
:QVBox( parent, name )
{
_name = new QLabel( name, this );
_name->setFont( QFont( "Vera", 8 ) );
_volume = new QSlider( 0, 100, 10, mixer->volume( name ) & 0xff, QSlider::Vertical, this );
_volume->setTickmarks( QSlider::Both );
_volume->setTickInterval( 20 );
_mute = new OLedBox( green, this );
_mute->setFocusPolicy( QWidget::NoFocus );
_mute->setFixedSize( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
_name->show();
_volume->show();
_mute->show();
}
Channel::~Channel()
{
}
VolumeAppletControl::VolumeAppletControl( OTaskbarApplet* parent, const char* name )
:QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), l(0)
{
setFrameStyle( QFrame::PopupPanel | QFrame::Raised );
l = new QGridLayout( this );
build();
}
void VolumeAppletControl::build()
{
OSoundSystem* sound = OSoundSystem::instance();
OSoundSystem::CardIterator it = sound->iterator();
- OMixerInterface* mixer = new OMixerInterface( this, "/dev/mixer" );
+// OMixerInterface*
+ mixer = new OMixerInterface( this, "/dev/mixer" );
QStringList channels = mixer->allChannels();
int x = 0;
// int y = 0;
for ( QStringList::Iterator it = channels.begin(); it != channels.end(); ++it )
{
- odebug << "OSSDEMO: Mixer has channel " << *it << "" << oendl;
- odebug << "OSSDEMO: +--- volume " << ( mixer->volume( *it ) & 0xff )
+ if((*it) == mixer->volume( "Vol")) {
+ m_vol_percent=mixer->volume( *it ) >> 8;
+ }
+ owarn << "OSSDEMO: Mixer has channel " << *it << "" << oendl;
+ owarn << "OSSDEMO: +--- volume " << ( mixer->volume( *it ) & 0xff )
<< " (left) | " << ( mixer->volume( *it ) >> 8 ) << " (right)" << oendl;
l->addWidget( new Channel( mixer, this, *it ), 0, x++, AlignCenter );
}
}
VolumeAppletControl::~VolumeAppletControl()
{
}
+int VolumeAppletControl::volPercent ( ) const
+{
+ return m_vol_percent;
+}
+
+bool VolumeAppletControl::volMuted ( ) const
+{
+ return m_vol_muted;
+}
+
void VolumeAppletControl::showEvent( QShowEvent* e )
{
odebug << "showEvent" << oendl;
QWidget::showEvent( e );
}
void VolumeAppletControl::hideEvent( QHideEvent* e )
{
odebug << "hideEvent" << oendl;
QWidget::hideEvent( e );
}
-QSize VolumeAppletControl::sizeHint() const
-{
- return QSize( 200, 200 ); //QFrame::sizeHint();
+ QSize VolumeAppletControl::sizeHint() const
+ {
+ int wd = QPEApplication::desktop()->width();
+ return QSize( wd, 200 ); //QFrame::sizeHint();
}
VolumeApplet::VolumeApplet( QWidget *parent, const char *name )
:OTaskbarApplet( parent, name )
{
- setFixedHeight( AppLnk::smallIconSize() );
+ setFixedHeight( AppLnk::smallIconSize() +4);
setFixedWidth( AppLnk::smallIconSize() );
- _pixmap = Opie::Core::OResource::loadPixmap( "volume", Opie::Core::OResource::SmallIcon );
+ _pixmap = new QPixmap (Opie::Core::OResource::loadPixmap( "volume", Opie::Core::OResource::SmallIcon ));
_control = new VolumeAppletControl( this, "control" );
}
VolumeApplet::~VolumeApplet()
{
}
int VolumeApplet::position()
{
return 4;
}
void VolumeApplet::paintEvent( QPaintEvent* )
{
- QPainter p(this);
- p.drawPixmap(0, 2, _pixmap );
+ QPainter p ( this );
+
+ p. drawPixmap ( (width()- _pixmap->width())/2, QMAX( (height()-4-_pixmap->height() )/2, 1), *_pixmap );
+ p. setPen ( darkGray );
+ p. drawRect ( 1, height() - 4, width() - 2, 4 );
+
+ OMixerInterface* mixer = new OMixerInterface( this, "/dev/mixer" );
+
+ int volPercent = mixer->volume( "Vol" ) >> 8;
+
+ int pixelsWide = volPercent * ( width() - 4 ) / 100;
+ p. fillRect ( 2, height() - 3, pixelsWide, 2, red );
+ p. fillRect ( pixelsWide + 2, height() - 3, width() - 4 - pixelsWide, 2, lightGray );
+
+// if ( _control-> volMuted ( )) {
+// p. setPen ( red );
+// p. drawLine ( 1, 2, width() - 2, height() - 5 );
+// p. drawLine ( 1, 3, width() - 2, height() - 4 );
+// p. drawLine ( width() - 2, 2, 1, height() - 5 );
+// p. drawLine ( width() - 2, 3, 1, height() - 4 );
+// }
+
+// QPainter p(this);
+ // p.drawPixmap(0, 2, _pixmap );
}
void VolumeApplet::mousePressEvent( QMouseEvent* )
{
if ( !_control->isVisible() )
{
popup( _control );
}
else
{
_control->hide();
}
}
EXPORT_OPIE_APPLET_v1( VolumeApplet )
diff --git a/noncore/applets/volumeapplet2/volumeapplet.h b/noncore/applets/volumeapplet2/volumeapplet.h
index c1f1a3a..953c305 100644
--- a/noncore/applets/volumeapplet2/volumeapplet.h
+++ b/noncore/applets/volumeapplet2/volumeapplet.h
@@ -1,103 +1,112 @@
/*
                This file is part of the Opie Project
=. (C) 2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = 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 VOLUMEAPPLET_H
#define VOLUMEAPPLET_H
#include <opie2/otaskbarapplet.h>
+#include <opie2/osoundsystem.h>
#include <qframe.h>
#include <qstring.h>
#include <qvbox.h>
#include <qpixmap.h>
+//using namespace Opie::MM;
namespace Opie
{
namespace Ui { class OLedBox; }
- namespace MM { class OMixerInterface; }
+// namespace MM { class OMixerInterface; }
}
class QLabel;
class QSlider;
class QShowEvent;
class QHideEvent;
class QGridLayout;
class Channel : public QVBox
{
public:
Channel( Opie::MM::OMixerInterface* mixer, QWidget* parent, const char* name );
virtual ~Channel();
// public slots:
// virtual void clicked();
private:
QLabel* _name;
QSlider* _volume;
Opie::Ui::OLedBox* _mute;
Opie::MM::OMixerInterface* _mixer;
};
class VolumeAppletControl : public QFrame
{
public:
VolumeAppletControl( Opie::Ui::OTaskbarApplet* parent, const char* name = 0 );
~VolumeAppletControl();
+ bool volMuted() const;
+ int volPercent() const;
+
+ int m_vol_percent;
+ bool m_vol_muted;
+
+ Opie::MM::OMixerInterface* mixer;
virtual QSize sizeHint() const;
protected:
virtual void showEvent( QShowEvent* );
virtual void hideEvent( QHideEvent* );
void build();
private:
+
QGridLayout* l;
-
};
class VolumeApplet : public Opie::Ui::OTaskbarApplet
{
public:
VolumeApplet( QWidget* parent = 0, const char* name = 0 );
~VolumeApplet();
static int position();
protected:
virtual void paintEvent( QPaintEvent* );
virtual void mousePressEvent( QMouseEvent* );
private:
VolumeAppletControl* _control;
- QPixmap _pixmap;
+ QPixmap* _pixmap;
};
#endif
diff --git a/noncore/apps/advancedfm/advancedfmData.cpp b/noncore/apps/advancedfm/advancedfmData.cpp
index feda198..95e619b 100644
--- a/noncore/apps/advancedfm/advancedfmData.cpp
+++ b/noncore/apps/advancedfm/advancedfmData.cpp
@@ -1,104 +1,109 @@
/***************************************************************************
advancedfmData.cpp
-------------------
** Created: Mon 09-23-2002 13:24:11
copyright : (C) 2002 by ljp
email : ljp@llornkcor.com
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#include "advancedfm.h"
/* OPIE */
#include <opie2/odebug.h>
#include <opie2/oresource.h>
#include <qpe/applnk.h>
#include <qpe/storage.h>
#include <qpe/qpeapplication.h>
#include <qpe/menubutton.h>
using namespace Opie::Core;
using namespace Opie::Ui;
/* QT */
+#include <qframe.h>
#include <qlayout.h>
#include <qhbox.h>
#include <qmenubar.h>
#include <qcombobox.h>
#include <qtoolbutton.h>
#include <qlineedit.h>
#include <qlistview.h>
/* STD */
#include <sys/utsname.h>
void AdvancedFm::init() {
b = false;
setCaption( tr( "AdvancedFm" ) );
- QVBoxLayout *layout = new QVBoxLayout( this );
+// QFrame* frame = new QFrame(this);
+// setCentralWidget(frame);
+// QVBoxLayout *layout = new QVBoxLayout( frame );
+
+ QVBoxLayout *layout = new QVBoxLayout( this);
layout->setSpacing( 2);
layout->setMargin( 0); // squeeze
QMenuBar *menuBar = new QMenuBar(this);
menuBar->setMargin( 0 ); // squeeze
fileMenu = new QPopupMenu( this );
viewMenu = new QPopupMenu( this );
// customDirMenu = new QPopupMenu( this );
layout->addWidget( menuBar );
menuBar->insertItem( tr( "File" ), fileMenu);
menuBar->insertItem( tr( "View" ), viewMenu);
bool useBigIcon = qApp->desktop()->size().width() > 330;
cdUpButton = new QToolButton( 0,"cdUpButton");
cdUpButton->setUsesBigPixmap( useBigIcon );
cdUpButton->setPixmap( Opie::Core::OResource::loadPixmap( "up", Opie::Core::OResource::SmallIcon ) );
cdUpButton->setAutoRaise( true );
menuBar->insertItem( cdUpButton );
qpeDirButton= new QToolButton( 0,"QPEButton");
qpeDirButton->setUsesBigPixmap( useBigIcon );
qpeDirButton->setPixmap( Opie::Core::OResource::loadPixmap( "logo/opielogo", Opie::Core::OResource::SmallIcon ) );
qpeDirButton->setAutoRaise( true );
menuBar->insertItem( qpeDirButton );
cfButton = new QToolButton( 0, "CFButton");
cfButton->setUsesBigPixmap( useBigIcon );
cfButton->setPixmap( Opie::Core::OResource::loadPixmap( "pcmcia", Opie::Core::OResource::SmallIcon ) );
cfButton->setAutoRaise( true );
menuBar->insertItem( cfButton );
sdButton = new QToolButton( 0, "SDButton");
sdButton->setUsesBigPixmap( useBigIcon );
sdButton->setPixmap( Opie::Core::OResource::loadPixmap( "advancedfm/sdcard", Opie::Core::OResource::SmallIcon ) );
sdButton->setAutoRaise( true );
menuBar->insertItem( sdButton );
docButton = new QToolButton( 0,"docsButton");
docButton->setUsesBigPixmap( useBigIcon );
docButton->setPixmap( Opie::Core::OResource::loadPixmap( "DocsIcon", Opie::Core::OResource::SmallIcon ) );
docButton->setAutoRaise( true );
menuBar->insertItem( docButton );
homeButton = new QToolButton( 0, "homeButton");
homeButton->setUsesBigPixmap( useBigIcon );
homeButton->setPixmap( Opie::Core::OResource::loadPixmap( "home", Opie::Core::OResource::SmallIcon ) );
homeButton->setAutoRaise( true );
menuBar->insertItem( homeButton );
fileMenu->insertItem( tr( "Show Hidden Files" ), this, SLOT( showMenuHidden() ));
fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
fileMenu->insertSeparator();
fileMenu->insertItem( tr( "File Search" ), this, SLOT( openSearch() ));
fileMenu->insertSeparator();
fileMenu->insertItem( tr( "Make Directory" ), this, SLOT( mkDir() ));
fileMenu->insertItem( tr( "Rename" ), this, SLOT( rn() ));
fileMenu->insertItem( tr( "Run Command" ), this, SLOT( runCommandStd() ));
fileMenu->insertItem( tr( "Run Command with Output" ), this, SLOT( runCommand() ));
fileMenu->insertSeparator();
fileMenu->insertItem( tr( "Make Symlink" ), this, SLOT( mkSym() ));
fileMenu->insertItem( tr( "Select All" ), this, SLOT( selectAll() ));
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 80324eb..ed280aa 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -592,141 +592,155 @@ bool AdvancedFm::copyFile( const QString & src, const QString & dest ) {
} else {
success = false;
}
} else {
success = false;
}
srcFile.close();
destFile.close();
// Set file permissions
if( stat( QFile::encodeName(src), &status ) == 0 ) {
chmod( QFile::encodeName(dest), status.st_mode );
}
return success;
}
void AdvancedFm::runCommand() {
if( !CurrentView()->currentItem()) return;
QDir *thisDir = CurrentDir();
QString curFile;
curFile = thisDir->canonicalPath() +"/"+ CurrentView()->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
fileDlg->setInputText(curFile);
fileDlg->exec();
//QString command;
if( fileDlg->result() == 1 ) {
// odebug << fileDlg->LineEdit1->text() << oendl;
QStringList command;
command << "/bin/sh";
command << "-c";
command << fileDlg->LineEdit1->text();
Output *outDlg;
outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
QPEApplication::execDialog( outDlg );
qApp->processEvents();
}
}
void AdvancedFm::runCommandStd() {
if( !CurrentView()->currentItem()) return;
QString curFile;
QDir *thisDir = CurrentDir();
QListView *thisView = CurrentView();
if( thisView->currentItem())
curFile = thisDir->canonicalPath() +"/"+ thisView->currentItem()->text(0);
InputDialog *fileDlg;
fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
fileDlg->setInputText(curFile);
fileDlg->exec();
if( fileDlg->result() == 1 ) {
qApp->processEvents();
startProcess( (const QString)fileDlg->LineEdit1->text().latin1());
}
}
void AdvancedFm::fileStatus() {
- if( !CurrentView()->currentItem()) return;
- QString curFile;
- curFile = CurrentView()->currentItem()->text(0);
-
- QStringList command;
- command << "/bin/sh";
- command << "-c";
- command << "stat -l "+ curFile;
+ if( !CurrentView()->currentItem()) return;
+ QString curFile;
+ curFile = CurrentView()->currentItem()->text(0);
+ if(QFileInfo("/usr/bin/stat").exists()) {
+ QStringList command;
+ command << "/bin/sh";
+ command << "-c";
+ command << "stat -l "+ curFile;
+ Output *outDlg;
+ outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
+ QPEApplication::execDialog( outDlg );
+ } else {
+/* struct stat buf;
+ stat( curFile.local8bit(), &buf);
+
+ st_dev dev;
+ st_uid uid;
+ st_gid gid;
+ st_size size;
+ st_atime atime;
+ st_mtime mtime;
+ st_ctime ctime;
+ st_mode mode;
+*/
+ }
- Output *outDlg;
- outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
- QPEApplication::execDialog( outDlg );
- qApp->processEvents();
+ qApp->processEvents();
}
void AdvancedFm::mkDir() {
makeDir();
}
void AdvancedFm::rn() {
renameIt();
}
void AdvancedFm::del() {
doDelete();
}
void AdvancedFm::mkSym() {
QString cmd;
QStringList curFileList = getPath();
if( curFileList.count() > 0) {
QDir *thisDir = CurrentDir();
QDir * thatDir = OtherDir();
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
QString destName = thatDir->canonicalPath()+"/"+(*it);
if(destName.right(1) == "/") {
destName = destName.left( destName.length() -1);
}
QString curFile = thisDir->canonicalPath()+"/"+(*it);
if( curFile.right(1) == "/") {
curFile = curFile.left( curFile.length() -1);
}
cmd = "ln -s "+curFile+" "+destName;
// odebug << cmd << oendl;
startProcess( (const QString)cmd );
}
rePopulate();
setOtherTabCurrent();
}
}
void AdvancedFm::doBeam() {
Ir ir;
if(!ir.supported()) {
} else {
QStringList curFileList = getPath();
if( curFileList.count() > 0) {
for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
QString curFile = (*it);
QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile;
if( curFilePath.right(1) == "/") {
curFilePath = curFilePath.left( curFilePath.length() -1);
}
Ir *file = new Ir(this, "IR");
connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished(Ir*)));
file->send( curFilePath, curFile );
}
}
}
}
diff --git a/noncore/net/opie-smb/config.in b/noncore/net/opie-smb/config.in
new file mode 100644
index 0000000..4ff78fd
--- a/dev/null
+++ b/noncore/net/opie-smb/config.in
@@ -0,0 +1,4 @@
+ config OPIESMB
+ boolean "opie-smb (samba front end client for Opie)"
+ default "n"
+ depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE
diff --git a/noncore/net/opie-smb/main.cpp b/noncore/net/opie-smb/main.cpp
new file mode 100644
index 0000000..5fae972
--- a/dev/null
+++ b/noncore/net/opie-smb/main.cpp
@@ -0,0 +1,6 @@
+#include "qsmb.h"
+#include <opie2/oapplicationfactory.h>
+using namespace Opie::Core;
+OPIE_EXPORT_APP( OApplicationFactory<Qsmb> )
+
+
diff --git a/noncore/net/opie-smb/opie-smb.control b/noncore/net/opie-smb/opie-smb.control
new file mode 100644
index 0000000..ce5c6bf
--- a/dev/null
+++ b/noncore/net/opie-smb/opie-smb.control
@@ -0,0 +1,12 @@
+Package: smbclient
+Version: 1.0
+Architecture: arm
+Arch: arm
+Maintainer: Kurt Korbatits (support@midget.net.au)
+Section: Network
+Priority: optional
+Description: Gui front end for samba utilities.
+Source:
+Depends: smbclient
+
+
diff --git a/noncore/net/opie-smb/opie-smb.pro b/noncore/net/opie-smb/opie-smb.pro
new file mode 100644
index 0000000..90f9980
--- a/dev/null
+++ b/noncore/net/opie-smb/opie-smb.pro
@@ -0,0 +1,18 @@
+TEMPLATE = app
+CONFIG += qte warn_on quickapp debug
+HEADERS = qsmb.h
+SOURCES = main.cpp qsmb.cpp
+INCLUDEPATH += $(OPIEDIR)/include
+DEPENDPATH += $(OPIEDIR)/include
+DESTDIR = $(OPIEDIR)/bin
+LIBS += -lqpe -lopiecore2 -lopieui2 -lpthread
+
+# INCLUDEPATH += $(QPEDIR)/include
+# DEPENDPATH += $(QPEDIR)/include
+# LIBS +=
+
+INTERFACES = qsmbbase.ui
+TARGET = opie-smb
+
+#DEFINES += QT_QWS_NONOPIE
+include( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/opie-smb/qsmb.cpp b/noncore/net/opie-smb/qsmb.cpp
new file mode 100644
index 0000000..527ab38
--- a/dev/null
+++ b/noncore/net/opie-smb/qsmb.cpp
@@ -0,0 +1,402 @@
+#include "qsmb.h"
+#include <qpushbutton.h>
+#include <qpe/qpeapplication.h>
+
+#include <string.h>
+#include <qstring.h>
+#include <qdir.h>
+#include <qfileinfo.h>
+
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qcombobox.h>
+#include <qstringlist.h>
+#include <qcheckbox.h>
+#include <qtextview.h>
+#include <qmessagebox.h>
+
+
+#include <pthread.h>
+#include <signal.h>
+#include <ctype.h>
+
+
+#include <opie2/odebug.h>
+using namespace Opie::Core;
+
+
+Qsmb::Qsmb( QWidget* parent, const char* name, WFlags fl )
+ : FormQPESMBBase( parent, name, fl )
+{
+ connect(CBHost, SIGNAL(activated(int)), this, SLOT(hostSelected(int)));
+ connect(DoItBtn, SIGNAL(clicked()), this, SLOT(DoItClicked()));
+ connect(BtnScan, SIGNAL(clicked()), this, SLOT(scanClicked()));
+ connect(BtnClear, SIGNAL(clicked()), this, SLOT(clear()));
+
+//TODO configurable mount points
+ if(!QFileInfo("/mnt/samba1").exists()) system("mkdir /mnt/samba1");
+ if(!QFileInfo("/mnt/samba2").exists()) system("mkdir /mnt/samba2");
+ if(!QFileInfo("/mnt/samba2").exists()) system("mkdir /mnt/samba3");
+
+ mountpt->insertItem("/mnt/samba1",-1);
+ mountpt->insertItem("/mnt/samba2",-1);
+ mountpt->insertItem("/mnt/samba3",-1);
+
+ top_element = NULL;
+ scanning = false;
+}
+
+Qsmb::~Qsmb()
+{
+}
+
+void Qsmb::clear()
+{
+ if (scanning) return;
+ ListViewScan->clear();
+ TextViewOutput->setText("");
+ top_element = NULL;
+}
+
+void Qsmb::scanClicked()
+{
+ if (scanning) return;
+ pthread_create(&tpid, NULL, runit, (void *)this);
+}
+
+void Qsmb::DoItClicked()
+{
+
+ if(! ListViewScan->selectedItem()) {
+ QMessageBox::warning(this, tr("Error"),tr("<p>No share selected!</p>"));
+ return;
+ }
+ if (scanning) return;
+ pthread_create(&tpid, NULL, runitm, (void *)this);
+}
+
+void* runit(void* arg)
+{
+ Qsmb* caller = (Qsmb*)arg;
+ caller->scan();
+ return(0);
+}
+
+void* runitm(void* arg)
+{
+ Qsmb* caller = (Qsmb*)arg;
+ caller->DoIt();
+ return(0);
+}
+
+void Qsmb::scan()
+{
+ int i;
+
+ if (scanning) return;
+ scanning = true;
+
+ char match[512], lmhosts[512];
+ QString cmd;
+ char result[256];
+
+ FILE *pipe, *pipe2;
+
+ LScan->setText("Scanning...");
+ qApp->processEvents();
+
+ cmd = "ifconfig |grep 'addr:'|awk '{print $2}'|awk 'BEGIN{FS=\":\"}{print $2}'|sed 's/\\.[0-9]*$//'|head -n1";
+
+ owarn << "cmd: " << cmd << oendl;
+
+ /* run findsmb & read output */
+ if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+ TextViewOutput->append(result);
+ return;
+ }
+ while(fgets(result, 256, pipe) != NULL) {
+ strcpy( match, result);
+ match[5]='\0';
+ break;
+ }
+ owarn << "match: " << match << oendl;
+
+ cmd = "/usr/bin/findsmb";
+ owarn <<"cmd: " << cmd << oendl;
+
+ TextViewOutput->append(cmd);
+
+ snprintf(lmhosts, 512, "echo '127.0.0.1 localhost'>/etc/samba/lmhosts");
+
+ if ((pipe2 = popen(lmhosts, "r")) == NULL) {
+ snprintf(result, 256, "Error: Can't run %s", lmhosts);
+ //TextViewOutput->append(result);
+ return;
+ }
+
+ /* run command & read output */
+ if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+ TextViewOutput->append(result);
+ return;
+ }
+
+ /* parse output and display in ListViewScan */
+ while(fgets(result, 256, pipe) != NULL) {
+ /* put result into TextViewOutput */
+ TextViewOutput->append(result);
+
+ if( strstr(result, match) != NULL ) {
+ char ip_addr[256], host[256], *ptr1;
+
+ strcpy( ip_addr, result);
+ ptr1 = strchr(ip_addr,' ');
+ strcpy( host, ptr1);
+ ip_addr[ptr1 - ip_addr]='\0';
+
+ for(i = 0; i < 256; i++) {
+ if(host[i]!=' ') {
+ strcpy( host, host + i);
+ break;
+ }
+ }
+ ptr1 = strchr(host,' ');
+ host[ptr1 - host] = '\0';
+
+ owarn << "add host: " << host << oendl;
+
+ CBHost->insertItem( host, -1);
+ snprintf( lmhosts, 512, "echo '%s %s'>>/etc/samba/lmhosts", ip_addr,host);
+
+ owarn << "lmhosts: " << lmhosts << oendl;
+
+ if ((pipe2 = popen(lmhosts, "r")) == NULL) {
+ snprintf(result, 256, "Error: Can't run %s", lmhosts);
+ return;
+ }
+ }
+ }
+
+ TextViewOutput->append("\n\n============================================\n");
+ LScan->setText("");
+ scanning = false;
+}
+
+void Qsmb::hostSelected(int index)
+{
+ owarn << "hostSelected" << oendl;
+ int i;
+
+ QListViewItem *element;
+ QListViewItem *parent;
+
+ QString text = CBHost->currentText();
+
+ if (scanning) return;
+ scanning = true;
+
+ QString cmd;
+ char result[256];
+
+ FILE *pipe;
+
+ LScan->setText("Scanning...");
+
+ if((const char *)username->text() == '\0')
+ cmd = "/usr/bin/smbclient -L //"+CBHost->currentText()+" -N 2>&1 |grep Disk";
+ else
+ cmd = "/usr/bin/smbclient -L //"+CBHost->currentText()+" -N -U"+username->text()+":"+password->text()+" 2>&1 |grep Disk";
+
+ for(i = 0; i < 512; i++) {
+ if(cmd[i]==':') {
+ cmd[i]='%';
+ break;
+ }
+ if(cmd[i]=='\0')
+ break;
+ }
+
+ owarn << "i="<< index << "cmd:" << cmd << oendl;
+
+ TextViewOutput->append(cmd);
+
+ /* run smbclient & read output */
+ if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+// cmd = "Error: Can't run "+cmd;
+ TextViewOutput->append(result);
+ return;
+ }
+
+ /* parse output and display in ListViewScan */
+ while(fgets(result, 256, pipe) != NULL) {
+ /* put result into TextViewOutput */
+ TextViewOutput->append(result);
+
+ if( strchr(result, '$') == NULL ) {
+ char share[256], *ptr1;
+
+ strcpy(share,result);
+ ptr1 = strchr(share,' ');
+ share[ptr1 - share]='\0';
+
+ owarn<< "add share: " << share << oendl;
+
+ if(top_element != NULL) {
+ bool found = false;
+ element = top_element;
+
+ while(element != NULL && !found) {
+ if(strcmp( element->text(0).ascii(), share)==0) {
+ parent = element;
+ found = true;
+ }
+ element = element->nextSibling();
+ }
+
+ if(!found) {
+ element = new QListViewItem(ListViewScan,share);
+ element->setOpen(true);
+ parent=element;
+ }
+ } else {
+ element = new QListViewItem(ListViewScan,share);
+ element->setOpen(true);
+ top_element = element;
+ parent = element;
+ }
+ }
+ }
+
+ TextViewOutput->append("\n\n============================================\n");
+ LScan->setText("");
+ scanning = false;
+}
+
+void Qsmb::DoIt()
+{
+ QListViewItem *element;
+ element = ListViewScan->selectedItem();
+ if(!element) {
+ QMessageBox::warning(this, tr("Error!!"),tr("<p><b>No</b> share selected!!</p>"));
+ return;
+ }
+
+ if (scanning) return;
+ scanning = true;
+
+ int i;
+
+ char share[512];
+ QString cmd;
+ QString cmd2;
+ char result[256];
+// QString result;
+ QString text = mountpt->currentText();
+
+ FILE *pipe,*pipe2;
+
+ LScan->setText("Mounting...");
+ qApp->processEvents();
+
+ cmd = "mkdir -p "+ text;
+
+ owarn<<"cmd: "<< cmd << oendl;
+
+ /* make sure mount exists! */
+ if ((pipe2 = popen(cmd.latin1(), "r")) == NULL) {
+
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+ // result = "Error: Can't run " + cmd;
+ TextViewOutput->append(result);
+ return;
+ }
+
+ while(fgets(result, 256, pipe2) != NULL) {
+ /* put result into TextViewOutput */
+ TextViewOutput->append(result);
+ }
+
+
+ strcpy(share,(const char *)element->text(0));
+
+ for(i = 0; i < 256; i++) {
+ if(isalpha( share[i])) {
+ strcpy( share, share + i);
+ break;
+ }
+ }
+
+ cmd = "/usr/bin/smbmount //"+CBHost->currentText()+"/"+share+" "+mountpt->currentText()+" -U"+username->text()+":"+password->text();
+
+ for(i = 0; i < 512; i++) {
+ if(cmd[i]==':') {
+ cmd[i]='%';
+ break;
+ }
+ if(cmd[i]=='\0')
+ break;
+ }
+
+ owarn << "cmd: " << cmd << oendl;
+ TextViewOutput->append(cmd.latin1());
+
+
+ if(onbootBtn->isChecked()) {
+ owarn << "Saving Setting permanently..." << oendl;
+ cmd2 = "echo '" + cmd + "'>/opt/QtPalmtop/etc/samba.env";
+
+ /* run command & read output */
+ if ((pipe = popen(cmd2.latin1(), "r")) == NULL) {
+
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+// result = "Error: Can't run "+ cmd;
+ //TextViewOutput->append(result);
+ return;
+ }
+ /* parse output and display in ListViewScan */
+ while(fgets(result, 256, pipe) != NULL) {
+ /* put result into TextViewOutput */
+ //TextViewOutput->append(result);
+ }
+ }
+
+ /* run command & read output */
+ if ((pipe = popen(cmd.latin1(), "r")) == NULL) {
+
+// result = "Error: Can't run "+ cmd;
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+
+ TextViewOutput->append(result);
+ return;
+ }
+
+ /* parse output and display in ListViewScan */
+ while(fgets(result, 256, pipe) != NULL) {
+ /* put result into TextViewOutput */
+ TextViewOutput->append(result);
+ }
+ TextViewOutput->append("\n\n================CheckMounts==================\n");
+ LScan->setText("");
+
+ cmd = "/bin/mount 2>&1";
+ owarn << "cmd: " << cmd << oendl;
+
+ if ((pipe2 = popen(cmd.latin1(), "r")) == NULL) {
+
+ snprintf(result, 256, "Error: Can't run %s", cmd.latin1());
+// result = "Error: Can't run "+ cmd;
+
+ TextViewOutput->append(result);
+ return;
+ }
+ /* parse output and display in ListViewScan */
+ while(fgets(result, 256, pipe2) != NULL) {
+ /* put result into TextViewOutput */
+ TextViewOutput->append(result);
+ }
+
+ TextViewOutput->append("\n\n============================================\n");
+ scanning = false;
+}
diff --git a/noncore/net/opie-smb/qsmb.h b/noncore/net/opie-smb/qsmb.h
new file mode 100644
index 0000000..8fefe91
--- a/dev/null
+++ b/noncore/net/opie-smb/qsmb.h
@@ -0,0 +1,39 @@
+#ifndef QSMB_H
+#define QSMB_H
+
+#include "qsmbbase.h"
+
+#include <stdlib.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <qlistview.h>
+#include <pthread.h>
+
+class Qsmb : public FormQPESMBBase
+{
+ Q_OBJECT
+
+public:
+ static QString appName() { return QString::fromLatin1("opie-smb"); }
+ Qsmb( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~Qsmb();
+ void scan();
+ void DoIt();
+
+private:
+ QListViewItem *top_element;
+ QComboBox *hosts;
+ pthread_t tpid;
+ bool scanning;
+
+public slots:
+ void clear();
+ void scanClicked();
+ void hostSelected(int);
+ void DoItClicked();
+};
+void* runit(void *arg);
+void* runitm(void *arg);
+
+#endif // QSMB_H
diff --git a/noncore/net/opie-smb/qsmbbase.cpp b/noncore/net/opie-smb/qsmbbase.cpp
new file mode 100644
index 0000000..21cd306
--- a/dev/null
+++ b/noncore/net/opie-smb/qsmbbase.cpp
@@ -0,0 +1,146 @@
+/****************************************************************************
+** Form implementation generated from reading ui file 'qsmbbase.ui'
+**
+** Created: Thu Aug 11 19:30:44 2005
+** by: The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "qsmbbase.h"
+
+#include <qcheckbox.h>
+#include <qcombobox.h>
+#include <qheader.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qlistview.h>
+#include <qpushbutton.h>
+#include <qtabwidget.h>
+#include <qtextview.h>
+#include <qlayout.h>
+#include <qvariant.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ * Constructs a FormQPESMBBase which is a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'
+ */
+FormQPESMBBase::FormQPESMBBase( QWidget* parent, const char* name, WFlags fl )
+ : QWidget( parent, name, fl )
+{
+ if ( !name )
+ setName( "FormQPESMBBase" );
+ resize( 254, 352 );
+ QFont f( font() );
+ setFont( f );
+ setCaption( tr( "Opie Smb" ) );
+ FormQPESMBBaseLayout = new QGridLayout( this );
+ FormQPESMBBaseLayout->setSpacing( 2 );
+ FormQPESMBBaseLayout->setMargin( 0 );
+
+ TabWidget2 = new QTabWidget( this, "TabWidget2" );
+
+ tab = new QWidget( TabWidget2, "tab" );
+ tabLayout = new QGridLayout( tab );
+ tabLayout->setSpacing( 0 );
+ tabLayout->setMargin( 2 );
+
+ CBHost = new QComboBox( FALSE, tab, "CBHost" );
+
+ tabLayout->addMultiCellWidget( CBHost, 1, 1, 0, 3 );
+
+ mountpt = new QComboBox( FALSE, tab, "mountpt" );
+
+ tabLayout->addMultiCellWidget( mountpt, 4, 4, 1, 3 );
+
+ LScan = new QLabel( tab, "LScan" );
+ LScan->setText( tr( "" ) );
+
+ tabLayout->addWidget( LScan, 0, 3 );
+
+ textLabel1 = new QLabel( tab, "textLabel1" );
+ textLabel1->setText( tr( "mount pt:" ) );
+
+ tabLayout->addWidget( textLabel1, 4, 0 );
+
+ ListViewScan = new QListView( tab, "ListViewScan" );
+ ListViewScan->addColumn( tr( "Shares" ) );
+
+ tabLayout->addMultiCellWidget( ListViewScan, 2, 2, 0, 3 );
+
+ BtnScan = new QPushButton( tab, "BtnScan" );
+ BtnScan->setText( tr( "&Scan" ) );
+
+ tabLayout->addMultiCellWidget( BtnScan, 0, 0, 0, 1 );
+
+ BtnClear = new QPushButton( tab, "BtnClear" );
+ BtnClear->setText( tr( "&Clear" ) );
+
+ tabLayout->addWidget( BtnClear, 0, 2 );
+
+ onbootBtn = new QCheckBox( tab, "onbootBtn" );
+ onbootBtn->setText( tr( "Reconnect on boot" ) );
+
+ tabLayout->addMultiCellWidget( onbootBtn, 3, 3, 0, 2 );
+
+ DoItBtn = new QPushButton( tab, "DoItBtn" );
+ DoItBtn->setText( tr( "&Login" ) );
+
+ tabLayout->addMultiCellWidget( DoItBtn, 5, 5, 0, 1 );
+
+ Layout6 = new QGridLayout;
+ Layout6->setSpacing( 6 );
+ Layout6->setMargin( 0 );
+
+ Layout2 = new QHBoxLayout;
+ Layout2->setSpacing( 6 );
+ Layout2->setMargin( 0 );
+
+ pwdlabel = new QLabel( tab, "pwdlabel" );
+ pwdlabel->setText( tr( "password" ) );
+ Layout2->addWidget( pwdlabel );
+
+ password = new QLineEdit( tab, "password" );
+ Layout2->addWidget( password );
+
+ Layout6->addLayout( Layout2, 1, 0 );
+
+ Layout5 = new QHBoxLayout;
+ Layout5->setSpacing( 6 );
+ Layout5->setMargin( 0 );
+
+ usrlabel = new QLabel( tab, "usrlabel" );
+ usrlabel->setText( tr( "username" ) );
+ Layout5->addWidget( usrlabel );
+
+ username = new QLineEdit( tab, "username" );
+ Layout5->addWidget( username );
+
+ Layout6->addLayout( Layout5, 0, 0 );
+
+ tabLayout->addMultiCellLayout( Layout6, 5, 5, 2, 3 );
+ TabWidget2->insertTab( tab, tr( "Scan" ) );
+
+ tab_2 = new QWidget( TabWidget2, "tab_2" );
+ tabLayout_2 = new QGridLayout( tab_2 );
+ tabLayout_2->setSpacing( 6 );
+ tabLayout_2->setMargin( 11 );
+
+ TextViewOutput = new QTextView( tab_2, "TextViewOutput" );
+ TextViewOutput->setTextFormat( QTextView::PlainText );
+
+ tabLayout_2->addWidget( TextViewOutput, 0, 0 );
+ TabWidget2->insertTab( tab_2, tr( "SMB Output" ) );
+
+ FormQPESMBBaseLayout->addWidget( TabWidget2, 0, 0 );
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+FormQPESMBBase::~FormQPESMBBase()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
diff --git a/noncore/net/opie-smb/qsmbbase.h b/noncore/net/opie-smb/qsmbbase.h
new file mode 100644
index 0000000..3ee2f57
--- a/dev/null
+++ b/noncore/net/opie-smb/qsmbbase.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+** Form interface generated from reading ui file 'qsmbbase.ui'
+**
+** Created: Thu Aug 11 19:30:41 2005
+** by: The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#ifndef FORMQPESMBBASE_H
+#define FORMQPESMBBASE_H
+
+#include <qvariant.h>
+#include <qwidget.h>
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QCheckBox;
+class QComboBox;
+class QLabel;
+class QLineEdit;
+class QListView;
+class QListViewItem;
+class QPushButton;
+class QTabWidget;
+class QTextView;
+
+class FormQPESMBBase : public QWidget
+{
+ Q_OBJECT
+
+public:
+ FormQPESMBBase( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~FormQPESMBBase();
+
+ QTabWidget* TabWidget2;
+ QWidget* tab;
+ QComboBox* CBHost;
+ QComboBox* mountpt;
+ QLabel* LScan;
+ QLabel* textLabel1;
+ QListView* ListViewScan;
+ QPushButton* BtnScan;
+ QPushButton* BtnClear;
+ QCheckBox* onbootBtn;
+ QPushButton* DoItBtn;
+ QLabel* pwdlabel;
+ QLineEdit* password;
+ QLabel* usrlabel;
+ QLineEdit* username;
+ QWidget* tab_2;
+ QTextView* TextViewOutput;
+
+protected:
+ QGridLayout* FormQPESMBBaseLayout;
+ QGridLayout* tabLayout;
+ QGridLayout* Layout6;
+ QHBoxLayout* Layout2;
+ QHBoxLayout* Layout5;
+ QGridLayout* tabLayout_2;
+};
+
+#endif // FORMQPESMBBASE_H
diff --git a/noncore/net/opie-smb/qsmbbase.ui b/noncore/net/opie-smb/qsmbbase.ui
new file mode 100644
index 0000000..35a1aec
--- a/dev/null
+++ b/noncore/net/opie-smb/qsmbbase.ui
@@ -0,0 +1,298 @@
+<!DOCTYPE UI><UI>
+<class>FormQPESMBBase</class>
+<widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>FormQPESMBBase</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>254</width>
+ <height>352</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>font</name>
+ <font>
+ </font>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Opie Smb</string>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QTabWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TabWidget2</cstring>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>Scan</string>
+ </attribute>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>2</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>0</number>
+ </property>
+ <widget row="1" column="0" rowspan="1" colspan="4" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>CBHost</cstring>
+ </property>
+ </widget>
+ <widget row="4" column="1" rowspan="1" colspan="3" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>mountpt</cstring>
+ </property>
+ </widget>
+ <widget row="0" column="3" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>LScan</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string></string>
+ </property>
+ </widget>
+ <widget row="4" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>textLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>mount pt:</string>
+ </property>
+ </widget>
+ <widget row="2" column="0" rowspan="1" colspan="4" >
+ <class>QListView</class>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Shares</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>ListViewScan</cstring>
+ </property>
+ </widget>
+ <widget row="0" column="0" rowspan="1" colspan="2" >
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>BtnScan</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&amp;Scan</string>
+ </property>
+ </widget>
+ <widget row="0" column="2" >
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>BtnClear</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&amp;Clear</string>
+ </property>
+ </widget>
+ <widget row="3" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>onbootBtn</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Reconnect on boot</string>
+ </property>
+ </widget>
+ <widget row="5" column="0" rowspan="1" colspan="2" >
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>DoItBtn</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&amp;Login</string>
+ </property>
+ </widget>
+ <widget row="5" column="2" rowspan="1" colspan="2" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout6</cstring>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="1" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout2</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>pwdlabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>password</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>password</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout5</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>usrlabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>username</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>username</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>tab</cstring>
+ </property>
+ <attribute>
+ <name>title</name>
+ <string>SMB Output</string>
+ </attribute>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QTextView</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextViewOutput</cstring>
+ </property>
+ <property stdset="1">
+ <name>textFormat</name>
+ <enum>PlainText</enum>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </widget>
+ </grid>
+</widget>
+</UI>
diff --git a/noncore/settings/netsystemtime/formattabwidget.cpp b/noncore/settings/netsystemtime/formattabwidget.cpp
index 7d01bff..a037881 100644
--- a/noncore/settings/netsystemtime/formattabwidget.cpp
+++ b/noncore/settings/netsystemtime/formattabwidget.cpp
@@ -9,135 +9,135 @@
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
: ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
:     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = 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.
*/
#include "formattabwidget.h"
#include <qpe/config.h>
#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
#include <qpe/qcopenvelope_qws.h>
#endif
#include <qcombobox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qscrollview.h>
#include <qtimer.h>
FormatTabWidget::FormatTabWidget( QWidget *parent )
: QWidget( parent, 0x0, 0 )
{
QVBoxLayout *tmpvb = new QVBoxLayout( this );
QScrollView *sv = new QScrollView( this );
tmpvb->addWidget( sv, 0, 0 );
sv->setResizePolicy( QScrollView::AutoOneFit );
sv->setFrameStyle( QFrame::NoFrame );
QWidget *container = new QWidget( sv->viewport() );
sv->addChild( container );
QGridLayout *layout = new QGridLayout( container );
layout->setMargin( 2 );
layout->setSpacing( 4 );
// Time format selector
layout->addWidget( new QLabel( tr( "Time format" ), container ), 0, 0 );
cbAppletFormat = new QComboBox( container );
cbAppletFormat->insertItem( tr( "hh:mm" ), 0 );
cbAppletFormat->insertItem( tr( "D/M hh:mm" ), 1 );
cbAppletFormat->insertItem( tr( "M/D hh:mm" ), 2 );
layout->addWidget( cbAppletFormat, 0, 1 );
// 12/24 hour selector
layout->addWidget( new QLabel( tr( "12/24 hour" ), container ), 1, 0 );
cbAmpm = new QComboBox( container );
cbAmpm->insertItem( tr( "24 hour" ), 0 );
cbAmpm->insertItem( tr( "12 hour" ), 1 );
- connect( cbAmpm, SIGNAL(activated(int)), this, SIGNAL(show12HourTime(int)) );
+ connect( cbAmpm, SIGNAL(activated( int)), this, SIGNAL(show12HourTime( int)) );
layout->addWidget( cbAmpm, 1, 1 );
// Date format selector
layout->addWidget( new QLabel( tr( "Date format" ), container ), 2, 0 );
cbDateFormat = new QComboBox( container );
- connect( cbDateFormat, SIGNAL(activated(int)), this, SLOT(slotDateFormatChanged(int)) );
+ connect( cbDateFormat, SIGNAL(activated( int)), this, SLOT(slotDateFormatChanged( int)) );
layout->addWidget( cbDateFormat, 2, 1 );
// Week starts on selector
layout->addWidget( new QLabel( tr( "Weeks start on" ), container ), 3, 0 );
cbWeekStart = new QComboBox( container );
cbWeekStart->insertItem( tr( "Sunday" ), 0 );
cbWeekStart->insertItem( tr( "Monday" ), 1 );
connect( cbWeekStart, SIGNAL(activated(int)), this, SIGNAL(weekStartChanged(int)) );
layout->addWidget( cbWeekStart, 3, 1 );
// Initialize values
Config config( "qpe" );
config.setGroup( "Date" );
cbAppletFormat->setCurrentItem( config.readNumEntry( "ClockApplet", 0 ) );
DateFormat df(QChar(config.readEntry("Separator", "/")[0]),
(DateFormat::Order)config .readNumEntry("ShortOrder", DateFormat::DayMonthYear),
(DateFormat::Order)config.readNumEntry("LongOrder", DateFormat::DayMonthYear));
int currentdf = 0;
date_formats[0] = DateFormat( '/', DateFormat::MonthDayYear );
cbDateFormat->insertItem( tr( date_formats[0].toNumberString() ) );
date_formats[1] = DateFormat( '.', DateFormat::DayMonthYear );
if ( df == date_formats[1] )
currentdf = 1;
cbDateFormat->insertItem( tr( date_formats[1].toNumberString() ) );
date_formats[2] = DateFormat( '-', DateFormat::YearMonthDay, DateFormat::DayMonthYear );
if ( df == date_formats[2] )
currentdf = 2;
cbDateFormat->insertItem( tr( date_formats[2].toNumberString() ) ); //ISO8601
date_formats[3] = DateFormat( '/', DateFormat::DayMonthYear );
if ( df == date_formats[3] )
currentdf = 3;
cbDateFormat->insertItem( tr( date_formats[3].toNumberString() ) );
cbDateFormat->setCurrentItem( currentdf );
//dateButton->setDateFormat( df );
config.setGroup( "Time" );
cbAmpm->setCurrentItem( config.readBoolEntry( "AMPM", FALSE ) ? 1 : 0 );
cbWeekStart->setCurrentItem( config.readBoolEntry( "MONDAY", TRUE ) ? 1 : 0 );
// Send initial configuration options
QTimer::singleShot( 1200, this, SLOT(sendOptions()) );
}
FormatTabWidget::~FormatTabWidget()
{
}
void FormatTabWidget::saveSettings( bool commit )
{
int ampm = cbAmpm->currentItem();
int weekstart = cbWeekStart->currentItem();
DateFormat df = date_formats[cbDateFormat->currentItem()];
int appletformat = cbAppletFormat->currentItem();
if ( commit )
{
// Write settings to config file
Config config("qpe");
config.setGroup( "Time" );
config.writeEntry( "AMPM", ampm );
config.writeEntry( "MONDAY", weekstart );
diff --git a/noncore/tools/calc2/binary/binary.pro b/noncore/tools/calc2/binary/binary.pro
index 1348d00..9cbb0ff 100644
--- a/noncore/tools/calc2/binary/binary.pro
+++ b/noncore/tools/calc2/binary/binary.pro
@@ -1,17 +1,15 @@
-#TEMPLATE = lib
-#CONFIG -= moc
-#CONFIG += qt
-## Input
-#INTERFACES += binary.ui
-#HEADERS = binaryimpl.h \
-# binaryfactory.h
-#SOURCES = binaryimpl.cpp \
-# binaryfactory.cpp
-#INCLUDEPATH += $(OPIEDIR)/include \
-# $(OPIEDIR)/calc2
-#DEPENDPATH += $(OPIEDIR)/include
-#DESTDIR = $(OPIEDIR)/plugins/calculator
-#TARGET = binary
-#
+TEMPLATE = lib
+CONFIG += qt
+INTERFACES += binary.ui
+HEADERS = binaryimpl.h \
+ binaryfactory.h
+SOURCES = binaryimpl.cpp \
+ binaryfactory.cpp
+INCLUDEPATH += $(OPIEDIR)/include \
+ $(OPIEDIR)/calc2
+DEPENDPATH += $(OPIEDIR)/include
+DESTDIR = $(OPIEDIR)/plugins/calculator
+TARGET = binary
+
include( $(OPIEDIR)/include.pro )
diff --git a/noncore/tools/calc2/binary/binaryfactory.cpp b/noncore/tools/calc2/binary/binaryfactory.cpp
index 110334f..bccc9ca 100644
--- a/noncore/tools/calc2/binary/binaryfactory.cpp
+++ b/noncore/tools/calc2/binary/binaryfactory.cpp
@@ -1,51 +1,51 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "binaryfactory.h"
#include "binaryimpl.h"
-#include <engine.h>
+#include "../engine.h"
QWidget *BinaryInterface::getPlugin ( Engine *e, QWidget *parent ) {
if ( !input )
input = new FormBinaryImpl ( e, parent );
return input;
}
#ifndef QT_NO_COMPONENT
QRESULT BinaryInterface::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
{
*iface = 0;
if ( uuid == IID_QUnknown )
*iface = this;
else if ( uuid == IID_Calc )
*iface = this;
if ( *iface )
(*iface)->addRef();
return QS_OK;
}
Q_EXPORT_INTERFACE()
{
Q_CREATE_INSTANCE( BinaryInterface )
}
#endif
diff --git a/noncore/tools/calc2/binary/binaryfactory.h b/noncore/tools/calc2/binary/binaryfactory.h
index e015384..237a926 100644
--- a/noncore/tools/calc2/binary/binaryfactory.h
+++ b/noncore/tools/calc2/binary/binaryfactory.h
@@ -1,46 +1,46 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef BINARYIMPL_H
#define BINARYIMPL_H
#include "binaryimpl.h"
-#include <plugininterface.h>
-#include <engine.h>
+#include "../plugininterface.h"
+#include "../engine.h"
class BinaryInterface : public CalcInterface
{
public:
BinaryInterface(){input = 0;};
virtual ~BinaryInterface(){};
#ifndef QT_NO_COMPONENT
QRESULT queryInterface( const QUuid&, QUnknownInterface** );
Q_REFCOUNT
#endif
QWidget *getPlugin( Engine *, QWidget *parent );
private:
FormBinaryImpl *input;
ulong ref;
};
#endif
diff --git a/noncore/tools/calc2/binary/binaryimpl.cpp b/noncore/tools/calc2/binary/binaryimpl.cpp
index ffc56ad..ecbf232 100644
--- a/noncore/tools/calc2/binary/binaryimpl.cpp
+++ b/noncore/tools/calc2/binary/binaryimpl.cpp
@@ -1,86 +1,86 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "binaryimpl.h"
-#include <instruction.h>
+#include "../instruction.h"
class iXOR : public Instruction {
public:
iXOR():Instruction(){};
~iXOR(){};
Data eval(Data num) {
Data result;
result.i = num.i ^ acc.i;
return result;
};
};
class iAND : public Instruction {
public:
iAND():Instruction(){};
~iAND(){};
Data eval(Data num) {
Data result;
result.i = num.i & acc.i;
return result;
};
};
class iNOT : public Instruction {
public:
iNOT():Instruction(){};
~iNOT(){};
Data eval(Data num) {
Data result;
result.i = ~ num.i;
return result;
};
};
class iOR : public Instruction {
public:
iOR():Instruction(){};
~iOR(){};
Data eval(Data num) {
Data result;
result.i = num.i | acc.i;
return result;
};
};
class iLSH : public Instruction {
public:
iLSH():Instruction(){};
~iLSH(){};
Data eval(Data num) {
Data result;
result.i = num.i << 1;
return result;
};
};
class iRSH : public Instruction {
public:
iRSH():Instruction(){};
~iRSH(){};
Data eval(Data num) {
Data result;
result.i = num.i >> 1;
return result;
};
};
void FormBinaryImpl::val0Clicked() {
engine->pushValue('0');
diff --git a/noncore/tools/calc2/binary/binaryimpl.h b/noncore/tools/calc2/binary/binaryimpl.h
index bf9e3a7..7bf123a 100644
--- a/noncore/tools/calc2/binary/binaryimpl.h
+++ b/noncore/tools/calc2/binary/binaryimpl.h
@@ -1,50 +1,50 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef FORMBINARYINPUTIMPL
#define FORMBINARYINPUTIMPL
#include "binary.h"
-#include <engine.h>
+#include "../engine.h"
class FormBinaryImpl : public FormBinary {
Q_OBJECT
public:
FormBinaryImpl(Engine *e,QWidget *p) : FormBinary (p,"Binary") {
engine = e;
engine->setRepresentation(rBin);
};
~FormBinaryImpl(){};
private:
Engine *engine;
private slots:
void val0Clicked();
void val1Clicked();
void XORClicked();
void ANDClicked();
void NOTClicked();
void ORClicked();
void LSHClicked();
void RSHClicked();
};
#endif
diff --git a/noncore/tools/calc2/calc.cpp b/noncore/tools/calc2/calc.cpp
index c7656bf..8c50c2c 100644
--- a/noncore/tools/calc2/calc.cpp
+++ b/noncore/tools/calc2/calc.cpp
@@ -7,98 +7,97 @@
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qvaluelist.h>
#include <qpe/qpeapplication.h>
#include <qdir.h>
#include <qwidgetstack.h>
#include "calc.h"
#include "plugininterface.h"
calc::calc (QWidget * p, const char *n):QWidget (p, n)
{
setCaption (tr ("Calculator"));
// widgets
LCD = new QLCDNumber (this);
LCD->setMaximumSize (QSize (240, 30));
LCD->setNumDigits(12);
LCD->setSegmentStyle(QLCDNumber::Filled);
pluginWidgetStack = new QWidgetStack (this);
// layout widgets
calculatorLayout = new QVBoxLayout (this);
calculatorLayout->addWidget (LCD);
calculatorLayout->addWidget (pluginWidgetStack);
// no formatting of display for now
connect (&engine, SIGNAL(display(double)), LCD, SLOT(display(double)));
connect (&engine, SIGNAL(display(const QString&)), LCD, SLOT(display(const QString&)));
connect (&engine, SIGNAL(setBinMode()), LCD, SLOT(setBinMode()));
connect (&engine, SIGNAL(setOctMode()), LCD, SLOT(setOctMode()));
connect (&engine, SIGNAL(setDecMode()), LCD, SLOT(setDecMode()));
connect (&engine, SIGNAL(setHexMode()), LCD, SLOT(setHexMode()));
#ifndef NO_PLUGINS
// load plugins
QValueList < Plugin >::Iterator mit;
for (mit = pluginList.begin (); mit != pluginList.end (); ++mit) {
(*mit).interface->release ();
(*mit).library->unload ();
delete (*mit).library;
}
pluginList.clear ();
QString path = QPEApplication::qpeDir() + "plugins/calculator";
QDir dir (path, "lib*.so");
QStringList list = dir.entryList ();
QStringList::Iterator it;
for (it = list.begin (); it != list.end (); ++it) {
CalcInterface *iface = 0;
QLibrary *lib = new QLibrary (path + "/" + *it);
-
Plugin plugin;
plugin.pluginWidget = 0;
if (lib->queryInterface (IID_Calc, (QUnknownInterface **) & iface) ==
QS_OK) {
plugin.library = lib;
plugin.interface = iface;
plugin.pluginWidget = plugin.interface->getPlugin(&engine,pluginWidgetStack);
if (plugin.pluginWidget)
pluginWidgetStack->addWidget (plugin.pluginWidget, pluginList.count());
pluginList.append (plugin);
} else {
delete lib;
}
}
setMode (1);
#else
// load simple interface
#endif
}
calc::~calc ()
{
#ifndef NO_PLUGINS
QValueList < Plugin >::Iterator mit;
for (mit = pluginList.begin (); mit != pluginList.end (); ++mit) {
(*mit).interface->release ();
(*mit).library->unload ();
delete (*mit).library;
}
#endif
}
diff --git a/noncore/tools/calc2/simple/simple.pro b/noncore/tools/calc2/simple/simple.pro
index 2312f99..dde5e7d 100644
--- a/noncore/tools/calc2/simple/simple.pro
+++ b/noncore/tools/calc2/simple/simple.pro
@@ -1,14 +1,12 @@
-#TEMPLATE = lib
-#CONFIG -= moc
-#CONFIG += qt
-## Input
-#INTERFACES += simple.ui
-#HEADERS = simpleimpl.h simplefactory.h stdinstructions.h
-#SOURCES = simpleimpl.cpp simplefactory.cpp
-#INCLUDEPATH += $(OPIEDIR)/include \
-# $(OPIEDIR)/calc2
-#DEPENDPATH += $(OPIEDIR)/include
-#DESTDIR = $(OPIEDIR)/plugins/calculator
-#
+TEMPLATE = lib
+CONFIG += qt
+INTERFACES += simple.ui
+HEADERS = simpleimpl.h simplefactory.h stdinstructions.h
+SOURCES = simpleimpl.cpp simplefactory.cpp
+INCLUDEPATH += $(OPIEDIR)/include \
+ $(OPIEDIR)/calc2
+DEPENDPATH += $(OPIEDIR)/include
+DESTDIR = $(OPIEDIR)/plugins/calculator
+
include( $(OPIEDIR)/include.pro )
diff --git a/noncore/tools/calc2/simple/simplefactory.cpp b/noncore/tools/calc2/simple/simplefactory.cpp
index 515418f..52b090b 100644
--- a/noncore/tools/calc2/simple/simplefactory.cpp
+++ b/noncore/tools/calc2/simple/simplefactory.cpp
@@ -1,51 +1,51 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include "simplefactory.h"
#include "simpleimpl.h"
-#include <engine.h>
+#include "../engine.h"
QWidget *SimpleInterface::getPlugin ( Engine *e, QWidget *parent ) {
if ( !input )
input = new FormSimpleImpl ( e, parent );
return input;
}
#ifndef QT_NO_COMPONENT
QRESULT SimpleInterface::queryInterface( const QUuid &uuid, QUnknownInterface **iface )
{
*iface = 0;
if ( uuid == IID_QUnknown )
*iface = this;
else if ( uuid == IID_Calc )
*iface = this;
if ( *iface )
(*iface)->addRef();
return QS_OK;
}
Q_EXPORT_INTERFACE()
{
Q_CREATE_INSTANCE( SimpleInterface )
}
#endif
diff --git a/noncore/tools/calc2/simple/simplefactory.h b/noncore/tools/calc2/simple/simplefactory.h
index e1022fd..460c2b9 100644
--- a/noncore/tools/calc2/simple/simplefactory.h
+++ b/noncore/tools/calc2/simple/simplefactory.h
@@ -1,46 +1,46 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef BINARYIMPL_H
#define BINARYIMPL_H
#include "simpleimpl.h"
-#include <plugininterface.h>
-#include <engine.h>
+#include "../plugininterface.h"
+#include "../engine.h"
class SimpleInterface : public CalcInterface
{
public:
SimpleInterface(){input = 0;};
virtual ~SimpleInterface(){};
#ifndef QT_NO_COMPONENT
QRESULT queryInterface( const QUuid&, QUnknownInterface** );
Q_REFCOUNT
#endif
QWidget *getPlugin( Engine *, QWidget *parent );
private:
FormSimpleImpl *input;
ulong ref;
};
#endif
diff --git a/noncore/tools/calc2/simple/simpleimpl.cpp b/noncore/tools/calc2/simple/simpleimpl.cpp
index f71f000..447cbdf 100644
--- a/noncore/tools/calc2/simple/simpleimpl.cpp
+++ b/noncore/tools/calc2/simple/simpleimpl.cpp
@@ -1,89 +1,89 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qpushbutton.h>
#include <qlcdnumber.h>
#include "simpleimpl.h"
-#include <stdinstructions.h>
+#include "../stdinstructions.h"
void FormSimpleImpl::CEClicked() {
engine->hardReset();
}
void FormSimpleImpl::MCClicked() {
engine->memClear();
}
void FormSimpleImpl::MRClicked() {
engine->memRecall();
}
void FormSimpleImpl::MPlusClicked() {
engine->memSave();
}
void FormSimpleImpl::evalClicked() {
engine->eval();
}
void FormSimpleImpl::addClicked ()
{
engine->pushInstruction (new iAdd ());
}
void FormSimpleImpl::subClicked ()
{
engine->pushInstruction (new iSub ());
}
void FormSimpleImpl::mulClicked ()
{
engine->pushInstruction (new iMul ());
}
void FormSimpleImpl::divClicked ()
{
engine->pushInstruction (new iDiv ());
}
void FormSimpleImpl::decimalClicked ()
{
engine->pushValue ('.');
}
void FormSimpleImpl::val1Clicked ()
{
engine->pushValue ('1');
}
void FormSimpleImpl::val2Clicked ()
{
engine->pushValue ('2');
}
void FormSimpleImpl::val3Clicked ()
{
engine->pushValue ('3');
}
void FormSimpleImpl::val4Clicked ()
{
engine->pushValue ('4');
diff --git a/noncore/tools/calc2/simple/simpleimpl.h b/noncore/tools/calc2/simple/simpleimpl.h
index a2db154..b7b83e2 100644
--- a/noncore/tools/calc2/simple/simpleimpl.h
+++ b/noncore/tools/calc2/simple/simpleimpl.h
@@ -1,65 +1,65 @@
/**********************************************************************
** Copyright (C) 2000 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#ifndef STANDARDIMPL_H
#define STANDARDIMPL_H
#include <qpe/qmath.h>
#include <qlcdnumber.h>
#include "simple.h"
-#include "engine.h"
-#include "instruction.h"
+#include "../engine.h"
+#include "../instruction.h"
class FormSimpleImpl:public FormSimple {
Q_OBJECT
public:
FormSimpleImpl (Engine *e, QWidget * parent = 0, const char *name = 0)
:FormSimple (parent, name) {engine = e;engine->setRepresentation(rDouble);};
~FormSimpleImpl () { };
private:
Engine *engine;
private slots:
void MPlusClicked();
void MCClicked();
void MRClicked();
void CEClicked();
void evalClicked();
void addClicked ();
void decimalClicked ();
void divClicked ();
void mulClicked ();
void subClicked ();
void val0Clicked ();
void val1Clicked ();
void val2Clicked ();
void val3Clicked ();
void val4Clicked ();
void val5Clicked ();
void val6Clicked ();
void val7Clicked ();
void val8Clicked ();
void val9Clicked ();
};
#endif