summaryrefslogtreecommitdiff
path: root/core/launcher
Unidiff
Diffstat (limited to 'core/launcher') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/launcherview.cpp27
-rw-r--r--core/launcher/launcherview.h3
2 files changed, 23 insertions, 7 deletions
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index 2b34cc5..e7229ee 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -271,48 +271,56 @@ void LauncherItem::resetIcon()
271 271
272void LauncherItem::setEyePixmap(const QPixmap&aIcon) 272void LauncherItem::setEyePixmap(const QPixmap&aIcon)
273{ 273{
274 if (!isEyeImage()) return; 274 if (!isEyeImage()) return;
275 setPixmap(aIcon); 275 setPixmap(aIcon);
276 m_EyeImageSet = EYE_ICON; 276 m_EyeImageSet = EYE_ICON;
277} 277}
278 278
279//=========================================================================== 279//===========================================================================
280// Implemantation of LauncherIconview start 280// Implemantation of LauncherIconview start
281//=========================================================================== 281//===========================================================================
282 282
283QMap<QString,QPixmap>* LauncherIconView::sm_EyeCache=0; 283QMap<QString,QPixmap>* LauncherIconView::sm_EyeCache=0;
284 284
285LauncherIconView::LauncherIconView( QWidget* parent, const char* name ) 285LauncherIconView::LauncherIconView( QWidget* parent, const char* name )
286 : QIconView(parent,name),tf(""),cf(0),bsy(0),busyTimer(0),bigIcns(TRUE),bgColor(white),numColumns(0) 286 : QIconView(parent,name),tf(""),cf(0),bsy(0),busyTimer(0),bigIcns(TRUE),bgColor(white),numColumns(0)
287{ 287{
288 m_EyeCallBack = 0; 288 m_EyeCallBack = 0;
289 if (!sm_EyeCache) sm_EyeCache = new QMap<QString,QPixmap>(); 289 if (!sm_EyeCache) sm_EyeCache = new QMap<QString,QPixmap>();
290 sortmeth = Name; 290 sortmeth = Name;
291 hidden.setAutoDelete(TRUE); 291 hidden.setAutoDelete(TRUE);
292 ike = FALSE; 292 ike = FALSE;
293 calculateGrid( Bottom ); 293 calculateGrid( Bottom );
294 connect(&m_eyeTimer,SIGNAL(timeout()),this,SLOT(stopEyeTimer())); 294 connect(&m_eyeTimer,SIGNAL(timeout()),this,SLOT(stopEyeTimer()));
295 Config config( "Launcher" );
296 config.setGroup( "GUI" );
297 staticBackground = config.readEntry( "StaticBackground", false );
298 if ( staticBackground )
299 {
300 setStaticBackground( true );
301 verticalScrollBar()->setTracking( false );
302 }
295} 303}
296 304
297LauncherIconView::~LauncherIconView() 305LauncherIconView::~LauncherIconView()
298{ 306{
299 odebug << "LauncherIconView::~LauncherIconView()" << oendl; 307 odebug << "LauncherIconView::~LauncherIconView()" << oendl;
300#if 0 // debuggery 308#if 0 // debuggery
301 QListIterator<AppLnk> it(hidden); 309 QListIterator<AppLnk> it(hidden);
302 AppLnk* l; 310 AppLnk* l;
303 while ((l=it.current())) { 311 while ((l=it.current())) {
304 ++it; 312 ++it;
305 //odebug << "" << l << ": hidden (should remove)" << oendl; 313 //odebug << "" << l << ": hidden (should remove)" << oendl;
306 } 314 }
307#endif 315#endif
308} 316}
309 317
310int LauncherIconView::compare(const AppLnk* a, const AppLnk* b) 318int LauncherIconView::compare(const AppLnk* a, const AppLnk* b)
311{ 319{
312 switch (sortmeth) { 320 switch (sortmeth) {
313 case Name: 321 case Name:
314 return a->name().lower().compare(b->name().lower()); 322 return a->name().lower().compare(b->name().lower());
315 case Date: { 323 case Date: {
316 QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file()); 324 QFileInfo fa(a->linkFileKnown() ? a->linkFile() : a->file());
317 QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file()); 325 QFileInfo fb(b->linkFileKnown() ? b->linkFile() : b->file());
318 return fa.lastModified().secsTo(fb.lastModified()); 326 return fa.lastModified().secsTo(fb.lastModified());
@@ -333,55 +341,64 @@ void LauncherIconView::setSortMethod( SortMethod m )
333 341
334void LauncherIconView::setCategoryFilter( int catfilter, bool resort ) 342void LauncherIconView::setCategoryFilter( int catfilter, bool resort )
335{ 343{
336 if ( catfilter == -2 ) 344 if ( catfilter == -2 )
337 cf = 0; 345 cf = 0;
338 else 346 else
339 cf = catfilter; 347 cf = catfilter;
340 hideOrShowItems(resort); 348 hideOrShowItems(resort);
341} 349}
342 350
343void LauncherIconView::setTypeFilter(const QString& typefilter, bool resort) 351void LauncherIconView::setTypeFilter(const QString& typefilter, bool resort)
344{ 352{
345 tf = QRegExp(typefilter,FALSE,TRUE); 353 tf = QRegExp(typefilter,FALSE,TRUE);
346 hideOrShowItems(resort); 354 hideOrShowItems(resort);
347} 355}
348 356
349void LauncherIconView::setItemTextPos( ItemTextPos pos ) 357void LauncherIconView::setItemTextPos( ItemTextPos pos )
350{ 358{
351 calculateGrid( pos ); 359 calculateGrid( pos );
352 QIconView::setItemTextPos( pos ); 360 QIconView::setItemTextPos( pos );
353} 361}
354 362
355void LauncherIconView::drawBackground( QPainter *p, const QRect &r ) 363void LauncherIconView::drawBackground( QPainter *p, const QRect &r )
356{ 364{
357 if ( !bgPixmap.isNull() ) { 365 if ( bgPixmap.isNull() )
358 p->drawTiledPixmap( r, bgPixmap, 366 {
359 QPoint( (r.x() + contentsX()) % bgPixmap.width(),
360 (r.y() + contentsY()) % bgPixmap.height() ) );
361 } else {
362 p->fillRect( r, bgColor ); 367 p->fillRect( r, bgColor );
363 } 368 }
369 else
370 {
371 if ( staticBackground )
372 {
373 p->drawPixmap( r.x(), r.y(), bgPixmap, r.x(), r.y(), r.width(), r.height() );
374 }
375 else
376 {
377 p->drawTiledPixmap( r, bgPixmap, QPoint( (r.x() + contentsX()) % bgPixmap.width(),
378 (r.y() + contentsY()) % bgPixmap.height() ) );
379 }
380 }
364} 381}
365 382
366void LauncherIconView::addCatsAndMimes(AppLnk* app) 383void LauncherIconView::addCatsAndMimes(AppLnk* app)
367 { 384 {
368 // QStringList c = app->categories(); 385 // QStringList c = app->categories();
369 // for (QStringList::ConstIterator cit=c.begin(); cit!=c.end(); ++cit) { 386 // for (QStringList::ConstIterator cit=c.begin(); cit!=c.end(); ++cit) {
370 // cats.replace(*cit,(void*)1); 387 // cats.replace(*cit,(void*)1);
371 // } 388 // }
372 QString maj=app->type(); 389 QString maj=app->type();
373 int sl=maj.find('/'); 390 int sl=maj.find('/');
374 if (sl>=0) { 391 if (sl>=0) {
375 QString k; 392 QString k;
376 k = maj.left(12) == "application/" ? maj : maj.left(sl); 393 k = maj.left(12) == "application/" ? maj : maj.left(sl);
377 mimes.replace(k,(void*)1); 394 mimes.replace(k,(void*)1);
378 } 395 }
379} 396}
380 397
381void LauncherIconView::setBusy(bool on) 398void LauncherIconView::setBusy(bool on)
382{ 399{
383#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY 400#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY
384 if ( busyPix.isNull() ) { 401 if ( busyPix.isNull() ) {
385 int size = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize(); 402 int size = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize();
386 busyPix.convertFromImage( Resource::loadImage( "busy" ).smoothScale( size * 16, size ) ); 403 busyPix.convertFromImage( Resource::loadImage( "busy" ).smoothScale( size * 16, size ) );
387 } 404 }
diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h
index e2869eb..97b1dea 100644
--- a/core/launcher/launcherview.h
+++ b/core/launcher/launcherview.h
@@ -16,50 +16,48 @@
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef LAUNCHERVIEW_H 20#ifndef LAUNCHERVIEW_H
21#define LAUNCHERVIEW_H 21#define LAUNCHERVIEW_H
22 22
23#include <qtopia/storage.h> 23#include <qtopia/storage.h>
24#include <qtopia/applnk.h> 24#include <qtopia/applnk.h>
25 25
26#include <qvbox.h> 26#include <qvbox.h>
27#include <qiconview.h> 27#include <qiconview.h>
28#include <qtimer.h> 28#include <qtimer.h>
29#include <qmap.h> 29#include <qmap.h>
30 30
31class CategorySelect; 31class CategorySelect;
32class LauncherIconView; 32class LauncherIconView;
33class LauncherItem; 33class LauncherItem;
34class QIconViewItem; 34class QIconViewItem;
35class QLabel; 35class QLabel;
36class QWidgetStack; 36class QWidgetStack;
37class MenuButton; 37class MenuButton;
38class QComboBox; 38class QComboBox;
39 39
40
41
42enum BusyIndicatorType { 40enum BusyIndicatorType {
43 BIT_Normal = 0, 41 BIT_Normal = 0,
44 BIT_Animated 42 BIT_Animated
45}; 43};
46 44
47class LauncherView : public QVBox 45class LauncherView : public QVBox
48{ 46{
49 Q_OBJECT 47 Q_OBJECT
50 48
51public: 49public:
52 LauncherView( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 50 LauncherView( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
53 ~LauncherView(); 51 ~LauncherView();
54 52
55 void hideIcons(); 53 void hideIcons();
56 54
57 bool removeLink(const QString& linkfile); 55 bool removeLink(const QString& linkfile);
58 void addItem(AppLnk* app, bool resort=TRUE); 56 void addItem(AppLnk* app, bool resort=TRUE);
59 void changeItem(const AppLnk&old,AppLnk*nlink); 57 void changeItem(const AppLnk&old,AppLnk*nlink);
60 58
61 void removeAllItems(); 59 void removeAllItems();
62 void setSortEnabled(bool); 60 void setSortEnabled(bool);
63 void setUpdatesEnabled(bool); 61 void setUpdatesEnabled(bool);
64 void sort(); 62 void sort();
65 63
@@ -229,27 +227,28 @@ protected:
229protected slots: 227protected slots:
230 void setEyePixmap(const QPixmap&,const QString&,int width); 228 void setEyePixmap(const QPixmap&,const QString&,int width);
231 void stopEyeTimer(); 229 void stopEyeTimer();
232 230
233private: 231private:
234 QList<AppLnk> hidden; 232 QList<AppLnk> hidden;
235 QDict<void> mimes; 233 QDict<void> mimes;
236 QDict<void> cats; 234 QDict<void> cats;
237 SortMethod sortmeth; 235 SortMethod sortmeth;
238 QRegExp tf; 236 QRegExp tf;
239 int cf; 237 int cf;
240 LauncherItem* bsy; 238 LauncherItem* bsy;
241 int busyTimer; 239 int busyTimer;
242 bool ike; 240 bool ike;
243 bool bigIcns; 241 bool bigIcns;
244 QPixmap bgPixmap; 242 QPixmap bgPixmap;
245 QColor bgColor; 243 QColor bgColor;
246 LauncherThumbReceiver*m_EyeCallBack; 244 LauncherThumbReceiver*m_EyeCallBack;
247#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY 245#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY
248 QPixmap busyPix; 246 QPixmap busyPix;
249#endif 247#endif
250 BusyIndicatorType busyType; 248 BusyIndicatorType busyType;
251 QTimer m_eyeTimer; 249 QTimer m_eyeTimer;
252 int numColumns; 250 int numColumns;
251 bool staticBackground;
253}; 252};
254 253
255#endif // LAUNCHERVIEW_H 254#endif // LAUNCHERVIEW_H