Index: libs/libmyth/xmlparse.cpp =================================================================== --- libs/libmyth/xmlparse.cpp (revision 13509) +++ libs/libmyth/xmlparse.cpp (working copy) @@ -2555,8 +2555,9 @@ QPoint selectPoint(0,0); QPoint upArrowPoint(0,0); QPoint downArrowPoint(0,0); + QPoint leftArrowPoint(0,0); + QPoint rightArrowPoint(0,0); - // // A Map to store the geometry of @@ -2694,6 +2695,14 @@ } else if (imgname.lower() == "leftarrow") { + QString imgpoint = ""; + imgpoint = info.attribute("location", ""); + if (!imgpoint.isNull() && !imgpoint.isEmpty()) + { + leftArrowPoint = parsePoint(imgpoint); + leftArrowPoint.setX((int)(leftArrowPoint.x() * wmult)); + leftArrowPoint.setY((int)(leftArrowPoint.y() * hmult)); + } leftarrow_img = gContext->LoadScalePixmap(file); if (!leftarrow_img) { @@ -2702,6 +2711,14 @@ } else if (imgname.lower() == "rightarrow") { + QString imgpoint = ""; + imgpoint = info.attribute("location", ""); + if (!imgpoint.isNull() && !imgpoint.isEmpty()) + { + rightArrowPoint = parsePoint(imgpoint); + rightArrowPoint.setX((int)(rightArrowPoint.x() * wmult)); + rightArrowPoint.setY((int)(rightArrowPoint.y() * hmult)); + } rightarrow_img = gContext->LoadScalePixmap(file); if (!rightarrow_img) { @@ -2837,6 +2854,8 @@ mtl->setUpArrowOffset(upArrowPoint); mtl->setDownArrowOffset(downArrowPoint); + mtl->setLeftArrowOffset(leftArrowPoint); + mtl->setRightArrowOffset(rightArrowPoint); mtl->setArrowImages(*uparrow_img, *downarrow_img, *leftarrow_img, *rightarrow_img); Index: libs/libmyth/uitypes.cpp =================================================================== --- libs/libmyth/uitypes.cpp (revision 13509) +++ libs/libmyth/uitypes.cpp (working copy) @@ -3310,6 +3310,10 @@ upArrowOffset.setY(0); downArrowOffset.setX(0); downArrowOffset.setY(0); + leftArrowOffset.setX(0); + leftArrowOffset.setY(0); + rightArrowOffset.setX(0); + rightArrowOffset.setY(0); incSearch = ""; } @@ -3616,14 +3620,14 @@ // if (i == bins && hotspot_node->childCount() > 0) { - p->drawPixmap(x_location + (*highlight_map[i]).width() - right_arrow_image.width(), - y_location - QFontMetrics(tmpfont->face).height() + right_arrow_image.height() / 2, + p->drawPixmap(x_location + (*highlight_map[i]).width() - right_arrow_image.width() + rightArrowOffset.x(), + y_location + rightArrowOffset.y() - QFontMetrics(tmpfont->face).height() + right_arrow_image.height() / 2 , right_arrow_image); } if (i == 1 && hotspot_node->getParent()->getParent()) { - p->drawPixmap(x_location, - y_location - QFontMetrics(tmpfont->face).height() + left_arrow_image.height() / 2, + p->drawPixmap(x_location + leftArrowOffset.x(), + y_location + leftArrowOffset.y() - QFontMetrics(tmpfont->face).height() + left_arrow_image.height() / 2, left_arrow_image); } } Index: libs/libmyth/uitypes.h =================================================================== --- libs/libmyth/uitypes.h (revision 13509) +++ libs/libmyth/uitypes.h (working copy) @@ -1045,6 +1045,10 @@ ~UIManagedTreeListType(); void setUpArrowOffset(QPoint& pt) { upArrowOffset = pt;} void setDownArrowOffset(QPoint& pt) { downArrowOffset = pt;} +void setLeftArrowOffset(QPoint& pt) {leftArrowOffset = pt;} +void setRightArrowOffset(QPoint& pt) {rightArrowOffset = pt;} + + void setSelectPoint(QPoint& pt) { selectPoint = pt;} void setSelectPadding(int pad) {selectPadding = pad;} void setArea(QRect an_area) { area = an_area; } @@ -1150,6 +1154,8 @@ QPoint selectPoint; QPoint upArrowOffset; QPoint downArrowOffset; + QPoint leftArrowOffset; + QPoint rightArrowOffset; QString incSearch; bool bIncSearchContains; };