summaryrefslogtreecommitdiff
path: root/core/launcher/launcherview.cpp
authorbipolar <bipolar>2002-03-09 03:09:15 (UTC)
committer bipolar <bipolar>2002-03-09 03:09:15 (UTC)
commitcb1d684a68565ff70fedd184eedf1ef4f2b71079 (patch) (side-by-side diff)
tree51dc13c1eaa2408b6e753de751bcb7ac2d02f7e8 /core/launcher/launcherview.cpp
parentbc79d3f4a7503c4298a5396b80c65a3e268f4be3 (diff)
downloadopie-cb1d684a68565ff70fedd184eedf1ef4f2b71079.zip
opie-cb1d684a68565ff70fedd184eedf1ef4f2b71079.tar.gz
opie-cb1d684a68565ff70fedd184eedf1ef4f2b71079.tar.bz2
ljp: hopefully took care of doclnk creating zero size files, while maintaining what was going on.
Diffstat (limited to 'core/launcher/launcherview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp449
1 files changed, 223 insertions, 226 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index 764f088..538ad79 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -45,10 +45,10 @@ public:
LauncherIconView( QWidget* parent, const char* name=0 ) :
- QIconView(parent,name),
- tf(""),
- cf(0),
- bsy(0)
+ QIconView(parent,name),
+ tf(""),
+ cf(0),
+ bsy(0)
{
- sortmeth = Name;
- hidden.setAutoDelete(TRUE);
- ike = FALSE;
+ sortmeth = Name;
+ hidden.setAutoDelete(TRUE);
+ ike = FALSE;
}
@@ -58,8 +58,8 @@ public:
#if 0 // debuggery
- QListIterator<AppLnk> it(hidden);
- AppLnk* l;
- while ((l=it.current())) {
- ++it;
- //qDebug("%p: hidden (should remove)",l);
- }
+ QListIterator<AppLnk> it(hidden);
+ AppLnk* l;
+ while ((l=it.current())) {
+ ++it;
+ //qDebug("%p: hidden (should remove)",l);
+ }
#endif
@@ -73,3 +73,3 @@ public:
{
- // We don't want rubberbanding (yet)
+ // We don't want rubberbanding (yet)
}
@@ -78,9 +78,9 @@ public:
{
- QIconViewItem *c = on ? currentItem() : 0;
- if ( bsy != c ) {
- QIconViewItem* o = bsy;
- bsy = c;
- if ( o ) o->repaint();
- if ( c ) c->repaint();
- }
+ QIconViewItem *c = on ? currentItem() : 0;
+ if ( bsy != c ) {
+ QIconViewItem* o = bsy;
+ bsy = c;
+ if ( o ) o->repaint();
+ if ( c ) c->repaint();
+ }
}
@@ -90,9 +90,9 @@ public:
{
- ike = TRUE;
- if ( e->key() == Key_F33 ) {
- // "OK" button
- returnPressed(currentItem());
- }
- QIconView::keyPressEvent(e);
- ike = FALSE;
+ ike = TRUE;
+ if ( e->key() == Key_F33 ) {
+ // "OK" button
+ returnPressed(currentItem());
+ }
+ QIconView::keyPressEvent(e);
+ ike = FALSE;
}
@@ -107,6 +107,6 @@ public:
{
- mimes.clear();
- cats.clear();
- QIconView::clear();
- hidden.clear();
+ mimes.clear();
+ cats.clear();
+ QIconView::clear();
+ hidden.clear();
}
@@ -115,12 +115,12 @@ public:
{
- // QStringList c = app->categories();
- // for (QStringList::ConstIterator cit=c.begin(); cit!=c.end(); ++cit) {
- // cats.replace(*cit,(void*)1);
- // }
- QString maj=app->type();
- int sl=maj.find('/');
- if (sl>=0) {
- QString k = maj.left(sl);
- mimes.replace(k,(void*)1);
- }
+ // QStringList c = app->categories();
+ // for (QStringList::ConstIterator cit=c.begin(); cit!=c.end(); ++cit) {
+ // cats.replace(*cit,(void*)1);
+ // }
+ QString maj=app->type();
+ int sl=maj.find('/');
+ if (sl>=0) {
+ QString k = maj.left(sl);
+ mimes.replace(k,(void*)1);
+ }
}
@@ -129,59 +129,59 @@ public:
{
- Config config("qpe");
- config.setGroup("Appearance");
- QString backgroundImage = config.readEntry("BackgroundImage");
+ Config config("qpe");
+ config.setGroup("Appearance");
+ QString backgroundImage = config.readEntry("BackgroundImage");
- if (backgroundImage.isNull()) backgroundImage="qpe-background";
- int backgroundMode = QPixmap::defaultDepth() >= 12 ? 1 : 0;
- //int backgroundMode = 2;
+ if (backgroundImage.isNull()) backgroundImage="qpe-background";
+ int backgroundMode = QPixmap::defaultDepth() >= 12 ? 1 : 0;
+ //int backgroundMode = 2;
- if ( backgroundMode == 1 ) {
+ if ( backgroundMode == 1 ) {
- // Double buffer the background
- static QPixmap *bg = NULL;
- static QColor bgColor;
+ // Double buffer the background
+ static QPixmap *bg = NULL;
+ static QColor bgColor;
- if ( (bg == NULL) || (bgColor != colorGroup().button()) ) {
- // Create a new background double buffer
- if (bg == NULL)
- bg = new QPixmap( width(), height() );
- bgColor = colorGroup().button();
- QPainter painter( bg );
+ if ( (bg == NULL) || (bgColor != colorGroup().button()) ) {
+ // Create a new background double buffer
+ if (bg == NULL)
+ bg = new QPixmap( width(), height() );
+ bgColor = colorGroup().button();
+ QPainter painter( bg );
- painter.fillRect( QRect( 0, 0, width(), height() ), colorGroup().background().light(110));
+ painter.fillRect( QRect( 0, 0, width(), height() ), colorGroup().background().light(110));
// Overlay the Qtopia logo in the center
QImage logo;
- if (QFile::exists(backgroundImage)) {
+ if (QFile::exists(backgroundImage)) {
logo = QImage(backgroundImage);
- } else {
- logo = Resource::loadImage(backgroundImage );
- }
- if ( !logo.isNull() )
- painter.drawImage( (width() - logo.width()) / 2,
- (height() - logo.height()) / 2, logo );
- }
-
- // Draw the double buffer to the widget (it is tiled for when the icon view is large)
- p->drawTiledPixmap( r, *bg, QPoint( (r.x() + contentsX()) % bg->width(),
- (r.y() + contentsY()) % bg->height() ) );
- } else if ( backgroundMode == 2 ) {
- static QPixmap *bg = 0;
- static QColor bgColor;
- if ( !bg || (bgColor != colorGroup().background()) ) {
- bgColor = colorGroup().background();
- bg = new QPixmap( width(), 9 );
- QPainter painter( bg );
- for ( int i = 0; i < 3; i++ ) {
- painter.setPen( colorGroup().background().light(130) );
- painter.drawLine( 0, i*3, width()-1, i*3 );
- painter.drawLine( 0, i*3+1, width()-1, i*3+1 );
- painter.setPen( colorGroup().background().light(105) );
- painter.drawLine( 0, i*3+2, width()-1, i*3+2 );
- }
- }
- p->drawTiledPixmap( r, *bg, QPoint( (r.x() + contentsX()) % bg->width(),
- (r.y() + contentsY()) % bg->height() ) );
- } else {
- p->fillRect( r, QBrush( colorGroup().background().light(110) ) );
- }
+ } else {
+ logo = Resource::loadImage(backgroundImage );
+ }
+ if ( !logo.isNull() )
+ painter.drawImage( (width() - logo.width()) / 2,
+ (height() - logo.height()) / 2, logo );
+ }
+
+ // Draw the double buffer to the widget (it is tiled for when the icon view is large)
+ p->drawTiledPixmap( r, *bg, QPoint( (r.x() + contentsX()) % bg->width(),
+ (r.y() + contentsY()) % bg->height() ) );
+ } else if ( backgroundMode == 2 ) {
+ static QPixmap *bg = 0;
+ static QColor bgColor;
+ if ( !bg || (bgColor != colorGroup().background()) ) {
+ bgColor = colorGroup().background();
+ bg = new QPixmap( width(), 9 );
+ QPainter painter( bg );
+ for ( int i = 0; i < 3; i++ ) {
+ painter.setPen( colorGroup().background().light(130) );
+ painter.drawLine( 0, i*3, width()-1, i*3 );
+ painter.drawLine( 0, i*3+1, width()-1, i*3+1 );
+ painter.setPen( colorGroup().background().light(105) );
+ painter.drawLine( 0, i*3+2, width()-1, i*3+2 );
+ }
+ }
+ p->drawTiledPixmap( r, *bg, QPoint( (r.x() + contentsX()) % bg->width(),
+ (r.y() + contentsY()) % bg->height() ) );
+ } else {
+ p->fillRect( r, QBrush( colorGroup().background().light(110) ) );
+ }
}
@@ -192,4 +192,4 @@ public:
{
- tf = QRegExp(typefilter,FALSE,TRUE);
- hideOrShowItems(resort);
+ tf = QRegExp(typefilter,FALSE,TRUE);
+ hideOrShowItems(resort);
}
@@ -198,10 +198,10 @@ public:
{
- Categories cat;
- cat.load( categoryFileName() );
- QString str;
- if ( catfilter == -2 )
- cf = 0;
- else
- cf = catfilter;
- hideOrShowItems(resort);
+ Categories cat;
+ cat.load( categoryFileName() );
+ QString str;
+ if ( catfilter == -2 )
+ cf = 0;
+ else
+ cf = catfilter;
+ hideOrShowItems(resort);
}
@@ -212,6 +212,6 @@ public:
{
- if ( sortmeth != m ) {
- sortmeth = m;
- sort();
- }
+ if ( sortmeth != m ) {
+ sortmeth = m;
+ sort();
+ }
}
@@ -220,14 +220,14 @@ public:
{
- switch (sortmeth) {
- case Name:
- return a->name().compare(b->name());
- case Date: {
- QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file());
- QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file());
- return fa.lastModified().secsTo(fb.lastModified());
- }
- case Type:
- return a->type().compare(b->type());
- }
- return 0;
+ switch (sortmeth) {
+ case Name:
+ return a->name().compare(b->name());
+ case Date: {
+ QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file());
+ QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file());
+ return fa.lastModified().secsTo(fb.lastModified());
+ }
+ case Type:
+ return a->type().compare(b->type());
+ }
+ return 0;
}
@@ -238,6 +238,6 @@ protected:
{
- QIconView::styleChange( old );
- //### duplicated code from LauncherView constructor
- int dw = QApplication::desktop()->width();
- setGridX( (dw-13-style().scrollBarExtent().width())/3 ); // tweaked for 8pt+dw=176 and 10pt+dw=240
+ QIconView::styleChange( old );
+ //### duplicated code from LauncherView constructor
+ int dw = QApplication::desktop()->width();
+ setGridX( (dw-13-style().scrollBarExtent().width())/3 ); // tweaked for 8pt+dw=176 and 10pt+dw=240
}
@@ -270,6 +270,6 @@ public:
{
- LauncherIconView* liv = (LauncherIconView*)iconView();
- if ( liv->busyItem() == this )
- liv->setBusy(FALSE);
- delete app;
+ LauncherIconView* liv = (LauncherIconView*)iconView();
+ if ( liv->busyItem() == this )
+ liv->setBusy(FALSE);
+ delete app;
}
@@ -283,18 +283,18 @@ public:
{
- LauncherIconView* liv = (LauncherIconView*)iconView();
- QBrush oldBrush( liv->itemTextBackground() );
- QColorGroup mycg( cg );
- if ( liv->currentItem() == this ) {
- liv->setItemTextBackground( cg.brush( QColorGroup::Highlight ) );
- mycg.setColor( QColorGroup::Text, cg.color( QColorGroup::HighlightedText ) );
- }
- QIconViewItem::paintItem(p,mycg);
- if ( liv->currentItem() == this )
- liv->setItemTextBackground( oldBrush );
- if ( liv->busyItem() == this ) {
- static QPixmap* busypm=0;
- if ( !busypm )
- busypm = new QPixmap(Resource::loadPixmap("launching"));
- p->drawPixmap(x()+(width()-busypm->width())/2, y(),*busypm);
- }
+ LauncherIconView* liv = (LauncherIconView*)iconView();
+ QBrush oldBrush( liv->itemTextBackground() );
+ QColorGroup mycg( cg );
+ if ( liv->currentItem() == this ) {
+ liv->setItemTextBackground( cg.brush( QColorGroup::Highlight ) );
+ mycg.setColor( QColorGroup::Text, cg.color( QColorGroup::HighlightedText ) );
+ }
+ QIconViewItem::paintItem(p,mycg);
+ if ( liv->currentItem() == this )
+ liv->setItemTextBackground( oldBrush );
+ if ( liv->busyItem() == this ) {
+ static QPixmap* busypm=0;
+ if ( !busypm )
+ busypm = new QPixmap(Resource::loadPixmap("launching"));
+ p->drawPixmap(x()+(width()-busypm->width())/2, y(),*busypm);
+ }
}
@@ -308,3 +308,3 @@ LauncherItem::LauncherItem( QIconView *parent, AppLnk *applnk )
: QIconViewItem( parent, applnk->name(), applnk->bigPixmap() ),
- app(applnk) // Takes ownership
+ app(applnk) // Takes ownership
{
@@ -323,4 +323,4 @@ QStringList LauncherIconView::mimeTypes() const
while (it.current()) {
- r.append(it.currentKey());
- ++it;
+ r.append(it.currentKey());
+ ++it;
}
@@ -335,9 +335,9 @@ void LauncherIconView::addItem(AppLnk* app, bool resort)
if ( (tf.isEmpty() || tf.match(app->type()) >= 0)
- && (cf == 0 || app->categories().contains(cf)
- || cf == -1 && app->categories().count() == 0 ) )
- (void) new LauncherItem( this, app );
+ && (cf == 0 || app->categories().contains(cf)
+ || cf == -1 && app->categories().count() == 0 ) )
+ (void) new LauncherItem( this, app );
else
- hidden.append(app);
+ hidden.append(app);
if ( resort )
- sort();
+ sort();
}
@@ -350,4 +350,4 @@ void LauncherIconView::updateCategoriesAndMimeTypes()
while (item) {
- addCatsAndMimes(item->appLnk());
- item = (LauncherItem*)item->nextItem();
+ addCatsAndMimes(item->appLnk());
+ item = (LauncherItem*)item->nextItem();
}
@@ -356,4 +356,4 @@ void LauncherIconView::updateCategoriesAndMimeTypes()
while ((l=it.current())) {
- addCatsAndMimes(l);
- ++it;
+ addCatsAndMimes(l);
+ ++it;
}
@@ -369,4 +369,4 @@ void LauncherIconView::hideOrShowItems(bool resort)
while (item) {
- links.append(item->takeAppLnk());
- item = (LauncherItem*)item->nextItem();
+ links.append(item->takeAppLnk());
+ item = (LauncherItem*)item->nextItem();
}
@@ -378,7 +378,7 @@ void LauncherIconView::hideOrShowItems(bool resort)
while ((l=it.current())) {
- addItem(l,FALSE);
- ++it;
+ addItem(l,FALSE);
+ ++it;
}
if ( resort )
- sort();
+ sort();
setAutoArrange( oldAutoArrange );
@@ -393,9 +393,8 @@ bool LauncherIconView::removeLink(const QString& linkfile)
while (item) {
- l = item->appLnk();
- if ( l->linkFileKnown() && l->linkFile() == linkfile || l->file() == linkfile
- || dl.isValid() && dl.file() == l->file() ) {
- delete item;
- did = TRUE;
- }
- item = (LauncherItem*)item->nextItem();
+ l = item->appLnk();
+ if ( l->linkFileKnown() && l->linkFile() == linkfile/* || l->file() == linkfile || dl.isValid() && dl.file() == l->file()*/ ) {
+ delete item;
+ did = TRUE;
+ }
+ item = (LauncherItem*)item->nextItem();
}
@@ -403,9 +402,7 @@ bool LauncherIconView::removeLink(const QString& linkfile)
while ((l=it.current())) {
- ++it;
- if ( l->linkFileKnown() && l->linkFile() == linkfile
- || l->file() == linkfile
- || dl.isValid() && dl.file() == l->file() ) {
- hidden.removeRef(l);
- did = TRUE;
- }
+ ++it;
+ if ( l->linkFileKnown() && l->linkFile() == linkfile/* || l->file() == linkfile || dl.isValid() && dl.file() == l->file()*/ ) {
+ hidden.removeRef(l);
+ did = TRUE;
+ }
}
@@ -434,9 +431,9 @@ LauncherView::LauncherView( QWidget* parent, const char* name, WFlags fl )
connect( icons, SIGNAL(mouseButtonClicked(int, QIconViewItem *, const QPoint&)),
- SLOT(itemClicked(int, QIconViewItem *)) );
+ SLOT(itemClicked(int, QIconViewItem *)) );
connect( icons, SIGNAL(selectionChanged()),
- SLOT(selectionChanged()) );
+ SLOT(selectionChanged()) );
connect( icons, SIGNAL(returnPressed(QIconViewItem *)),
- SLOT(returnPressed(QIconViewItem *)) );
+ SLOT(returnPressed(QIconViewItem *)) );
connect( icons, SIGNAL(mouseButtonPressed(int, QIconViewItem *, const QPoint&)),
- SLOT(itemPressed(int, QIconViewItem *)) );
+ SLOT(itemPressed(int, QIconViewItem *)) );
@@ -452,20 +449,20 @@ void LauncherView::setToolsEnabled(bool y)
if ( !y != !tools ) {
- if ( y ) {
- tools = new QHBox(this);
-
- // Type filter
- typemb = new MenuButton(tools);
- typemb->setLabel(tr("Type: %1"));
- typemb->setFixedHeight ( 20 );
-
- // Category filter
- catmb = new CategorySelect(tools);
- catmb->setFixedHeight ( 20 );
-
- updateTools();
- tools->show();
- } else {
- delete tools;
- tools = 0;
- }
+ if ( y ) {
+ tools = new QHBox(this);
+
+ // Type filter
+ typemb = new MenuButton(tools);
+ typemb->setLabel(tr("Type: %1"));
+ typemb->setFixedHeight ( 20 );
+
+ // Category filter
+ catmb = new CategorySelect(tools);
+ catmb->setFixedHeight ( 20 );
+
+ updateTools();
+ tools->show();
+ } else {
+ delete tools;
+ tools = 0;
+ }
}
@@ -476,5 +473,5 @@ void LauncherView::updateTools()
disconnect( typemb, SIGNAL(selected(const QString&)),
- this, SLOT(showType(const QString&)) );
+ this, SLOT(showType(const QString&)) );
disconnect( catmb, SIGNAL(signalSelected(int)),
- this, SLOT(showCategory(int)) );
+ this, SLOT(showCategory(int)) );
@@ -513,5 +510,5 @@ void LauncherView::showType(const QString& t)
if ( t == tr("All") ) {
- icons->setTypeFilter("",TRUE);
+ icons->setTypeFilter("",TRUE);
} else {
- icons->setTypeFilter(t+"/*",TRUE);
+ icons->setTypeFilter(t+"/*",TRUE);
}
@@ -528,3 +525,3 @@ void LauncherView::resizeEvent(QResizeEvent *e)
if ( e->size().width() != e->oldSize().width() )
- sort();
+ sort();
}
@@ -541,6 +538,6 @@ void LauncherView::selectionChanged()
if ( item && item->isSelected() ) {
- AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
- if ( icons->inKeyEvent() ) // not for mouse press
- emit clicked( appLnk );
- item->setSelected(FALSE);
+ AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
+ if ( icons->inKeyEvent() ) // not for mouse press
+ emit clicked( appLnk );
+ item->setSelected(FALSE);
}
@@ -551,4 +548,4 @@ void LauncherView::returnPressed( QIconViewItem *item )
if ( item ) {
- AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
- emit clicked( appLnk );
+ AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
+ emit clicked( appLnk );
}
@@ -559,9 +556,9 @@ void LauncherView::itemClicked( int btn, QIconViewItem *item )
if ( item ) {
- AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
- if ( btn == LeftButton ) {
- // Make sure it's the item we execute that gets highlighted
- icons->setCurrentItem( item );
- emit clicked( appLnk );
- }
- item->setSelected(FALSE);
+ AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
+ if ( btn == LeftButton ) {
+ // Make sure it's the item we execute that gets highlighted
+ icons->setCurrentItem( item );
+ emit clicked( appLnk );
+ }
+ item->setSelected(FALSE);
}
@@ -572,10 +569,10 @@ void LauncherView::itemPressed( int btn, QIconViewItem *item )
if ( item ) {
- AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
- if ( btn == RightButton )
- emit rightPressed( appLnk );
+ AppLnk *appLnk = ((LauncherItem *)item)->appLnk();
+ if ( btn == RightButton )
+ emit rightPressed( appLnk );
/*
- else if ( btn == LeftButton )
- emit clicked( appLnk );
+ else if ( btn == LeftButton )
+ emit clicked( appLnk );
*/
- item->setSelected(FALSE);
+ item->setSelected(FALSE);
}
@@ -591,11 +588,11 @@ void LauncherView::internalPopulate( AppLnkSet *folder, const QString& typefilte
if (!QFile(it.current()->file()).exists() )
- {
- //maybe insert some .desktop file deletion code later
- //maybe dir specific
- }
+ {
+ //maybe insert some .desktop file deletion code later
+ //maybe dir specific
+ }
else
- {
- icons->addItem(*it,FALSE);
- }
- ++it;
+ {
+ icons->addItem(*it,FALSE);
+ }
+ ++it;
}