[aseprite] 20/134: Move button to delete shortcuts from SelectAccelerator to KeyItem
Tobias Hansen
thansen at moszumanska.debian.org
Sat Mar 14 17:09:56 UTC 2015
This is an automated email from the git hooks/post-receive script.
thansen pushed a commit to branch master
in repository aseprite.
commit d90150fed9fbafad077dbbff29a2927f2aa1e1f1
Author: David Capello <davidcapello at gmail.com>
Date: Wed Oct 29 22:06:25 2014 -0300
Move button to delete shortcuts from SelectAccelerator to KeyItem
---
data/widgets/select_accelerator.xml | 1 -
src/app/commands/cmd_keyboard_shortcuts.cpp | 49 +++++++++++++++++++++++------
src/app/ui/select_accelerator.cpp | 19 +----------
src/app/ui/select_accelerator.h | 5 +--
4 files changed, 42 insertions(+), 32 deletions(-)
diff --git a/data/widgets/select_accelerator.xml b/data/widgets/select_accelerator.xml
index 7640c38..551ea73 100644
--- a/data/widgets/select_accelerator.xml
+++ b/data/widgets/select_accelerator.xml
@@ -27,7 +27,6 @@
<box horizontal="true" homogeneous="true">
<button text="OK" id="ok_button" magnet="true" width="60" />
<button text="Cancel" id="cancel_button" />
- <button text="Delete" id="delete_button" />
</box>
</box>
diff --git a/src/app/commands/cmd_keyboard_shortcuts.cpp b/src/app/commands/cmd_keyboard_shortcuts.cpp
index 254cf80..1b365d6 100644
--- a/src/app/commands/cmd_keyboard_shortcuts.cpp
+++ b/src/app/commands/cmd_keyboard_shortcuts.cpp
@@ -60,6 +60,7 @@ public:
, m_menuitem(menuitem)
, m_level(level)
, m_changeButton(NULL)
+ , m_deleteButton(NULL)
, m_addButton(NULL)
, m_hotAccel(-1) {
this->border_width.t = this->border_width.b = 0;
@@ -80,25 +81,33 @@ public:
private:
- void onChangeAccel() {
- Accelerator origAccel = m_key->accels()[m_hotAccel];
- SelectAccelerator window(origAccel, true);
+ void onChangeAccel(int index) {
+ Accelerator origAccel = m_key->accels()[index];
+ SelectAccelerator window(origAccel);
window.openWindowInForeground();
if (window.isModified()) {
m_key->disableAccel(origAccel);
m_key->add(window.accel(), KeySource::UserDefined);
}
- else if (window.isDeleted()) {
- m_key->disableAccel(origAccel);
- }
getRoot()->layout();
}
+ void onDeleteAccel(int index)
+ {
+ if (Alert::show("Warning"
+ "<<Do you really want to delete this keyboard shortcut?"
+ "||&Yes||&No") != 1)
+ return;
+
+ m_key->disableAccel(m_key->accels()[index]);
+ getRoot()->layout();
+ }
+
void onAddAccel() {
ui::Accelerator accel;
- SelectAccelerator window(accel, false);
+ SelectAccelerator window(accel);
window.openWindowInForeground();
if (window.isModified()) {
@@ -216,19 +225,38 @@ private:
6*jguiscale(), 1*jguiscale()));
if (accels && i < (int)accels->size() &&
- itemBounds.contains(mouseMsg->position())) {
+ mouseMsg->position().y >= itemBounds.y &&
+ mouseMsg->position().y < itemBounds.y+itemBounds.h) {
hotAccel = i;
if (!m_changeButton) {
m_changeButton = new Button("");
- m_changeButton->Click.connect(Bind<void>(&KeyItem::onChangeAccel, this));
+ m_changeButton->Click.connect(Bind<void>(&KeyItem::onChangeAccel, this, i));
setup_mini_look(m_changeButton);
addChild(m_changeButton);
}
+ if (!m_deleteButton) {
+ m_deleteButton = new Button("");
+ m_deleteButton->Click.connect(Bind<void>(&KeyItem::onDeleteAccel, this, i));
+ setup_mini_look(m_deleteButton);
+ addChild(m_deleteButton);
+ }
+
m_changeButton->setBgColor(gfx::ColorNone);
m_changeButton->setBounds(itemBounds);
m_changeButton->setText((*accels)[i].toString());
+
+ const char* label = "x";
+ m_deleteButton->setBgColor(gfx::ColorNone);
+ m_deleteButton->setBounds(gfx::Rect(
+ itemBounds.x + itemBounds.w + 2*jguiscale(),
+ itemBounds.y,
+ Graphics::measureUIStringLength(
+ label, getFont()) + 4*jguiscale(),
+ itemBounds.h));
+ m_deleteButton->setText(label);
+
invalidate();
}
@@ -266,8 +294,10 @@ private:
void destroyButtons() {
delete m_changeButton;
+ delete m_deleteButton;
delete m_addButton;
m_changeButton = NULL;
+ m_deleteButton = NULL;
m_addButton = NULL;
}
@@ -277,6 +307,7 @@ private:
int m_level;
ui::Accelerators m_newAccels;
ui::Button* m_changeButton;
+ ui::Button* m_deleteButton;
ui::Button* m_addButton;
int m_hotAccel;
};
diff --git a/src/app/ui/select_accelerator.cpp b/src/app/ui/select_accelerator.cpp
index b46460a..1ccf33b 100644
--- a/src/app/ui/select_accelerator.cpp
+++ b/src/app/ui/select_accelerator.cpp
@@ -76,10 +76,9 @@ protected:
Accelerator m_accel;
};
-SelectAccelerator::SelectAccelerator(const ui::Accelerator& accel, bool canDelete)
+SelectAccelerator::SelectAccelerator(const ui::Accelerator& accel)
: m_keyField(new KeyField(accel))
, m_accel(accel)
- , m_deleted(false)
, m_modified(false)
{
updateModifiers();
@@ -97,11 +96,6 @@ SelectAccelerator::SelectAccelerator(const ui::Accelerator& accel, bool canDelet
clearButton()->Click.connect(Bind<void>(&SelectAccelerator::onClear, this));
okButton()->Click.connect(Bind<void>(&SelectAccelerator::onOK, this));
cancelButton()->Click.connect(Bind<void>(&SelectAccelerator::onCancel, this));
-
- if (canDelete)
- deleteButton()->Click.connect(Bind<void>(&SelectAccelerator::onDelete, this));
- else
- deleteButton()->setVisible(false);
}
void SelectAccelerator::onModifierChange(KeyModifiers modifier, CheckBox* checkbox)
@@ -146,17 +140,6 @@ void SelectAccelerator::onCancel()
closeWindow(NULL);
}
-void SelectAccelerator::onDelete()
-{
- if (Alert::show("Warning"
- "<<Do you really want to delete this keyboard shortcut?"
- "||&Yes||&No") != 1)
- return;
-
- m_deleted = true;
- closeWindow(NULL);
-}
-
void SelectAccelerator::updateModifiers()
{
alt()->setSelected(m_accel.modifiers() & kKeyAltModifier ? true: false);
diff --git a/src/app/ui/select_accelerator.h b/src/app/ui/select_accelerator.h
index 55138ba..475d8c2 100644
--- a/src/app/ui/select_accelerator.h
+++ b/src/app/ui/select_accelerator.h
@@ -28,9 +28,8 @@ namespace app {
class SelectAccelerator : public app::gen::SelectAccelerator {
public:
- explicit SelectAccelerator(const ui::Accelerator& accelerator, bool canDelete);
+ explicit SelectAccelerator(const ui::Accelerator& accelerator);
- bool isDeleted() const { return m_deleted; }
bool isModified() const { return m_modified; }
const ui::Accelerator& accel() const { return m_accel; }
@@ -40,7 +39,6 @@ namespace app {
void onClear();
void onOK();
void onCancel();
- void onDelete();
void updateModifiers();
void updateAssignedTo();
@@ -49,7 +47,6 @@ namespace app {
KeyField* m_keyField;
ui::Accelerator m_origAccel;
ui::Accelerator m_accel;
- bool m_deleted;
bool m_modified;
};
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git
More information about the Pkg-games-commits
mailing list