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 @@ -551,36 +551,32 @@ void Appearance::accept ( ) 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 ( )) { 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 @@ -42,37 +42,38 @@ 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 ( ); 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 @@ -2,41 +2,33 @@ =. 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 @@ -24,131 +24,131 @@ #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"){ @@ -166,128 +166,128 @@ void BackupAndRestore::scanForApplicationSettings(){ 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(); @@ -304,97 +304,97 @@ 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,36 +1,37 @@ -#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; 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,19 +1,17 @@ -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 \ 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 @@ -8,29 +8,20 @@ ** 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 @@ -22,32 +22,34 @@ #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; 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 @@ -4,32 +4,33 @@ #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,20 +1,20 @@ 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 \ 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 @@ -13,32 +13,33 @@ 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; 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 @@ -16,26 +16,20 @@ =_ + =;=|` 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 @@ -26,104 +26,105 @@ */ #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; } @@ -152,67 +153,67 @@ 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 ) @@ -284,33 +285,33 @@ 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 ); @@ -325,33 +326,33 @@ void MainWindow::slotNtpFinished( OProcess *p ) // 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" ); 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 @@ -35,34 +35,35 @@ 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; 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,37 +1,34 @@ -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 \ 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 @@ -8,26 +8,22 @@ ** 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,19 +1,17 @@ -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 \ 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 @@ -16,32 +16,33 @@ ** 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); 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 @@ -14,32 +14,33 @@ #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; 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,26 +1,24 @@ -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 \ |