Ticket #4295: image_grid_with_folder_icons.patch

File image_grid_with_folder_icons.patch, 5.5 KB (added by anonymous, 19 years ago)
  • libs/libmyth/xmlparse.cpp

     
    946946    QString normalImage = "";
    947947    QString selectedImage = "";
    948948    QString highlightedImage = "";
     949    QString folderNormalImage = "";
     950    QString folderHighlightImage = "";
    949951
    950952    QString name = element.attribute("name", "");
    951953    if (name.isNull() || name.isEmpty())
     
    10711073                {
    10721074                    highlightedImage = file;
    10731075                }
     1076               
     1077                if (imgname.lower() == "folderhighlighted")
     1078                {
     1079                        folderHighlightImage = file;
     1080                }
     1081               
     1082                if (imgname.lower() == "foldernormal")
     1083                {
     1084                        folderNormalImage = file;
     1085                }
    10741086
    10751087                if (imgname.lower() == "default")
    10761088                {
     
    11241136    grid->setNormalImage(normalImage);
    11251137    grid->setSelectedImage(selectedImage);
    11261138    grid->setHighlightedImage(highlightedImage);
     1139    grid->setFolderNormalImage(folderNormalImage);
     1140    grid->setFolderHighlightImage(folderHighlightImage);
    11271141
    11281142    int jst = Qt::AlignLeft | Qt::AlignTop;
    11291143    if (multiline == true)
  • libs/libmyth/uitypes.cpp

     
    20112011{
    20122012    allData->append(item);
    20132013    itemCount = allData->count();
     2014    lastRow = QMAX((int) ceilf((float) itemCount/columnCount) - 1, 0);
    20142015}
    20152016
    20162017void UIImageGridType::updateItem(ImageGridItem *item)
     
    22462247{
    22472248    QRect r(xpos, ypos, cellWidth, cellHeight);
    22482249
    2249     if (curPos == currentItem)
     2250    ImageGridItem* currentImageItem = this->getItemAt(curPos);
     2251    if(currentImageItem->folder && curPos == currentItem){
     2252        /// highlighted
     2253        if (m_debug == true)
     2254                p->setPen(Qt::yellow);
     2255        if (folderHighlightPixmap)
     2256                p->drawPixmap(xpos, ypos, *folderHighlightPixmap);
     2257    }else if(currentImageItem->folder && curPos != currentItem){
     2258        if (m_debug == true)
     2259                p->setPen(Qt::green);
     2260        if (folderNormalPixmap)
     2261                p->drawPixmap(xpos, ypos, *folderNormalPixmap);
     2262    }
     2263    else if (curPos == currentItem)
    22502264    {
    2251         // highlighted
    2252         if (m_debug == true)
    2253             p->setPen(Qt::yellow);
    2254         if (highlightedPixmap)
    2255             p->drawPixmap(xpos, ypos, *highlightedPixmap);
     2265        // highlighted
     2266        if (m_debug == true)
     2267                p->setPen(Qt::yellow);
     2268        if (highlightedPixmap)
     2269                p->drawPixmap(xpos, ypos, *highlightedPixmap);
    22562270    }
    22572271    else
    22582272    {
    2259         if (m_debug == true)
    2260             p->setPen(Qt::green);
    2261         if (normalPixmap)
    2262             p->drawPixmap(xpos, ypos, *normalPixmap);
     2273        if (m_debug == true)
     2274                p->setPen(Qt::green);
     2275        if (normalPixmap)
     2276                p->drawPixmap(xpos, ypos, *normalPixmap);
    22632277    }
    22642278
    22652279    // draw item image
     
    24392453    defaultPixmap = createScaledPixmap(defaultImage, imgWidth - 2 * sw,
    24402454                                       imgHeight - 2 * sh,
    24412455                                       QImage::ScaleMin);
     2456    folderNormalPixmap = createScaledPixmap(folderNormalImage, imgWidth, imgHeight,
     2457                                                                                        QImage::ScaleFree);
     2458    folderHighlightPixmap =     createScaledPixmap(folderHighlightImage, imgWidth, imgHeight,
     2459                                                QImage::ScaleFree);
    24422460}
    24432461
    24442462void UIImageGridType::calculateScreenArea(void)
  • libs/libmyth/uitypes.h

     
    342342class ImageGridItem
    343343{
    344344    public:
    345         ImageGridItem(const QString &text, QPixmap *pixmap, bool selected, void *data)
     345        ImageGridItem(const QString &text, QPixmap *pixmap, bool selected, void *data, bool folder=false)
    346346        {
    347347            this->text = text;
    348348            this->pixmap = pixmap;
    349349            this->selected = selected;
    350350            this->data = data;
     351            this->folder = folder;
    351352        }
    352353
    353354        ImageGridItem(const ImageGridItem &o)
     
    380381        QPixmap *pixmap;
    381382        bool selected;
    382383        void *data;
     384        bool folder;
    383385};
    384386
    385387class MPUBLIC UIImageGridType : public UIType
     
    413415        void setSelectedImage(QString filename) { selectedImage = filename; }
    414416        void setHighlightedImage(QString filename) { highlightedImage = filename; }
    415417        void setDefaultImage(QString filename) { defaultImage = filename; }
     418        void setFolderNormalImage(QString filename){folderNormalImage = filename;}
     419        void setFolderHighlightImage(QString filename){folderHighlightImage = filename;}
    416420        void setShowChecks(bool value) { showCheck = value; }
    417421        void setShowScrollArrows(bool value) { showScrollArrows = value; }
    418422        void setShowSelected(bool value) { showSelected = value; }
     
    489493        QString highlightedImage;
    490494        QString selectedImage;
    491495        QString defaultImage;
     496        QString folderNormalImage;
     497        QString folderHighlightImage;
    492498
    493499        QPixmap *normalPixmap;
    494500        QPixmap *highlightedPixmap;
    495501        QPixmap *selectedPixmap;
    496502        QPixmap *defaultPixmap;
     503        QPixmap *folderNormalPixmap;
     504        QPixmap *folderHighlightPixmap;
    497505
    498506        QPixmap *checkNonPixmap;
    499507        QPixmap *checkHalfPixmap;