26 files changed, 91 insertions, 146 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp index 00128d3..9e5eede 100644 --- a/noncore/settings/appearance2/appearance.cpp +++ b/noncore/settings/appearance2/appearance.cpp @@ -375,388 +375,384 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) btngrp-> hide ( ); btngrp-> setExclusive ( true ); m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" ); m_tabstyle_list-> insertItem ( tr( "Tabs" )); m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" )); m_tabstyle_list-> insertItem ( tr( "Drop down list" )); m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" )); m_tabstyle_list-> setCurrentItem ( style ); gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 ); QWhatsThis::add( m_tabstyle_list, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) ); m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" ); btngrp-> insert ( m_tabstyle_top ); gridLayout-> addWidget( m_tabstyle_top, 1, 1 ); QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) ); m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" ); btngrp-> insert ( m_tabstyle_bottom ); gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 ); QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) ); m_tabstyle_top-> setChecked ( tabtop ); m_tabstyle_bottom-> setChecked ( !tabtop ); m_original_tabstyle = style; m_original_tabpos = tabtop; vertLayout-> addSpacing ( 3 ); QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 ); QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab ); m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" ); QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( ); m_rotdir_ccw = new QRadioButton( tab, "rotdir_ccw" ); QImage ccwImage = cw1. convertToImage( ). mirror( 1, 0 ); QPixmap ccw1; m_rotdir_flip = new QRadioButton( tab, "rotdir_flip" ); QPixmap flip1 = Resource::loadIconSet("pass"). pixmap( ); QButtonGroup* rotbtngrp = new QButtonGroup( tab, "rotbuttongroup" ); rotbtngrp-> hide ( ); rotbtngrp-> setExclusive ( true ); rotbtngrp-> insert ( m_rotdir_cw ); rotbtngrp-> insert ( m_rotdir_ccw ); rotbtngrp-> insert ( m_rotdir_flip ); ccw1. convertFromImage( ccwImage ); m_rotdir_cw-> setPixmap( cw1 ); m_rotdir_ccw-> setPixmap( ccw1 ); m_rotdir_flip-> setPixmap( flip1 ); rotLay-> addWidget ( rotlabel, 0 ); rotLay-> addWidget ( m_rotdir_cw, 0 ); rotLay-> addWidget ( m_rotdir_ccw, 0 ); rotLay-> addWidget ( m_rotdir_flip, 0 ); int rotDirection = cfg.readNumEntry( "rotatedir" ); ODirection rot = CW; if (rotDirection == -1) { rot = ODevice::inst ( )-> direction ( ); } else { rot = (ODirection)rotDirection; } m_rotdir_cw-> setChecked ( rot == CW ); m_rotdir_ccw-> setChecked ( rot == CCW ); m_rotdir_flip-> setChecked ( rot == Flip ); return tab; } Appearance::Appearance( QWidget* parent, const char* name, WFlags ) : QDialog ( parent, name, true, WStyle_ContextHelp ) { setCaption( tr( "Appearance Settings" ) ); Config config( "qpe" ); config.setGroup( "Appearance" ); QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 ); m_sample = new SampleWindow ( this ); m_sample-> setDecoration ( new DefaultWindowDecoration ( ) ); QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); QWidget *styletab; m_color_list = 0; tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" )); tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" )); tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) ); tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) ); tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) ); top-> addWidget ( tw, 10 ); top-> addWidget ( m_sample, 1 ); tw-> setCurrentTab ( styletab ); connect ( tw, SIGNAL( currentChanged ( QWidget * )), this, SLOT( tabChanged ( QWidget * ))); m_style_changed = m_font_changed = m_color_changed = m_deco_changed = false; } Appearance::~Appearance() { } void Appearance::tabChanged ( QWidget *w ) { if ( w == m_advtab ) { m_sample-> hide ( ); updateGeometry ( ); // shouldn't be necessary ... } else m_sample-> show ( ); } void Appearance::accept ( ) { bool newtabpos = m_tabstyle_top-> isChecked ( ); int newtabstyle = m_tabstyle_list-> currentItem ( ); Config config ( "qpe" ); config. setGroup ( "Appearance" ); if ( m_style_changed ) { StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); if ( item ) config.writeEntry( "Style", item-> key ( )); } if ( m_deco_changed ) { DecoListItem *item = (DecoListItem *) m_deco_list-> item ( m_deco_list-> currentItem ( )); if ( item ) config.writeEntry( "Decoration", item-> key ( )); } if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos )) { config. writeEntry ( "TabStyle", newtabstyle + 1 ); config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" ); } if ( m_font_changed ) { config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( )); config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( )); config. writeEntry ( "FontSize", m_fontselect-> fontSize ( )); } if ( m_color_changed ) { ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); if ( item ) item-> save ( config ); } ODirection rot; if (m_rotdir_ccw-> isChecked ( )) { rot = CCW; } else if (m_rotdir_cw-> isChecked ( )) { rot = CW; } else { rot = Flip; } config. writeEntry ( "rotatedir", (int)rot ); m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated QStringList sl; QString exceptstr; for ( ExceptListItem *it = (ExceptListItem *) m_except-> firstChild ( ); it; it = (ExceptListItem *) it-> nextSibling ( )) { int fl = 0; fl |= ( it-> noStyle ( ) ? 0x01 : 0 ); fl |= ( it-> noFont ( ) ? 0x02 : 0 ); fl |= ( it-> noDeco ( ) ? 0x04 : 0 ); exceptstr = QString::number ( fl, 32 ); exceptstr.append( it-> pattern ( )); sl << exceptstr; } config. writeEntry ( "NoStyle", sl, ';' ); config. writeEntry ( "ForceStyle", m_force-> isChecked ( )); config. write ( ); // need to flush the config info first Global::applyStyle ( ); - if ( QMessageBox::warning ( this, tr( "Restart" ), tr( "Do you want to restart %1 now?" ). arg ( ODevice::inst ( )-> system ( ) == System_Zaurus ? "Qtopia" : "Opie" ), tr( "Yes" ), tr( "No" ), 0, 0, 1 ) == 0 ) { - QCopEnvelope e( "QPE/System", "restart()" ); - } - QDialog::accept ( ); } void Appearance::done ( int r ) { QDialog::done ( r ); close ( ); } void Appearance::styleClicked ( int index ) { StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index ); m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false ); if ( m_sample && sli && sli-> style ( )) { int ci = m_color_list ? m_color_list-> currentItem ( ) : -1; m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( )); } m_style_changed |= ( index != m_original_style ); } void Appearance::styleSettingsClicked ( ) { StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); if ( item && item-> hasSettings ( )) { QDialog *d = new QDialog ( this, "SETTINGS-DLG", true ); QVBoxLayout *vbox = new QVBoxLayout ( d, 3, 0 ); QWidget *w = item-> settings ( d ); if ( w ) { vbox-> addWidget ( w ); d-> setCaption ( w-> caption ( )); d-> showMaximized ( ); bool accepted = ( d-> exec ( ) == QDialog::Accepted ); if ( item-> setSettings ( accepted )) m_style_changed = true; } delete d; } } void Appearance::decoClicked ( int index ) { DecoListItem *dli = (DecoListItem *) m_deco_list-> item ( index ); if ( m_sample ) { if ( dli && dli-> interface ( )) m_sample-> setDecoration ( dli-> interface ( )); else m_sample-> setDecoration ( new DefaultWindowDecoration ( )); m_sample-> repaint ( ); } m_deco_changed |= ( index != m_original_deco ); } void Appearance::fontClicked ( const QFont &f ) { m_font_changed |= ( f != m_sample-> font ( )); m_sample-> setFont ( f ); } void Appearance::colorClicked ( int index ) { ColorListItem *item = (ColorListItem *) m_color_list-> item ( index ); if ( item ) m_sample-> setPalette ( item-> palette ( )); m_color_changed |= ( item-> palette ( ) != qApp-> palette ( )); } void Appearance::editSchemeClicked ( ) { ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); int cnt = 0; QString labels [QColorGroup::NColorRoles]; QColor colors [QColorGroup::NColorRoles]; for ( QColorGroup::ColorRole role = (QColorGroup::ColorRole) 0; role != QColorGroup::NColorRoles; ((int) role )++ ) { QColor col = item-> color ( role ); if ( col. isValid ( )) { labels [cnt] = item-> label ( role ); colors [cnt] = col; cnt++; } } EditScheme* editdlg = new EditScheme( cnt, labels, colors, this, "editScheme", true ); editdlg-> showMaximized ( ); if ( editdlg-> exec ( ) == QDialog::Accepted ) { ColorListItem *citem = (ColorListItem *) m_color_list-> item ( 0 ); cnt = 0; for ( QColorGroup::ColorRole role = (QColorGroup::ColorRole) 0; role != QColorGroup::NColorRoles; ((int) role )++ ) { if ( item-> color ( role ). isValid ( )) { citem-> setColor ( role, colors [cnt] ); cnt++; } } m_color_list-> setCurrentItem ( 0 ); colorClicked ( 0 ); m_color_changed = true; } delete editdlg; } void Appearance::saveSchemeClicked() { ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); if ( !item ) return; QDialog *d = new QDialog ( this, 0, true ); d-> setCaption ( tr( "Save Scheme" )); QLineEdit *ed = new QLineEdit ( d ); ( new QVBoxLayout ( d, 3, 3 ))-> addWidget ( ed ); ed-> setFocus ( ); if ( d-> exec ( ) == QDialog::Accepted ) { QString schemename = ed-> text ( ); QString filestr = QPEApplication::qpeDir(); filestr.append( "/etc/colors/" ); filestr.append( schemename ); filestr.append( ".scheme" ); QFile file ( filestr ); if ( !file. exists ( )) { QPalette p = item-> palette ( ); Config config ( file.name(), Config::File ); config. setGroup( "Colors" ); item-> save ( config ); config. write ( ); // need to flush the config info first m_color_list-> insertItem ( new ColorListItem ( schemename, config )); } else { QMessageBox::information ( this, tr( "Save scheme" ), tr( "Scheme does already exist." )); } } delete d; } void Appearance::deleteSchemeClicked() { ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); if ( !item ) return; if ( m_color_list-> currentItem ( ) > 0 ) { if ( QPEMessageBox::confirmDelete ( this, tr( "Delete scheme" ), item-> text ( ) ) ) { QString filestr = QPEApplication::qpeDir ( ); filestr.append( "/etc/colors/" ); filestr.append( item-> text ( ) ); filestr.append( ".scheme" ); QFile::remove ( filestr ); delete item; } } else { QMessageBox::information( this, tr( "Delete scheme" ), tr( "Unable to delete current scheme." )); } } void Appearance::addExcept ( ) { ExceptListItem *it = new ExceptListItem ( m_except, 0, tr( "<new>" ), true, true, true ); m_except-> ensureItemVisible ( it ); diff --git a/noncore/settings/appearance2/appearance.h b/noncore/settings/appearance2/appearance.h index da9e976..51e9636 100644 --- a/noncore/settings/appearance2/appearance.h +++ b/noncore/settings/appearance2/appearance.h @@ -1,127 +1,128 @@ /* This file is part of the OPIE Project =. Copyright (c) 2002 Dan Williams <williamsdr@acm.org> .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU 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 file 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 General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef APPEARANCESETTINGS_H #define APPEARANCESETTINGS_H #include <qpe/fontdatabase.h> #include <qdialog.h> class QCheckBox; class QComboBox; class QLabel; class QLineEdit; class QListBox; class QMultiLineEdit; class QPushButton; class QRadioButton; class QToolButton; class SampleWindow; class OFontSelector; class QListView; class QListViewItem; class Config; class Appearance : public QDialog { Q_OBJECT public: Appearance( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~Appearance(); + static QString appName() { return QString::fromLatin1("appearance"); } protected: virtual void accept ( ); virtual void done ( int r ); - + protected slots: void styleClicked ( int ); void styleSettingsClicked ( ); void decoClicked ( int ); void fontClicked ( const QFont & ); void colorClicked ( int ); void editSchemeClicked(); void saveSchemeClicked(); void deleteSchemeClicked(); void tabChanged ( QWidget * ); void addExcept ( ); void delExcept ( ); void upExcept ( ); void downExcept ( ); void clickedExcept ( QListViewItem *, const QPoint &, int ); private: void changeText(); QWidget *createStyleTab ( QWidget *parent, Config &cfg ); QWidget *createDecoTab ( QWidget *parent, Config &cfg ); QWidget *createFontTab ( QWidget *parent, Config &cfg ); QWidget *createColorTab ( QWidget *parent, Config &cfg ); QWidget *createAdvancedTab ( QWidget *parent, Config &cfg ); private: bool m_style_changed; bool m_font_changed; bool m_scheme_changed; bool m_deco_changed; bool m_color_changed; int m_original_style; int m_original_deco; int m_original_tabstyle; bool m_original_tabpos; QListBox * m_style_list; QPushButton * m_style_settings; QListBox * m_deco_list; QListBox * m_color_list; OFontSelector *m_fontselect; SampleWindow *m_sample; QComboBox * m_tabstyle_list; QRadioButton *m_tabstyle_top; QRadioButton *m_tabstyle_bottom; QRadioButton *m_rotdir_cw; QRadioButton *m_rotdir_ccw; QRadioButton *m_rotdir_flip; QWidget * m_advtab; QListView * m_except; QCheckBox * m_force; }; #endif diff --git a/noncore/settings/appearance2/appearance2.pro b/noncore/settings/appearance2/appearance2.pro index e37536d..145de2f 100644 --- a/noncore/settings/appearance2/appearance2.pro +++ b/noncore/settings/appearance2/appearance2.pro @@ -1,33 +1,31 @@ -TEMPLATE = app -CONFIG = qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG = qt warn_on release quick-app HEADERS = appearance.h editScheme.h sample.h SOURCES = appearance.cpp editScheme.cpp main.cpp sample.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += ../$(OPIEDIR)/include LIBS += -lqpe -lopie -TARGET = appearance INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include +TARGET = appearance + TRANSLATIONS = ../../../i18n/de/appearance.ts \ ../../../i18n/nl/appearance.ts \ ../../../i18n/xx/appearance.ts \ ../../../i18n/en/appearance.ts \ ../../../i18n/es/appearance.ts \ ../../../i18n/fr/appearance.ts \ ../../../i18n/hu/appearance.ts \ ../../../i18n/ja/appearance.ts \ ../../../i18n/ko/appearance.ts \ ../../../i18n/no/appearance.ts \ ../../../i18n/pl/appearance.ts \ ../../../i18n/pt/appearance.ts \ ../../../i18n/pt_BR/appearance.ts \ ../../../i18n/sl/appearance.ts \ ../../../i18n/zh_CN/appearance.ts \ ../../../i18n/zh_TW/appearance.ts \ ../../../i18n/da/appearance.ts - include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/appearance2/main.cpp b/noncore/settings/appearance2/main.cpp index ad24cf3..5595429 100644 --- a/noncore/settings/appearance2/main.cpp +++ b/noncore/settings/appearance2/main.cpp @@ -1,42 +1,34 @@ /* =. This file is part of the OPIE Project .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU 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 file 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 General ..}^=.= = ; Public License for more details. -++= -. .` .: +++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "appearance.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main ( int argc, char **argv ) -{ - QPEApplication app ( argc, argv ); - - Appearance m; - app. showMainDocumentWidget ( &m ); - - return app. exec ( ); -} - +OPIE_EXPORT_APP( OApplicationFactory<Appearance> ) diff --git a/noncore/settings/backup/backup.pro b/noncore/settings/backup/backup.pro index cadb381..1e9af61 100644 --- a/noncore/settings/backup/backup.pro +++ b/noncore/settings/backup/backup.pro @@ -1,35 +1,30 @@ -TEMPLATE = app -#CONFIG = qt warn_on debug -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = backuprestore.h SOURCES = main.cpp backuprestore.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe INTERFACES = backuprestorebase.ui errordialog.ui TARGET = backup -DESTDIR = $(OPIEDIR)/bin TRANSLATIONS = ../../../i18n/de/backup.ts \ ../../../i18n/nl/backup.ts \ ../../../i18n/xx/backup.ts \ ../../../i18n/en/backup.ts \ ../../../i18n/es/backup.ts \ ../../../i18n/fr/backup.ts \ ../../../i18n/hu/backup.ts \ ../../../i18n/ja/backup.ts \ ../../../i18n/ko/backup.ts \ ../../../i18n/no/backup.ts \ ../../../i18n/pl/backup.ts \ ../../../i18n/pt/backup.ts \ ../../../i18n/pt_BR/backup.ts \ ../../../i18n/sl/backup.ts \ ../../../i18n/zh_CN/backup.ts \ ../../../i18n/zh_TW/backup.ts \ ../../../i18n/it/backup.ts \ ../../../i18n/da/backup.ts - - include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index 922523b..1c854d9 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp @@ -1,400 +1,400 @@ #include "backuprestore.h" //#include "output.h" #include "errordialog.h" #include <qapplication.h> #include <qmultilineedit.h> #include <qdir.h> #include <qfile.h> #include <qfileinfo.h> #include <qlistview.h> #include <qpushbutton.h> #include <qheader.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qmessagebox.h> #include <qcombobox.h> #include <qlist.h> #include <stdlib.h> #include <qregexp.h> #include <qtextstream.h> #include <qtextview.h> #include <errno.h> #include <stdlib.h> #include <unistd.h> #include <sys/stat.h> #include <dirent.h> #define HEADER_NAME 0 #define HEADER_BACKUP 1 #define BACKUP_LOCATION 2 #define EXTENSION ".bck" const QString tempFileName = "/tmp/backup.err"; -BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name) - : BackupAndRestoreBase(parent, name){ +BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name, WFlags fl) + : BackupAndRestoreBase(parent, name, fl){ this->showMaximized(); backupList->header()->hide(); restoreList->header()->hide(); connect(backupButton, SIGNAL(clicked()), this, SLOT(backupPressed())); connect(restoreButton, SIGNAL(clicked()), this, SLOT(restore())); connect(backupList, SIGNAL(clicked( QListViewItem * )), - this, SLOT(selectItem(QListViewItem*))); + this, SLOT(selectItem(QListViewItem*))); connect(restoreSource, SIGNAL(activated( int )), - this, SLOT(sourceDirChanged(int))); + this, SLOT(sourceDirChanged(int))); connect(updateList, SIGNAL(clicked()), - this, SLOT( fileListUpdate())); + this, SLOT( fileListUpdate())); applicationSettings = new QListViewItem(backupList, "Application Settings", "", QDir::homeDirPath() + "/Settings/"); selectItem(applicationSettings); applicationSettings = new QListViewItem(backupList, "Application Data", "", QDir::homeDirPath() + "/Applications/"); selectItem(applicationSettings); documents= new QListViewItem(backupList, "Documents", "", QDir::homeDirPath() + "/Documents/"); selectItem(documents); - + scanForApplicationSettings(); - + Config config("BackupAndRestore"); config.setGroup("General"); int totalLocations = config.readNumEntry("totalLocations",0); - + //todo make less static here and use Storage class to get infos if(totalLocations == 0){ backupLocations.insert("Documents", "/root/Documents"); backupLocations.insert("CF", "/mnt/cf"); backupLocations.insert("SD", "/mnt/card"); } else{ for(int i = 0; i < totalLocations; i++){ backupLocations.insert(config.readEntry(QString("backupLocationName_%1").arg(i)), config.readEntry(QString("backupLocation_%1").arg(i))); } } QMap<QString, QString>::Iterator it; for( it = backupLocations.begin(); it != backupLocations.end(); ++it ){ storeToLocation->insertItem(it.key()); restoreSource->insertItem(it.key()); } - - // Read the list of items to ignore. + + // Read the list of items to ignore. QList<QString> dontBackupList; dontBackupList.setAutoDelete(true); config.setGroup("DontBackup"); int total = config.readNumEntry("Total", 0); for(int i = 0; i < total; i++){ dontBackupList.append(new QString(config.readEntry(QString("%1").arg(i), ""))); } QList<QListViewItem> list; getAllItems(backupList->firstChild(), list); - + for(uint i = 0; i < list.count(); i++){ QString text = list.at(i)->text(HEADER_NAME); for(uint i2 = 0; i2 < dontBackupList.count(); i2++){ if(*dontBackupList.at(i2) == text){ selectItem(list.at(i)); break; } } } } BackupAndRestore::~BackupAndRestore(){ QList<QListViewItem> list; getAllItems(backupList->firstChild(), list); - + Config config("BackupAndRestore"); config.setGroup("DontBackup"); config.clearGroup(); - + int count = 0; for(uint i = 0; i < list.count(); i++){ if(list.at(i)->text(HEADER_BACKUP) == ""){ config.writeEntry(QString("%1").arg(count), list.at(i)->text(HEADER_NAME)); count++; } } config.writeEntry("Total", count); // Remove Temp File if ( QFile::exists( tempFileName ) ) QFile::remove( tempFileName ); } QList<QListViewItem> BackupAndRestore::getAllItems(QListViewItem *item, QList<QListViewItem> &list){ while(item){ if(item->childCount() > 0) - getAllItems(item->firstChild(), list); + getAllItems(item->firstChild(), list); list.append(item); item = item->nextSibling(); } return list; } /** * Selects and unselects the item by setting the HEADER_BACKUP to B or !. * and changing the icon to match * @param currentItem the item to swich the selection choice. */ void BackupAndRestore::selectItem(QListViewItem *currentItem){ if(!currentItem) return; if(currentItem->text(HEADER_BACKUP) == "B"){ currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/null")); currentItem->setText(HEADER_BACKUP, ""); } else{ currentItem->setPixmap(HEADER_NAME, Resource::loadPixmap("backup/check")); currentItem->setText(HEADER_BACKUP, "B"); } } void BackupAndRestore::scanForApplicationSettings(){ QDir d(applicationSettings->text(BACKUP_LOCATION)); d.setFilter( QDir::Dirs | QDir::Files | QDir::NoSymLinks ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi=it.current()) ) { // qDebug((d.path()+fi->fileName()).latin1()); if ( ( fi->fileName() != "." ) && ( fi->fileName() != ".." ) ) { QListViewItem *newItem = new QListViewItem(applicationSettings, fi->fileName()); selectItem(newItem); } ++it; } } /** * The "Backup" button has been pressed. Get a list of all of the files that - * should be backed up. If there are no files, emit and error and exit. + * should be backed up. If there are no files, emit and error and exit. * Determine the file name to store the backup in. Backup the file(s) using * tar and gzip --best. Report failure or success - */ + */ void BackupAndRestore::backupPressed(){ QString backupFiles; if(getBackupFiles(backupFiles, NULL) == 0){ QMessageBox::critical(this, "Message", "No items selected.",QString("Ok") ); - return; + return; } setCaption(tr("Backup and Restore... working...")); QString outputFile = backupLocations[storeToLocation->currentText()]; QDateTime datetime = QDateTime::currentDateTime(); - QString dateString = QString::number( datetime.date().year() ) + QString::number( datetime.date().month() ).rightJustify(2, '0') + + QString dateString = QString::number( datetime.date().year() ) + QString::number( datetime.date().month() ).rightJustify(2, '0') + QString::number( datetime.date().day() ).rightJustify(2, '0'); outputFile += "/" + dateString; - + QString t = outputFile; int c = 1; while(QFile::exists(outputFile + EXTENSION)){ outputFile = t + QString("%1").arg(c); c++; } - // We execute tar and compressing its output with gzip.. + // We execute tar and compressing its output with gzip.. // The error output will be written into a temp-file which could be provided // for debugging.. qDebug( "Storing file: %s", outputFile.latin1() ); outputFile += EXTENSION; qWarning( QString("(tar -c %1 | gzip > %2 ) 2> %3") .arg( backupFiles ) .arg( outputFile.latin1() ) .arg( tempFileName.latin1() ) ); int r = system( QString("(tar -c %1 | gzip > %2 ) 2> %3") .arg( backupFiles ) .arg( outputFile.latin1() ) .arg( tempFileName.latin1() ) ); if(r != 0){ perror("Error: "); QString errorMsg= tr( "Error from System:\n" ) + (QString)strerror( errno ); - switch( QMessageBox::critical(this, tr( "Message" ), tr( "Backup Failed!" ) + "\n" + switch( QMessageBox::critical(this, tr( "Message" ), tr( "Backup Failed!" ) + "\n" + errorMsg, QString( tr( "Ok" ) ), QString( tr( "Details" ) ) ) ){ case 1: qWarning("Details pressed !"); ErrorDialog* pErrDialog = new ErrorDialog( this, NULL, true ); QFile errorFile( tempFileName ); if ( errorFile.open(IO_ReadOnly) ) { QTextStream t( &errorFile ); QString s; while ( !t.eof() ) { // until end of file... s += t.readLine(); // line of text excluding '\n' } errorFile.close(); - + pErrDialog->m_textarea->setText( s ); }else{ pErrDialog->m_textarea->setText( "Unable to open File: /tmp/backup.er" ); } pErrDialog->showMaximized(); pErrDialog->exec(); delete pErrDialog; break; } setCaption(tr("Backup and Restore.. Failed !!")); - return; + return; } else{ QMessageBox::information(this, tr( "Message" ), tr( "Backup Successfull." ), QString(tr( "Ok" ) ) ); - + } setCaption(tr("Backup and Restore")); } /*** * Get a list of all of the files to backup. - */ + */ int BackupAndRestore::getBackupFiles(QString &backupFiles, QListViewItem *parent){ QListViewItem * currentItem; QString currentHome; if(!parent) currentItem = backupList->firstChild(); else{ currentItem = parent->firstChild(); currentHome = parent->text(BACKUP_LOCATION); } - + uint count = 0; while( currentItem != 0 ){ if(currentItem->text(HEADER_BACKUP) == "B" ){ if(currentItem->childCount() == 0 ){ if(parent == NULL) backupFiles += currentItem->text(BACKUP_LOCATION); else backupFiles += currentHome + currentItem->text(HEADER_NAME); backupFiles += " "; count++; } else{ count += getBackupFiles(backupFiles, currentItem); } } currentItem = currentItem->nextSibling(); } return count; } void BackupAndRestore::sourceDirChanged(int selection){ restoreList->clear(); rescanFolder(backupLocations[restoreSource->text(selection)]); } void BackupAndRestore::fileListUpdate() { qWarning("void BackupAndRestore::fileListUpdate()"); restoreList->clear(); rescanFolder( backupLocations[restoreSource->currentText()] ); } /** * Scans directory for any backup files. Will recursivly go down, * but will not follow symlinks. * @param directory - the directory to look in. */ void BackupAndRestore::rescanFolder(QString directory){ //qDebug(QString("rescanFolder: ") + directory.latin1()); QDir d(directory); if(!d.exists()) return; - + d.setFilter( QDir::Files | QDir::Hidden | QDir::Dirs); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *file; while ( (file=it.current()) ) { // for each file... // If it is a dir and not .. or . then add it as a tab and go down. if(file->isDir()){ if(file->fileName() != ".." && file->fileName() != ".") { rescanFolder(directory + "/" + file->fileName()); } } else{ // If it is a backup file add to list. if(file->fileName().contains(EXTENSION)) (void)new QListViewItem(restoreList, file->fileName()); } ++it; } } /** * Restore a backup file. * Report errors or success - */ + */ void BackupAndRestore::restore(){ QListViewItem *restoreItem = restoreList->currentItem(); if(!restoreItem){ QMessageBox::critical(this, tr( "Message" ), tr( "Please select something to restore." ),QString( tr( "Ok") ) ); - return; + return; } setCaption(tr("Backup and Restore... working...")); QString restoreFile = backupLocations[restoreSource->currentText()]; - + restoreFile += "/" + restoreItem->text(0); - + int r = system(QString("tar -C / -zxf %1 2> %3") .arg( restoreFile.latin1() ) .arg( tempFileName.latin1() ) ); if(r != 0){ QString errorMsg= tr( "Error from System:\n" ) + (QString)strerror( errno ); - switch( QMessageBox::critical(this, tr( "Message" ), tr( "Restore Failed." ) + "\n" + switch( QMessageBox::critical(this, tr( "Message" ), tr( "Restore Failed." ) + "\n" + errorMsg, QString( tr( "Ok") ), QString( tr( "Details" ) ) ) ) { case 1: qWarning("Details pressed !"); ErrorDialog* pErrDialog = new ErrorDialog( this, NULL, true ); QFile errorFile( tempFileName ); if ( errorFile.open(IO_ReadOnly) ) { QTextStream t( &errorFile ); QString s; while ( !t.eof() ) { // until end of file... s += t.readLine(); // line of text excluding '\n' } errorFile.close(); - + pErrDialog->m_textarea->setText( s ); }else{ pErrDialog->m_textarea->setText( tr( "Unable to open File: %1" ).arg( "/tmp/backup.er" ) ); } pErrDialog->showMaximized(); pErrDialog->exec(); delete pErrDialog; setCaption(tr("Backup and Restore.. Failed !!")); - return; + return; break; } } else{ QMessageBox::critical(this, tr( "Message" ), tr( "Restore Successfull." ), QString( tr( "Ok") ) ); } setCaption(tr("Backup and Restore")); } // backuprestore.cpp diff --git a/noncore/settings/backup/backuprestore.h b/noncore/settings/backup/backuprestore.h index 8c733e3..4bdc758 100644 --- a/noncore/settings/backup/backuprestore.h +++ b/noncore/settings/backup/backuprestore.h @@ -1,44 +1,45 @@ -#ifndef WINDOW_H +#ifndef WINDOW_H #define WINDOW_H #include <qmainwindow.h> #include "backuprestorebase.h" #include <qmap.h> #include <qlist.h> class QListViewItem; -class BackupAndRestore : public BackupAndRestoreBase { +class BackupAndRestore : public BackupAndRestoreBase { Q_OBJECT - + public: - BackupAndRestore( QWidget* parent = 0, const char* name = 0); + BackupAndRestore( QWidget* parent = 0, const char* name = 0, WFlags fl = 0); ~BackupAndRestore(); - - + + static QString appName() { return QString::fromLatin1("backup"); } + private slots: void backupPressed(); void restore(); void selectItem(QListViewItem *currentItem); void sourceDirChanged(int); void rescanFolder(QString directory); void fileListUpdate(); private: void scanForApplicationSettings(); int getBackupFiles(QString &backupFiles, QListViewItem *parent); QMap<QString, QString> backupLocations; QList<QListViewItem> getAllItems(QListViewItem *item, QList<QListViewItem> &list); QListViewItem *systemSettings; QListViewItem *applicationSettings; QListViewItem *documents; }; #endif // backuprestore.h diff --git a/noncore/settings/backup/main.cpp b/noncore/settings/backup/main.cpp index 676e1f0..b375a3b 100644 --- a/noncore/settings/backup/main.cpp +++ b/noncore/settings/backup/main.cpp @@ -1,14 +1,8 @@ #include "backuprestore.h" #include "qnetworkprotocol.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main(int argc, char *argv[]) { - QPEApplication a( argc, argv ); - - BackupAndRestore app(0, "mainwindow"); - a.showMainWidget(&app); - return a.exec(); -} -// main.cpp +OPIE_EXPORT_APP( OApplicationFactory<BackupAndRestore> ) diff --git a/noncore/settings/language/language.pro b/noncore/settings/language/language.pro index eb9e0b9..f181f7e 100644 --- a/noncore/settings/language/language.pro +++ b/noncore/settings/language/language.pro @@ -1,32 +1,30 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = settings.h SOURCES = language.cpp main.cpp INTERFACES = languagesettingsbase.ui INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += ../$(OPIEDIR)/include LIBS += -lqpe TARGET = language TRANSLATIONS = ../../../i18n/de/language.ts \ ../../../i18n/nl/language.ts \ ../../../i18n/xx/language.ts \ ../../../i18n/en/language.ts \ ../../../i18n/es/language.ts \ ../../../i18n/fr/language.ts \ ../../../i18n/hu/language.ts \ ../../../i18n/ja/language.ts \ ../../../i18n/ko/language.ts \ ../../../i18n/no/language.ts \ ../../../i18n/pl/language.ts \ ../../../i18n/pt/language.ts \ ../../../i18n/pt_BR/language.ts \ ../../../i18n/sl/language.ts \ ../../../i18n/zh_CN/language.ts \ ../../../i18n/zh_TW/language.ts \ ../../../i18n/da/language.ts include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/language/main.cpp b/noncore/settings/language/main.cpp index a760ff3..8bdf8a5 100644 --- a/noncore/settings/language/main.cpp +++ b/noncore/settings/language/main.cpp @@ -1,36 +1,27 @@ /********************************************************************** ** 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 "settings.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main(int argc, char** argv) -{ - QPEApplication a(argc,argv); - - LanguageSettings dlg; - - a.showMainWidget(&dlg); - - return a.exec(); -} - +OPIE_EXPORT_APP( OApplicationFactory<LanguageSettings> ) diff --git a/noncore/settings/language/settings.h b/noncore/settings/language/settings.h index 22cc987..a157d26 100644 --- a/noncore/settings/language/settings.h +++ b/noncore/settings/language/settings.h @@ -1,58 +1,60 @@ /********************************************************************** ** 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 SETTINGS_H #define SETTINGS_H #include <qstrlist.h> #include <qasciidict.h> #include "languagesettingsbase.h" class QPEDialogListener; class LanguageSettings : public LanguageSettingsBase { Q_OBJECT public: LanguageSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~LanguageSettings(); + static QString appName() { return QString::fromLatin1("language"); } + protected: void accept(); void reject(); void done(int); QStrList langAvail; private slots: void applyLanguage(); void reset(); private: static void setLanguage(const QString&); static QString actualLanguage; QPEDialogListener *dl; }; #endif // SETTINGS_H diff --git a/noncore/settings/mediummount/main.cpp b/noncore/settings/mediummount/main.cpp index 118a725..b8cdeaf 100644 --- a/noncore/settings/mediummount/main.cpp +++ b/noncore/settings/mediummount/main.cpp @@ -1,17 +1,10 @@ #include "mediumwidget.h" #include "mediumglobal.h" #include "mainwindow.h" #include <qpixmap.h> #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char ** argv ) -{ - QPEApplication a( argc, argv ); +OPIE_EXPORT_APP( OApplicationFactory<MediumMountSetting::MainWindow> ) - MediumMountSetting::MainWindow mw; - a.showMainWidget( &mw ); - mw.showMaximized(); - - return a.exec(); -} diff --git a/noncore/settings/mediummount/mainwindow.h b/noncore/settings/mediummount/mainwindow.h index 71dac79..9649863 100644 --- a/noncore/settings/mediummount/mainwindow.h +++ b/noncore/settings/mediummount/mainwindow.h @@ -1,35 +1,36 @@ #ifndef MediumMountMainwindow_h #define MediumMountMainwindow_h #include <qlist.h> #include <qdialog.h> class QVBoxLayout; class QTabWidget; namespace MediumMountSetting { class MediumMountWidget; class MediumGlobalWidget; class MainWindow : public QDialog { Q_OBJECT public: MainWindow(QWidget *parent = 0, const char *name = 0 , bool modal = FALSE, WFlags = 0); ~MainWindow(); + static QString appName() { return QString::fromLatin1("mediummount"); } private slots: void slotGlobalChanged(int ); void slotCheckingChanged(int ); void accept(); void done( int ); private: void init(); QTabWidget *m_tab; QVBoxLayout *m_lay; MediumGlobalWidget *m_global; QList<MediumMountWidget> m_mediums; }; }; #endif diff --git a/noncore/settings/mediummount/mediummount.pro b/noncore/settings/mediummount/mediummount.pro index 97bbbaf..6e29fa5 100644 --- a/noncore/settings/mediummount/mediummount.pro +++ b/noncore/settings/mediummount/mediummount.pro @@ -1,32 +1,32 @@ TEMPLATE = app DESTDIR = $(OPIEDIR)/bin/ #CONFIG = qt warn_on debug -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = mediumwidget.h mediumglobal.h mainwindow.h SOURCES = main.cpp mediumwidget.cc mediumglobal.cc mainwindow.cc INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe TARGET = mediummount TRANSLATIONS = ../../../i18n/de/mediummount.ts \ ../../../i18n/nl/mediummount.ts \ ../../../i18n/da/mediummount.ts \ ../../../i18n/xx/mediummount.ts \ ../../../i18n/en/mediummount.ts \ ../../../i18n/es/mediummount.ts \ ../../../i18n/fr/mediummount.ts \ ../../../i18n/hu/mediummount.ts \ ../../../i18n/ja/mediummount.ts \ ../../../i18n/ko/mediummount.ts \ ../../../i18n/no/mediummount.ts \ ../../../i18n/pl/mediummount.ts \ ../../../i18n/pt/mediummount.ts \ ../../../i18n/pt_BR/mediummount.ts \ ../../../i18n/sl/mediummount.ts \ ../../../i18n/zh_CN/mediummount.ts \ ../../../i18n/zh_TW/mediummount.ts include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/mediummount/mediumwidget.h b/noncore/settings/mediummount/mediumwidget.h index 7f7b755..0f27117 100644 --- a/noncore/settings/mediummount/mediumwidget.h +++ b/noncore/settings/mediummount/mediumwidget.h @@ -1,78 +1,79 @@ #ifndef MediumMountWidget_H #define MediumMountWidget_H //#include <qpixmap.h> #include <qwidget.h> class QLabel; class QPixmap; class Config; class QGridLayout; class QCheckBox; class QPushButton; class QVBoxLayout; class QHBoxLayout; class QGroupBox; class QVBox; class QHBox; class QLineEdit; namespace MediumMountSetting { class MediumMountWidget : public QWidget { Q_OBJECT public: MediumMountWidget(const QString&, const QPixmap &, QWidget *parent, const char *name = 0 ); ~MediumMountWidget(); + void writeConfig(); private slots: void slotAdd(); void slotStateChanged(); private: void readConfig(); void initGUI(); bool m_dirty : 1; class MediumMountWidgetPrivate; MediumMountWidgetPrivate *d; QString m_path; Config *m_config; QHBox *m_infoBox; QLabel *m_label; QLabel *m_desc; QLineEdit *m_edit; QPushButton *m_add; QVBoxLayout *m_box; QGridLayout *m_checks; QGroupBox *m_group; QCheckBox *m_all; QCheckBox *m_audio; QCheckBox *m_image; QCheckBox *m_text; QCheckBox *m_video; QCheckBox *m_always; //QCheckBox *m_yesNo; QHBox *m_hboxAdd; QLabel *m_lblPath; //////////////// }; }; #endif diff --git a/noncore/settings/netsystemtime/main.cpp b/noncore/settings/netsystemtime/main.cpp index 4b20a61..da98eee 100644 --- a/noncore/settings/netsystemtime/main.cpp +++ b/noncore/settings/netsystemtime/main.cpp @@ -1,41 +1,35 @@ /* This file is part of the OPIE Project =. .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU 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 file 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 General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "mainwindow.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char ** argv ) -{ - QPEApplication a( argc, argv ); - MainWindow mw; - a.showMainWidget( &mw ); - - return a.exec(); -} +OPIE_EXPORT_APP( OApplicationFactory<MainWindow> ) diff --git a/noncore/settings/netsystemtime/mainwindow.cpp b/noncore/settings/netsystemtime/mainwindow.cpp index 2d240ba..66e1ca3 100644 --- a/noncore/settings/netsystemtime/mainwindow.cpp +++ b/noncore/settings/netsystemtime/mainwindow.cpp @@ -1,398 +1,399 @@ /* This file is part of the OPIE Project =. .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU 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 file 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 General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "mainwindow.h" #include "timetabwidget.h" #include "formattabwidget.h" #include "settingstabwidget.h" #include "ntptabwidget.h" #include "predicttabwidget.h" #include <opie/oprocess.h> #include <opie/otabwidget.h> #include <qpe/config.h> #include <qpe/datebookdb.h> #include <qpe/qpeapplication.h> +#include <qpe/qpedialog.h> #if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP) #include <qpe/qcopenvelope_qws.h> #endif #include <qlayout.h> #include <qmessagebox.h> #include <qsocket.h> #include <qstring.h> #include <qtimer.h> -MainWindow::MainWindow() +MainWindow::MainWindow( QWidget *parent , const char *name, bool modal, WFlags f ) : QDialog( 0x0, 0x0, TRUE, 0 ) { setCaption( tr( "SystemTime" ) ); QVBoxLayout *layout = new QVBoxLayout( this ); layout->setMargin( 2 ); layout->setSpacing( 4 ); // Create main tabbed control mainWidget = new OTabWidget( this ); // Default object pointers to null ntpProcess = 0x0; ntpTab = 0x0; - // Add tab widgets + // Add tab widgets mainWidget->addTab( timeTab = new TimeTabWidget( mainWidget ), "netsystemtime/DateTime", tr( "Time" ) ); mainWidget->addTab( formatTab = new FormatTabWidget( mainWidget ), "netsystemtime/formattab", tr( "Format" ) ); mainWidget->addTab( settingsTab = new SettingsTabWidget( mainWidget ), "SettingsIcon", tr( "Settings" ) ); mainWidget->addTab( predictTab = new PredictTabWidget( mainWidget ), "netsystemtime/predicttab", tr( "Predict" ) ); Config config( "ntp" ); config.setGroup( "settings" ); slotDisplayNTPTab( config.readBoolEntry( "displayNtpTab", FALSE ) ); slotDisplayPredictTab( config.readBoolEntry( "displayPredictTab", FALSE ) ); mainWidget->setCurrentTab( tr( "Time" ) ); layout->addWidget( mainWidget ); - // Create QCOP channel - QCopChannel *channel = new QCopChannel( "QPE/Application/netsystemtime", this ); - connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), - this, SLOT(slotQCopReceive(const QCString&, const QByteArray&)) ); + connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), + this, SLOT(slotQCopReceive(const QCString&, const QByteArray&)) ); + // Create NTP socket ntpSock = new QSocket( this ); connect( ntpSock, SIGNAL(error(int)),SLOT(slotCheckNtp(int)) ); slotProbeNTPServer(); // Create timer for automatic time lookups ntpTimer = new QTimer( this ); // Connect everything together connect( timeTab, SIGNAL(getNTPTime()), this, SLOT(slotGetNTPTime()) ); connect( timeTab, SIGNAL(tzChanged(const QString &)), predictTab, SLOT(slotTZChanged(const QString &)) ); connect( timeTab, SIGNAL(getPredictedTime()), predictTab, SLOT(slotSetPredictedTime()) ); connect( formatTab, SIGNAL(show12HourTime(int)), timeTab, SLOT(slotUse12HourTime( int )) ); connect( formatTab, SIGNAL(dateFormatChanged(const DateFormat &)), timeTab, SLOT(slotDateFormatChanged(const DateFormat &)) ); connect( formatTab, SIGNAL(weekStartChanged(int)), timeTab, SLOT(slotWeekStartChanged(int)) ); connect( settingsTab, SIGNAL(ntpDelayChanged(int)), this, SLOT(slotNTPDelayChanged(int)) ); connect( settingsTab, SIGNAL(displayNTPTab(bool)), this, SLOT(slotDisplayNTPTab(bool)) ); connect( settingsTab, SIGNAL(displayPredictTab(bool)), this, SLOT(slotDisplayPredictTab(bool)) ); connect( predictTab, SIGNAL(setTime(const QDateTime &)), this, SLOT(slotSetTime(const QDateTime &)) ); // Do initial time server check slotNTPDelayChanged( config.readNumEntry( "ntpRefreshFreq", 1440 ) ); slotCheckNtp( -1 ); // Display app - showMaximized(); + //showMaximized(); + (void)new QPEDialogListener(this); } MainWindow::~MainWindow() { if ( ntpProcess ) delete ntpProcess; } void MainWindow::accept() { // Turn off the screensaver (Note: needs to be encased in { } so that it deconstructs and sends) { QCopEnvelope disableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); disableScreenSaver << 0 << 0 << 0; } // Update the systemtime timeTab->saveSettings( TRUE ); // Save format options formatTab->saveSettings( TRUE ); // Save settings options settingsTab->saveSettings(); // Since time has changed quickly load in the DateBookDB to allow the alarm server to get a better // grip on itself (example re-trigger alarms for when we travel back in time). DateBookDB db; // Turn back on the screensaver QCopEnvelope enableScreenSaver( "QPE/System", "setScreenSaverIntervals(int,int,int)" ); enableScreenSaver << -1 << -1 << -1; // Exit app qApp->quit(); } void MainWindow::reject() { // Reset time settings timeTab->saveSettings( FALSE ); // Send notifications but do not save settings formatTab->saveSettings( FALSE ); // Exit app qApp->quit(); } void MainWindow::runNTP() { if ( !ntpDelayElapsed() && ntpInteractive ) { QString msg = tr( "You asked for a delay of %1 minutes, but only %2 minutes elapsed since last lookup.<br>Continue?" ).arg( QString::number( ntpDelay ) ).arg( QString::number( _lookupDiff / 60 ) ); - + switch ( QMessageBox::warning( this, tr( "Continue?" ), msg, QMessageBox::Yes, QMessageBox::No ) ) { case QMessageBox::Yes: break; case QMessageBox::No: return; default: return; } } QString srv = settingsTab->ntpServer(); // Send information to time server tab if enabled if ( ntpTabEnabled ) { ntpTab->setStartTime( QDateTime::currentDateTime().toString() ); QString output = tr( "Running:\nntpdate " ); output.append( srv ); ntpTab->addNtpOutput( output ); } if ( !ntpProcess ) { ntpProcess = new OProcess(); connect( ntpProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), this, SLOT(slotNtpOutput(OProcess*,char*,int)) ); connect( ntpProcess, SIGNAL(processExited(OProcess*)), this, SLOT(slotNtpFinished(OProcess*)) ); } else ntpProcess->clearArguments(); - - *ntpProcess << "ntpdate" << srv; + + *ntpProcess << "ntpdate" << srv; bool ret = ntpProcess->start( OProcess::NotifyOnExit, OProcess::AllOutput ); if ( !ret ) { QMessageBox::critical( this, tr( "Error" ), tr( "Error while getting time from network." ) ); if ( ntpTabEnabled ) ntpTab->addNtpOutput( tr( "Error while executing ntpdate" ) ); } } bool MainWindow::ntpDelayElapsed() { // Determine if time elapsed is greater than time delay Config config( "ntp" ); config.setGroup( "lookups" ); _lookupDiff = TimeConversion::toUTC( QDateTime::currentDateTime() ) - config.readNumEntry( "time", 0 ); if ( _lookupDiff < 0 ) return true; return ( _lookupDiff - ( ntpDelay * 60) ) > 0; } void MainWindow::slotSetTime( const QDateTime &dt ) { timeTab->setDateTime( dt ); } void MainWindow::slotQCopReceive( const QCString &msg, const QByteArray & ) { if ( msg == "ntpLookup(QString)" ) { ntpInteractive = false; runNTP(); } if ( msg == "setPredictedTime(QString)" ) { //setPredictTime(); } } void MainWindow::slotDisplayNTPTab( bool display ) { ntpTabEnabled = display; // Create widget if it hasn't needed if ( display && !ntpTab ) { ntpTab = new NTPTabWidget( mainWidget ); connect( ntpTab, SIGNAL(getNTPTime()), this, SLOT(slotGetNTPTime()) ); } // Display/hide tab display ? mainWidget->addTab( ntpTab, "netsystemtime/ntptab", tr( "Time Server" ) ) : mainWidget->removePage( ntpTab ); } void MainWindow::slotDisplayPredictTab( bool display ) { predictTabEnabled = display; // Create widget if it hasn't needed if ( display && !predictTab ) { } // Display/hide tab display ? mainWidget->addTab( predictTab, "netsystemtime/predicttab", tr( "Predict" ) ) : mainWidget->removePage( predictTab ); } void MainWindow::slotGetNTPTime() { ntpInteractive = TRUE; runNTP(); } void MainWindow::slotTimerGetNTPTime() { ntpInteractive = FALSE; runNTP(); } void MainWindow::slotProbeNTPServer() { ntpSock->connectToHost( settingsTab->ntpServer(), 123 ); } void MainWindow::slotNtpOutput( OProcess *, char *buffer, int buflen ) { QString output = QString( buffer ).left( buflen ); ntpOutput.append( output ); if ( ntpTabEnabled ) ntpTab->addNtpOutput( output ); } void MainWindow::slotNtpFinished( OProcess *p ) { QString output; QDateTime dt = QDateTime::currentDateTime(); - + // Verify run was successful if ( p->exitStatus() != 0 || !p->normalExit() ) { if ( isVisible() && ntpInteractive ) { output = tr( "Error while getting time from\n server: " ); output.append( settingsTab->ntpServer() ); QMessageBox::critical(this, tr( "Error" ), output ); } // slotCheckNtp(-1); return; } // Set controls on time tab to new time value timeTab->setDateTime( dt ); // Write out lookup information Config config( "ntp" ); config.setGroup( "lookups" ); int lastLookup = config.readNumEntry( "time", 0 ); int lookupCount = config.readNumEntry( "count", 0 ); bool lastNtp = config.readBoolEntry( "lastNtp", FALSE ); int time = TimeConversion::toUTC( QDateTime::currentDateTime() ); config.writeEntry( "time", time ); // Calculate new time/time shift QString _offset = "offset"; QString _sec = "sec"; QRegExp _reOffset = QRegExp( _offset ); QRegExp _reEndOffset = QRegExp( _sec ); int posOffset = _reOffset.match( ntpOutput ); int posEndOffset = _reEndOffset.match( ntpOutput, posOffset ); posOffset += _offset.length() + 1; QString diff = ntpOutput.mid( posOffset, posEndOffset - posOffset - 1 ); float timeShift = diff.toFloat(); if ( timeShift == 0.0 ) return; int secsSinceLast = time - lastLookup; output = tr( "%1 seconds").arg(QString::number( timeShift )); - + // Display information on time server tab if ( ntpTabEnabled ) { ntpTab->setTimeShift( output ); ntpTab->setNewTime( dt.toString() ); } if ( lastNtp && lastLookup > 0 && secsSinceLast > 60 * ntpDelay ) { QString grpname = QString( "lookup_" ).append( QString::number( lookupCount ) ); config.setGroup( grpname ); lookupCount++; predictTab->setShiftPerSec( timeShift / secsSinceLast ); config.writeEntry( "secsSinceLast", secsSinceLast ); config.writeEntry( "timeShift", QString::number( timeShift ) ); config.setGroup( "lookups" ); config.writeEntry( "count", lookupCount ); config.writeEntry( "lastNtp", TRUE ); } } void MainWindow::slotNTPDelayChanged( int delay ) { ntpTimer->changeInterval( delay * 1000 * 60 ); ntpDelay = delay; } void MainWindow::slotCheckNtp( int i ) { if ( i == 0 ) { if ( ntpDelayElapsed() ) { runNTP(); disconnect( ntpTimer, SIGNAL(timeout()), this, SLOT(slotProbeNTPServer()) ); connect( ntpTimer, SIGNAL(timeout()), SLOT(slotTimerGetNTPTime()) ); } else { disconnect(ntpTimer, SIGNAL(timeout()), this, SLOT(slotTimerGetNTPTime()) ); connect(ntpTimer, SIGNAL(timeout()), SLOT(slotProbeNTPServer()) ); } } else { predictTab->slotPredictTime(); if ( i > 0 ) { QString output = tr( "Could not connect to server " ); output.append( settingsTab->ntpServer() ); ntpOutput.append( output ); if ( ntpTabEnabled ) ntpTab->addNtpOutput( output ); } connect( ntpTimer, SIGNAL(timeout()), SLOT(slotProbeNTPServer()) ); } } diff --git a/noncore/settings/netsystemtime/mainwindow.h b/noncore/settings/netsystemtime/mainwindow.h index fa94335..1cdbc1a 100644 --- a/noncore/settings/netsystemtime/mainwindow.h +++ b/noncore/settings/netsystemtime/mainwindow.h @@ -1,95 +1,96 @@ /* This file is part of the OPIE Project =. .=l. Copyright (c) 2002 OPIE team <opie@handhelds.org?> .>+-= _;:, .> :=|. This file is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU 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 file 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 General ..}^=.= = ; Public License for more details. ++= -. .` .: : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <qdialog.h> class TimeTabWidget; class FormatTabWidget; class SettingsTabWidget; class NTPTabWidget; class PredictTabWidget; class OProcess; class OTabWidget; class QDateTime; class QSocket; class QTimer; class MainWindow : public QDialog { Q_OBJECT public: - MainWindow(); + MainWindow( QWidget *parent = 0, const char *name = 0, bool modal = FALSE,WFlags f = 0); ~MainWindow(); + static QString appName() { return QString::fromLatin1("systemtime"); } protected: void accept(); void reject(); private: OTabWidget *mainWidget; TimeTabWidget *timeTab; FormatTabWidget *formatTab; SettingsTabWidget *settingsTab; NTPTabWidget *ntpTab; PredictTabWidget *predictTab; bool ntpTabEnabled; bool predictTabEnabled; OProcess *ntpProcess; QTimer *ntpTimer; QSocket *ntpSock; int ntpDelay; bool ntpInteractive; QString ntpOutput; int _lookupDiff; void runNTP(); bool ntpDelayElapsed(); private slots: void slotSetTime( const QDateTime & ); void slotQCopReceive( const QCString &, const QByteArray & ); void slotDisplayNTPTab( bool ); void slotDisplayPredictTab( bool ); void slotGetNTPTime(); void slotTimerGetNTPTime(); void slotProbeNTPServer(); void slotNtpOutput( OProcess *, char *, int ); void slotNtpFinished( OProcess* ); void slotNTPDelayChanged( int ); void slotCheckNtp( int ); }; #endif diff --git a/noncore/settings/netsystemtime/netsystemtime.pro b/noncore/settings/netsystemtime/netsystemtime.pro index 7a12dd1..2140f2e 100644 --- a/noncore/settings/netsystemtime/netsystemtime.pro +++ b/noncore/settings/netsystemtime/netsystemtime.pro @@ -1,44 +1,41 @@ -TEMPLATE = app -CONFIG = qt warn_on debug -#CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = mainwindow.h \ timetabwidget.h \ formattabwidget.h \ settingstabwidget.h \ predicttabwidget.h \ ntptabwidget.h SOURCES = main.cpp \ mainwindow.cpp \ timetabwidget.cpp \ formattabwidget.cpp \ settingstabwidget.cpp \ predicttabwidget.cpp \ ntptabwidget.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie -INTERFACES = -DESTDIR = $(OPIEDIR)/bin + TARGET = systemtime TRANSLATIONS = ../../../i18n/de/systemtime.ts \ ../../../i18n/nl/systemtime.ts \ ../../../i18n/da/systemtime.ts \ ../../../i18n/xx/systemtime.ts \ ../../../i18n/en/systemtime.ts \ ../../../i18n/es/systemtime.ts \ ../../../i18n/fr/systemtime.ts \ ../../../i18n/hu/systemtime.ts \ ../../../i18n/ja/systemtime.ts \ ../../../i18n/ko/systemtime.ts \ ../../../i18n/no/systemtime.ts \ ../../../i18n/pl/systemtime.ts \ ../../../i18n/pt/systemtime.ts \ ../../../i18n/pt_BR/systemtime.ts \ ../../../i18n/sl/systemtime.ts \ ../../../i18n/zh_CN/systemtime.ts \ ../../../i18n/zh_TW/systemtime.ts include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/sound/main.cpp b/noncore/settings/sound/main.cpp index 33b0523..d919ce4 100644 --- a/noncore/settings/sound/main.cpp +++ b/noncore/settings/sound/main.cpp @@ -1,33 +1,29 @@ /********************************************************************** ** 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 "soundsettings.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> + +OPIE_EXPORT_APP( OApplicationFactory<SoundSettings> ) -int main(int argc, char** argv) -{ - QPEApplication a(argc,argv); - SoundSettings dlg; - a.showMainWidget(&dlg); - return a.exec(); -} diff --git a/noncore/settings/sound/sound.pro b/noncore/settings/sound/sound.pro index 48c612e..c0a1ed3 100644 --- a/noncore/settings/sound/sound.pro +++ b/noncore/settings/sound/sound.pro @@ -1,32 +1,30 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin +CONFIG += qt warn_on release quick-app HEADERS = soundsettings.h soundsettingsbase.h SOURCES = soundsettings.cpp soundsettingsbase.cpp main.cpp #INTERFACES = soundsettingsbase.ui INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe TARGET = sound TRANSLATIONS = ../../../i18n/de/sound.ts \ ../../../i18n/nl/sound.ts \ ../../../i18n/da/sound.ts \ ../../../i18n/xx/sound.ts \ ../../../i18n/en/sound.ts \ ../../../i18n/es/sound.ts \ ../../../i18n/fr/sound.ts \ ../../../i18n/hu/sound.ts \ ../../../i18n/ja/sound.ts \ ../../../i18n/ko/sound.ts \ ../../../i18n/no/sound.ts \ ../../../i18n/pl/sound.ts \ ../../../i18n/pt/sound.ts \ ../../../i18n/pt_BR/sound.ts \ ../../../i18n/sl/sound.ts \ ../../../i18n/zh_CN/sound.ts \ ../../../i18n/zh_TW/sound.ts include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/settings/sound/soundsettings.h b/noncore/settings/sound/soundsettings.h index 71ce6f5..57a360f 100644 --- a/noncore/settings/sound/soundsettings.h +++ b/noncore/settings/sound/soundsettings.h @@ -1,52 +1,53 @@ /********************************************************************** ** 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 SOUNDSETTINGS_H #define SOUNDSETTINGS_H #include "soundsettingsbase.h" class SoundSettings : public SoundSettingsBase { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("sound"); } SoundSettings( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); protected: bool noWarning; /* void accept(); */ /* void reject(); */ void updateStorageCombo(); void updateLocationCombo(); private slots: void setKeyButton( int); void setSizeLimitButton(const QString &); void setLocation(const QString &); void cleanUp(); void restartOpie(bool); void slotAdpcm(bool); }; #endif // SOUNDSETTINGS_H diff --git a/noncore/settings/sshkeys/opie-sshkeys.control b/noncore/settings/sshkeys/opie-sshkeys.control index d05858c..4deccf4 100644 --- a/noncore/settings/sshkeys/opie-sshkeys.control +++ b/noncore/settings/sshkeys/opie-sshkeys.control @@ -1,9 +1,9 @@ Package: opie-sshkeys -Files: plugins/application/libsshkeys.so* bin/sshkeys apps/Settings/sshkeys.desktop pics/sshkeys/sshkeys.png +Files: bin/sshkeys apps/Settings/sshkeys.desktop pics/sshkeys/sshkeys.png Priority: optional Section: opie/settings Maintainer: David Woodhouse <dwmw2@infradead.org> Architecture: arm Depends: task-opie-minimal, ssh, opie-sh-ssh-askpass Description: Utility for managing ssh-agent keys. Version: $QPE_VERSION$EXTRAVERSION diff --git a/noncore/settings/usermanager/main.cpp b/noncore/settings/usermanager/main.cpp index aa78286..515ea9a 100644 --- a/noncore/settings/usermanager/main.cpp +++ b/noncore/settings/usermanager/main.cpp @@ -1,19 +1,14 @@ /*************************************************************************** * * * 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 "usermanager.h" #include <qpe/qpeapplication.h> +#include <opie/oapplicationfactory.h> -int main( int argc, char ** argv ) -{ - QPEApplication a( argc, argv ); - UserConfig mw(0,0,0); - a.showMainWidget( &mw ); - return a.exec(); -} +OPIE_EXPORT_APP( OApplicationFactory<UserConfig> ) diff --git a/noncore/settings/usermanager/usermanager.h b/noncore/settings/usermanager/usermanager.h index 6782923..313646a 100644 --- a/noncore/settings/usermanager/usermanager.h +++ b/noncore/settings/usermanager/usermanager.h @@ -1,66 +1,67 @@ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef USERCONFIG_H #define USERCONFIG_H #include <qmainwindow.h> #include <qtabwidget.h> #include <qlistview.h> #include <qpopupmenu.h> #include <qtoolbutton.h> #include <qpe/qpetoolbar.h> #include "userdialog.h" #include "groupdialog.h" #include "passwd.h" class UserConfig : public QMainWindow { Q_OBJECT public: + static QString appName() { return QString::fromLatin1("appname"); } UserConfig( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~UserConfig(); private: QToolButton *adduserToolButton; QToolButton *edituserToolButton; QToolButton *deleteuserToolButton; QToolButton *addgroupToolButton; QToolButton *editgroupToolButton; QToolButton *deletegroupToolButton; QTabWidget *myTabWidget; QListView *usersIconView; QListView *usersListView; QListView *groupsListView; QPopupMenu userPopupMenu; QPopupMenu groupPopupMenu; int availableUID; int availableGID; void setupTabAccounts(); void setupTabAllUsers(); void setupTabAllGroups(); void setupTabPrefs(); void setupTabAbout(); void getUsers(); void getGroups(); private slots: void addUser(); void editUser(); void delUser(); void addGroup(); void editGroup(); void delGroup(); void showUserMenu(QListViewItem *item); }; #endif // USERCONFIG_H diff --git a/noncore/settings/usermanager/usermanager.pro b/noncore/settings/usermanager/usermanager.pro index 576a233..f61fb63 100644 --- a/noncore/settings/usermanager/usermanager.pro +++ b/noncore/settings/usermanager/usermanager.pro @@ -1,34 +1,32 @@ -TEMPLATE = app #CONFIG = qt warn_on debug -CONFIG = qt warn_on release +CONFIG = qt warn_on release quick-app HEADERS = usermanager.h userdialog.h groupdialog.h passwd.h SOURCES = usermanager.cpp userdialog.cpp groupdialog.cpp passwd.cpp main.cpp INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -lopie -lcrypt TARGET = usermanager -DESTDIR = $(OPIEDIR)/bin TRANSLATIONS = ../../../i18n/de/usermanager.ts \ ../../../i18n/nl/usermanager.ts \ ../../../i18n/xx/usermanager.ts \ ../../../i18n/en/usermanager.ts \ ../../../i18n/es/usermanager.ts \ ../../../i18n/fr/usermanager.ts \ ../../../i18n/hu/usermanager.ts \ ../../../i18n/ja/usermanager.ts \ ../../../i18n/ko/usermanager.ts \ ../../../i18n/no/usermanager.ts \ ../../../i18n/pl/usermanager.ts \ ../../../i18n/pt/usermanager.ts \ ../../../i18n/pt_BR/usermanager.ts \ ../../../i18n/sl/usermanager.ts \ ../../../i18n/zh_CN/usermanager.ts \ ../../../i18n/zh_TW/usermanager.ts \ ../../../i18n/it/usermanager.ts \ ../../../i18n/da/usermanager.ts include ( $(OPIEDIR)/include.pro ) |