Skip to content

Commit

Permalink
Merge branch 'master' of github.com:skyjake/Doomsday-Engine
Browse files Browse the repository at this point in the history
  • Loading branch information
danij-deng committed Aug 7, 2016
2 parents d03490d + bdeb299 commit afa8b37
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 17 deletions.
Expand Up @@ -27,6 +27,7 @@ class PackagesColumnWidget : public ColumnWidget
PackagesColumnWidget();

de::String tabHeading() const override;
void setHighlighted(bool highlighted) override;

private:
DENG2_PRIVATE(d)
Expand Down
3 changes: 3 additions & 0 deletions doomsday/apps/client/include/ui/widgets/homemenuwidget.h
Expand Up @@ -22,6 +22,7 @@
#include <de/MenuWidget>

class HomeItemWidget;
class ColumnWidget;

/**
* Menu for items in Home columns.
Expand Down Expand Up @@ -56,6 +57,8 @@ class HomeMenuWidget : public de::MenuWidget
void setInteractedItem(de::ui::Item const *menuItem,
de::ui::Item const *actionItem);

ColumnWidget *parentColumn() const;

signals:
void selectedIndexChanged(int index);
void itemClicked(int index);
Expand Down
Expand Up @@ -35,7 +35,7 @@ label {

focus {
color flash.on { rgb $= accent.rgb }
color flash.off { rgb $= gui.colorAlpha(accent.rgb, 0.25) }
color flash.off { rgb $= gui.colorMix(accent.rgb, [0, 0, 0], 0.75) }
}

popup {
Expand Down
31 changes: 17 additions & 14 deletions doomsday/apps/client/src/ui/dialogs/inputsettingsdialog.cpp
Expand Up @@ -54,20 +54,22 @@ DENG_GUI_PIMPL(InputSettingsDialog)
{
ScrollAreaWidget &area = self.area();

// Gamepad.
area.add(joyEnable = new CVarToggleWidget("input-joy"));
area.add(gamepad = new ChoiceWidget);
area.add(applyGamepad = new ButtonWidget);

area.add(syncMouse = new VariableToggleWidget(App::config("input.mouse.syncSensitivity")));

area.add(mouseSensiX = new CVarSliderWidget("input-mouse-x-scale"));
area.add(mouseSensiY = new CVarSliderWidget("input-mouse-y-scale"));
area.add(mouseDisableX = new ToggleWidget);
area.add(mouseDisableY = new ToggleWidget);
area.add(mouseInvertX = new ToggleWidget);
area.add(mouseInvertY = new ToggleWidget);
area.add(mouseFilterX = new ToggleWidget);
area.add(mouseFilterY = new ToggleWidget);
area.add(mouseDisableX = new ToggleWidget);

// Gamepad.
area.add(joyEnable = new CVarToggleWidget("input-joy"));
area.add(applyGamepad = new ButtonWidget);
area.add(gamepad = new ChoiceWidget);
area.add(mouseSensiY = new CVarSliderWidget("input-mouse-y-scale"));
area.add(mouseInvertY = new ToggleWidget);
area.add(mouseFilterY = new ToggleWidget);
area.add(mouseDisableY = new ToggleWidget);

gamepad->items() << new ChoiceItem(tr("None"), "");
QStringList ids = ClientApp::inputSystem().gameControllerPresets().ids();
Expand Down Expand Up @@ -140,7 +142,7 @@ InputSettingsDialog::InputSettingsDialog(String const &name)

d->syncInput->setText(tr("Vanilla 35Hz Input Rate"));
d->syncMouse->setText(tr("Sync Axis Sensitivities"));
d->applyGamepad->setText(tr("Apply Preset"));
d->applyGamepad->setText(tr("Apply"));
connect(d->applyGamepad, SIGNAL(pressed()), this, SLOT(applyControllerPreset()));

LabelWidget *mouseXLabel = LabelWidget::newWithText(_E(D) + tr("Mouse: Horizontal"), &area());
Expand All @@ -151,7 +153,7 @@ InputSettingsDialog::InputSettingsDialog(String const &name)
mouseXLabel->margins().setTop("gap");
mouseYLabel->margins().setTop("gap");

LabelWidget *applyNote = LabelWidget::newWithText(tr("Clicking " _E(b) "Apply Preset" _E(.) " will remove all "
LabelWidget *applyNote = LabelWidget::newWithText(tr("Clicking " _E(b) "Apply" _E(.) " will remove all "
"existing game controller bindings and apply "
"the selected preset."), &area());
applyNote->margins().setTop("");
Expand Down Expand Up @@ -190,15 +192,16 @@ InputSettingsDialog::InputSettingsDialog(String const &name)
GridLayout layout(area().contentRule().left(), area().contentRule().top());
layout.setGridSize(2, 0);
//layout.setColumnAlignment(0, ui::AlignRight);
layout << *LabelWidget::newWithText(tr("Game Controller:"), &area()) << *d->gamepad;
layout.append(*d->joyEnable, 2);
layout << *LabelWidget::newWithText(tr("Game Controller Preset:"), &area())
<< *d->gamepad;
d->applyGamepad->setSizePolicy(ui::Expand, ui::Expand);
d->applyGamepad->rule()
.setInput(Rule::Left, d->gamepad->rule().right())
.setMidAnchorY(d->gamepad->rule().midY());
layout.append(*applyNote, 2);
layout.append(*d->joyEnable, 2);

GridLayout layout2(area().contentRule().left(), d->joyEnable->rule().bottom());
GridLayout layout2(area().contentRule().left(), applyNote->rule().bottom());
layout2.setGridSize(2, 0);
layout2 << *mouseXLabel << *mouseYLabel
<< *d->mouseSensiX << *d->mouseSensiY;
Expand Down
9 changes: 9 additions & 0 deletions doomsday/apps/client/src/ui/home/packagescolumnwidget.cpp
Expand Up @@ -162,3 +162,12 @@ String PackagesColumnWidget::tabHeading() const
{
return tr("Packages");
}

void PackagesColumnWidget::setHighlighted(bool highlighted)
{
ColumnWidget::setHighlighted(highlighted);
if (highlighted)
{
root().setFocus(&d->packages->searchTermsEditor());
}
}
3 changes: 2 additions & 1 deletion doomsday/apps/client/src/ui/widgets/homeitemwidget.cpp
Expand Up @@ -41,7 +41,7 @@ DENG_GUI_PIMPL(HomeItemWidget)
void acquireFocus()
{
owner.acquireFocus();
emit owner.mouseActivity();
//emit owner.mouseActivity();
}

bool handleEvent(GuiWidget &widget, Event const &event)
Expand Down Expand Up @@ -376,6 +376,7 @@ void HomeItemWidget::focusGained()
{
setSelected(true);
emit selected();
emit mouseActivity();
}

void HomeItemWidget::focusLost()
Expand Down
18 changes: 18 additions & 0 deletions doomsday/apps/client/src/ui/widgets/homemenuwidget.cpp
Expand Up @@ -18,6 +18,7 @@

#include "ui/widgets/homemenuwidget.h"
#include "ui/widgets/homeitemwidget.h"
#include "ui/home/columnwidget.h"

using namespace de;

Expand Down Expand Up @@ -134,6 +135,18 @@ void HomeMenuWidget::setInteractedItem(ui::Item const *menuItem, ui::Item const
d->interactedAction = actionItem;
}

ColumnWidget *HomeMenuWidget::parentColumn() const
{
for (Widget *i = parentWidget(); i; i = i->parent())
{
if (ColumnWidget *column = i->maybeAs<ColumnWidget>())
{
return column;
}
}
return nullptr;
}

ui::Item const *HomeMenuWidget::interactedItem() const
{
return d->interacted;
Expand All @@ -150,6 +163,11 @@ void HomeMenuWidget::mouseActivityInItem()
{
emit itemClicked(findItem(*clickedWidget));
}

if (auto *column = parentColumn())
{
emit column->mouseActivity(column);
}
}

void HomeMenuWidget::itemSelectionChanged()
Expand Down
2 changes: 1 addition & 1 deletion doomsday/sdk/libappfw/src/guiwidget.cpp
Expand Up @@ -1159,7 +1159,7 @@ void GuiWidget::glMakeGeometry(DefaultVertexBuf::Builder &verts)
{
verts.makeFlexibleFrame(rule().recti().shrunk(d->toDevicePixels(2)),
thick,
Vector4f(0, 0, 0, .666f),
Vector4f(0, 0, 0, .5f),
rootWgt.atlas().imageRectf(rootWgt.boldRoundCorners()));
}
verts.makeFlexibleFrame(rule().recti().shrunk(d->toDevicePixels(1)),
Expand Down

0 comments on commit afa8b37

Please sign in to comment.