-rw-r--r-- | core/launcher/launcher.cpp | 102 | ||||
-rw-r--r-- | core/launcher/launcher.h | 29 |
2 files changed, 93 insertions, 38 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index bcc2495..d9fc8e4 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp @@ -21,8 +21,10 @@ // WARNING: Do *NOT* define this yourself. The SL5xxx from SHARP does NOT // have this class. #define QTOPIA_INTERNAL_FSLP +//#include <opie/ofiledialog.h> +#include <opie/ofileselector.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/resource.h> #include <qpe/applnk.h> #include <qpe/config.h> @@ -196,9 +198,9 @@ void CategoryTabWidget::addItem( const QString& linkfile ) QCopEnvelope e("QPE/TaskBar","reloadApps()"); } void CategoryTabWidget::initializeCategories(AppLnkSet* rootFolder, - AppLnkSet* docFolder, const QList<FileSystem> &fs) + AppLnkSet* /*docFolder*/, const QList<FileSystem> & /*fs*/) { QString current; if ( categoryBar ) { int c = categoryBar->currentTab(); @@ -250,15 +252,25 @@ void CategoryTabWidget::initializeCategories(AppLnkSet* rootFolder, // all documents QImage img( Resource::loadImage( "DocsIcon" ) ); QPixmap pm; pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); - docview = newView( "Documents", // No tr - pm, tr("Documents")); - docview->populate( docFolder, QString::null ); - docFolder->detachChildren(); - docview->setFileSystems(fs); - docview->setToolsEnabled(TRUE); - setTabAppearance( "Documents", cfg ); // No tr + + //ljpotter + CategoryTab *catTab ; + catTab = new CategoryTab( pm, "Documents" ); + + categoryBar->addTab( catTab ); + + fileSel = new DocumentTab( stack, 4, 0, "/",""); + stack->addWidget( fileSel, tabs++ ); + + // fileSel->hide(); + + connect( fileSel, SIGNAL( fileSelected( const DocLnk & )), + this, SLOT(clickie(const DocLnk&)) ); + +// connect( fileSel, SIGNAL( fileSelected( const QString & )), +// this, SLOT(clickie(const QString&)) ); connect( categoryBar, SIGNAL(selected(int)), stack, SLOT(raiseWidget(int)) ); ((LauncherView*)stack->widget(0))->setFocus(); @@ -272,11 +284,22 @@ void CategoryTabWidget::initializeCategories(AppLnkSet* rootFolder, categoryBar->show(); stack->show(); + QCopEnvelope e("QPE/TaskBar","reloadApps()"); } +void CategoryTabWidget::clickie(const DocLnk &lnk) { + lnk.execute(); + // fileSel->reparse(); +} + +void CategoryTabWidget::clickie(const QString &appStr) { +// DocLnk lnk(appStr); +// lnk.execute(); +} + void CategoryTabWidget::setTabAppearance( const QString &id, Config &cfg ) { QString grp( "Tab %1" ); // No tr cfg.setGroup( grp.arg(id) ); @@ -317,15 +340,12 @@ void CategoryTabWidget::setTabAppearance( const QString &id, Config &cfg ) else tab->fgColor = QColor(tabTextCol); } -void CategoryTabWidget::updateDocs(AppLnkSet* docFolder, const QList<FileSystem> &fs) -{ - docview->populate( docFolder, QString::null ); - docFolder->detachChildren(); - docview->setFileSystems(fs); - docview->updateTools(); -} +//void CategoryTabWidget::updateDocs(AppLnkSet* docFolder, const QList<FileSystem> & /*fs*/) +//{ + // docFolder->detachChildren(); +//} void CategoryTabWidget::tabProperties() { LauncherView *view = (LauncherView*)stack->widget( categoryBar->currentTab() ); @@ -342,9 +362,9 @@ void CategoryTabWidget::tabProperties() } QString CategoryTabWidget::getAllDocLinkInfo() const { - return docview->getAllDocLinkInfo(); + return ""; } LauncherView* CategoryTabWidget::newView( const QString& id, const QPixmap& pm, const QString& label ) { @@ -360,17 +380,16 @@ LauncherView* CategoryTabWidget::newView( const QString& id, const QPixmap& pm, } void CategoryTabWidget::updateLink(const QString& linkfile) { - int i=0; - LauncherView* view; + // LauncherView* view; qApp->processEvents(); - while ((view = (LauncherView*)stack->widget(i++))) { - if ( view->removeLink(linkfile) ) - break; - } - addItem(linkfile); - docview->updateTools(); +// while ((view = (LauncherView*)stack->widget(i++))) { +// if ( view->removeLink(linkfile) ) +// break; +// } + // addItem(linkfile); + fileSel->reparse(); } void CategoryTabWidget::paletteChange( const QPalette &p ) { @@ -386,9 +405,9 @@ void CategoryTabWidget::setBusy(bool on) { if ( on ) ((LauncherView*)stack->visibleWidget())->setBusy(TRUE); else - for (int i=0; i<tabs; i++) + for (int i=0; i<tabs-1; i++) ((LauncherView*)stack->widget(i))->setBusy(FALSE); } LauncherView *CategoryTabWidget::view( const QString &id ) @@ -647,8 +666,9 @@ Launcher::Launcher( QWidget* parent, const char* name, WFlags fl ) this, SLOT(select(const AppLnk*))); connect( tabs, SIGNAL(rightPressed(AppLnk*)), this, SLOT(properties(AppLnk*))); + #if !defined(QT_NO_COP) QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)), this, SLOT(systemMessage( const QCString &, const QByteArray &)) ); @@ -731,18 +751,15 @@ void Launcher::updateMimeTypes(AppLnkSet* folder) * c2) we need to ask and then apply the mimefilter */ void Launcher::loadDocs() // ok here comes a hack belonging to Global:: { - OWait *owait = new OWait(); Global::statusMessage( tr( "Finding documents" ) ); owait->show(); qApp->processEvents(); - - delete docsFolder; + if(docsFolder) delete docsFolder; docsFolder = new DocLnkSet; - DocLnkSet *tmp = 0; QString home = QString(getenv("HOME")) + "/Documents"; tmp = new DocLnkSet( home , QString::null); docsFolder->appendFrom( *tmp ); @@ -763,11 +780,13 @@ void Launcher::loadDocs() // ok here comes a hack belonging to Global:: Config mediumCfg( "medium"); mediumCfg.setGroup("main"); // a) -zecke we don't want to check - if(!mediumCfg.readBoolEntry("use", true ) ) + if(!mediumCfg.readBoolEntry("use", true ) ) { + owait->hide(); + delete owait; return; - + } // find out wich filesystems are new in this round // We will do this by having a timestamp inside each mountpoint // if the current timestamp doesn't match this is a new file system and // come up with our MediumMountGui :) let the hacking begin @@ -784,8 +803,10 @@ void Launcher::loadDocs() // ok here comes a hack belonging to Global:: docsFolder->appendFrom( *tmp ); delete tmp; } } // done + owait->hide(); + delete owait; return; // save the else } // c) zecke for ( it.toFirst(); it.current(); ++it ) { @@ -847,9 +868,8 @@ void Launcher::loadDocs() // ok here comes a hack belonging to Global:: void Launcher::updateTabs() { MimeType::updateApplications(); // ### reads all applnks twice - delete rootFolder; rootFolder = new AppLnkSet( MimeType::appsFolderName() ); loadDocs(); @@ -859,9 +879,9 @@ void Launcher::updateTabs() void Launcher::updateDocs() { loadDocs(); - tabs->updateDocs(docsFolder,storage->fileSystems()); + // tabs->updateDocs(docsFolder,storage->fileSystems()); } void Launcher::viewSelected(const QString& s) { @@ -1316,4 +1336,20 @@ void Launcher::preloadApps() QCopEnvelope e("QPE/Application/"+(*it).local8Bit(), "enablePreload()"); #endif } } + +DocumentTab::DocumentTab( QWidget *parent, int mode, int selector, const QString &dirName, const QString &fileName) + : OFileSelector(parent,mode,selector,dirName,fileName) +{ + setYesCancelVisible(false); + setToolbarVisible(true); + setPermissionBarVisible(false); + setLineEditVisible(false) ; + //setChooserVisible( bool chooser ); + +} + +DocumentTab::~DocumentTab() { + +} + diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h index c92ef5d..0616734 100644 --- a/core/launcher/launcher.h +++ b/core/launcher/launcher.h @@ -1,9 +1,8 @@ /********************************************************************** ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** -** This file is part of the Qtopia Environment. -** +** This file is part of the 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. @@ -20,8 +19,12 @@ #ifndef LAUNCHER_H #define LAUNCHER_H #include <qpe/config.h> +#include <qpe/applnk.h> + +#include <opie/ofileselector.h> + #include <qmainwindow.h> #include <qtabbar.h> #include <qstringlist.h> #include <qvbox.h> @@ -35,21 +38,35 @@ class DocLnkSet; class QWidgetStack; class StorageInfo; class SyncDialog; + +class DocumentTab : public OFileSelector +{ + Q_OBJECT +public: + DocumentTab( QWidget *parent, int mode, int selector, const QString &dirName, const QString &fileName);//, 4,0, "/",""); +~DocumentTab(); +private: + +}; + class CategoryTabBar : public QTabBar { Q_OBJECT public: CategoryTabBar( QWidget *parent=0, const char *name=0 ); ~CategoryTabBar(); +signals: + protected slots: virtual void layoutTabs(); protected: void paint ( QPainter *p, QTab *t, bool f ) const; void paintLabel( QPainter* p, const QRect& br, QTab* t, bool has_focus ) const; + }; class CategoryTabWidget : public QVBox { // can't use a QTabWidget, since it won't let us set the frame style. @@ -57,24 +74,26 @@ class CategoryTabWidget : public QVBox { public: CategoryTabWidget( QWidget* parent ); void initializeCategories(AppLnkSet* rootFolder, AppLnkSet* docFolder, const QList<FileSystem> &); - void updateDocs(AppLnkSet* docFolder, const QList<FileSystem> &fs); +// void updateDocs(AppLnkSet* docFolder, const QList<FileSystem> &fs); void updateLink(const QString& linkfile); void setBusy(bool on); QString getAllDocLinkInfo() const; LauncherView *view( const QString &id ); void setBusyIndicatorType ( const QString &type ); + DocumentTab *fileSel; signals: void selected(const QString&); void clicked(const AppLnk*); void rightPressed(AppLnk*); - + void ofileSel(const DocLnk &); public slots: void nextTab(); void prevTab(); void showTab(const QString&); - + void clickie(const DocLnk&); + void clickie(const QString &); protected slots: void tabProperties(); protected: |