summaryrefslogtreecommitdiff
path: root/core/launcher
Unidiff
Diffstat (limited to 'core/launcher') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/launcher.cpp14
-rw-r--r--core/launcher/launcher.h2
-rw-r--r--core/launcher/launcherview.cpp31
-rw-r--r--core/launcher/launcherview.h3
4 files changed, 43 insertions, 7 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index 6948976..66cc3e6 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -244,12 +244,15 @@ void CategoryTabWidget::initializeCategories(AppLnkSet* rootFolder,
244 setTabAppearance( "Documents", cfg ); // No tr 244 setTabAppearance( "Documents", cfg ); // No tr
245 245
246 connect( categoryBar, SIGNAL(selected(int)), stack, SLOT(raiseWidget(int)) ); 246 connect( categoryBar, SIGNAL(selected(int)), stack, SLOT(raiseWidget(int)) );
247 247
248 ((LauncherView*)stack->widget(0))->setFocus(); 248 ((LauncherView*)stack->widget(0))->setFocus();
249 249
250 cfg. setGroup ( "GUI" );
251 setBusyIndicatorType ( cfg. readEntry ( "BusyType", QString::null ));
252
250 categoryBar->show(); 253 categoryBar->show();
251 stack->show(); 254 stack->show();
252} 255}
253 256
254void CategoryTabWidget::setTabAppearance( const QString &id, Config &cfg ) 257void CategoryTabWidget::setTabAppearance( const QString &id, Config &cfg )
255{ 258{
@@ -368,12 +371,18 @@ void CategoryTabWidget::setBusy(bool on)
368LauncherView *CategoryTabWidget::view( const QString &id ) 371LauncherView *CategoryTabWidget::view( const QString &id )
369{ 372{
370 int idx = ids.findIndex( id ); 373 int idx = ids.findIndex( id );
371 return (LauncherView *)stack->widget(idx); 374 return (LauncherView *)stack->widget(idx);
372} 375}
373 376
377void CategoryTabWidget::setBusyIndicatorType ( const QString &type )
378{
379 for ( QStringList::Iterator it = ids. begin ( ); it != ids. end ( ); ++it )
380 view ( *it )-> setBusyIndicatorType ( type );
381}
382
374//=========================================================================== 383//===========================================================================
375 384
376CategoryTabBar::CategoryTabBar( QWidget *parent, const char *name ) 385CategoryTabBar::CategoryTabBar( QWidget *parent, const char *name )
377 : QTabBar( parent, name ) 386 : QTabBar( parent, name )
378{ 387{
379 setFocusPolicy( NoFocus ); 388 setFocusPolicy( NoFocus );
@@ -1164,12 +1173,17 @@ void Launcher::launcherMessage( const QCString &msg, const QByteArray &data)
1164 int italic; 1173 int italic;
1165 stream >> italic; 1174 stream >> italic;
1166 if ( tabs->view(id) ) 1175 if ( tabs->view(id) )
1167 tabs->view(id)->setViewFont( QFont(fam, size, weight, italic!=0) ); 1176 tabs->view(id)->setViewFont( QFont(fam, size, weight, italic!=0) );
1168 qDebug( "setFont: %s, %d, %d, %d", fam.latin1(), size, weight, italic ); 1177 qDebug( "setFont: %s, %d, %d, %d", fam.latin1(), size, weight, italic );
1169 } 1178 }
1179 else if ( msg == "setBusyIndicatorType(QString)" ) {
1180 QString type;
1181 stream >> type;
1182 tabs->setBusyIndicatorType(type);
1183 }
1170} 1184}
1171 1185
1172void Launcher::storageChanged() 1186void Launcher::storageChanged()
1173{ 1187{
1174 if ( in_lnk_props ) { 1188 if ( in_lnk_props ) {
1175 got_lnk_change = TRUE; 1189 got_lnk_change = TRUE;
diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h
index e3881ea..89bf6f3 100644
--- a/core/launcher/launcher.h
+++ b/core/launcher/launcher.h
@@ -60,13 +60,13 @@ public:
60 const QList<FileSystem> &); 60 const QList<FileSystem> &);
61 void updateDocs(AppLnkSet* docFolder, const QList<FileSystem> &fs); 61 void updateDocs(AppLnkSet* docFolder, const QList<FileSystem> &fs);
62 void updateLink(const QString& linkfile); 62 void updateLink(const QString& linkfile);
63 void setBusy(bool on); 63 void setBusy(bool on);
64 QString getAllDocLinkInfo() const; 64 QString getAllDocLinkInfo() const;
65 LauncherView *view( const QString &id ); 65 LauncherView *view( const QString &id );
66 66 void setBusyIndicatorType ( const QString &type );
67signals: 67signals:
68 void selected(const QString&); 68 void selected(const QString&);
69 void clicked(const AppLnk*); 69 void clicked(const AppLnk*);
70 void rightPressed(AppLnk*); 70 void rightPressed(AppLnk*);
71 71
72public slots: 72public slots:
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index e15b150..fa46543 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -49,12 +49,17 @@ class BgPixmap
49public: 49public:
50 BgPixmap( const QPixmap &p ) : pm(p), ref(1) {} 50 BgPixmap( const QPixmap &p ) : pm(p), ref(1) {}
51 QPixmap pm; 51 QPixmap pm;
52 int ref; 52 int ref;
53}; 53};
54 54
55enum BusyIndicatorType {
56 BIT_Normal = 0,
57 BIT_Blinking
58};
59
55static QMap<QString,BgPixmap*> *bgCache = 0; 60static QMap<QString,BgPixmap*> *bgCache = 0;
56 61
57class LauncherIconView : public QIconView { 62class LauncherIconView : public QIconView {
58public: 63public:
59 LauncherIconView( QWidget* parent, const char* name=0 ) : 64 LauncherIconView( QWidget* parent, const char* name=0 ) :
60 QIconView(parent,name), 65 QIconView(parent,name),
@@ -79,12 +84,14 @@ public:
79 while ((l=it.current())) { 84 while ((l=it.current())) {
80 ++it; 85 ++it;
81 //qDebug("%p: hidden (should remove)",l); 86 //qDebug("%p: hidden (should remove)",l);
82 } 87 }
83#endif 88#endif
84 } 89 }
90
91 void setBusyIndicatorType ( BusyIndicatorType t ) { busyType = t; }
85 92
86 QPixmap* busyPixmap() const { return (QPixmap*)&bpm[::abs(busystate)]; } 93 QPixmap* busyPixmap() const { return (QPixmap*)&bpm[::abs(busystate)]; }
87 QIconViewItem* busyItem() const { return bsy; } 94 QIconViewItem* busyItem() const { return bsy; }
88 void setBigIcons( bool bi ) { bigIcns = bi; } 95 void setBigIcons( bool bi ) { bigIcns = bi; }
89 96
90 void updateCategoriesAndMimeTypes(); 97 void updateCategoriesAndMimeTypes();
@@ -94,13 +101,12 @@ public:
94 // We don't want rubberbanding (yet) 101 // We don't want rubberbanding (yet)
95 } 102 }
96 103
97 void setBusy(bool on) 104 void setBusy(bool on)
98 { 105 {
99 QIconViewItem *c = on ? currentItem() : 0; 106 QIconViewItem *c = on ? currentItem() : 0;
100 qDebug ( "set busy %d -> %s", on, c ? c-> text ().latin1() : "(null)" );
101 107
102 if ( bsy != c ) { 108 if ( bsy != c ) {
103 QIconViewItem *oldbsy = bsy; 109 QIconViewItem *oldbsy = bsy;
104 bsy = c; 110 bsy = c;
105 111
106 if ( oldbsy ) 112 if ( oldbsy )
@@ -133,17 +139,21 @@ public:
133 int ai = qAlpha ( *rgb ); 139 int ai = qAlpha ( *rgb );
134 *rgb = qRgba ( ri, gi, bi, ai ); 140 *rgb = qRgba ( ri, gi, bi, ai );
135 } 141 }
136 142
137 bpm [i].convertFromImage( img ); 143 bpm [i].convertFromImage( img );
138 } 144 }
139 busystate = 0; 145 if ( busyType == BIT_Blinking ) {
140 if ( busytimer ) 146 busystate = 0;
141 killTimer ( busytimer ); 147 if ( busytimer )
142 timerEvent ( 0 ); 148 killTimer ( busytimer );
143 busytimer = startTimer ( 200 ); 149 busytimer = startTimer ( 200 );
150 }
151 else
152 busystate = 3;
153 timerEvent ( 0 );
144 } 154 }
145 else { 155 else {
146 killTimer ( busytimer ); 156 killTimer ( busytimer );
147 busytimer = 0; 157 busytimer = 0;
148 } 158 }
149 } 159 }
@@ -334,12 +344,13 @@ private:
334 bool bigIcns; 344 bool bigIcns;
335 QPixmap bgPixmap; 345 QPixmap bgPixmap;
336 QPixmap bpm [6]; 346 QPixmap bpm [6];
337 QColor bgColor; 347 QColor bgColor;
338 int busytimer; 348 int busytimer;
339 int busystate; 349 int busystate;
350 BusyIndicatorType busyType;
340}; 351};
341 352
342 353
343bool LauncherView::bsy=FALSE; 354bool LauncherView::bsy=FALSE;
344 355
345void LauncherView::setBusy(bool on) 356void LauncherView::setBusy(bool on)
@@ -910,6 +921,14 @@ void LauncherView::paletteChange( const QPalette &p )
910 setBackgroundType( Ruled, QString::null ); 921 setBackgroundType( Ruled, QString::null );
911 QColorGroup cg = icons->colorGroup(); 922 QColorGroup cg = icons->colorGroup();
912 cg.setColor( QColorGroup::Text, textCol ); 923 cg.setColor( QColorGroup::Text, textCol );
913 icons->setPalette( QPalette(cg,cg,cg) ); 924 icons->setPalette( QPalette(cg,cg,cg) );
914} 925}
915 926
927
928void LauncherView::setBusyIndicatorType ( const QString &type )
929{
930 if ( type. lower ( ) == "blink" )
931 icons-> setBusyIndicatorType ( BIT_Blinking );
932 else
933 icons-> setBusyIndicatorType ( BIT_Normal );
934}
diff --git a/core/launcher/launcherview.h b/core/launcher/launcherview.h
index 2fb37b6..194e4a2 100644
--- a/core/launcher/launcherview.h
+++ b/core/launcher/launcherview.h
@@ -62,12 +62,14 @@ public:
62 62
63 void setTextColor( const QColor & ); 63 void setTextColor( const QColor & );
64 QColor textColor() const { return textCol; } 64 QColor textColor() const { return textCol; }
65 65
66 void setViewFont( const QFont & ); 66 void setViewFont( const QFont & );
67 67
68 void setBusyIndicatorType ( const QString &type );
69
68public slots: 70public slots:
69 void populate( AppLnkSet *folder, const QString& categoryfilter ); 71 void populate( AppLnkSet *folder, const QString& categoryfilter );
70 72
71signals: 73signals:
72 void clicked( const AppLnk * ); 74 void clicked( const AppLnk * );
73 void rightPressed( AppLnk * ); 75 void rightPressed( AppLnk * );
@@ -94,9 +96,10 @@ private:
94 QStringList typelist; 96 QStringList typelist;
95 CategorySelect *catmb; 97 CategorySelect *catmb;
96 ViewMode vmode; 98 ViewMode vmode;
97 BackgroundType bgType; 99 BackgroundType bgType;
98 QString bgName; 100 QString bgName;
99 QColor textCol; 101 QColor textCol;
102 int busyType;
100}; 103};
101 104
102#endif // LAUNCHERVIEW_H 105#endif // LAUNCHERVIEW_H