]> git.pld-linux.org Git - packages/kdebase.git/blob - kdebase-branch.diff
drop automake related build artifacts
[packages/kdebase.git] / kdebase-branch.diff
1 Index: kcontrol/background/bgrender.cpp
2 ===================================================================
3 --- kcontrol/background/bgrender.cpp    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
4 +++ kcontrol/background/bgrender.cpp    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
5 @@ -1163,9 +1163,8 @@
6          m_pPixmap = new QPixmap(m_size);
7          m_pPixmap->fill(Qt::black);
8      }
9 -    
10 -    for (unsigned i=0; i<m_numRenderers; ++i)
11 -        m_renderer[i]->desktopResized();
12 +
13 +    initRenderers();    
14  }
15  
16  
17 Index: kcontrol/info/opengl.cpp
18 ===================================================================
19 --- kcontrol/info/opengl.cpp    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
20 +++ kcontrol/info/opengl.cpp    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
21 @@ -608,7 +608,6 @@
22     }
23     else {
24        kdDebug() << "Error: glXMakeCurrent failed\n";
25 -      glXDestroyContext(dpy, ctx);
26     }
27  
28     glXDestroyContext(dpy, ctx);
29 Index: kcontrol/arts/arts.cpp
30 ===================================================================
31 --- kcontrol/arts/arts.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
32 +++ kcontrol/arts/arts.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
33 @@ -214,7 +214,7 @@
34         config = new KConfig("kcmartsrc");
35         load();
36  
37 -       suspendTime->setRange( 0, 999, 1, true );
38 +       suspendTime->setRange( 1, 999, 1, true );
39  
40         connect(startServer,SIGNAL(clicked()),this,SLOT(slotChanged()));
41         connect(networkTransparent,SIGNAL(clicked()),this,SLOT(slotChanged()));
42 Index: kcontrol/kfontinst/kfontinst/Fontmap.cpp
43 ===================================================================
44 --- kcontrol/kfontinst/kfontinst/Fontmap.cpp    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
45 +++ kcontrol/kfontinst/kfontinst/Fontmap.cpp    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
46 @@ -44,7 +44,7 @@
47  
48  using namespace std;
49  
50 -static char * findSpace(char *str)
51 +static const char * findSpace(const char *str)
52  {
53      while(str && *str!=' ' && *str!='\t')
54          str++;
55 @@ -65,7 +65,7 @@
56      char a[constMaxLen+1],
57           b[constFileMaxLen+1];
58  
59 -    char *slash1=strchr(line, '/'),
60 +    const char *slash1=strchr(line, '/'),
61           *space1=slash1 ? findSpace(slash1) : NULL, //strchr(slash1, ' ') : NULL,
62           *ob=slash1 ? strchr(slash1, '(') : NULL,
63           *cb=ob ? strchr(ob, ')') : NULL,
64 Index: kicker/taskbar/taskcontainer.cpp
65 ===================================================================
66 --- kicker/taskbar/taskcontainer.cpp    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
67 +++ kicker/taskbar/taskcontainer.cpp    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
68 @@ -202,6 +202,8 @@
69          }
70          return;
71      }
72 +    
73 +    KickerTip::Client::updateKickerTip();
74      QToolButton::update();
75  }
76  
77 @@ -1524,89 +1526,93 @@
78      }
79  
80      QPixmap pixmap;
81 -    if (TaskBarSettings::showThumbnails() &&
82 -        m_filteredTasks.count() == 1)
83 +    QString name;
84 +    QString details;
85 +    
86 +    if (m_filteredTasks.count() > 0)
87      {
88 -        Task::Ptr t = m_filteredTasks.first();
89 -
90 -        pixmap = t->thumbnail(TaskBarSettings::thumbnailMaxDimension());
91 -    }
92 -
93 -    if (pixmap.isNull() && tasks.last())
94 -    {
95 -        // try to load icon via net_wm
96 -        pixmap = KWin::icon(tasks.last()->window(),
97 -                            KIcon::SizeMedium,
98 -                            KIcon::SizeMedium,
99 -                            true);
100 -    }
101 -
102 -    // Collect all desktops the tasks are on. Sort naturally.
103 -    QMap<int, QString> desktopMap;
104 -    bool demandsAttention = false;
105 -    bool modified = false;
106 -    bool allDesktops = false;
107 -    Task::List::const_iterator itEnd = m_filteredTasks.constEnd();
108 -    for (Task::List::const_iterator it = m_filteredTasks.constBegin(); it != itEnd; ++it)
109 -    {
110 -        Task::Ptr t = *it;
111 -        if (t->demandsAttention())
112 +        if (TaskBarSettings::showThumbnails() &&
113 +            m_filteredTasks.count() == 1)
114          {
115 -            demandsAttention = true;
116 +            Task::Ptr t = m_filteredTasks.first();
117 +    
118 +            pixmap = t->thumbnail(TaskBarSettings::thumbnailMaxDimension());
119          }
120 -
121 -        if (t->isModified())
122 +    
123 +        if (pixmap.isNull() && tasks.count())
124          {
125 -            modified = true;
126 +            // try to load icon via net_wm
127 +            pixmap = KWin::icon(tasks.last()->window(),
128 +                                KIcon::SizeMedium,
129 +                                KIcon::SizeMedium,
130 +                                true);
131          }
132 -
133 -        if (t->isOnAllDesktops())
134 +    
135 +        // Collect all desktops the tasks are on. Sort naturally.
136 +        QMap<int, QString> desktopMap;
137 +        bool demandsAttention = false;
138 +        bool modified = false;
139 +        bool allDesktops = false;
140 +        Task::List::const_iterator itEnd = m_filteredTasks.constEnd();
141 +        for (Task::List::const_iterator it = m_filteredTasks.constBegin(); it != itEnd; ++it)
142          {
143 -            allDesktops = true;
144 -            desktopMap.clear();
145 +            Task::Ptr t = *it;
146 +            if (t->demandsAttention())
147 +            {
148 +                demandsAttention = true;
149 +            }
150 +    
151 +            if (t->isModified())
152 +            {
153 +                modified = true;
154 +            }
155 +    
156 +            if (t->isOnAllDesktops())
157 +            {
158 +                allDesktops = true;
159 +                desktopMap.clear();
160 +            }
161 +            else if (!allDesktops)
162 +            {
163 +                desktopMap.insert(t->desktop(),
164 +                                TaskManager::the()->desktopName(t->desktop()));
165 +            }
166          }
167 -        else if (!allDesktops)
168 +    
169 +        if (TaskBarSettings::showAllWindows() && KWin::numberOfDesktops() > 1)
170          {
171 -            desktopMap.insert(t->desktop(),
172 -                              TaskManager::the()->desktopName(t->desktop()));
173 +            if (desktopMap.isEmpty())
174 +            {
175 +                details.append(i18n("On all desktops"));
176 +            }
177 +            else
178 +            {
179 +                QStringList desktopNames = desktopMap.values();
180 +                details.append(i18n("On %1").arg(QStyleSheet::escape(desktopNames.join(", "))) + "<br>");
181 +            }
182          }
183 -    }
184 -
185 -    QString details;
186 -
187 -    if (TaskBarSettings::showAllWindows() && KWin::numberOfDesktops() > 1)
188 -    {
189 -        if (desktopMap.isEmpty())
190 +    
191 +        if (demandsAttention)
192          {
193 -            details.append(i18n("On all desktops"));
194 +            details.append(i18n("Requesting attention") + "<br>");
195          }
196 -        else
197 +    
198 +        name = this->name();
199 +        if (modified)
200          {
201 -            QStringList desktopNames = desktopMap.values();
202 -            details.append(i18n("On %1").arg(QStyleSheet::escape(desktopNames.join(", "))) + "<br>");
203 +            details.append(i18n("Has unsaved changes"));
204 +    
205 +            static QString modStr = "[" + i18n( "modified" ) + "]";
206 +            int modStrPos = name.find(modStr);
207 +    
208 +            if (modStrPos >= 0)
209 +            {
210 +                // +1 because we include a space after the closing brace.
211 +                name.remove(modStrPos, modStr.length() + 1);
212 +            }
213          }
214      }
215  
216 -    if (demandsAttention)
217 -    {
218 -        details.append(i18n("Requesting attention") + "<br>");
219 -    }
220 -
221 -    QString name = this->name();
222 -    if (modified)
223 -    {
224 -        details.append(i18n("Has unsaved changes"));
225 -
226 -        static QString modStr = "[" + i18n( "modified" ) + "]";
227 -        int modStrPos = name.find(modStr);
228 -
229 -        if (modStrPos >= 0)
230 -        {
231 -            // +1 because we include a space after the closing brace.
232 -            name.remove(modStrPos, modStr.length() + 1);
233 -        }
234 -    }
235 -
236      data.message = QStyleSheet::escape(name);
237      data.subtext = details;
238      data.icon = pixmap;
239 Index: kicker/taskbar/taskbar.cpp
240 ===================================================================
241 --- kicker/taskbar/taskbar.cpp  (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
242 +++ kicker/taskbar/taskbar.cpp  (.../branches/KDE/3.5/kdebase)  (revision 1021033)
243 @@ -61,8 +61,6 @@
244        m_textShadowEngine(0),
245        m_ignoreUpdates(false)
246  {
247 -    setFrameStyle( NoFrame );
248 -
249      arrowType = LeftArrow;
250      blocklayout = true;
251      
252 @@ -81,6 +79,8 @@
253      connect(&m_relayoutTimer, SIGNAL(timeout()),
254              this, SLOT(reLayout()));
255  
256 +               connect(this, SIGNAL(contentsMoving(int, int)), SLOT(setBackground()));
257 +
258      // connect manager
259      connect(TaskManager::the(), SIGNAL(taskAdded(Task::Ptr)),
260              this, SLOT(add(Task::Ptr)));
261 @@ -304,6 +304,7 @@
262  
263      Panner::resizeEvent(e);
264      reLayoutEventually();
265 +    setViewportBackground();
266  }
267  
268  void TaskBar::add(Task::Ptr task)
269 @@ -647,7 +648,7 @@
270  
271      if (!blocklayout && !m_ignoreUpdates)
272      {
273 -        m_relayoutTimer.start(100, true);
274 +        m_relayoutTimer.start(25, true);
275      }
276  }
277  
278 @@ -814,24 +815,16 @@
279      QTimer::singleShot(100, this, SLOT(publishIconGeometry()));
280  }
281  
282 -void TaskBar::viewportResizeEvent( QResizeEvent* e )
283 -{
284 -    Panner::viewportResizeEvent(e);
285 -    setViewportBackground();
286 -}
287 -
288  void TaskBar::setViewportBackground()
289  {
290      const QPixmap *bg = parentWidget()->backgroundPixmap();
291      
292 -    viewport()->unsetPalette();
293 -    
294      if (bg)
295      {
296          QPixmap pm(parentWidget()->size());
297          pm.fill(parentWidget(), pos() + viewport()->pos());
298          viewport()->setPaletteBackgroundPixmap(pm);
299 -        viewport()->setBackgroundOrigin( WidgetOrigin );
300 +        viewport()->setBackgroundOrigin(WidgetOrigin);
301      }
302      else
303          viewport()->setPaletteBackgroundColor(paletteBackgroundColor());
304 Index: kicker/taskbar/taskbar.h
305 ===================================================================
306 --- kicker/taskbar/taskbar.h    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
307 +++ kicker/taskbar/taskbar.h    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
308 @@ -63,12 +63,11 @@
309  
310      QImage* blendGradient(const QSize& size);
311      
312 -    void setBackground();
313 -    
314      KTextShadowEngine *textShadowEngine();
315  
316  public slots:
317      void configure();
318 +    void setBackground();
319  
320  signals:
321      void containerCountChanged();
322 @@ -98,7 +97,6 @@
323      void viewportMouseReleaseEvent( QMouseEvent* );
324      void viewportMouseDoubleClickEvent( QMouseEvent* );
325      void viewportMouseMoveEvent( QMouseEvent* );
326 -    void viewportResizeEvent( QResizeEvent * );
327      void wheelEvent(QWheelEvent*);
328      void propagateMouseEvent( QMouseEvent* );
329      void resizeEvent( QResizeEvent* );
330 Index: kicker/extensions/taskbar/taskbarextension.cpp
331 ===================================================================
332 --- kicker/extensions/taskbar/taskbarextension.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
333 +++ kicker/extensions/taskbar/taskbarextension.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
334 @@ -170,7 +170,6 @@
335      }
336  
337      unsetPalette();
338 -    m_container->unsetPalette();
339  
340      if (KickerSettings::useBackgroundTheme())
341      {
342 @@ -215,17 +214,17 @@
343                  KickerLib::colorize(bgImage);
344              }
345              setPaletteBackgroundPixmap(bgImage);
346 -            m_container->setPaletteBackgroundPixmap(bgImage);
347          }
348      }
349 +    
350 +    m_container->setBackground();
351  }
352  
353  void TaskBarExtension::updateBackground(const QPixmap& bgImage)
354  {
355      unsetPalette();
356      setPaletteBackgroundPixmap(bgImage);
357 -    m_container->unsetPalette();
358 -    m_container->setPaletteBackgroundPixmap(bgImage);
359 +    m_container->setBackground();
360  }
361  
362  void TaskBarExtension::resizeEvent(QResizeEvent *e)
363 Index: kicker/libkicker/panner.cpp
364 ===================================================================
365 --- kicker/libkicker/panner.cpp (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
366 +++ kicker/libkicker/panner.cpp (.../branches/KDE/3.5/kdebase)  (revision 1021033)
367 @@ -35,28 +35,28 @@
368  #include "panner.h"
369  #include "panner.moc"
370  
371 -
372  Panner::Panner( QWidget* parent, const char* name )
373 -    : QScrollView( parent, name ),
374 +    : QWidget( parent, name ),
375        _luSB(0),
376 -      _rdSB(0)
377 +      _rdSB(0),
378 +      _cwidth(0), _cheight(0),
379 +      _cx(0), _cy(0)
380  {
381      KGlobal::locale()->insertCatalogue("libkicker");
382      setBackgroundOrigin( AncestorOrigin );
383  
384      _updateScrollButtonsTimer = new QTimer(this);
385      connect(_updateScrollButtonsTimer, SIGNAL(timeout()), this, SLOT(reallyUpdateScrollButtons()));
386 +
387 +    _clipper = new QWidget(this);
388 +    _clipper->setBackgroundOrigin(AncestorOrigin);
389 +    _clipper->installEventFilter( this );
390 +    _viewport = new QWidget(_clipper);
391 +    _viewport->setBackgroundOrigin(AncestorOrigin);
392      
393 -    setResizePolicy(Manual);
394 -    setVScrollBarMode( QScrollView::AlwaysOff );
395 -    setHScrollBarMode( QScrollView::AlwaysOff );
396 -
397 -    viewport()->setBackgroundMode( PaletteBackground );
398 -    viewport()->setBackgroundOrigin( AncestorOrigin );
399 -
400      // layout
401      _layout = new QBoxLayout(this, QBoxLayout::LeftToRight);
402 -    _layout->addWidget(viewport(), 1);
403 +    _layout->addWidget(_clipper, 1);
404      setOrientation(Horizontal);
405  }
406  
407 @@ -64,6 +64,37 @@
408  {
409  }
410  
411 +void Panner::createScrollButtons()
412 +{
413 +    if (_luSB)
414 +    {
415 +        return;
416 +    }
417 +
418 +    // left/up scroll button
419 +    _luSB = new SimpleArrowButton(this);
420 +    _luSB->installEventFilter(this);
421 +    //_luSB->setAutoRepeat(true);
422 +    _luSB->setMinimumSize(12, 12);
423 +    _luSB->hide();
424 +    _layout->addWidget(_luSB);
425 +    connect(_luSB, SIGNAL(pressed()), SLOT(startScrollLeftUp()));
426 +    connect(_luSB, SIGNAL(released()), SLOT(stopScroll()));
427 +
428 +    // right/down scroll button
429 +    _rdSB = new SimpleArrowButton(this);
430 +    _rdSB->installEventFilter(this);
431 +    //_rdSB->setAutoRepeat(true);
432 +    _rdSB->setMinimumSize(12, 12);
433 +    _rdSB->hide();
434 +    _layout->addWidget(_rdSB);
435 +    connect(_rdSB, SIGNAL(pressed()), SLOT(startScrollRightDown()));
436 +    connect(_rdSB, SIGNAL(released()), SLOT(stopScroll()));
437 +
438 +    // set up the buttons
439 +    setupButtons();
440 +}
441 +
442  void Panner::setupButtons()
443  {
444      if (orientation() == Horizontal)
445 @@ -110,55 +141,54 @@
446      reallyUpdateScrollButtons();
447  }
448  
449 -void Panner::resizeEvent( QResizeEvent* e )
450 +void Panner::resizeEvent( QResizeEvent* )
451  {
452 -    QScrollView::resizeEvent( e );
453 -    updateScrollButtons();
454 +    //QScrollView::resizeEvent( e );
455 +    //updateScrollButtons();
456  }
457  
458  void Panner::scrollRightDown()
459  {
460      if(orientation() == Horizontal) // scroll right
461 -        scrollBy( 40, 0 );
462 +        scrollBy( _step, 0 );
463      else // scroll down
464 -        scrollBy( 0, 40 );
465 +        scrollBy( 0, _step );
466 +    if (_step < 64)
467 +    _step++;
468  }
469  
470  void Panner::scrollLeftUp()
471  {
472      if(orientation() == Horizontal) // scroll left
473 -        scrollBy( -40, 0 );
474 +        scrollBy( -_step, 0 );
475      else // scroll up
476 -        scrollBy( 0, -40 );
477 +        scrollBy( 0, -_step );
478 +    if (_step < 64)
479 +        _step++;
480  }
481  
482 -void Panner::createScrollButtons()
483 +void Panner::startScrollRightDown()
484  {
485 -    if (_luSB)
486 -    {
487 -        return;
488 -    }
489 +    _scrollTimer = new QTimer(this);
490 +    connect(_scrollTimer, SIGNAL(timeout()), SLOT(scrollRightDown()));
491 +    _scrollTimer->start(50);
492 +    _step = 8;
493 +    scrollRightDown();
494 +}
495  
496 -    // left/up scroll button
497 -    _luSB = new SimpleArrowButton(this);
498 -    _luSB->installEventFilter(this);
499 -    _luSB->setAutoRepeat(true);
500 -    _luSB->setMinimumSize(12, 12);
501 -    _luSB->hide();
502 -    _layout->addWidget(_luSB);
503 -    connect(_luSB, SIGNAL(clicked()), SLOT(scrollLeftUp()));
504 +void Panner::startScrollLeftUp()
505 +{
506 +    _scrollTimer = new QTimer(this);
507 +    connect(_scrollTimer, SIGNAL(timeout()), SLOT(scrollLeftUp()));
508 +    _scrollTimer->start(50);
509 +    _step = 8;
510 +    scrollLeftUp();
511 +}
512  
513 -    // right/down scroll button
514 -    _rdSB = new SimpleArrowButton(this);
515 -    _rdSB->installEventFilter(this);
516 -    _rdSB->setAutoRepeat(true);
517 -    _rdSB->setMinimumSize(12, 12);
518 -    _rdSB->hide();
519 -    _layout->addWidget(_rdSB);
520 -    connect(_rdSB, SIGNAL(clicked()), SLOT(scrollRightDown()));
521 -
522 -    // set up the buttons
523 -    setupButtons();
524 +void Panner::stopScroll()
525 +{
526 +    delete _scrollTimer;
527 +    _scrollTimer = 0;
528  }
529  
530  void Panner::reallyUpdateScrollButtons()
531 @@ -176,7 +206,7 @@
532          delta = contentsHeight() - height();
533      }
534  
535 -    if (delta > 1)
536 +    if (delta >= 1)
537      {
538          createScrollButtons();
539  
540 @@ -184,21 +214,11 @@
541          // we need to do this every single time
542          _luSB->show();
543          _rdSB->show();
544 -
545 -        if (orientation() == Horizontal)
546 -        {
547 -            setMargins(0, 0, _luSB->width() + _rdSB->width(), 0);
548 -        }
549 -        else
550 -        {
551 -            setMargins(0, 0, 0, _luSB->height() + _rdSB->height());
552 -        }
553      }
554      else if (_luSB && _luSB->isVisibleTo(this))
555      {
556          _luSB->hide();
557          _rdSB->hide();
558 -        setMargins(0, 0, 0, 0);
559      }
560  }
561  
562 @@ -207,8 +227,170 @@
563      _updateScrollButtonsTimer->start(200, true);
564  }
565  
566 +void Panner::setContentsPos(int x, int y)
567 +{
568 +    if (x < 0)
569 +        x = 0;
570 +    else if (x > (contentsWidth() - visibleWidth()))
571 +        x = contentsWidth() - visibleWidth();
572 +    
573 +    if (y < 0)
574 +        y = 0;
575 +    else if (y > (contentsHeight() - visibleHeight()))
576 +        y = contentsHeight() - visibleHeight();
577 +        
578 +    if (x == contentsX() && y == contentsY())
579 +        return;
580 +        
581 +    _viewport->move(-x, -y);
582 +    emit contentsMoving(x, y);
583 +}
584 +
585 +void Panner::scrollBy(int dx, int dy)
586 +{
587 +    setContentsPos(contentsX() + dx, contentsY() + dy);
588 +}
589 +
590  void Panner::resizeContents( int w, int h )
591  {
592 -    QScrollView::resizeContents( w, h );
593 +    _viewport->resize(w, h);
594 +    setContentsPos(contentsX(), contentsY());
595      updateScrollButtons();
596  }
597 +
598 +QPoint Panner::contentsToViewport( const QPoint& p ) const
599 +{
600 +    return QPoint(p.x() - contentsX() - _clipper->x(), p.y() - contentsY() - _clipper->y());
601 +}
602 +
603 +QPoint Panner::viewportToContents( const QPoint& vp ) const
604 +{
605 +    return QPoint(vp.x() + contentsX() + _clipper->x(), vp.y() + contentsY() + _clipper->y());
606 +}
607 +
608 +void Panner::contentsToViewport( int x, int y, int& vx, int& vy ) const
609 +{
610 +    const QPoint v = contentsToViewport(QPoint(x,y));
611 +    vx = v.x();
612 +    vy = v.y();
613 +}
614 +
615 +void Panner::viewportToContents( int vx, int vy, int& x, int& y ) const
616 +{
617 +    const QPoint c = viewportToContents(QPoint(vx,vy));
618 +    x = c.x();
619 +    y = c.y();
620 +}
621 +
622 +void Panner::ensureVisible( int x, int y )
623 +{
624 +    ensureVisible(x, y, 50, 50);
625 +}
626 +
627 +void Panner::ensureVisible( int x, int y, int xmargin, int ymargin )
628 +{
629 +    int pw=visibleWidth();
630 +    int ph=visibleHeight();
631 +
632 +    int cx=-contentsX();
633 +    int cy=-contentsY();
634 +    int cw=contentsWidth();
635 +    int ch=contentsHeight();
636 +
637 +    if ( pw < xmargin*2 )
638 +        xmargin=pw/2;
639 +    if ( ph < ymargin*2 )
640 +        ymargin=ph/2;
641 +
642 +    if ( cw <= pw ) {
643 +        xmargin=0;
644 +        cx=0;
645 +    }
646 +    if ( ch <= ph ) {
647 +        ymargin=0;
648 +        cy=0;
649 +    }
650 +
651 +    if ( x < -cx+xmargin )
652 +        cx = -x+xmargin;
653 +    else if ( x >= -cx+pw-xmargin )
654 +        cx = -x+pw-xmargin;
655 +
656 +    if ( y < -cy+ymargin )
657 +        cy = -y+ymargin;
658 +    else if ( y >= -cy+ph-ymargin )
659 +        cy = -y+ph-ymargin;
660 +
661 +    if ( cx > 0 )
662 +        cx=0;
663 +    else if ( cx < pw-cw && cw>pw )
664 +        cx=pw-cw;
665 +
666 +    if ( cy > 0 )
667 +        cy=0;
668 +    else if ( cy < ph-ch && ch>ph )
669 +        cy=ph-ch;
670 +
671 +    setContentsPos( -cx, -cy );
672 +}
673 +
674 +bool Panner::eventFilter( QObject *obj, QEvent *e )
675 +{
676 +    if ( obj == _viewport || obj == _clipper ) 
677 +    {
678 +        switch ( e->type() ) 
679 +        {
680 +            case QEvent::Resize:
681 +                viewportResizeEvent((QResizeEvent *)e);
682 +                break;
683 +            case QEvent::MouseButtonPress:
684 +                viewportMousePressEvent( (QMouseEvent*)e );
685 +                if ( ((QMouseEvent*)e)->isAccepted() )
686 +                    return true;
687 +                break;
688 +            case QEvent::MouseButtonRelease:
689 +                viewportMouseReleaseEvent( (QMouseEvent*)e );
690 +                if ( ((QMouseEvent*)e)->isAccepted() )
691 +                    return true;
692 +                break;
693 +            case QEvent::MouseButtonDblClick:
694 +                viewportMouseDoubleClickEvent( (QMouseEvent*)e );
695 +                if ( ((QMouseEvent*)e)->isAccepted() )
696 +                    return true;
697 +                break;
698 +            case QEvent::MouseMove:
699 +                viewportMouseMoveEvent( (QMouseEvent*)e );
700 +                if ( ((QMouseEvent*)e)->isAccepted() )
701 +                    return true;
702 +                break;
703 +            default:
704 +                break;
705 +        }
706 +    }
707 +    
708 +    return QWidget::eventFilter( obj, e );  // always continue with standard event processing
709 +}
710 +
711 +void Panner::viewportResizeEvent( QResizeEvent* )
712 +{
713 +}
714 +
715 +void Panner::viewportMousePressEvent( QMouseEvent* e)
716 +{
717 +    e->ignore();
718 +}
719 +
720 +void Panner::viewportMouseReleaseEvent( QMouseEvent* e )
721 +{
722 +    e->ignore();
723 +}
724 +
725 +void Panner::viewportMouseDoubleClickEvent( QMouseEvent* e )
726 +{
727 +    e->ignore();
728 +}
729 +
730 +void Panner::viewportMouseMoveEvent( QMouseEvent* e )
731 +{
732 +    e->ignore();
733 +}
734 Index: kicker/libkicker/simplebutton.cpp
735 ===================================================================
736 --- kicker/libkicker/simplebutton.cpp   (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
737 +++ kicker/libkicker/simplebutton.cpp   (.../branches/KDE/3.5/kdebase)  (revision 1021033)
738 @@ -32,6 +32,8 @@
739  #include <kipc.h>
740  #include <kstandarddirs.h>
741  
742 +#define BUTTON_MARGIN KDialog::spacingHint()
743 +
744  SimpleButton::SimpleButton(QWidget *parent, const char *name)
745      : QButton(parent, name),
746        m_highlight(false),
747 @@ -70,7 +72,7 @@
748      if (!pm)
749          return QButton::sizeHint();
750      else
751 -        return QSize(pm->width() + KDialog::spacingHint(), pm->height() + KDialog::spacingHint());
752 +        return QSize(pm->width() + BUTTON_MARGIN, pm->height() + BUTTON_MARGIN);
753  }
754  
755  QSize SimpleButton::minimumSizeHint() const
756 @@ -107,7 +109,7 @@
757      int w = width();
758      int ph = pix.height();
759      int pw = pix.width();
760 -    int margin = KDialog::spacingHint();
761 +    int margin = BUTTON_MARGIN;
762      QPoint origin(margin / 2, margin / 2);
763  
764      if (ph < (h - margin))
765 Index: kicker/libkicker/kickertip.cpp
766 ===================================================================
767 --- kicker/libkicker/kickertip.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
768 +++ kicker/libkicker/kickertip.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
769 @@ -128,8 +128,10 @@
770      // Tickle the information out of the bastard.
771      client->updateKickerTip(data);
772  
773 +    // Hide the tip if there is nothing to show
774      if (data.message.isEmpty() && data.subtext.isEmpty() && data.icon.isNull())
775      {
776 +        hide();
777          return;
778      }
779  
780 @@ -137,7 +139,7 @@
781      m_richText = new QSimpleRichText("<qt><h3>" + data.message + "</h3><p>" +
782                                       data.subtext + "</p></qt>", font(), QString::null, 0,
783                                       m_mimeFactory);
784 -    m_richText->setWidth(400);
785 +    m_richText->setWidth(640);
786      m_direction = data.direction;
787  
788      if (KickerSettings::mouseOversShowIcon())
789 @@ -193,11 +195,81 @@
790  void KickerTip::mousePressEvent(QMouseEvent * /*e*/)
791  {
792      QToolTip::setGloballyEnabled(m_toolTipsEnabled);
793 -    m_timer.stop();
794 -    m_frameTimer.stop();
795      hide();
796  }
797  
798 +static void drawRoundRect(QPainter &p, const QRect &r)
799 +{
800 +    static int line[8] = { 1, 3, 4, 5, 6, 7, 7, 8 };
801 +    static int border[8] = { 1, 2, 1, 1, 1, 1, 1, 1 };
802 +    int xl, xr, y1, y2;
803 +    QPen pen = p.pen();
804 +    bool drawBorder = pen.style() != QPen::NoPen;
805 +    
806 +    if (r.width() < 16 || r.height() < 16)
807 +    {
808 +        p.drawRect(r);
809 +        return;
810 +    }
811 +    
812 +    p.fillRect(r.x(), r.y() + 8, r.width(), r.height() - 16, p.brush());
813 +    p.fillRect(r.x() + 8, r.y(), r.width() - 16, r.height(), p.brush());
814 +    
815 +    p.setPen(p.brush().color());
816 +        
817 +    for (int i = 0; i < 8; i++)
818 +    {
819 +        xl = i;
820 +        xr = r.width() - i - 1;
821 +        y1 = 7;
822 +        y2 = 7 - (line[i] - 1);
823 +        
824 +        p.drawLine(xl, y1, xl, y2);
825 +        p.drawLine(xr, y1, xr, y2);
826 +        
827 +        y1 = r.height() - y1 - 1;
828 +        y2 = r.height() - y2 - 1;
829 +        
830 +        p.drawLine(xl, y1, xl, y2);
831 +        p.drawLine(xr, y1, xr, y2);
832 +        
833 +    }
834 +    
835 +    if (drawBorder)
836 +    {
837 +        p.setPen(pen);
838 +        
839 +        if (r.height() > 16)
840 +        {
841 +            p.drawLine(r.x(), r.y() + 8, r.x(), r.y() + r.height() - 9);
842 +            p.drawLine(r.x() + r.width() - 1, r.y() + 8, r.x() + r.width() - 1, r.y() + r.height() - 9);
843 +        }
844 +        if (r.width() > 16)
845 +        {
846 +            p.drawLine(r.x() + 8, r.y(), r.x() + r.width() - 9, r.y());
847 +            p.drawLine(r.x() + 8, r.y() + r.height() - 1, r.x() + r.width() - 9, r.y() + r.height() - 1);
848 +        }
849 +    
850 +        for (int i = 0; i < 8; i++)
851 +        {
852 +            xl = i;
853 +            xr = r.width() - i - 1;
854 +            y2 = 7 - (line[i] - 1);
855 +            y1 = y2 + (border[i] - 1);
856 +            
857 +            p.drawLine(xl, y1, xl, y2);
858 +            p.drawLine(xr, y1, xr, y2);
859 +            
860 +            y1 = r.height() - y1 - 1;
861 +            y2 = r.height() - y2 - 1;
862 +            
863 +            p.drawLine(xl, y1, xl, y2);
864 +            p.drawLine(xr, y1, xr, y2);
865 +            
866 +        }
867 +    }
868 +}
869 +
870  void KickerTip::plainMask()
871  {
872      QPainter maskPainter(&m_mask);
873 @@ -205,9 +277,9 @@
874      m_mask.fill(Qt::black);
875  
876      maskPainter.setBrush(Qt::white);
877 -    maskPainter.setPen(Qt::white);
878 -    maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(),
879 -                              1600 / m_mask.rect().height());
880 +    maskPainter.setPen(Qt::NoPen);
881 +    //maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(), 1600 / m_mask.rect().height());
882 +    drawRoundRect(maskPainter, m_mask.rect());
883      setMask(m_mask);
884      m_frameTimer.stop();
885  }
886 @@ -219,9 +291,9 @@
887      m_mask.fill(Qt::black);
888  
889      maskPainter.setBrush(Qt::white);
890 -    maskPainter.setPen(Qt::white);
891 -    maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(),
892 -                              1600 / m_mask.rect().height());
893 +    maskPainter.setPen(Qt::NoPen);
894 +    //maskPainter.drawRoundRect(m_mask.rect(), 1600 / m_mask.rect().width(), 1600 / m_mask.rect().height());
895 +    drawRoundRect(maskPainter, m_mask.rect());
896  
897      m_dissolveSize += m_dissolveDelta;
898  
899 @@ -235,7 +307,7 @@
900          for (y = 0; y < height() + size; y += size)
901          {
902              x = width();
903 -            s = m_dissolveSize * x / 128;
904 +            s = 4 * m_dissolveSize * x / 128;
905              for (; x > -size; x -= size, s -= 2)
906              {
907                  if (s < 0)
908 @@ -311,10 +383,10 @@
909  
910      // draw background
911      QPainter bufferPainter(&m_pixmap);
912 -    bufferPainter.setPen(Qt::black);
913 +    bufferPainter.setPen(colorGroup().foreground());
914      bufferPainter.setBrush(colorGroup().background());
915 -    bufferPainter.drawRoundRect(0, 0, width, height,
916 -                                1600 / width, 1600 / height);
917 +    //bufferPainter.drawRoundRect(0, 0, width, height, 1600 / width, 1600 / height);
918 +    drawRoundRect(bufferPainter, QRect(0, 0, width, height));
919  
920      // draw icon if present
921      if (!m_icon.isNull())
922 @@ -331,11 +403,11 @@
923          QColorGroup cg = colorGroup();
924          cg.setColor(QColorGroup::Text, cg.background().dark(115));
925          int shadowOffset = QApplication::reverseLayout() ? -1 : 1;
926 -        m_richText->draw(&bufferPainter, 5 + textX + shadowOffset, textY + 1, QRect(), cg);
927 +        m_richText->draw(&bufferPainter, textX + shadowOffset, textY + 1, QRect(), cg);
928  
929          // draw text
930          cg = colorGroup();
931 -        m_richText->draw(&bufferPainter, 5 + textX, textY, rect(), cg);
932 +        m_richText->draw(&bufferPainter, textX, textY, rect(), cg);
933      }
934  }
935  
936 @@ -359,11 +431,7 @@
937  void KickerTip::untipFor(const QWidget* w)
938  {
939      if (isTippingFor(w))
940 -    {
941 -        tipFor(0);
942 -        m_timer.stop();
943          hide();
944 -    }
945  }
946  
947  bool KickerTip::isTippingFor(const QWidget* w) const
948 @@ -408,7 +476,8 @@
949  
950  void KickerTip::hide()
951  {
952 -    m_tippingFor = 0;
953 +    tipFor(0);
954 +    m_timer.stop();
955      m_frameTimer.stop();
956      QWidget::hide();
957  }
958 @@ -476,8 +545,6 @@
959              break;
960          case QEvent::MouseButtonPress:
961              QToolTip::setGloballyEnabled(m_toolTipsEnabled);
962 -            m_timer.stop();
963 -            m_frameTimer.stop();
964              hide();
965          default:
966              break;
967 Index: kicker/libkicker/panner.h
968 ===================================================================
969 --- kicker/libkicker/panner.h   (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
970 +++ kicker/libkicker/panner.h   (.../branches/KDE/3.5/kdebase)  (revision 1021033)
971 @@ -24,14 +24,14 @@
972  #ifndef __panner_h__
973  #define __panner_h__
974  
975 -#include <qscrollview.h>
976 +#include <qwidget.h>
977  
978  #include "simplebutton.h"
979  
980  class QBoxLayout;
981  class QTimer;
982  
983 -class KDE_EXPORT Panner : public QScrollView
984 +class KDE_EXPORT Panner : public QWidget
985  {
986      Q_OBJECT
987  
988 @@ -43,17 +43,55 @@
989  
990      Qt::Orientation orientation() const { return _orient; }
991      virtual void setOrientation(Orientation orientation);
992 +    
993 +    QWidget *viewport() const { return _viewport; }
994 +    
995 +    QRect contentsRect() const { return QRect(0, 0, width(), height()); }
996 +    
997 +    int contentsX() const { return _viewport ? -_viewport->x() : 0; }
998 +    int contentsY() const { return _viewport ? -_viewport->y() : 0; }
999 +    int contentsWidth() const { return _viewport ? _viewport->width() : 0; }
1000 +    int contentsHeight() const { return _viewport ? _viewport->height() : 0; }
1001 +    void setContentsPos(int x, int y);
1002 +    
1003 +    int visibleWidth() const { return _clipper->width(); }
1004 +    int visibleHeight() const { return _clipper->height(); }
1005 +    
1006 +    void       contentsToViewport( int x, int y, int& vx, int& vy ) const;
1007 +    void       viewportToContents( int vx, int vy, int& x, int& y ) const;
1008 +    QPoint     contentsToViewport( const QPoint& ) const;
1009 +    QPoint     viewportToContents( const QPoint& ) const;
1010 +    
1011 +    void addChild(QWidget *child) { child->show(); }
1012 +    void removeChild(QWidget *child) { child->hide(); }
1013 +    int childX(QWidget *child) const { return child->x(); }
1014 +    int childY(QWidget *child) const { return child->y(); }
1015 +    void moveChild(QWidget *child, int x, int y) { child->move(x, y); }
1016  
1017 +    void ensureVisible( int x, int y );
1018 +    void ensureVisible( int x, int y, int xmargin, int ymargin );
1019 +
1020  public slots:
1021      virtual void resizeContents( int w, int h );
1022 +    void startScrollRightDown();
1023 +    void startScrollLeftUp();
1024 +    void stopScroll();
1025      void scrollRightDown();
1026      void scrollLeftUp();
1027      void reallyUpdateScrollButtons();
1028 +    void scrollBy(int dx, int dy);
1029  
1030 +signals:
1031 +    void contentsMoving(int x, int y);
1032 +
1033  protected:
1034 -    void resizeEvent(QResizeEvent *ev);
1035 -    void contentsWheelEvent(QWheelEvent *){;}
1036 -    void viewportWheelEvent(QWheelEvent *){;}
1037 +    virtual bool eventFilter( QObject *obj, QEvent *e );
1038 +    virtual void resizeEvent(QResizeEvent *ev);
1039 +    virtual void viewportResizeEvent( QResizeEvent* );
1040 +    virtual void viewportMousePressEvent( QMouseEvent* );
1041 +    virtual void viewportMouseReleaseEvent( QMouseEvent* );
1042 +    virtual void viewportMouseDoubleClickEvent( QMouseEvent* );
1043 +    virtual void viewportMouseMoveEvent( QMouseEvent* );
1044  
1045  private:
1046      void setupButtons();
1047 @@ -65,6 +103,13 @@
1048      SimpleArrowButton *_luSB; // Left Scroll Button
1049      SimpleArrowButton *_rdSB; // Right Scroll Button
1050      QTimer *_updateScrollButtonsTimer;
1051 +    QTimer *_scrollTimer;
1052 +    
1053 +    QWidget *_clipper;
1054 +    QWidget *_viewport;
1055 +    int _cwidth, _cheight;
1056 +    int _cx, _cy;
1057 +    int _step;
1058  };
1059  
1060  #endif
1061 Index: kicker/applets/systemtray/systemtrayapplet.h
1062 ===================================================================
1063 --- kicker/applets/systemtray/systemtrayapplet.h        (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1064 +++ kicker/applets/systemtray/systemtrayapplet.h        (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1065 @@ -118,6 +118,7 @@
1066      TrayEmbed( bool kdeTray, QWidget* parent = NULL );
1067      bool kdeTray() const { return kde_tray; }
1068      void setBackground();
1069 +    void getIconSize(int defaultIconSize);
1070  private:
1071      bool kde_tray;
1072  };
1073 Index: kicker/applets/systemtray/systemtrayapplet.cpp
1074 ===================================================================
1075 --- kicker/applets/systemtray/systemtrayapplet.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1076 +++ kicker/applets/systemtray/systemtrayapplet.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1077 @@ -54,6 +54,8 @@
1078  
1079  #include <X11/Xlib.h>
1080  
1081 +#define ICON_MARGIN 1
1082 +
1083  extern "C"
1084  {
1085      KDE_EXPORT KPanelApplet* init(QWidget *parent, const QString& configFile)
1086 @@ -459,9 +461,9 @@
1087          delete emb;
1088          return;
1089      }
1090 -
1091 +    
1092      connect(emb, SIGNAL(embeddedWindowDestroyed()), SLOT(updateTrayWindows()));
1093 -    emb->setMinimumSize(m_iconSize, m_iconSize);
1094 +    emb->getIconSize(m_iconSize);
1095  
1096      if (shouldHide(w))
1097      {
1098 @@ -471,7 +473,7 @@
1099      }
1100      else
1101      {
1102 -        emb->hide();
1103 +        //emb->hide();
1104          emb->setBackground();
1105          emb->show();
1106          m_shownWins.append(emb);
1107 @@ -515,7 +517,7 @@
1108      {
1109          for (; emb != lastEmb; ++emb)
1110          {
1111 -            (*emb)->hide();
1112 +            //(*emb)->hide();
1113              (*emb)->setBackground();
1114              (*emb)->show();
1115          }
1116 @@ -744,8 +746,7 @@
1117      }
1118  
1119      int currentHeight = height();
1120 -    int minHeight = m_iconSize + 4;
1121 -    if (currentHeight != h && currentHeight != minHeight)
1122 +    if (currentHeight != h)
1123      {
1124          SystemTrayApplet* me = const_cast<SystemTrayApplet*>(this);
1125          me->setMinimumSize(0, 0);
1126 @@ -764,8 +765,7 @@
1127      }
1128  
1129      int currentWidth = width();
1130 -    int minSize = m_iconSize + 4;
1131 -    if (currentWidth != w && currentWidth != minSize)
1132 +    if (currentWidth != w)
1133      {
1134          SystemTrayApplet* me = const_cast<SystemTrayApplet*>(this);
1135          me->setMinimumSize(0, 0);
1136 @@ -782,10 +782,8 @@
1137  }
1138  
1139  
1140 -void SystemTrayApplet::resizeEvent( QResizeEvent* e )
1141 +void SystemTrayApplet::resizeEvent( QResizeEvent* )
1142  {
1143 -    KPanelApplet::resizeEvent(e);
1144 -    
1145      layoutTray();
1146      // we need to give ourselves a chance to adjust our size before calling this
1147      QTimer::singleShot(0, this, SIGNAL(updateLayout()));
1148 @@ -808,7 +806,7 @@
1149      int i = 0, line, nbrOfLines, heightWidth;
1150      bool showExpandButton = m_expandButton && m_expandButton->isVisibleTo(this);
1151      delete m_layout;
1152 -    m_layout = new QGridLayout(this, 1, 1, 2, 2);
1153 +    m_layout = new QGridLayout(this, 1, 1, ICON_MARGIN, ICON_MARGIN);
1154  
1155      if (m_expandButton)
1156      {
1157 @@ -828,18 +826,18 @@
1158  
1159      // 
1160      // The margin and spacing specified in the layout implies that:
1161 -    // [-- 2 pixels --] [-- first icon --] [-- 2 pixels --] ... [-- 2 pixels --] [-- last icon --] [-- 2 pixels --]
1162 +    // [-- ICON_MARGIN pixels --] [-- first icon --] [-- ICON_MARGIN pixels --] ... [-- ICON_MARGIN pixels --] [-- last icon --] [-- ICON_MARGIN pixels --]
1163      //
1164 -    // So, if we say that iconWidth is the icon width plus the 2 pixels spacing, then the available width for the icons
1165 -    // is the widget width minus 2 pixels margin. Forgetting these 2 pixels broke the layout algorithm in KDE <= 3.5.9.
1166 +    // So, if we say that iconWidth is the icon width plus the ICON_MARGIN pixels spacing, then the available width for the icons
1167 +    // is the widget width minus ICON_MARGIN pixels margin. Forgetting these ICON_MARGIN pixels broke the layout algorithm in KDE <= 3.5.9.
1168      //
1169 -    // This fix makes the workaround in the heightForWidth() and widthForHeight() methods unneeded.
1170 +    // This fix makes the workarounds in the heightForWidth() and widthForHeight() methods unneeded.
1171      //
1172  
1173      if (orientation() == Vertical)
1174      {
1175 -        int iconWidth = maxIconWidth() + 2; // +2 for the margins that implied by the layout
1176 -        heightWidth = width() - 2;
1177 +        int iconWidth = maxIconWidth() + ICON_MARGIN; // +2 for the margins that implied by the layout
1178 +        heightWidth = width() - ICON_MARGIN;
1179          // to avoid nbrOfLines=0 we ensure heightWidth >= iconWidth!
1180          heightWidth = heightWidth < iconWidth ? iconWidth : heightWidth;
1181          nbrOfLines = heightWidth / iconWidth;
1182 @@ -860,12 +858,12 @@
1183                   emb != lastEmb; ++emb)
1184              {
1185                  line = i % nbrOfLines;
1186 -                (*emb)->hide();
1187 +                //(*emb)->hide();
1188                  (*emb)->show();
1189                  m_layout->addWidget(*emb, col, line,
1190                                      Qt::AlignHCenter | Qt::AlignVCenter);
1191  
1192 -                if (line + 1 == nbrOfLines)
1193 +                if ((line + 1) == nbrOfLines)
1194                  {
1195                      ++col;
1196                  }
1197 @@ -879,12 +877,12 @@
1198               emb != lastEmb; ++emb)
1199          {
1200              line = i % nbrOfLines;
1201 -            (*emb)->hide();
1202 +            //(*emb)->hide();
1203              (*emb)->show();
1204              m_layout->addWidget(*emb, col, line,
1205                                  Qt::AlignHCenter | Qt::AlignVCenter);
1206  
1207 -            if (line + 1 == nbrOfLines)
1208 +            if ((line + 1) == nbrOfLines)
1209              {
1210                  ++col;
1211              }
1212 @@ -894,8 +892,8 @@
1213      }
1214      else // horizontal
1215      {
1216 -        int iconHeight = maxIconHeight() + 2; // +2 for the margins that implied by the layout
1217 -        heightWidth = height() - 2;
1218 +        int iconHeight = maxIconHeight() + ICON_MARGIN; // +2 for the margins that implied by the layout
1219 +        heightWidth = height() - ICON_MARGIN;
1220          heightWidth = heightWidth < iconHeight ? iconHeight : heightWidth; // to avoid nbrOfLines=0
1221          nbrOfLines = heightWidth / iconHeight;
1222  
1223 @@ -914,12 +912,12 @@
1224              for (TrayEmbedList::const_iterator emb = m_hiddenWins.begin(); emb != lastEmb; ++emb)
1225              {
1226                  line = i % nbrOfLines;
1227 -                (*emb)->hide();
1228 +                //(*emb)->hide();
1229                  (*emb)->show();
1230                  m_layout->addWidget(*emb, line, col,
1231                                      Qt::AlignHCenter | Qt::AlignVCenter);
1232  
1233 -                if (line + 1 == nbrOfLines)
1234 +                if ((line + 1) == nbrOfLines)
1235                  {
1236                      ++col;
1237                  }
1238 @@ -933,12 +931,12 @@
1239               emb != lastEmb; ++emb)
1240          {
1241              line = i % nbrOfLines;
1242 -            (*emb)->hide();
1243 +            //(*emb)->hide();
1244              (*emb)->show();
1245              m_layout->addWidget(*emb, line, col,
1246                                  Qt::AlignHCenter | Qt::AlignVCenter);
1247  
1248 -            if (line + 1 == nbrOfLines)
1249 +            if ((line + 1) == nbrOfLines)
1250              {
1251                  ++col;
1252              }
1253 @@ -975,6 +973,21 @@
1254      : QXEmbed( parent ), kde_tray( kdeTray )
1255  {
1256      hide();
1257 +}
1258 +
1259 +void TrayEmbed::getIconSize(int defaultIconSize)
1260 +{
1261 +    QSize minSize = minimumSizeHint();
1262 +    
1263 +    int width = minSize.width();
1264 +    int height = minSize.height();
1265 +    
1266 +    if (width < 1 || width > defaultIconSize)
1267 +        width = defaultIconSize;
1268 +    if (height < 1 || height > defaultIconSize)
1269 +        height = defaultIconSize;
1270 +    
1271 +    setFixedSize(width, height);
1272      setBackground();
1273  }
1274  
1275 @@ -994,9 +1007,7 @@
1276      
1277      if (!isHidden())
1278      {
1279 -        hide(); 
1280 -        show();
1281 +        XClearArea(x11Display(), embeddedWinId(), 0, 0, 0, 0, True);
1282      }
1283 -    //XClearArea(x11Display(), embeddedWinId(), 0, 0, 0, 0, True);
1284  }
1285  
1286 Index: kicker/applets/clock/clock.h
1287 ===================================================================
1288 --- kicker/applets/clock/clock.h        (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1289 +++ kicker/applets/clock/clock.h        (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1290 @@ -41,6 +41,7 @@
1291  
1292  #include <kickertip.h>
1293  #include "settings.h"
1294 +#include "kshadowengine.h"
1295  
1296  class QTimer;
1297  class QBoxLayout;
1298 @@ -152,6 +153,9 @@
1299          bool showDayOfWeek();
1300      
1301      protected:
1302 +        void paintEvent(QPaintEvent *e);
1303 +        void drawContents(QPainter *p);
1304 +    
1305          QString _timeStr;
1306  };
1307  
1308 @@ -279,6 +283,8 @@
1309          QDate clockGetDate();
1310  
1311          virtual void updateKickerTip(KickerTip::Data&);
1312 +    
1313 +        KTextShadowEngine *shadowEngine();
1314  
1315      k_dcop:
1316          void reconfigure();
1317 @@ -335,6 +341,7 @@
1318          QStringList _remotezonelist;
1319          KPopupMenu* menu;
1320          ClockAppletToolTip m_tooltip;
1321 +        KTextShadowEngine *m_shadowEngine;
1322  };
1323  
1324  
1325 Index: kicker/applets/clock/Makefile.am
1326 ===================================================================
1327 --- kicker/applets/clock/Makefile.am    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1328 +++ kicker/applets/clock/Makefile.am    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1329 @@ -1,7 +1,7 @@
1330  pic_DATA = lcd.png
1331  picdir = $(kde_datadir)/clockapplet/pics
1332  
1333 -INCLUDES = -I$(top_srcdir)/kicker/libkicker $(all_includes)
1334 +INCLUDES = -I$(top_srcdir)/kicker/libkicker -I../../libkicker $(all_includes)
1335  
1336  kde_module_LTLIBRARIES = clock_panelapplet.la
1337  
1338 Index: kicker/applets/clock/clock.cpp
1339 ===================================================================
1340 --- kicker/applets/clock/clock.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1341 +++ kicker/applets/clock/clock.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1342 @@ -57,6 +57,7 @@
1343  
1344  #include <global.h> // libkickermain
1345  
1346 +#include "kickerSettings.h"
1347  #include "clock.h"
1348  #include "datepicker.h"
1349  #include "zone.h"
1350 @@ -219,6 +220,7 @@
1351  PlainClock::PlainClock(ClockApplet *applet, Prefs *prefs, QWidget *parent, const char *name)
1352      : QLabel(parent, name), ClockWidget(applet, prefs)
1353  {
1354 +    setWFlags(WNoAutoErase);
1355      setBackgroundOrigin(AncestorOrigin);
1356      loadSettings();
1357      updateClock();
1358 @@ -228,7 +230,7 @@
1359  int PlainClock::preferedWidthForHeight(int ) const
1360  {
1361      QString maxLengthTime = KGlobal::locale()->formatTime( QTime( 23, 59 ), _prefs->plainShowSeconds());
1362 -    return fontMetrics().width( maxLengthTime+2 );
1363 +    return fontMetrics().width( maxLengthTime ) + 8;
1364  }
1365  
1366  
1367 @@ -244,7 +246,7 @@
1368  
1369      if (_force || newStr != _timeStr) {
1370          _timeStr = newStr;
1371 -        setText(_timeStr);
1372 +        update();
1373      }
1374  }
1375  
1376 @@ -266,6 +268,32 @@
1377      return _prefs->plainShowDayOfWeek();
1378  }
1379  
1380 +void PlainClock::paintEvent(QPaintEvent *)
1381 +{
1382 +    QPainter p;
1383 +    QPixmap buf(size());
1384 +    buf.fill(this, 0, 0);
1385 +    p.begin(&buf);
1386 +    p.setFont(font());
1387 +    p.setPen(paletteForegroundColor());
1388 +    drawContents(&p);
1389 +    drawFrame(&p);
1390 +    p.end();
1391 +    p.begin(this);
1392 +    p.drawPixmap(0, 0, buf);
1393 +    p.end();
1394 +}
1395 +
1396 +void PlainClock::drawContents(QPainter *p)
1397 +{
1398 +    QRect tr(0, 0, width(), height());
1399 +    
1400 +    if (!KickerSettings::transparent())
1401 +        p->drawText(tr, AlignCenter, _timeStr);
1402 +    else
1403 +        _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size());
1404 +}
1405 +
1406  //************************************************************
1407  
1408  
1409 @@ -834,12 +862,22 @@
1410  
1411      p->setFont(_prefs->fuzzyFont());
1412      p->setPen(_prefs->fuzzyForegroundColor());
1413 -    if (_applet->getOrientation() == Vertical) {
1414 +    
1415 +    QRect tr;
1416 +    
1417 +    if (_applet->getOrientation() == Vertical)
1418 +    {
1419          p->rotate(90);
1420 -        p->drawText(4, -2, height() - 8, -(width()) + 2, AlignCenter, _timeStr);
1421 -    } else {
1422 -        p->drawText(4, 2, width() - 8, height() - 4, AlignCenter, _timeStr);
1423 +        tr = QRect(4, -2, height() - 8, -(width()) + 2);
1424      }
1425 +    else
1426 +        tr = QRect(4, 2, width() - 8, height() - 4);
1427 +        
1428 +    if (!KickerSettings::transparent())
1429 +        p->drawText(tr, AlignCenter, _timeStr);
1430 +    else
1431 +        _applet->shadowEngine()->drawText(*p, tr, AlignCenter, _timeStr, size());
1432 +    
1433      alreadyDrawing = false;
1434  }
1435  
1436 @@ -872,7 +910,8 @@
1437        _prefs(new Prefs(sharedConfig())),
1438        zone(new Zone(config())),
1439        menu(0),
1440 -      m_tooltip(this)
1441 +      m_tooltip(this),
1442 +      m_shadowEngine(0)
1443  {
1444      DCOPObject::setObjId("ClockApplet");
1445      _prefs->readConfig();
1446 @@ -910,6 +949,7 @@
1447  
1448  ClockApplet::~ClockApplet()
1449  {
1450 +    delete m_shadowEngine;
1451      //reverse for the moment
1452      KGlobal::locale()->removeCatalogue("clockapplet");
1453      KGlobal::locale()->removeCatalogue("timezones"); // For time zone translations
1454 @@ -929,6 +969,16 @@
1455      config()->sync();
1456  }
1457  
1458 +
1459 +KTextShadowEngine *ClockApplet::shadowEngine()
1460 +{
1461 +    if (!m_shadowEngine)
1462 +        m_shadowEngine = new KTextShadowEngine();
1463 +
1464 +    return m_shadowEngine;
1465 +}
1466 +
1467 +
1468  int ClockApplet::widthForHeight(int h) const
1469  {
1470      if (orientation() == Qt::Vertical)
1471 Index: kicker/kicker/core/container_extension.cpp
1472 ===================================================================
1473 --- kicker/kicker/core/container_extension.cpp  (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1474 +++ kicker/kicker/core/container_extension.cpp  (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1475 @@ -126,6 +126,7 @@
1476      connect(Kicker::the()->kwinModule(), SIGNAL(currentDesktopChanged(int)),
1477              this, SLOT( currentDesktopChanged(int)));
1478  
1479 +    setBackgroundOrigin(AncestorOrigin);
1480      setFrameStyle(NoFrame);
1481      setLineWidth(0);
1482      setMargin(0);
1483 @@ -163,7 +164,7 @@
1484      {
1485          _userHidden = static_cast<UserHidden>(tmp);
1486      }
1487 -
1488 +    
1489      if (m_extension)
1490      {
1491          // if we have an extension, we need to grab the extension-specific
1492 Index: kicker/kicker/core/containerarea.cpp
1493 ===================================================================
1494 --- kicker/kicker/core/containerarea.cpp        (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1495 +++ kicker/kicker/core/containerarea.cpp        (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1496 @@ -90,15 +90,12 @@
1497        m_addAppletDialog(0)
1498  {
1499      setBackgroundOrigin( WidgetOrigin );
1500 -    viewport()->setBackgroundOrigin( AncestorOrigin );
1501  
1502 -    m_contents = new QWidget(viewport());
1503 -    m_contents->setBackgroundOrigin(AncestorOrigin);
1504 +    m_contents = viewport();
1505      
1506      m_layout = new ContainerAreaLayout(m_contents);
1507      
1508 -    // Install an event filter to propagate layout hints coming from
1509 -    // m_contents.
1510 +    // Install an event filter to propagate layout hints coming from m_contents.
1511      m_contents->installEventFilter(this);
1512  
1513      setBackground();
1514 Index: kicker/kicker/core/panelextension.cpp
1515 ===================================================================
1516 --- kicker/kicker/core/panelextension.cpp       (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1517 +++ kicker/kicker/core/panelextension.cpp       (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1518 @@ -74,7 +74,6 @@
1519      connect(_containerArea, SIGNAL(maintainFocus(bool)), this, SIGNAL(maintainFocus(bool)));
1520      _layout->addWidget(_containerArea);
1521  
1522 -    _containerArea->setFrameStyle(QFrame::NoFrame);
1523      _containerArea->viewport()->installEventFilter(this);
1524      _containerArea->configure();
1525  
1526 Index: kioslave/media/mediamanager/halbackend.cpp
1527 ===================================================================
1528 --- kioslave/media/mediamanager/halbackend.cpp  (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1529 +++ kioslave/media/mediamanager/halbackend.cpp  (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1530 @@ -851,13 +851,6 @@
1531          result << tmp;
1532      }
1533  
1534 -       if ( valids.contains("locale") )
1535 -       {
1536 -               value = config.readBoolEntry( "locale", true );
1537 -               tmp = QString( "locale=%1" ).arg( value ? "true" : "false" );
1538 -               result << tmp;
1539 -       }
1540 -
1541      if (valids.contains("utf8"))
1542      {
1543          value = config.readBoolEntry("utf8", true);
1544 @@ -878,6 +871,17 @@
1545              result << "shortname=lower";
1546      }
1547  
1548 +    // pass our locale to the ntfs-3g driver so it can translate local characters
1549 +    if (valids.contains("locale") && fstype == "ntfs-3g")
1550 +    {
1551 +        // have to obtain LC_CTYPE as returned by the `locale` command
1552 +        // check in the same order as `locale` does
1553 +        char *cType;
1554 +        if ( (cType = getenv("LC_ALL")) || (cType = getenv("LC_CTYPE")) || (cType = getenv("LANG")) ) {
1555 +            result << QString("locale=%1").arg(cType);
1556 +        }
1557 +    }
1558 +
1559      if (valids.contains("sync"))
1560      {
1561          value = config.readBoolEntry("sync", ( valids.contains("flush") && !fstype.endsWith("fat") ) && removable);
1562 @@ -931,7 +935,7 @@
1563  
1564      QMap<QString,QString> valids = MediaManagerUtils::splitOptions(options);
1565  
1566 -    const char *names[] = { "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", "locale", 0 };
1567 +    const char *names[] = { "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", 0 };
1568      for (int index = 0; names[index]; ++index)
1569          if (valids.contains(names[index]))
1570              config.writeEntry(names[index], valids[names[index]] == "true");
1571 @@ -951,10 +955,6 @@
1572          config.writeEntry("automount", valids["automount"]);
1573      }
1574  
1575 -       if (valids.contains("locale") ) {
1576 -               config.writeEntry("locale", valids["locale"]);
1577 -       }
1578 -
1579      return true;
1580  }
1581  
1582 @@ -1153,11 +1153,6 @@
1583          soptions << QString("uid=%1").arg(getuid());
1584      }
1585  
1586 -    if (valids["locale"] == "true")
1587 -       {
1588 -               soptions << QString("locale=%1").arg( KGlobal::locale()->language() ); 
1589 -       }
1590 -
1591      if (valids["ro"] == "true")
1592          soptions << "ro";
1593  
1594 @@ -1182,6 +1177,11 @@
1595          soptions << QString("shortname=%1").arg(valids["shortname"]);
1596      }
1597  
1598 +    if (valids.contains("locale"))
1599 +    {
1600 +        soptions << QString("locale=%1").arg(valids["locale"]);
1601 +    }
1602 +
1603      if (valids.contains("journaling"))
1604      {
1605          QString option = valids["journaling"];
1606 Index: kioslave/fish/fish.cpp
1607 ===================================================================
1608 --- kioslave/fish/fish.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1609 +++ kioslave/fish/fish.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1610 @@ -2,7 +2,7 @@
1611                            fish.cpp  -  a FISH kioslave
1612                               -------------------
1613      begin                : Thu Oct  4 17:09:14 CEST 2001
1614 -    copyright            : (C) 2001-2003 by Jörg Walter
1615 +    copyright            : (C) 2001-2003 by J�rg Walter
1616      email                : jwalt-kde@garni.ch
1617   ***************************************************************************/
1618  
1619 @@ -1430,7 +1430,7 @@
1620                      sent();
1621                  }
1622              }
1623 -            if (FD_ISSET(childFd,&rfds)) {
1624 +            else if (FD_ISSET(childFd,&rfds)) {
1625                  rc = read(childFd,buf+offset,32768-offset);
1626                  //myDebug( << "read " << rc << " bytes" << endl);
1627                  if (rc > 0) {
1628 Index: nsplugins/nspluginloader.cpp
1629 ===================================================================
1630 --- nsplugins/nspluginloader.cpp        (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1631 +++ nsplugins/nspluginloader.cpp        (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1632 @@ -69,7 +69,7 @@
1633      if (cfg.readBoolEntry("demandLoad", false)) {
1634          _button = new QPushButton(i18n("Start Plugin"), dynamic_cast<EMBEDCLASS*>(this));
1635          _layout->addWidget(_button, 0, 0);
1636 -        connect(_button, SIGNAL(clicked()), this, SLOT(doLoadPlugin()));
1637 +        connect(_button, SIGNAL(clicked()), this, SLOT(loadPlugin()));
1638          show();
1639      } else {
1640          _button = 0L;
1641 @@ -84,11 +84,15 @@
1642      }
1643  }
1644  
1645 +void NSPluginInstance::loadPlugin()
1646 +{
1647 +    delete _button;
1648 +    _button = 0;
1649 +    doLoadPlugin();
1650 +}
1651  
1652  void NSPluginInstance::doLoadPlugin() {
1653 -    if (!inited) {
1654 -        delete _button;
1655 -        _button = 0L;
1656 +    if (!inited && !_button) {
1657          _loader = NSPluginLoader::instance();
1658          setBackgroundMode(QWidget::NoBackground);
1659          WId winid = stub->winId();
1660 Index: nsplugins/nspluginloader.h
1661 ===================================================================
1662 --- nsplugins/nspluginloader.h  (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1663 +++ nsplugins/nspluginloader.h  (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1664 @@ -55,6 +55,7 @@
1665      void javascriptResult( int id, QString result ) { stub->javascriptResult( id, result ); }
1666  
1667  private slots:
1668 +    void loadPlugin();
1669      void doLoadPlugin();
1670  
1671  protected:
1672 Index: knetattach/knetattach.ui
1673 ===================================================================
1674 --- knetattach/knetattach.ui    (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1675 +++ knetattach/knetattach.ui    (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1676 @@ -236,7 +236,7 @@
1677                      </sizepolicy>
1678                  </property>
1679                  <property name="maxValue">
1680 -                    <number>32768</number>
1681 +                    <number>65535</number>
1682                  </property>
1683                  <property name="minValue">
1684                      <number>1</number>
1685 Index: kwin/atoms.cpp
1686 ===================================================================
1687 --- kwin/atoms.cpp      (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1688 +++ kwin/atoms.cpp      (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1689 @@ -85,6 +85,8 @@
1690      Atom fake;
1691      atoms[n] = &fake;
1692      names[n++] = (char *) "_DT_SM_WINDOW_INFO";
1693 +    atoms[n] = &fake;
1694 +    names[n++] = (char *) "_MOTIF_WM_INFO"; // #172028
1695      
1696      atoms[n] = &xdnd_aware;
1697      names[n++] = (char*) "XdndAware";
1698 Index: l10n/tr/entry.desktop
1699 ===================================================================
1700 --- l10n/tr/entry.desktop       (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1701 +++ l10n/tr/entry.desktop       (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1702 @@ -83,7 +83,7 @@
1703  Languages=tr
1704  DecimalSymbol=,
1705  ThousandsSeparator=.
1706 -CurrencySymbol=YTL
1707 +CurrencySymbol=TL
1708  MonetaryDecimalSymbol=,
1709  MonetaryThousandsSeparator=.
1710  PositiveSign=
1711 Index: l10n/ec/entry.desktop
1712 ===================================================================
1713 --- l10n/ec/entry.desktop       (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1714 +++ l10n/ec/entry.desktop       (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1715 @@ -1,5 +1,5 @@
1716  [KCM Locale]
1717 -Name=Equador
1718 +Name=Ecuador
1719  Name[af]=Ewenaar
1720  Name[ar]=الإكوادور
1721  Name[az]=Ekvator
1722 Index: l10n/es/entry.desktop
1723 ===================================================================
1724 --- l10n/es/entry.desktop       (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
1725 +++ l10n/es/entry.desktop       (.../branches/KDE/3.5/kdebase)  (revision 1021033)
1726 @@ -94,7 +94,8 @@
1727  NegativeMonetarySignPosition=1
1728  DateFormat[es]=%A, %e de %B de %Y
1729  DateFormat[eu]=%a, %Yeko %bren %da
1730 -DareFormat[gl]=%A, %e de %B de %Y
1731 +DateFormat[gl]=%A, %e de %B de %Y
1732 +DateFormat[ca]=%A, %e %B %Y
1733  DateFormat[eo]=%A, la %ea de %B %Y
1734  DateFormatShort=%d-%m-%y
1735  TimeFormat=%H:%M:%S
1736
1737 Property changes on: .
1738 ___________________________________________________________________
1739 Deleted: svn:mergeinfo
1740 Added: svn:externals
1741    + admin https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin
1742
1743
This page took 0.177842 seconds and 3 git commands to generate.