author | llornkcor <llornkcor> | 2005-08-11 10:10:40 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2005-08-11 10:10:40 (UTC) |
commit | 6040d26c56a95d9f5bd09688e22009fc5b5e124d (patch) (side-by-side diff) | |
tree | 53ad03c346cc006d17093918d5cf6bbb09aa4b3b | |
parent | 8938048502047f781447ed24351512cdca997a2e (diff) | |
download | opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.zip opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.tar.gz opie-6040d26c56a95d9f5bd09688e22009fc5b5e124d.tar.bz2 |
add opie-smb
32 files changed, 1422 insertions, 107 deletions
diff --git a/apps/Applications/opie-smb.desktop b/apps/Applications/opie-smb.desktop new file mode 100644 index 0000000..f3fe239 --- a/dev/null +++ b/apps/Applications/opie-smb.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Comment=Samba Client Utility +Exec=opie-smb +Icon=opie-smb/opie-smb +Type=Application +Name=opie-smb diff --git a/core/applets/vmemo/vmemo.h b/core/applets/vmemo/vmemo.h index 1bd735f..806fe0e 100644 --- a/core/applets/vmemo/vmemo.h +++ b/core/applets/vmemo/vmemo.h @@ -29,7 +29,9 @@ class VMemo : public QWidget { Q_OBJECT + public: + VMemo( QWidget *parent, const char *name = NULL); ~VMemo(); static int position(); @@ -39,7 +41,9 @@ public: QLabel* msgLabel; QTimer *t_timer; bool usingIcon, useADPCM; + public slots: + bool record(); void mousePressEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * ); @@ -47,7 +51,9 @@ public slots: bool startRecording(); void stopRecording(); void timerBreak(); + private: + bool useAlerts; void paintEvent( QPaintEvent* ); int setToggleButton(int); diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp index ca760bb..759e440 100644 --- a/core/apps/textedit/textedit.cpp +++ b/core/apps/textedit/textedit.cpp diff --git a/core/pim/datebook/dateentry.ui b/core/pim/datebook/dateentry.ui index f776911..6e4ada1 100644 --- a/core/pim/datebook/dateentry.ui +++ b/core/pim/datebook/dateentry.ui @@ -32,14 +32,20 @@ <rect> <x>0</x> <y>0</y> - <width>242</width> - <height>339</height> + <width>286</width> + <height>396</height> </rect> </property> <property stdset="1"> <name>caption</name> <string>New Event</string> </property> + <property> + <name>layoutMargin</name> + </property> + <property> + <name>layoutSpacing</name> + </property> <grid> <property stdset="1"> <name>margin</name> @@ -47,43 +53,50 @@ </property> <property stdset="1"> <name>spacing</name> - <number>0</number> + <number>2</number> </property> - <widget row="1" column="0" > - <class>QLabel</class> + <widget row="0" column="0" > + <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>TextLabel2</cstring> + <cstring>Layout19</cstring> </property> + <vbox> <property stdset="1"> - <name>frameShape</name> - <enum>MShape</enum> + <name>margin</name> + <number>0</number> </property> <property stdset="1"> - <name>frameShadow</name> - <enum>MShadow</enum> + <name>spacing</name> + <number>6</number> </property> + <widget> + <class>QLayoutWidget</class> <property stdset="1"> - <name>text</name> - <string>Location</string> + <name>name</name> + <cstring>Layout1</cstring> </property> - </widget> - <widget row="2" column="0" > + <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>TextLabel2_2</cstring> + <cstring>TextLabel1</cstring> </property> <property stdset="1"> <name>text</name> - <string>Category</string> - </property> - <property> - <name>buddy</name> - <cstring>comboPriority</cstring> + <string>Description </string> </property> </widget> - <widget row="0" column="1" rowspan="1" colspan="3" > + <widget> <class>QComboBox</class> <item> <property> @@ -139,18 +152,43 @@ <bool>false</bool> </property> </widget> - <widget row="0" column="0" > + </hbox> + </widget> + <widget> + <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>TextLabel1</cstring> + <cstring>TextLabel2</cstring> + </property> + <property stdset="1"> + <name>frameShape</name> + <enum>MShape</enum> + </property> + <property stdset="1"> + <name>frameShadow</name> + <enum>MShadow</enum> </property> <property stdset="1"> <name>text</name> - <string>Description </string> + <string>Location</string> </property> </widget> - <widget row="1" column="1" rowspan="1" colspan="3" > + <widget> <class>QComboBox</class> <item> <property> @@ -194,7 +232,39 @@ <bool>false</bool> </property> </widget> - <widget row="2" column="1" rowspan="1" colspan="3" > + </hbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout3</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>TextLabel2_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Category</string> + </property> + <property> + <name>buddy</name> + <cstring>comboPriority</cstring> + </property> + </widget> + <widget> <class>CategorySelect</class> <property stdset="1"> <name>name</name> @@ -208,7 +278,39 @@ </sizepolicy> </property> </widget> - <widget row="3" column="0" rowspan="2" colspan="1" > + </hbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout18</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>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout17</cstring> + </property> + <vbox> + <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> @@ -219,7 +321,24 @@ <string>Start - End </string> </property> </widget> - <widget row="3" column="1" > + </vbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout4</cstring> + </property> + <vbox> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget> <class>QPushButton</class> <property stdset="1"> <name>name</name> @@ -244,7 +363,7 @@ <string>Jan 02 00</string> </property> </widget> - <widget row="4" column="1" > + <widget> <class>QLineEdit</class> <property stdset="1"> <name>name</name> @@ -279,10 +398,12 @@ <name>hAlign</name> </property> </widget> - <spacer row="3" column="2" rowspan="2" colspan="1" > + </vbox> + </widget> + <spacer> <property> <name>name</name> - <cstring>Spacer1_2</cstring> + <cstring>Spacer12</cstring> </property> <property stdset="1"> <name>orientation</name> @@ -300,21 +421,22 @@ </size> </property> </spacer> - <widget row="5" column="1" rowspan="1" colspan="3" > - <class>TimePicker</class> + <widget> + <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>timePickerStart</cstring> + <cstring>Layout5</cstring> </property> + <vbox> <property stdset="1"> - <name>sizePolicy</name> - <sizepolicy> - <hsizetype>3</hsizetype> - <vsizetype>1</vsizetype> - </sizepolicy> + <name>margin</name> + <number>0</number> </property> - </widget> - <widget row="3" column="3" > + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget> <class>QPushButton</class> <property stdset="1"> <name>name</name> @@ -339,7 +461,7 @@ <string>Jan 02 00</string> </property> </widget> - <widget row="4" column="3" > + <widget> <class>QLineEdit</class> <property stdset="1"> <name>name</name> @@ -374,7 +496,26 @@ <name>hAlign</name> </property> </widget> - <widget row="5" column="0" > + </vbox> + </widget> + </hbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout7</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> @@ -385,7 +526,23 @@ <string>Start time</string> </property> </widget> - <widget row="6" column="0" > + <widget> + <class>TimePicker</class> + <property stdset="1"> + <name>name</name> + <cstring>timePickerStart</cstring> + </property> + <property stdset="1"> + <name>sizePolicy</name> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>1</vsizetype> + </sizepolicy> + </property> + </widget> + </hbox> + </widget> + <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> @@ -396,7 +553,22 @@ <string>All day</string> </property> </widget> - <widget row="7" column="0" > + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout8</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> @@ -407,7 +579,7 @@ <string>Time zone</string> </property> </widget> - <widget row="7" column="1" rowspan="1" colspan="3" > + <widget> <class>TimeZoneSelector</class> <property stdset="1"> <name>name</name> @@ -421,7 +593,27 @@ </sizepolicy> </property> </widget> - <widget row="8" column="0" > + </hbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout9</cstring> + </property> + <property> + <name>layoutSpacing</name> + </property> + <hbox> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>1</number> + </property> + <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> @@ -444,7 +636,7 @@ <bool>false</bool> </property> </widget> - <widget row="8" column="1" rowspan="1" colspan="2" > + <widget> <class>QSpinBox</class> <property stdset="1"> <name>name</name> @@ -456,7 +648,7 @@ </property> <property stdset="1"> <name>suffix</name> - <string> minutes</string> + <string></string> </property> <property stdset="1"> <name>maxValue</name> @@ -468,14 +660,47 @@ </property> <property stdset="1"> <name>lineStep</name> - <number>5</number> + <number>1</number> </property> <property stdset="1"> <name>value</name> <number>5</number> </property> </widget> - <widget row="8" column="3" > + <widget> + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>minutes</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>hours</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>days</string> + </property> + </item> + <property stdset="1"> + <name>name</name> + <cstring>ComboInterval</cstring> + </property> + <property stdset="1"> + <name>enabled</name> + <bool>false</bool> + </property> + <property stdset="1"> + <name>currentItem</name> + <number>0</number> + </property> + </widget> + <widget> <class>QComboBox</class> <item> <property> @@ -498,7 +723,24 @@ <bool>false</bool> </property> </widget> - <widget row="9" column="0" > + </hbox> + </widget> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>Layout11</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> @@ -509,7 +751,7 @@ <string>Repeat</string> </property> </widget> - <widget row="9" column="1" rowspan="1" colspan="3" > + <widget> <class>QToolButton</class> <property stdset="1"> <name>name</name> @@ -531,7 +773,9 @@ <string>No Repeat...</string> </property> </widget> - <widget row="10" column="0" rowspan="1" colspan="4" > + </hbox> + </widget> + <widget> <class>QToolButton</class> <property stdset="1"> <name>name</name> @@ -542,6 +786,8 @@ <string>Note...</string> </property> </widget> + </vbox> + </widget> </grid> </widget> <customwidgets> @@ -647,6 +893,12 @@ <receiver>comboStart</receiver> <slot>setDisabled(bool)</slot> </connection> + <connection> + <sender>checkAlarm</sender> + <signal>toggled(bool)</signal> + <receiver>ComboInterval</receiver> + <slot>setEnabled(bool)</slot> + </connection> <slot access="public">endDateChanged( const QString & )</slot> <slot access="public">endDateChanged( int, int, int )</slot> <slot access="public">endTimeChanged( const QString & )</slot> diff --git a/inputmethods/dasher/opie-dasher-english.control b/inputmethods/dasher/opie-dasher-english.control index 180f121..286b392 100644 --- a/inputmethods/dasher/opie-dasher-english.control +++ b/inputmethods/dasher/opie-dasher-english.control @@ -5,7 +5,7 @@ Section: opie/inputmethods Maintainer: Matthew Garrett <mjg59@srcf.ucam.org> Architecture: arm Version: $QPE_VERSION$EXTRAVERSION -Depends: opie-dasher +Depends: opie-dasher libexpat0 Description: Dasher text input method Dasher is a novel zooming text entry method that allows significantly faster text entry than traditional methods. This package provides the necessary 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 @@ -38,6 +38,7 @@ _;:, .> :=|. This program is free software; you can #include <opie2/oresource.h> #include <qpe/applnk.h> +#include <qpe/qpeapplication.h> using namespace Opie::Core; using namespace Opie::MM; @@ -88,7 +89,8 @@ 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(); @@ -97,8 +99,11 @@ void VolumeAppletControl::build() 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 ); @@ -111,6 +116,16 @@ VolumeAppletControl::~VolumeAppletControl() { } +int VolumeAppletControl::volPercent ( ) const +{ + return m_vol_percent; +} + +bool VolumeAppletControl::volMuted ( ) const +{ + return m_vol_muted; +} + void VolumeAppletControl::showEvent( QShowEvent* e ) { @@ -128,16 +143,17 @@ void VolumeAppletControl::hideEvent( QHideEvent* e ) QSize VolumeAppletControl::sizeHint() const { - return QSize( 200, 200 ); //QFrame::sizeHint(); + 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" ); } @@ -156,7 +172,29 @@ int VolumeApplet::position() void VolumeApplet::paintEvent( QPaintEvent* ) { QPainter p(this); - p.drawPixmap(0, 2, _pixmap ); + + 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 ); } 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 @@ -32,15 +32,17 @@ #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; @@ -69,6 +71,13 @@ 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; @@ -78,8 +87,8 @@ class VolumeAppletControl : public QFrame void build(); private: - QGridLayout* l; + QGridLayout* l; }; @@ -96,7 +105,7 @@ class VolumeApplet : public Opie::Ui::OTaskbarApplet 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 @@ -22,6 +22,7 @@ using namespace Opie::Core; using namespace Opie::Ui; /* QT */ +#include <qframe.h> #include <qlayout.h> #include <qhbox.h> #include <qmenubar.h> @@ -37,6 +38,10 @@ void AdvancedFm::init() { b = false; setCaption( tr( "AdvancedFm" ) ); +// QFrame* frame = new QFrame(this); +// setCentralWidget(frame); +// QVBoxLayout *layout = new QVBoxLayout( frame ); + QVBoxLayout *layout = new QVBoxLayout( this ); layout->setSpacing( 2); layout->setMargin( 0); // squeeze 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 @@ -656,15 +656,29 @@ void AdvancedFm::fileStatus() { 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; +*/ + } + qApp->processEvents(); } 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>&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>&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>&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 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 @@ -22,7 +22,7 @@ #include "binaryfactory.h" #include "binaryimpl.h" -#include <engine.h> +#include "../engine.h" QWidget *BinaryInterface::getPlugin ( Engine *e, QWidget *parent ) { if ( !input ) 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 @@ -22,8 +22,8 @@ #define BINARYIMPL_H #include "binaryimpl.h" -#include <plugininterface.h> -#include <engine.h> +#include "../plugininterface.h" +#include "../engine.h" class BinaryInterface : public CalcInterface { 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 @@ -19,7 +19,7 @@ **********************************************************************/ #include "binaryimpl.h" -#include <instruction.h> +#include "../instruction.h" class iXOR : public Instruction { public: 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 @@ -21,7 +21,7 @@ #define FORMBINARYINPUTIMPL #include "binary.h" -#include <engine.h> +#include "../engine.h" class FormBinaryImpl : public FormBinary { Q_OBJECT 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 @@ -68,7 +68,6 @@ LCD->setSegmentStyle(QLCDNumber::Filled); for (it = list.begin (); it != list.end (); ++it) { CalcInterface *iface = 0; QLibrary *lib = new QLibrary (path + "/" + *it); - Plugin plugin; plugin.pluginWidget = 0; 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 @@ -22,7 +22,7 @@ #include "simplefactory.h" #include "simpleimpl.h" -#include <engine.h> +#include "../engine.h" QWidget *SimpleInterface::getPlugin ( Engine *e, QWidget *parent ) { if ( !input ) 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 @@ -22,8 +22,8 @@ #define BINARYIMPL_H #include "simpleimpl.h" -#include <plugininterface.h> -#include <engine.h> +#include "../plugininterface.h" +#include "../engine.h" class SimpleInterface : public CalcInterface { 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 @@ -22,7 +22,7 @@ #include <qlcdnumber.h> #include "simpleimpl.h" -#include <stdinstructions.h> +#include "../stdinstructions.h" void FormSimpleImpl::CEClicked() { engine->hardReset(); 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 @@ -25,8 +25,8 @@ #include <qlcdnumber.h> #include "simple.h" -#include "engine.h" -#include "instruction.h" +#include "../engine.h" +#include "../instruction.h" class FormSimpleImpl:public FormSimple { Q_OBJECT @@ -17,7 +17,9 @@ CONFIG_BOUNCE noncore/games/bounce bounce.pro CONFIG_BRIGHTNESSAPPLET noncore/applets/brightnessapplet brightnessapplet.pro CONFIG_BUTTON-SETTINGS core/settings/button button.pro CONFIG_BUZZWORD noncore/games/buzzword buzzword.pro -CONFIG_CALC2 noncore/tools/calc2 calc.pro +CONFIG_CALC2 noncore/tools/calc2 calc2.pro +CONFIG_CALC2-BINARY noncore/tools/calc2/binary binary.pro +CONFIG_CALC2-SIMPLE noncore/tools/calc2/simple simple.pro CONFIG_CALCULATOR noncore/tools/calculator calculator.pro CONFIG_CALIBRATE core/apps/calibrate calibrate.pro CONFIG_CAMERA noncore/multimedia/camera camera.pro @@ -170,6 +172,7 @@ CONFIG_OPIE-READER noncore/apps/opie-reader opie-reader.pro CONFIG_OPIE-READER-FLITEDYN noncore/apps/opie-reader/FliteDyn FliteDyn.pro CONFIG_OPIE-READER-FLITEDYN16 noncore/apps/opie-reader/FliteDyn16 FliteDyn16.pro CONFIG_OPIEREC noncore/multimedia/opierec opierec.pro +CONFIG_OPIESMB noncore/net/opie-smb opie-smb.pro CONFIG_OPIE-SHEET noncore/apps/opie-sheet opie-sheet.pro CONFIG_OPIE-SH noncore/tools/opie-sh opie-sh.pro CONFIG_OPIETOOTH-APPLET noncore/net/opietooth/applet applet.pro diff --git a/pics/opie-smb/opie-smb.png b/pics/opie-smb/opie-smb.png Binary files differnew file mode 100644 index 0000000..0cf5d67 --- a/dev/null +++ b/pics/opie-smb/opie-smb.png |