Cleaned up icons, added keyboard shortcuts to everything
Keyboard Shortcuts and Menu reordering
Review URL: https://codereview.appspot.com/6400051
git-svn-id: http://skia.googlecode.com/svn/trunk@4630 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp
index 766dd6d..1c5b48c 100644
--- a/debugger/QT/SkDebuggerGUI.cpp
+++ b/debugger/QT/SkDebuggerGUI.cpp
@@ -14,15 +14,17 @@
, fActionOpen(this)
, fActionBreakpoint(this)
, fActionCancel(this)
+ , fActionClearDeletes(this)
, fActionClose(this)
+ , fActionCreateBreakpoint(this)
, fActionDelete(this)
, fActionDirectory(this)
, fActionGoToLine(this)
, fActionInspector(this)
, fActionPlay(this)
+ , fActionPause(this)
, fActionReload(this)
, fActionRewind(this)
- , fActionSettings(this)
, fActionStepBack(this)
, fActionStepForward(this)
, fCentralWidget(this)
@@ -62,22 +64,24 @@
SLOT(actionBreakpoints()));
connect(&fActionInspector, SIGNAL(triggered()), this,
SLOT(actionInspector()));
+ connect(&fActionInspector, SIGNAL(triggered()), this,
+ SLOT(actionSettings()));
connect(&fFilter, SIGNAL(activated(QString)), this,
SLOT(toggleFilter(QString)));
connect(&fActionCancel, SIGNAL(triggered()), this, SLOT(actionCancel()));
connect(&fActionClose, SIGNAL(triggered()), this, SLOT(actionClose()));
- connect(&fActionSettings, SIGNAL(triggered()), this, SLOT(actionSettings()));
connect(fSettingsWidget.getVisibilityButton(), SIGNAL(toggled(bool)), this,
SLOT(actionCommandFilter()));
connect(&fCanvasWidget, SIGNAL(scaleFactorChanged(float)), this,
SLOT(actionScale(float)));
- connect(fSettingsWidget.getCommandCheckBox(), SIGNAL(toggled(bool)),
+ connect(&fActionPause, SIGNAL(toggled(bool)),
this, SLOT(pauseDrawing(bool)));
connect(&fCanvasWidget, SIGNAL(commandChanged(int)), &fSettingsWidget,
SLOT(updateCommand(int)));
connect(&fCanvasWidget, SIGNAL(hitChanged(int)), this, SLOT(selectCommand(int)));
connect(&fCanvasWidget, SIGNAL(hitChanged(int)), &fSettingsWidget,
SLOT(updateHit(int)));
+ connect(&fActionCreateBreakpoint, SIGNAL(activated()), this, SLOT(toggleBreakpoint()));
}
SkDebuggerGUI::~SkDebuggerGUI() {
@@ -127,9 +131,12 @@
item->setData(Qt::UserRole + 3, QPixmap(":/images/Icons/blank.png"));
}
int currentRow = fListWidget.currentRow();
- // NOTE(chudy): Forces a redraw up to current selected command.
fCanvasWidget.toggleCommand(currentRow);
- fCanvasWidget.drawTo(fPausedRow);
+ if (fPause) {
+ fCanvasWidget.drawTo(fPausedRow);
+ } else {
+ fCanvasWidget.drawTo(currentRow);
+ }
}
void SkDebuggerGUI::actionInspector() {
@@ -163,9 +170,7 @@
}
void SkDebuggerGUI::actionRewind() {
- /* NOTE(chudy): Hack. All skps opened so far start with save and concat
- * commands that don't clear or reset the canvas. */
- fListWidget.setCurrentRow(2);
+ fListWidget.setCurrentRow(0);
}
void SkDebuggerGUI::actionScale(float scaleFactor) {
@@ -303,77 +308,76 @@
SkDebuggerGUI->setWindowIcon(windowIcon);
SkDebuggerGUI->setWindowTitle("Skia Debugger");
- QIcon open;
- open.addFile(QString::fromUtf8(":/images/Icons/package-br32.png"), QSize(),
- QIcon::Normal, QIcon::Off);
- fActionOpen.setIcon(open);
+ fActionOpen.setShortcuts(QKeySequence::Open);
fActionOpen.setText("Open");
QIcon breakpoint;
breakpoint.addFile(QString::fromUtf8(":/images/Icons/breakpoint.png"),
QSize(), QIcon::Normal, QIcon::Off);
+ fActionBreakpoint.setShortcut(QKeySequence(tr("Ctrl+B")));
fActionBreakpoint.setIcon(breakpoint);
fActionBreakpoint.setText("Show Breakpoints");
QIcon cancel;
- cancel.addFile(QString::fromUtf8(":/images/Icons/reset.png"), QSize(),
+ cancel.addFile(QString::fromUtf8(":/images/Ico/reload.png"), QSize(),
QIcon::Normal, QIcon::Off);
fActionCancel.setIcon(cancel);
fActionCancel.setText("Clear Filter");
+ fActionClose.setShortcuts(QKeySequence::Quit);
fActionClose.setText("Exit");
- QIcon deleteIcon;
- deleteIcon.addFile(QString::fromUtf8(":/images/Icons/delete.png"), QSize(),
- QIcon::Normal, QIcon::Off);
- fActionDelete.setIcon(deleteIcon);
+ fActionCreateBreakpoint.setShortcut(QKeySequence(tr("B")));
+ fActionCreateBreakpoint.setText("Set Breakpoint");
+
+ fActionDelete.setShortcut(QKeySequence(tr("X")));
fActionDelete.setText("Delete Command");
- QIcon directory;
- directory.addFile(QString::fromUtf8(":/images/Icons/drawer-open-icon.png"),
- QSize(), QIcon::Normal, QIcon::Off);
- fActionDirectory.setIcon(directory);
- fActionDirectory.setText("Toggle Directory");
+ fActionDirectory.setShortcut(QKeySequence(tr("Ctrl+D")));
+ fActionDirectory.setText("Directory");
QIcon inspector;
- inspector.addFile(QString::fromUtf8(":/images/Icons/inspector.png"),
+ inspector.addFile(QString::fromUtf8(":/images/Ico/inspector.png"),
QSize(), QIcon::Normal, QIcon::Off);
+ fActionInspector.setShortcut(QKeySequence(tr("Ctrl+I")));
fActionInspector.setIcon(inspector);
- fActionInspector.setText("Toggle Inspector");
+ fActionInspector.setText("Inspector");
QIcon play;
- play.addFile(QString::fromUtf8(":/images/Icons/play.png"), QSize(),
+ play.addFile(QString::fromUtf8(":/images/Ico/play.png"), QSize(),
QIcon::Normal, QIcon::Off);
+ fActionPlay.setShortcut(QKeySequence(tr("Ctrl+P")));
fActionPlay.setIcon(play);
fActionPlay.setText("Play");
- QIcon reload;
- reload.addFile(QString::fromUtf8(":/images/Icons/reload.png"), QSize(),
+ QIcon pause;
+ pause.addFile(QString::fromUtf8(":/images/Ico/pause.png"), QSize(),
QIcon::Normal, QIcon::Off);
- fActionReload.setIcon(reload);
+ fActionPause.setShortcut(QKeySequence(tr("Space")));
+ fActionPause.setCheckable(true);
+ fActionPause.setIcon(pause);
+ fActionPause.setText("Pause");
+
fActionReload.setText("Reset Picture");
QIcon rewind;
- rewind.addFile(QString::fromUtf8(":/images/Icons/rewind.png"), QSize(),
+ rewind.addFile(QString::fromUtf8(":/images/Ico/rewind.png"), QSize(),
QIcon::Normal, QIcon::Off);
+ fActionRewind.setShortcut(QKeySequence(tr("Ctrl+R")));
fActionRewind.setIcon(rewind);
fActionRewind.setText("Rewind");
- QIcon settings;
- settings.addFile(QString::fromUtf8(":/images/Icons/settings.png"), QSize(),
- QIcon::Normal, QIcon::Off);
- fActionSettings.setIcon(settings);
- fActionSettings.setText("Settings");
-
QIcon stepBack;
- stepBack.addFile(QString::fromUtf8(":/images/Icons/back.png"), QSize(),
+ stepBack.addFile(QString::fromUtf8(":/images/Ico/previous.png"), QSize(),
QIcon::Normal, QIcon::Off);
+ fActionStepBack.setShortcut(QKeySequence(tr("[")));
fActionStepBack.setIcon(stepBack);
fActionStepBack.setText("Step Back");
QIcon stepForward;
- stepForward.addFile(QString::fromUtf8(":/images/Icons/go-next.png"),
+ stepForward.addFile(QString::fromUtf8(":/images/Ico/next.png"),
QSize(), QIcon::Normal, QIcon::Off);
+ fActionStepForward.setShortcut(QKeySequence(tr("]")));
fActionStepForward.setIcon(stepForward);
fActionStepForward.setText("Step Forward");
@@ -396,7 +400,6 @@
fSettingsWidget.setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Expanding);
fSettingsWidget.setMaximumWidth(250);
- fSettingsWidget.setHidden(true);
fLeftColumnLayout.setSpacing(6);
fLeftColumnLayout.addWidget(&fListWidget);
@@ -418,7 +421,7 @@
SkDebuggerGUI->setCentralWidget(&fCentralWidget);
SkDebuggerGUI->setStatusBar(&fStatusBar);
- fToolBar.setIconSize(QSize(24, 24));
+ fToolBar.setIconSize(QSize(32, 32));
fToolBar.setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
SkDebuggerGUI->addToolBar(Qt::TopToolBarArea, &fToolBar);
@@ -427,15 +430,12 @@
fToolBar.addAction(&fActionRewind);
fToolBar.addAction(&fActionStepBack);
+ fToolBar.addAction(&fActionPause);
fToolBar.addAction(&fActionStepForward);
fToolBar.addAction(&fActionPlay);
fToolBar.addSeparator();
- fToolBar.addAction(&fActionBreakpoint);
+ fToolBar.addAction(&fActionInspector);
fToolBar.addSeparator();
- fToolBar.addAction(&fActionDelete);
- fToolBar.addAction(&fActionReload);
- fToolBar.addSeparator();
- fToolBar.addAction(&fActionSettings);
fToolBar.addWidget(spacer);
fToolBar.addWidget(&fFilter);
fToolBar.addAction(&fActionCancel);
@@ -450,17 +450,33 @@
fMenuFile.setTitle("File");
fMenuFile.addAction(&fActionOpen);
fMenuFile.addAction(&fActionClose);
+
+ fMenuEdit.setTitle("Edit");
+ fMenuEdit.addAction(&fActionDelete);
+ fMenuEdit.addAction(&fActionCreateBreakpoint);
+
fMenuNavigate.setTitle("Navigate");
+ fMenuNavigate.addAction(&fActionRewind);
+ fMenuNavigate.addAction(&fActionStepBack);
+ fMenuNavigate.addAction(&fActionStepForward);
+ fMenuNavigate.addAction(&fActionPlay);
+ fMenuNavigate.addAction(&fActionPause);
fMenuNavigate.addAction(&fActionGoToLine);
+
fMenuView.setTitle("View");
- fMenuView.addAction(&fActionInspector);
- fMenuView.addAction(&fActionDirectory);
+ fMenuView.addAction(&fActionBreakpoint);
+
+ fMenuWindows.setTitle("Window");
+ fMenuWindows.addAction(&fActionInspector);
+ fMenuWindows.addAction(&fActionDirectory);
fActionGoToLine.setText("Go to Line...");
fActionGoToLine.setDisabled(true);
fMenuBar.addAction(fMenuFile.menuAction());
+ fMenuBar.addAction(fMenuEdit.menuAction());
fMenuBar.addAction(fMenuView.menuAction());
fMenuBar.addAction(fMenuNavigate.menuAction());
+ fMenuBar.addAction(fMenuWindows.menuAction());
fPause = false;