Show
Ignore:
Timestamp:
07/13/08 03:39:22 (4 months ago)
Author:
flynd
Message:

Searching in history dialog will now mark all dates with matching entries in green.

Location:
trunk/qt4-gui/src/widgets
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/qt4-gui/src/widgets/calendar.cpp

    r5996 r6448  
    5454} 
    5555 
    56 void Calendar::markDate(QDate date) 
     56void Calendar::markDate(const QDate& date) 
    5757{ 
    5858  QTextCharFormat textFormat = dateTextFormat(date); 
     
    6262  textFormat.setBackground(Qt::transparent); 
    6363  setDateTextFormat(date, textFormat); 
     64} 
     65 
     66void Calendar::addMatch(const QDate& date) 
     67{ 
     68  if (myMatches.contains(date)) 
     69    return; 
     70 
     71  myMatches.append(date); 
     72  updateCell(date); 
     73} 
     74 
     75void Calendar::clearMatches() 
     76{ 
     77  myMatches.clear(); 
     78  updateCells(); 
    6479} 
    6580 
     
    7489    painter->setPen(Qt::NoPen); 
    7590    painter->setRenderHints(painter->renderHints() | QPainter::Antialiasing); 
    76     painter->setBrush(Qt::yellow); 
     91    painter->setBrush(myMatches.contains(date) ? Qt::green : Qt::yellow); 
    7792    painter->drawEllipse(center); 
    7893    painter->restore(); 
  • trunk/qt4-gui/src/widgets/calendar.h

    r5996 r6448  
    2525 
    2626#include <QCalendarWidget> 
     27#include <QDate> 
     28#include <QList> 
    2729 
    2830namespace LicqQtGui 
     
    5456   * @param date Date to mark 
    5557   */ 
    56   void markDate(QDate date); 
     58  void markDate(const QDate& date); 
     59 
     60  /** 
     61   * Mark a search match in the calendar 
     62   * Note: Date must already be marked with markDate() 
     63   * 
     64   * @param date Date of the match 
     65   */ 
     66  void addMatch(const QDate& date); 
     67 
     68  /** 
     69   * Clear all search matches 
     70   */ 
     71  void clearMatches(); 
    5772 
    5873protected: 
     
    6580   */ 
    6681  virtual void paintCell(QPainter* painter, const QRect& rect, const QDate& date) const; 
     82 
     83private: 
     84  QList<QDate> myMatches; 
    6785}; 
    6886