summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcher.cpp40
1 files changed, 20 insertions, 20 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index 5f050aa..0205622 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -40,285 +40,285 @@
#ifdef QWS
#include <qwindowsystem_qws.h>
#endif
#include <qtimer.h>
#include <qcombobox.h>
#include <qvbox.h>
#include <qlayout.h>
#include <qstyle.h>
#include <qpushbutton.h>
#include <qtabbar.h>
#include <qwidgetstack.h>
#include <qlayout.h>
#include <qregexp.h>
#include <qmessagebox.h>
#include <qframe.h>
#include <qpainter.h>
#include <qlabel.h>
#include <qtextstream.h>
#include <qpopupmenu.h>
#include <opie/owait.h>
#include "launcherview.h"
#include "launcher.h"
#include "syncdialog.h"
#include "desktop.h"
#include <qpe/lnkproperties.h>
//#include "mrulist.h"
#include "qrsync.h"
#include <stdlib.h>
#include <unistd.h>
#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
#include <stdio.h>
#include <sys/vfs.h>
#include <mntent.h>
#endif
#include <qpe/storage.h>
#include "mediummountgui.h"
namespace {
QStringList configToMime( Config *cfg ){
QStringList mimes;
bool tmpMime = true;
cfg->setGroup("mimetypes" );
tmpMime = cfg->readBoolEntry("all" ,true);
if( tmpMime ){
mimes << QString::null;
return mimes;
}else{
tmpMime = cfg->readBoolEntry("audio", true );
if(tmpMime )
mimes.append("audio/*" );
tmpMime = cfg->readBoolEntry("image", true );
if(tmpMime )
mimes.append("image/*" );
tmpMime = cfg->readBoolEntry("text", true );
if(tmpMime )
mimes.append("text/*");
tmpMime = cfg->readBoolEntry("video", true );
if(tmpMime )
mimes.append("video/*" );
}
return mimes;
}
}
//#define SHOW_ALL
class CategoryTab : public QTab
{
public:
CategoryTab( const QIconSet &icon, const QString &text=QString::null )
: QTab( icon, text )
{
}
QColor bgColor;
QColor fgColor;
};
//===========================================================================
CategoryTabWidget::CategoryTabWidget( QWidget* parent ) :
QVBox( parent )
{
categoryBar = 0;
stack = 0;
}
void CategoryTabWidget::prevTab()
{
if ( categoryBar ) {
int n = categoryBar->count();
int tab = categoryBar->currentTab();
if ( tab >= 0 )
categoryBar->setCurrentTab( (tab - 1 + n)%n );
}
}
void CategoryTabWidget::nextTab()
{
if ( categoryBar ) {
int n = categoryBar->count();
int tab = categoryBar->currentTab();
categoryBar->setCurrentTab( (tab + 1)%n );
}
}
void CategoryTabWidget::showTab(const QString& id)
{
if ( categoryBar ) {
int idx = ids.findIndex( id );
categoryBar->setCurrentTab( idx );
}
}
void CategoryTabWidget::addItem( const QString& linkfile )
{
- int i=0;
- AppLnk *app = new AppLnk(linkfile);
- if ( !app->isValid() ) {
- delete app;
- app=0;
- }
- if ( !app || !app->file().isEmpty() ) {
+// int i=0;
+// AppLnk *app = new AppLnk(linkfile);
+// if ( !app->isValid() ) {
+// delete app;
+// app=0;
+// }
+// if ( !app || !app->file().isEmpty() ) {
// A document
// delete app;
// app = new DocLnk(linkfile);
// if ( app->fileKnown() ) {
// ((LauncherView*)(stack->widget(ids.count()-1)))->addItem(app);
// } else {
// ((LauncherView*)(stack->widget(ids.count()-1)))->sort();
// delete app;
// }
- return;
- }
+// return;
+// }
// An application
- for ( QStringList::Iterator it=ids.begin(); it!=ids.end(); ++it) {
- if ( !(*it).isEmpty() ) {
- QRegExp tf(*it,FALSE,TRUE);
- if ( tf.match(app->type()) >= 0 ) {
- ((LauncherView*)stack->widget(i))->addItem(app);
- return;
- }
- i++;
- }
- }
+// for ( QStringList::Iterator it=ids.begin(); it!=ids.end(); ++it) {
+// if ( !(*it).isEmpty() ) {
+// QRegExp tf(*it,FALSE,TRUE);
+// if ( tf.match(app->type()) >= 0 ) {
+// ((LauncherView*)stack->widget(i))->addItem(app);
+// return;
+// }
+// i++;
+ // }
+ // }
QCopEnvelope e("QPE/TaskBar","reloadApps()");
}
void CategoryTabWidget::initializeCategories(AppLnkSet* rootFolder,
AppLnkSet* /*docFolder*/, const QList<FileSystem> & /*fs*/)
{
QString current;
if ( categoryBar ) {
int c = categoryBar->currentTab();
if ( c >= 0 ) current = ids[c];
}
delete categoryBar;
categoryBar = new CategoryTabBar( this );
QPalette pal = categoryBar->palette();
pal.setColor( QColorGroup::Light, pal.color(QPalette::Active,QColorGroup::Shadow) );
pal.setColor( QColorGroup::Background, pal.active().background().light(110) );
categoryBar->setPalette( pal );
delete stack;
stack = new QWidgetStack(this);
tabs=0;
ids.clear();
Config cfg("Launcher");
QStringList types = rootFolder->types();
for ( QStringList::Iterator it=types.begin(); it!=types.end(); ++it) {
if ( !(*it).isEmpty() ) {
(void)newView(*it,rootFolder->typePixmap(*it),rootFolder->typeName(*it));
setTabAppearance( *it, cfg );
}
}
QListIterator<AppLnk> it( rootFolder->children() );
AppLnk* l;
while ( (l=it.current()) ) {
if ( l->type() == "Separator" ) { // No tr
rootFolder->remove(l);
delete l;
} else {
int i=0;
for ( QStringList::Iterator it=types.begin(); it!=types.end(); ++it) {
if ( *it == l->type() )
((LauncherView*)stack->widget(i))->addItem(l,FALSE);
i++;
}
}
++it;
}
rootFolder->detachChildren();
for (int i=0; i<tabs; i++)
((LauncherView*)stack->widget(i))->sort();
// all documents
QImage img( Resource::loadImage( "DocsIcon" ) );
QPixmap pm;
pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
//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();
cfg. setGroup ( "GUI" );
setBusyIndicatorType ( cfg. readEntry ( "BusyType", QString::null ));
if ( !current.isNull() ) {
showTab(current);
}
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) );
LauncherView *v = view( id );
int idx = ids.findIndex( id );
CategoryTab *tab = (CategoryTab *)categoryBar->tab( idx );
// View
QString view = cfg.readEntry( "View", "Icon" );
if ( view == "List" ) // No tr
v->setViewMode( LauncherView::List );
QString bgType = cfg.readEntry( "BackgroundType", "Image" );
if ( bgType == "Image" ) { // No tr
QString pm = cfg.readEntry( "BackgroundImage", "launcher/opie-background" );
v->setBackgroundType( LauncherView::Image, pm );
} else if ( bgType == "SolidColor" ) {
QString c = cfg.readEntry( "BackgroundColor" );
v->setBackgroundType( LauncherView::SolidColor, c );
}
QString textCol = cfg.readEntry( "TextColor" );
if ( textCol.isEmpty() )
v->setTextColor( QColor() );
@@ -1217,139 +1217,139 @@ void Launcher::launcherMessage( const QCString &msg, const QByteArray &data)
QDataStream stream( data, IO_ReadOnly );
if ( msg == "setTabView(QString,int)" ) {
QString id;
stream >> id;
int mode;
stream >> mode;
if ( tabs->view(id) )
tabs->view(id)->setViewMode( (LauncherView::ViewMode)mode );
} else if ( msg == "setTabBackground(QString,int,QString)" ) {
QString id;
stream >> id;
int mode;
stream >> mode;
QString pixmapOrColor;
stream >> pixmapOrColor;
if ( tabs->view(id) )
tabs->view(id)->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor );
} else if ( msg == "setTextColor(QString,QString)" ) {
QString id;
stream >> id;
QString color;
stream >> color;
if ( tabs->view(id) )
tabs->view(id)->setTextColor( QColor(color) );
} else if ( msg == "setFont(QString,QString,int,int,int)" ) {
QString id;
stream >> id;
QString fam;
stream >> fam;
int size;
stream >> size;
int weight;
stream >> weight;
int italic;
stream >> italic;
if ( tabs->view(id) )
if ( !fam. isEmpty ( ))
tabs->view(id)->setViewFont( QFont(fam, size, weight, italic!=0) );
else
tabs->view(id)->unsetViewFont();
qDebug( "setFont: %s, %d, %d, %d", fam.latin1(), size, weight, italic );
}
else if ( msg == "setBusyIndicatorType(QString)" ) {
QString type;
stream >> type;
tabs->setBusyIndicatorType(type);
}
else if ( msg == "home()" ) {
if ( isVisibleWindow( winId ( )))
nextView ( );
else
raise ( );
}
}
void Launcher::storageChanged()
{
if ( in_lnk_props ) {
got_lnk_change = TRUE;
lnk_change = QString::null;
} else {
updateLink( QString::null );
}
}
bool Launcher::mkdir(const QString &localPath)
{
QDir fullDir(localPath);
if (fullDir.exists())
return true;
// at this point the directory doesn't exist
// go through the directory tree and start creating the direcotories
// that don't exist; if we can't create the directories, return false
QString dirSeps = "/";
int dirIndex = localPath.find(dirSeps);
QString checkedPath;
// didn't find any seps; weird, use the cur dir instead
if (dirIndex == -1) {
//qDebug("No seperators found in path %s", localPath.latin1());
checkedPath = QDir::currentDirPath();
}
while (checkedPath != localPath) {
// no more seperators found, use the local path
if (dirIndex == -1)
checkedPath = localPath;
else {
// the next directory to check
checkedPath = localPath.left(dirIndex) + "/";
// advance the iterator; the next dir seperator
dirIndex = localPath.find(dirSeps, dirIndex+1);
}
QDir checkDir(checkedPath);
if (!checkDir.exists()) {
//qDebug("mkdir making dir %s", checkedPath.latin1());
if (!checkDir.mkdir(checkedPath)) {
qDebug("Unable to make directory %s", checkedPath.latin1());
return FALSE;
}
}
}
return TRUE;
}
void Launcher::preloadApps()
{
Config cfg("Launcher");
cfg.setGroup("Preload");
QStringList apps = cfg.readListEntry("Apps",',');
for (QStringList::ConstIterator it=apps.begin(); it!=apps.end(); ++it) {
#ifndef QT_NO_COP
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);
+ setToolbarVisible(false);
setPermissionBarVisible(false);
setLineEditVisible(false) ;
//setChooserVisible( bool chooser );
}
DocumentTab::~DocumentTab() {
}