|
@@ -161,13 +161,13 @@ public:
|
|
|
}
|
|
|
|
|
|
y += FONT_HEIGHT_NORMAL + 5;
|
|
|
DrawStringMultiLine(r.left + 2, r.right - 2, y, y + FONT_HEIGHT_NORMAL * 2, str, TC_FROMSTRING, SA_CENTER);
|
|
|
}
|
|
|
|
|
|
virtual void OnClick(Point pt, int widget)
|
|
|
virtual void OnClick(Point pt, int widget, int click_count)
|
|
|
{
|
|
|
if (widget == NCDSWW_CANCELOK) {
|
|
|
if (this->downloaded_bytes != this->total_bytes) _network_content_client.Close();
|
|
|
delete this;
|
|
|
}
|
|
|
}
|
|
@@ -580,22 +580,13 @@ public:
|
|
|
SetDParamStr(0, buf);
|
|
|
y = DrawStringMultiLine(r.left + DETAIL_LEFT, r.right - DETAIL_RIGHT, y, max_y, STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnDoubleClick(Point pt, int widget)
|
|
|
{
|
|
|
/* Double clicking on a line in the matrix toggles the state of the checkbox */
|
|
|
if (widget != NCLWW_MATRIX) return;
|
|
|
|
|
|
pt.x = this->GetWidget<NWidgetBase>(NCLWW_CHECKBOX)->pos_x;
|
|
|
this->OnClick(pt, widget);
|
|
|
}
|
|
|
|
|
|
virtual void OnClick(Point pt, int widget)
|
|
|
virtual void OnClick(Point pt, int widget, int click_count)
|
|
|
{
|
|
|
switch (widget) {
|
|
|
case NCLWW_MATRIX: {
|
|
|
uint32 id_v = (pt.y - this->GetWidget<NWidgetBase>(NCLWW_MATRIX)->pos_y) / this->resize.step_height;
|
|
|
|
|
|
if (id_v >= this->vscroll.GetCapacity()) return; // click out of bounds
|
|
@@ -604,13 +595,13 @@ public:
|
|
|
if (id_v >= this->content.Length()) return; // click out of bounds
|
|
|
|
|
|
this->selected = *this->content.Get(id_v);
|
|
|
this->list_pos = id_v;
|
|
|
|
|
|
const NWidgetBase *checkbox = this->GetWidget<NWidgetBase>(NCLWW_CHECKBOX);
|
|
|
if (IsInsideBS(pt.x, checkbox->pos_x, checkbox->current_x)) {
|
|
|
if (click_count > 1 || IsInsideBS(pt.x, checkbox->pos_x, checkbox->current_x)) {
|
|
|
_network_content_client.ToggleSelectedState(this->selected);
|
|
|
this->content.ForceResort();
|
|
|
}
|
|
|
|
|
|
this->InvalidateData();
|
|
|
} break;
|